Parser Architektur - paule32/dBase2Many GitHub Wiki
Parser-Architektur
Komponenten
- Lexer
- Parser
- Visitor oder Listener
- Sprach-Fassade / Frontend
Verzeichnislayout
grammars/
βββ dbase/
βββ pascal/
βββ cc/
βββ lisp/
parse/
βββ dbase/
βββ pascal/
βββ cc/
βββ lisp/
Ablauf
- Datei laden
- Lexer erzeugen
- TokenStream erzeugen
- Parser starten
- Parse Tree erzeugen
- Tree mit Visitor oder Listener auswerten
- interne ReprΓ€sentation an Laufzeit oder Compiler ΓΌbergeben
Importbeispiel
from parse.dBaseLexer import dBaseLexer
from parse.dBaseParser import dBaseParser
from parse.dBaseParserVisitor import dBaseParserVisitor
Empfehlung
Die .g4-Dateien getrennt von den generierten Python-Dateien aufbewahren.