Frage

Ich bin auf der Suche nach einer guten ocaml Parsing-Bibliothek, die nicht ein Derivat von flex / Bison ist. Im Idealfall würde ich entlang der Linien von Parsec eine monadische combinator Bibliothek mag, aber ich kann nichts finden.

würde ich Haskell, aber llvm Bindungen für Haskell machen erweist sich als ermüdend, als ich ursprünglich dachte.

Cheers,

Duane

War es hilfreich?

Lösung

Hier ist eine Bibliothek über Google. (Welche auch rel="noreferrer"> und diese , die mehrere relevante klingender Bibliotheken auflistet.)

Wenn ich einen Kombinator Parser in ML schrieb, drehte es ziemlich mühsam, weil der Wert Einschränkung zu verwenden, und eifrig Bewertung, die Sie gezwungen, Ihre Grammatikregeln eta-erweitern. Ocaml wird gesagt, entspannter über den Wert Einschränkung sein, obwohl -. Vielleicht werden Sie etwas von diesem Schmerz erspart werden

Andere Tipps

In der OCaml Welt Stream-basierte Parser und camlp4 die nächsten beiden häufigsten Alternativen sind. Beide haben im Detail in früheren OCaml Journal Artikel beschrieben.

Monadic Parser Kombinatoren ist vergleichsweise selten in OCaml, vor allem weil es mehrere auf höhere Ebene und weitaus effizientere Bibliotheken zur Verfügung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top