Registriert seit: 29. Nov 2004
142 Beiträge
|
Re: Dokumentation für Parser aus Delphi VCL?
30. Jan 2010, 12:32
Eine sehr gute Einführung in flex und bison (Nachfolger von lex und yacc) ist das Buch "flex und bison" von Levine, O´Reilly Verlag 2009. Es gibt auch Delphivarianten von flex und bison, einfachmal mal nach "dyacc" googlen.
In der Delphi Hilfe, zumindest bei den älteren Versionen, ist eine EBNF Grammatik enthalten. Diese umfasst (Delphi 7) etwa 5 Seiten. Versprich dir aber nicht zuviel davon um daraus eine brauchbare LALR Grammatik (für bison notwendig) zu machen ist noch sehr viel Arbeit nötig. Eine brauchbare Grammatik, auch für so schöne Sprachen wie Delphi, wird mehr als 100 Seiten umfassen.
Der flex Lexer könnte mit etwa 20 Seiten zu machen sein.
Ich habe vor einiger Zeit eine bison Grammatik für eine SPS Sprache geschrieben, die weit weniger komplex ist als Delphi. Diese Grammatik hat mit relativ vielen Kommentaren 140 Seiten. Der flex Lexer 40.
Wenn du eine Codevervollständigung implementieren möchtest würde es aber ausreichen den Interfaceteil der units zu parsen und Typinformationen zu speichern.
|