X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=tests%2Fmeta.g;h=5347aebd5d37902dc45092f02c215cf4352d2753;hp=8c3a3436ad852b66b66556d6060f3441b836f812;hb=641b6188852cc3ed3373011a76032c42b5806a95;hpb=4e85e3e3519cf88a4469d4ead6369eaa1ab2c4e2 diff --git a/tests/meta.g b/tests/meta.g index 8c3a343..5347aeb 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -1,4 +1,6 @@ -s ::= w* Grammar w* => "gram" +s ::= ws Grammar ws => "gram" +ws !::= w** +grammar ::= R+/ws => "grammar" Grammar ::= R+ => "grammar" R ::= word ^"::=" Alternatives | word ^"!::=" Alternatives @@ -8,15 +10,19 @@ ec ::= [~\]\\\-\~] | escaped Alternatives ::= EquiAlt +/ ">" EquiAlt ::= Conjuncts +/ "|" => "alternatives" -Sequence ::= E+ -Conjuncts ::= Rewrite - | Rewrite ^"&" Sequence - | Rewrite ^"&~" Sequence +sequence ::= Es + > Es ^"/" E /ws +Es ::= E+ +//es ::= E+/ws -Rewrite ::= Sequence => "rewrite" - | Sequence ^"=>" word - | Sequence ^"=>" quoted - | Sequence "=>" "()" => "wrap" +Conjuncts ::= rewrite + | rewrite ^"&" sequence + | rewrite ^"&~" sequence + +rewrite ::= sequence /ws => "rewrite" + | sequence ^"=>" word /ws + | sequence ^"=>" quoted /ws + | sequence "=>" "()" /ws => "wrap" range ::= ec => "range0" | ec ^"-" ec => "range0" E ::= word => "nonTerminalY"