This is an old revision of the document!
Scrieți în jison o gramatică (lexer + parser) care generează un arbore AST pentru o expresie matematică cu +
și -
:
expresie: numar termen; termen: '+' numar termen | '-' numar termen |; numar: [0-9]+;
Spre exemplu, pentru expresia 1+3
, AST-ul arată astfel:
{"r":"e","l":[{"r":"n","l":["1"]},{"r":"t","l":["+",{"r":"n","l":["3"]},null]}]}
Pentru expresia 1+3+4
, arată așa:
{"r":"expresie","l":[{"r":"numar","l":["1"]},{"r":"termen","l":["+",{"r":"numar","l":["3"]},{"r":"termen","l":["+",{"r":"numar","l":["4"]},null]}]}]}