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
bb7cd11
..
f9e0e67
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,9
+22,10
@@
ec ::= [~\-\]\\\~]
range ::= ec => "range"
| ec ^"-" ec
range ::= ec => "range"
| ec ^"-" ec
-e ::= word => "nonTerminal"
- | [(][)] => "epsilon"
- | ^"{" alternatives "}" /ws
+e ::= word => "nonTerminal"
+ | quoted => "literal"
+ | ^"()"
+ | ^"{" sequence "}" /ws
| ^"[" (range*) "]"
| ^"[~" (range*) "]"
| ^"^" quoted /ws
| ^"[" (range*) "]"
| ^"[~" (range*) "]"
| ^"^" quoted /ws
@@
-35,10
+37,8
@@
e ::= word => "nonTerminal"
| e ^"+/" e /ws
| e ^"?" /ws
| e ^"+/" e /ws
| e ^"?" /ws
- | quoted => "literal"
-
- | "(" word ^")" /ws
- > ^"(" alternatives ")" /ws
+ | "(" word ^")" /ws
+ > ^"(" alternatives ")" /ws
w !::= " "
| "//" ([~\n]*) "\n"
w !::= " "
| "//" ([~\n]*) "\n"