checkpoint
[sbp.git] / tests / meta.g
index eba580e..807f15f 100644 (file)
@@ -8,11 +8,11 @@ Conjuncts   ::=  Sequence
               |  Sequence ^"&"  Elements  /ws
               |  Sequence ^"&~" Elements  /ws
 Elements    ::=  e*/ws
-NamedElements    ::=  (e | word ^":" e) */ ws
 
-PreSequence ::= NamedElements => "ps"
+PreSequence ::= Elements => "ps"
               | PreSequence !wp ^"/"  !ws e
               | PreSequence     ^"->"     e /ws
+              | (Quoted|word)   ^"::" PreSequence /ws
               | PreSequence     ^"=>" ("[]"|"()"|word|Quoted) /ws
 Sequence    ::= PreSequence    => "psx"
 
@@ -22,12 +22,13 @@ ec          ::= ~[\-\]\\]
 Range       ::= ec          => "range"
               | ec ^"-" ec
 
-e           ::=  word                          => "nonTerminal"
+e           ::=
+                (Quoted|word) ^":" e
+              >  word                          => "nonTerminal"
               |  Quoted                        => "literal"
               |    ^"()"
               |    ^"{" Sequence "}"       /ws
               |    ^"["  Range* "]"
-
               |  e ^"++"                   /ws -> ~[/]
               |  e ^"+"                    /ws -> ~[+]
               |  e ^"++/" e                /ws