Konfigurationsdateien mit beibehaltung der Struktur verarbeiten



  • Hallöchen,
    wie würdet ihr folgendes machen:
    Ich möchte für eine Konfigurationsdatei die so ausschauen kann eine IO-Bibliothek implementieren.

    IDENT 123 {12345} // Kommentar
    // Kommentar
    {
       VAR 1
       VAR 2
       IDENT
       {
          VAR 3
          ....
       }
    }
    
    // Komment
    
    IDENT 2345 {5877}
    {
    
    u.s.w.
    

    Z.B. soll es möglich sein die Variable "VAR 1" zu löschen und zu verändern.
    Wichtig ist die beibehaltung der Struktur und der Kommentare.
    Habe schon angefangen einen Lexer + Parser zu basteln, die ganzen möglichen Leerzeichen und Kommentare machen das ganze nicht sonderlich schön.
    Ein Compiler würde ja die ganzen "Whitespaces" einfach überlesen, ich müss mir diese aber alle irgendwie in meinen Strukturen merken.
    Oder ist es vielleicht einfacher alles in der Datei zu lassen und bei Bedarf zu Scannen anstatt zu versuchen das alles irgendwie im Speicher zu halten?

    Für Tips bin ich sehr dankbar...

    Gruß, Moviem.



  • Du kannst doch einfach Whitespaces, Zeilenumbrüche und Kommentare als ganz normale Tokens behandeln. Also beim Scannen nicht einfach überlesen, sondern wie jedes andere Token auch an den Parser weiterreichen. Dann bleibt deine Struktur erhalten



  • Genau so mache ich das ja jetzt, nur ist es nicht so schön immer mit angeben zu müssen das jetzt z.b eine Klammer ODER ein Leerzeichen kommen kann...


Anmelden zum Antworten