projects
/
sbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
checkpoint
[sbp.git]
/
tests
/
meta.g
diff --git
a/tests/meta.g
b/tests/meta.g
index
2779b7c
..
c9d588d
100644
(file)
--- a/
tests/meta.g
+++ b/
tests/meta.g
@@
-4,16
+4,17
@@
grammar ::= r +/ ws => "grammar"
r ::= word ^"::=" alternatives /ws
| word ^"!::=" alternatives /ws
r ::= word ^"::=" alternatives /ws
| word ^"!::=" alternatives /ws
-alternatives ::= equiAlt +/ (ws ">" ws)
-equiAlt ::= conjuncts +/ (ws "|" ws)
+alternatives ::= (conjuncts +/ (ws "|" ws)) +/ (ws ">" ws)
conjuncts ::= sequence
| sequence ^"&" e*/ws /ws
| sequence ^"&~" e*/ws /ws
conjuncts ::= sequence
| sequence ^"&" e*/ws /ws
| sequence ^"&~" e*/ws /ws
-sequence ::= e*/ws
- (ws "/" e)?
- (ws "=>" ws (word|quoted))? => "seq"
+ps ::= e*/ws => "ps"
+psx ::= ps
+ > ps ^"/" e /ws
+sequence ::= psx
+ | psx ^"=>" (word|quoted) /ws
ec ::= [~\-\]\\\~]
| escaped
ec ::= [~\-\]\\\~]
| escaped
@@
-21,14
+22,14
@@
ec ::= [~\-\]\\\~]
range ::= ec => "range"
| ec ^"-" ec
range ::= ec => "range"
| ec ^"-" ec
-e ::= word => "nonTerminal"
+e ::= word => "nonTerminal"
| quoted => "literal"
| ^"()"
| quoted => "literal"
| ^"()"
- | ^"{" alternatives "}" /ws
+ | ^"{" sequence "}" /ws
| ^"[" (range*) "]"
| ^"[~" (range*) "]"
| ^"^" quoted /ws
| ^"[" (range*) "]"
| ^"[~" (range*) "]"
| ^"^" quoted /ws
- | ^"!" e /ws
+// | ^"!" e /ws
| (e ws ^"**" > e ws ^"*")
| e ^"*/" e /ws
| (e ws ^"**" > e ws ^"*")
| e ^"*/" e /ws