checkpoint
[sbp.git] / tests / meta.g
index e41b770..4fed049 100644 (file)
@@ -5,22 +5,16 @@ r         ::=  word  ^"::=" alternatives /ws
             |  word ^"!::=" alternatives /ws
 
 alternatives  ::=  equiAlt   +/ (ws ">" ws)
-equiAlt       ::=  conjuncts +/ (ws "|" ws)   => "alternatives"
-
-sequence    ::= es
-              > es ws ^"/" e
-es          ::= e */ (w**)
-
-ss ::= es | es ^"/" e /ws
+equiAlt       ::=  conjuncts +/ (ws "|" ws)
 
 conjuncts   ::=  rewrite
               |  rewrite ^"&"  e*/ws   /ws
               |  rewrite ^"&~" e*/ws   /ws
 
-rewrite  ::=  sequence                  /ws        => "rewrite"
-           |  sequence ^"=>" word       /ws
-           |  sequence ^"=>" quoted     /ws
-           |  sequence  "=>" "()"       /ws        => "wrap"
+sequence    ::= e*/ws (ws "/" e)? => "seq"
+
+rewrite  ::=  sequence                     /ws => "rewrite"
+           |  sequence ^"=>" (word|quoted) /ws
 
 ec       ::= [~\-\]\\\~]
            | escaped
@@ -28,18 +22,14 @@ ec       ::= [~\-\]\\\~]
 range    ::= ec          => "range"
            | ec ^"-" ec
 
-e        ::= word                             => "nonTerminalY"
+e        ::= word                             => "nonTerminal"
            |    [(][)]                        => "epsilon"
            |    ^"{" alternatives "}"   /ws
            |    ^"["  (range*) "]"
            |    ^"[~" (range*) "]"
            |    ^"^" quoted             /ws
-           |  e ^"~/~"                  /ws
            |    ^"!" e                  /ws
 
-           |    ^"`" e                  /ws
-           |  e ^"#"                    /ws
-
            |  (e ws ^"**" > e ws ^"*")
            |  e ^"*/" e                 /ws
            |  (e ws ^"++" > e ws ^"+")