Ich schreibe eine Programmiersprache, die Parsec für seine Analyse verwendet. Zum Melden von Fehlermeldungen habe ich jedes Element meines Syntaxbaums mit seinem Quellort markiert, indem ich die getPosition
-Funktion von the Pos module von Parsec verwende.Parsec: Anfang und Ende Quellpositionen von Ausdrücken erhalten?
Allerdings gibt es nur den Ort des Beginns jedes Ausdrucks, den ich analysiere, und ich möchte den Anfang und das Ende, so dass ich ihren gesamten Standort innerhalb des Quellcodes hervorheben kann.
Ist so etwas mit Parsec möglich? Gibt es eine Standardmethode, um den Endpunkt eines Ausdrucks, den ich analysiere, zu erhalten, damit ich ihn in meine AST aufnehmen kann?
ich recommed Blick auf "Hase" es hatte das gleiche Problem mit relativen Positionen zu lösen. Vielleicht kann der Vortrag von Matthew Pickering auf der skillsmatter2015 Konferenz einen Einblick geben – epsilonhalbe