summaryrefslogtreecommitdiff
path: root/test/cases/rlhc.d/case/any1_c.c-C-G2--goto-backend.in
blob: ea24ecaf10282d291bae3763bcd23f3633a2ec19 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
host( "working/any1_c.rl", 1 ) @{/*
	* @@LANG: c
	* @@GENERATED: true
	*/
	
	#include <string.h>
	#include <stdio.h>
	
	
	
	
	
	
	
	
}@
value int any1_start = 1;
value int any1_first_final = 2;
value int any1_error = 0;

value int any1_en_main = 1;

array s8 _any1_nfa_targs( 0, 0 ) = { 0, 0 };

array s8 _any1_nfa_offsets( 0, 0 ) = { 0, 0, 0, 0 };

array s8 _any1_nfa_push_actions( 0, 0 ) = { 0, 0 };

array s8 _any1_nfa_pop_trans( 0, 0 ) = { 0, 0 };

host( "working/any1_c.rl", 20 ) @{
	int cs;
	int blen;
	char buffer[1024];
	
	void init()
	{
	}@
	{
		cs = cast(int)any1_start;
	}
	host( "working/any1_c.rl", 27 ) @{
	}
	
	void exec( char *data, int len )
	{
		char *p = data;
		char *pe = data + len;
	}@
	{
		if ( p == pe )
		goto _test_eof;
		switch ( cs )
		{
			case 1:
			goto st_case_1;
			case 2:
			goto st_case_2;
			case 0:
			goto st_case_0;
		}
		goto st_out;
		st_case_1:
		{
			goto st2;
		}
		st2:
		p+= 1;
		if ( p == pe )
		goto _test_eof2;
		st_case_2:
		{
			goto st0;
		}
		st_case_0:
		st0:
		cs = 0;
		goto _out;
		st_out:
		_test_eof2: cs = 2; goto _test_eof; 
		
		_test_eof: {}
		_out: {}
	}
	host( "working/any1_c.rl", 34 ) @{
	}
	
	void finish( )
	{
		if ( cs >= any1_first_final )
		printf( "ACCEPT\n" );
		else
		printf( "FAIL\n" );
	}
	
	char *inp[] = {
		"",
		"x",
		"xx",
	};
	
	int inplen = 3;
	
	int main( )
	{
		int i;
		for ( i = 0; i < inplen; i++ ) {
			init();
			exec( inp[i], strlen(inp[i]) );
			finish();
		}
		return 0;
	}
	
}@