summaryrefslogtreecommitdiff
path: root/test/rlhc.d/case/any1_cs.cs-A-F0--goto-backend.in
blob: eab325b586fa3dfe11b56b7033970197246308a0 (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
116
117
118
119
120
121
122
123
124
125
126
127
128
host( "working/any1_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 char _any1_trans_keys( 0, 1 ) = { c(1), c(0), c(1), c(0), c(1), c(0), c(0) };
		
		array s8 _any1_char_class( 0, 0 ) = { 0 };
		
		array s8 _any1_index_offsets( 0, 0 ) = { 0, 0, 0, 0 };
		
		array s8 _any1_indices( 0, 0 ) = { 0 };
		
		array s8 _any1_index_defaults( 0, 1 ) = { 0, 0, 1, 0 };
		
		array s8 _any1_trans_cond_spaces( -1, 0 ) = { -1, -1, 0 };
		
		array s8 _any1_cond_targs( 0, 2 ) = { 2, 0, 0 };
		
		array s8 _any1_cond_actions( 0, 0 ) = { 0, 0, 0 };
		
		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 };
		
		value int any1_start = 1;
		value int any1_first_final = 2;
		value int any1_error = 0;
		
		value int any1_en_main = 1;
		
		host( "working/any1_cs.rl", 22 ) @{
			int cs;
			
			void init()
			{
			}@
			{
				cs = cast(int)any1_start;
			}
			host( "working/any1_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;
			}@
			{
				int _trans = 0;
				entry {
					
					if ( p == pe )
					goto _test_eof;
					if ( cs == 0 )
					goto _out;
					label _resume {
						_trans = cast(int)_any1_index_defaults[cs];
						goto _match_cond;
					}
					label _match_cond {
						cs = cast(int)_any1_cond_targs[_trans];
						
						if ( cs == 0 )
						goto _out;
						p += 1;
						if ( p != pe )
						goto _resume;
					}
					label _test_eof { {}
					}
					label _out { {}
					}
				}
			}
			host( "working/any1_cs.rl", 38 ) @{
			}
			
			void finish( )
			{
				if ( cs >= any1_first_final )
				Console.WriteLine( "ACCEPT" );
				else
				Console.WriteLine( "FAIL" );
			}
			
			static readonly string[] inp = {
				"",
				"x",
				"xx",
			};
			
			
			static readonly int inplen = 3;
			
			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();
				}
			}
		}
	}
}@