summaryrefslogtreecommitdiff
path: root/test/ragel.d/cond11.rl
blob: be63e63c444113205a187ba51205446d9fb4e17e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* 
 * @LANG: indep
 * @NEEDS_EOF: yes
 */

int q;

%%{
	machine foo;

	action match { print_str "match\n"; }

	action ini_0 { q = 0; }
	action inc_0 { q = q + 1; }
	action min_0 { q >= 5 }
	action max_0 { q < 5 }

	action t { true }

	main := 
		( :condstar( ('a'), ini_0, inc_0, min_0, max_0 ): )
		( '' %when t | '' %when !t ) %when { 1==1 } %when { 2==2 } %when { 3==3 } %match;
	
}%%

##### INPUT #####
""
"a"
"aaaa"
"aaaaa"
"aaaaaa"
"aaaaaaa"
##### OUTPUT #####
FAIL
FAIL
FAIL
match
ACCEPT
FAIL
FAIL