Ansätze:
- eingebettet: Kombinator-Parser (Parsec)
- separat: lex/yacc (flex/bison), javacc,
antlr, ...
Unterschiede:
- eingebettet:
benutzt Typsystem, Abstraktionsmechanismen,
Bibliotheken der Gastsprache (separat: diese
Ausdrucksmittel fehlen oder müssen simuliert werden)
- diese
Einschränkung der Ausdruckskraft
(z. B. LR(k)-Grammatiken) gestattet
effizientere Realisierung
(z. B. deterministische Kellerautomaten)
Johannes Waldmann
2012-01-30