diff options
| author | Drahflow <drahflow@gmx.de> | 2016-01-06 16:09:11 +0100 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2016-01-06 16:09:11 +0100 |
| commit | 5838a3ecb516eaf3e219a7f214edb09c06f7e90d (patch) | |
| tree | f4361760245124acc98fb779d2feb9eac426a468 /examples/working-loaded | |
| parent | b724826484c2894bb6b9fe74fd31398cea671b57 (diff) | |
This is now actually a GLR-ish parser
Diffstat (limited to 'examples/working-loaded')
| -rw-r--r-- | examples/working-loaded/parser.test | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/working-loaded/parser.test b/examples/working-loaded/parser.test index 0398c08..6cb98b0 100644 --- a/examples/working-loaded/parser.test +++ b/examples/working-loaded/parser.test @@ -1,11 +1,10 @@ -parser .lalr1 ":" via +parser .glr ":" via /S :nonterminal ==S /expr :nonterminal ==expr /num :nonterminal ==num -999 ==result -S [ expr ] { :0 _ =result } :rule +S [ expr ] { :0 } :rule expr [ num ] { :0 } :rule expr [ expr "+" expr ] { ==s s :2 s :0 add } :rule expr [ expr "-" expr ] { ==s s :2 s :0 sub } :rule @@ -18,9 +17,10 @@ num [ /2 ] { -- 2 } :rule "generation done" dump -# 100000 { +100000 { Sparser .run =*consume - [ "(" "(" /2 "+" /1 "-" /1 ")" ")" "+" /1 "" ] { _ consume } each -# } rep + [ "(" "(" /2 "+" /1 "-" /1 ")" ")" "+" /1 ] { _ consume -- } each + "" _ consume :result ==result +}' rep result dump |
