nitlanguage
/
nit.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
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