summaryrefslogtreecommitdiff
path: root/test/rlhc.d/case/empty1_cs.cs-A-G0--goto-backend.in
blob: b7eb57db1ab16d033581fdb3d2384e687eb8ec9b (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
host( "working/empty1_cs.rl", 1 ) @{/*
	* @@LANG: csharp
	* @@GENERATED: true
	*/
	
	using System;
	// Disables lots of warnings that appear in the test suite
	#pragma warning disable 0168, 0169, 0219, 0162, 0414
	namespace Test {
		class Test
		{
			
			
			
			
			
			
		}@
		array s8 _empty1_nfa_targs( 0, 0 ) = { 0, 0 };
		
		array s8 _empty1_nfa_offsets( 0, 0 ) = { 0, 0, 0 };
		
		array s8 _empty1_nfa_push_actions( 0, 0 ) = { 0, 0 };
		
		array s8 _empty1_nfa_pop_trans( 0, 0 ) = { 0, 0 };
		
		value int empty1_start = 1;
		value int empty1_first_final = 2;
		value int empty1_error = 0;
		
		value int empty1_en_main = 1;
		
		host( "working/empty1_cs.rl", 22 ) @{
			int cs;
			
			void init()
			{
			}@
			{
				cs = cast(int)empty1_start;
			}
			host( "working/empty1_cs.rl", 27 ) @{
			}
			
			void exec( char[] data, int len )
			{
				int p = 0;
				int pe = len;
				int eof = len;
				string _s;
				char [] buffer = new char [1024];
				int blen = 0;
			}@
			{
				
				if ( p == pe )
				goto _test_eof;
				if ( cs == 0 )
				goto _out;
				_resume:
				switch ( cs ) {
					case 1:
					{
						goto ctr0;
					}
					case 0:
					goto _out;
				}
				
				ctr0: cs = 0; goto _again;
				
				_again:
				if ( cs == 0 )
				goto _out;
				p += 1;
				if ( p != pe )
				goto _resume;
				_test_eof: {}
				_out: {}
			}
			host( "working/empty1_cs.rl", 38 ) @{
			}
			
			void finish( )
			{
				if ( cs >= empty1_first_final )
				Console.WriteLine( "ACCEPT" );
				else
				Console.WriteLine( "FAIL" );
			}
			
			static readonly string[] inp = {
				"",
				"x",
			};
			
			
			static readonly int inplen = 2;
			
			public static void Main (string[] args)
			{
				Test machine = new Test();
				for ( int i = 0; i < inplen; i++ ) {
					machine.init();
					machine.exec( inp[i].ToCharArray(), inp[i].Length );
					machine.finish();
				}
			}
		}
	}
}@