X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=tests%2Fmeta.g;h=d006e876ff632e105cf345588b94fb202430be72;hp=7b1595d32d3195063ba75319145966c0715317c9;hb=87efafc700153a3daadfb73070906d223782027d;hpb=b39089b9e525f796a9f31e4707aac5ac0d6cfc3b diff --git a/tests/meta.g b/tests/meta.g index 7b1595d..d006e87 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -1,7 +1,6 @@ -s ::= w* Grammar w* => "gram" -ws !::= w* +s ::= ws grammar ws => "gram" +ws !::= w** grammar ::= R+/ws => "grammar" -Grammar ::= R+ => "grammar" R ::= word ^"::=" Alternatives | word ^"!::=" Alternatives @@ -10,17 +9,19 @@ ec ::= [~\]\\\-\~] | escaped Alternatives ::= EquiAlt +/ ">" EquiAlt ::= Conjuncts +/ "|" => "alternatives" -Sequence ::= E+ ^"/" E - > E+ +sequence ::= Es + > Es ^"/" E /ws +Es ::= E+ +//es ::= E+/ws Conjuncts ::= rewrite - | rewrite ^"&" Sequence - | rewrite ^"&~" Sequence + | rewrite ^"&" sequence + | rewrite ^"&~" sequence -rewrite ::= Sequence /ws => "rewrite" - | Sequence ^"=>" word /ws - | Sequence ^"=>" quoted /ws - | Sequence "=>" "()" /ws => "wrap" +rewrite ::= sequence /ws => "rewrite" + | sequence ^"=>" word /ws + | sequence ^"=>" quoted /ws + | sequence "=>" "()" /ws => "wrap" range ::= ec => "range0" | ec ^"-" ec => "range0" E ::= word => "nonTerminalY"