Könnte jemand bitte ein kleines Beispiel für die Verwendung von IndentParser veröffentlichen? Ich möchte YAML-ähnliche Eingaben wie folgt analysieren:
%Vor%Ich weiß, dass es ein YAML-Paket gibt. Ich möchte die Verwendung von IndentParser lernen.
Ich habe unten einen Parser skizziert, für Ihr Problem brauchen Sie wahrscheinlich nur den Block Parser von IndentParser. Hinweis Ich habe nicht versucht, es auszuführen, so dass es elementare Fehler geben kann.
Das größte Problem für Ihren Parser ist nicht wirklich das Einrücken, sondern dass Sie nur Zeichenfolgen und Doppelpunkte als Token haben. Sie werden vielleicht feststellen, dass der folgende Code einiges an Debugging erfordert, da es sehr sensibel sein muss, nicht zu viel Input zu verbrauchen, obwohl ich versucht habe, vorsichtig mit Links-Factoring zu sein. Da Sie nur zwei Tokens haben, gibt es nicht viel Vorteil, den Sie von Parsecs Token-Modul erhalten können.
Beachten Sie, dass es eine seltsame Wahrheit beim Parsen gibt, dass einfach aussehende Formate oft nicht einfach zu analysieren sind. Wenn man einen Parser für einfache Ausdrücke lernt, lernt man viel mehr, dass ein mehr oder weniger willkürliches Textformat (das vielleicht nur Frustration auslöst).
%Vor%