LISA
Z Wikipedii
Jeśli możesz, dodaj je teraz.
Lisa to narzędzie do generowania parserów na podstawie gramatyki atrybutywnej.
[edytuj] Przykład z pliku Calc.lisa:
// Syntax is abstract. Set LISA generator to parse abstract syntax (Options | Compiler | Parser | Parse abstract syntax)
language SimpleCalc {
lexicon { Number [0-9]+ Operator \+ | \- whitespace [\ \0x0D\0x0A\0x09]+ ignore #whitespace } attributes int START.val, E.val; rule Start { START ::= E compute { START.val = E.val; }; } rule Expression { E ::= E + E compute { E.val = E[1].val + E[2].val; }; E ::= E - E compute { E.val = E[1].val - E[2].val; }; E ::= #Number compute { E.val = Integer.valueOf(#Number.value()); }; }
}