Kann ich für alles nen State-Parser benutzen?



  • Hallo,

    die Frage steht im Titel. Ein State-Parser nimmt zwar viel Zeit weg, aber das ist ein Weg um Dinge konsequent korrekt zu parsen.

    Darum frag ich mich ob ich nicht alle Dinge, wie z.B. eine Url, so parsen soll.

    Irgendwie wärs ein Designfehler, denn eine Url will man doch eigentlich immer komplett direkt parsen und nicht irgendwo zwischenstoppen, oder kann mir da jemand dazwischenreden?

    Jedenfalls kann man sich auch vorgefertigte State-Parser-Klassen schreiben und das Endresultat sieht verdammt schlank und toll aus.

    Wie seht ihr das?

    State-Parser nur für Dinge die halb reinkommen können oder auch für alles?

    Was könnt ihr mir sonst noch mit auf den Weg geben, wenns ums Parsen geht? Wie parst ihr eure Dinge? Ich kenn da momentan nur Strings, Streams und den State-Parser. Bäume krieg ich hin, find ich aber am komplizierensten.



  • "State-Parser" sagt mir nichts.



  • Mir auch nix.
    Ich weiss zwar was du meinst, habe aber keine Lust mich damit zu beschäftigen - mein Rücken bricht ab.

    Ausserdem würde ich dir vorschlagen deinen Nick von Männlich in Dümmlich zu ändern.



  • @EOP

    ...habe aber keine Lust mich damit zu beschäftigen - mein Rücken bricht ab.

    bald bekommst du echt den Sonderpreis für die meisten sinnlosen Posts die menschlich möglich sind - nur noch ein paar Posts - halt dich rann



  • @männlich
    Wie wär's mit Recursive-Descent Parsern?

    männlich schrieb:

    Jedenfalls kann man sich auch vorgefertigte State-Parser-Klassen schreiben und das Endresultat sieht verdammt schlank und toll aus.

    Zeig mal.



  • Meinst du einen Finite State Machine Parser?

    Schau dir auch mal Boost Spirit an.



  • @männlich
    Wie wär's mit Recursive-Descent Parsern?

    Ja, aber sag mir wo du das brauchst, wenns nicht um Precedence geht.

    Ich sprech von ner Url die man wohlauf immer komplett direkt parsen möchte. Und man dafür State-Parser benutzt, statt Strings oder Streams.

    Ja, Boost.Spirit... Muss ich mal machen.
    Aber ohne Boost mal eher.



  • Ein stateful descent parser wär dann wohl die nächste Aufgabe.

    Mal schauen was ich bau. Meld mich vllt noch.



  • männlich schrieb:

    @männlich
    Wie wär's mit Recursive-Descent Parsern?

    Ja, aber sag mir wo du das brauchst, wenns nicht um Precedence geht.

    Wie, brauchen? Recursive-Descent ist wohl die einfachste Parser Art, abgesehen von String-Gefummel Parsern.

    männlich schrieb:

    Ich sprech von ner Url die man wohlauf immer komplett direkt parsen möchte. Und man dafür State-Parser benutzt, statt Strings oder Streams.

    Wie wär's wenn du mal Begriffe verwendest die auch andere Leute ausser dir kennen? Also statt "State-Parser" z.B. Dann könnte man etwas sinnvoller diskutieren.

    männlich schrieb:

    Ja, Boost.Spirit... Muss ich mal machen.
    Aber ohne Boost mal eher.

    Ja, schreib' dir was Boost.Spirit-artiges selbst um ne URL zu parsen.
    lol



  • hustbaer schrieb:

    männlich schrieb:

    Ja, Boost.Spirit... Muss ich mal machen.
    Aber ohne Boost mal eher.

    Ja, schreib' dir was Boost.Spirit-artiges selbst um ne URL zu parsen.
    lol

    nicht lol



  • Ich hab jetzt mal nen syntax tree gemacht für arithmetische und Power-Expressionen.

    Werd jetzt irgendwann versuchen dem ganzen noch ne Statefullness zu verpassen.



  • Gast3 schrieb:

    @EOP

    ...habe aber keine Lust mich damit zu beschäftigen - mein Rücken bricht ab.

    bald bekommst du echt den Sonderpreis für die meisten sinnlosen Posts die menschlich möglich sind - nur noch ein paar Posts - halt dich rann

    Keine Sorge, das schaff ich in Rekordzeit.


Anmelden zum Antworten