2014-11-27 17 views

Antwort

9

Ja, es ist möglich, in anderen Sprachen erfahren.

Hier ist ein relevant article von FParsec Autor. Wenn Sie tiefer auf das Thema eingehen möchten, könnte this paper einen lesenswert sein. Der Artikel weist darauf hin, dass es mehrere Pakete für das indentationsbewusste Parsen gibt, die auf Parsec basieren, dem Parser-Kombinator, der FParsec inspiriert.

FParsec hat keine separate Lexing-Phase, sondern verbindet Lexing und Parsing zu einer einzigen Phase. IMO indentation-aware-Analyse ist besser mit Parser-Kombinatoren (FParsec) als Parser-Generatoren (fslex/fsyacc) getan werden. Der Grund dafür ist, dass Sie den aktuellen Einzug manuell verfolgen und gute Fehlermeldungen basierend auf Kontexten melden müssen.