summaryrefslogtreecommitdiff
path: root/test/export2.rl
blob: 881a4c950539ec9daa9dfc8eddf2cba4c873d9c7 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
 * @LANG: java
 */

class export2
{
	%%{
		machine test;

		export c1 = 'c';
		export c2 = 'z';
		export c3 = 't';

		commands := (
			c1 . digit* '\n' @{ System.out.println( "c1" );} |
			c2 . alpha* '\n' @{ System.out.println( "c2" );}|
			c3 . '.'* '\n' @{ System.out.println( "c3" );}
		)*;
			
		other := any*;
	}%%

	%% write exports;
	%% write data;

	static void test( char data[] )
	{
		int cs = test_en_commands, p = 0, pe = data.length;
		int top;

		%% write init nocs;
		%% write exec;

		if ( cs >= test_first_final )
			System.out.println( "ACCEPT" );
		else
			System.out.println( "FAIL" );
	}

	public static void main( String args[] )
	{
		char data[] = { 
			test_ex_c1, '1', '2', '\n', 
			test_ex_c2, 'a', 'b', '\n', 
			test_ex_c3, '.', '.', '\n',
		};
		test( data );
	}
}


/* _____OUTPUT_____
c1
c2
c3
ACCEPT
*/