Parse::Yapp
,
usando la propia notación yapp
para describir el lenguaje.
Un programa yapp
consta de tres partes:
la cabeza, el cuerpo y la cola. Cada una de las partes
va separada de las otras por el símbolo %%
en una
línea aparte.
yapp: head body tail head: headsec '%%' headsec: #empty | decls decls: decls decl | decl body: rulesec '%%' rulesec: rulesec rules | rules rules: IDENT ':' rhss ';' tail: /*empty*/ | TAILCODE