Signed-off-by: Jean Privat <jean@pryen.org>
[X] Modifiers (`?`, `*`, `+`)
[X] Ignored
[X] Rejected
+[X] Empty (but not mandatory)
[ ] Opportunistic
[ ] Precedence
[ ] Separator
{str:} str |
{star:} elem '*' |
{ques:} elem '?' |
- {plus:} elem '+' ;
+ {plus:} elem '+' |
+ {empty:} 'Empty' ;
--- /dev/null
+qrstuvqrs1t1u1v1
\ No newline at end of file
--- /dev/null
+Grammar empty;
+Parser
+ps = ps p | p;
+p = 'q' q 'r' r 's' s 't' t 'u' u 'v' v ;
+q = Empty;
+r = ;
+s = '1' | Empty;
+t = '1' | ;
+u = '1' | '2' | Empty;
+v = '1' | '2' | ;
--- /dev/null
+Start
+ ps_0
+ ps_1
+ p
+ 'q'@(1:1-1:2)
+ q
+ 'r'@(1:2-1:3)
+ r
+ 's'@(1:3-1:4)
+ s_1
+ 't'@(1:4-1:5)
+ t_1
+ 'u'@(1:5-1:6)
+ u_2
+ 'v'@(1:6-1:7)
+ v_2
+ p
+ 'q'@(1:7-1:8)
+ q
+ 'r'@(1:8-1:9)
+ r
+ 's'@(1:9-1:10)
+ s_0
+ '1'@(1:10-1:11)
+ 't'@(1:11-1:12)
+ t_0
+ '1'@(1:12-1:13)
+ 'u'@(1:13-1:14)
+ u_0
+ '1'@(1:14-1:15)
+ 'v'@(1:15-1:16)
+ v_0
+ '1'@(1:16-1:17)
+ Eof@(1:17-1:17)=''