diff options
Diffstat (limited to 'test/backtrack1.lm')
-rw-r--r-- | test/backtrack1.lm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/backtrack1.lm b/test/backtrack1.lm new file mode 100644 index 0000000..76f3705 --- /dev/null +++ b/test/backtrack1.lm @@ -0,0 +1,29 @@ +##### LM ##### +# Token names. + +lex + literal `+ `* + token number /[0-9]+/ + ignore ws / [ \t\n]+ / +end + +def F + [number `+] +| [number] +| [F `* number] + +def E + [E `+ F] +| [F] + +def start + [E] + +parse S: start[ stdin ] +R: start = match S ~ 9 + 9 +print_xml( R ) +print( '\n' ) +##### IN ##### +9 + 9 +##### EXP ##### +<start><E><E><F><number>9</number></F></E><_literal_0001>+</_literal_0001><F><number>9</number></F></E></start> |