nitcc: introduce nitcc
[nit.git] / contrib / nitcc / t / lexer-shortest-longest.sablecc
1 Grammar re;
2 Lexer
3         a = 'a';
4         ab = 'ab';
5         a_ab = a | ab;
6         alb_ab = 'a' Lookahead Not 'b' | 'ab';
7         s = Shortest(a_ab);
8         l = Longest(a_ab);
9         dummy = 'x' (a|ab|alb_ab|s|l);
10         blank = #10 | #13 | #32; 
11
12 Parser
13 Ignored blank;
14         t = 
15         ab | l | //alt1
16 //alt1        a | s |
17 //alt2        a |
18 //alt3        alb_ab |
19         dummy;
20