diff options
Diffstat (limited to 'test/rlhc.d/case/scan1_cs.cs-A-G1--goto-backend.in')
-rw-r--r-- | test/rlhc.d/case/scan1_cs.cs-A-G1--goto-backend.in | 347 |
1 files changed, 347 insertions, 0 deletions
diff --git a/test/rlhc.d/case/scan1_cs.cs-A-G1--goto-backend.in b/test/rlhc.d/case/scan1_cs.cs-A-G1--goto-backend.in new file mode 100644 index 00000000..19b9455a --- /dev/null +++ b/test/rlhc.d/case/scan1_cs.cs-A-G1--goto-backend.in @@ -0,0 +1,347 @@ +host( "working/scan1_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 + { + int ts; + int te; + int act; + int token; + + + + + }@ + array s8 _scanner_to_state_actions( 0, 8 ) = { 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0 }; + + array s8 _scanner_from_state_actions( 0, 9 ) = { 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0 }; + + array s8 _scanner_nfa_targs( 0, 0 ) = { 0, 0 }; + + array s8 _scanner_nfa_offsets( 0, 0 ) = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + + array s8 _scanner_nfa_push_actions( 0, 0 ) = { 0, 0 }; + + array s8 _scanner_nfa_pop_trans( 0, 0 ) = { 0, 0 }; + + value int scanner_start = 7; + value int scanner_first_final = 7; + value int scanner_error = 0; + + value int scanner_en_main = 7; + + host( "working/scan1_cs.rl", 60 ) @{ + int cs; + + void init() + { + }@ + { + cs = cast(int)scanner_start; + ts = nil; + te = nil; + act = 0; + } + host( "working/scan1_cs.rl", 65 ) @{ + } + + 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 ( _scanner_from_state_actions[cs] ) { + case 9{ + host( "NONE", 1 ) ${${ts = p;}$}$ + } + } + + switch ( cs ) { + case 7: + switch( ( deref( data, p )) ) { + case c(10): { + goto ctr15; + } + case c(97): { + goto ctr16; + } + case c(98): { + goto ctr17; + } + case c(99): { + goto ctr18; + } + case c(100): { + goto ctr19; + } + } + if ( c(48) <= ( deref( data, p )) && ( deref( data, p )) <= c(57) ) { + goto ctr3; + } + { + goto ctr5; + } + case 0: + goto _out; + case 1: + switch( ( deref( data, p )) ) { + case c(46): { + goto ctr2; + } + case c(100): { + goto ctr3; + } + } + if ( c(48) <= ( deref( data, p )) && ( deref( data, p )) <= c(57) ) { + goto ctr3; + } + { + goto ctr25; + } + case 8: + if ( ( deref( data, p )) == c(98) ) { + goto ctr17; + } + { + goto ctr21; + } + case 2: + if ( ( deref( data, p )) == c(49) ) { + goto ctr4; + } + { + goto ctr5; + } + case 9: + if ( ( deref( data, p )) == c(100) ) { + goto ctr24; + } + { + goto ctr23; + } + case 3: + if ( ( deref( data, p )) == c(120) ) { + goto ctr8; + } + { + goto ctr11; + } + case 4: + if ( ( deref( data, p )) == c(120) ) { + goto ctr10; + } + { + goto ctr11; + } + case 5: + if ( ( deref( data, p )) == c(120) ) { + goto ctr12; + } + { + goto ctr11; + } + case 6: + switch( ( deref( data, p )) ) { + case c(46): { + goto ctr2; + } + case c(49): { + goto ctr13; + } + case c(50): { + goto ctr14; + } + case c(100): { + goto ctr3; + } + } + if ( c(48) <= ( deref( data, p )) && ( deref( data, p )) <= c(57) ) { + goto ctr3; + } + { + goto ctr5; + } + case 10: + switch( ( deref( data, p )) ) { + case c(46): { + goto ctr2; + } + case c(100): { + goto ctr3; + } + } + if ( c(48) <= ( deref( data, p )) && ( deref( data, p )) <= c(57) ) { + goto ctr3; + } + { + goto ctr25; + } + } + + ctr5: cs = 0; goto _again; + ctr3: cs = 1; goto _again; + ctr18: cs = 2; goto _again; + ctr24: cs = 3; goto _again; + ctr8: cs = 4; goto _again; + ctr10: cs = 5; goto _again; + ctr19: cs = 6; goto _again; + ctr25: cs = 7; goto f0; + ctr2: cs = 7; goto f1; + ctr11: cs = 7; goto f3; + ctr12: cs = 7; goto f4; + ctr15: cs = 7; goto f9; + ctr16: cs = 7; goto f10; + ctr21: cs = 7; goto f11; + ctr23: cs = 7; goto f12; + ctr17: cs = 8; goto _again; + ctr4: cs = 9; goto f2; + ctr13: cs = 10; goto f5; + ctr14: cs = 10; goto f6; + + f2: + host( "NONE", 1 ) ${${te = p+1;}$}$ + goto _again; + f10: + host( "working/scan1_cs.rl", 23 ) ${${te = p+1;host( "working/scan1_cs.rl", 23 ) ${Console.Write( "on last " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$}$}$ + goto _again; + f4: + host( "working/scan1_cs.rl", 35 ) ${${te = p+1;host( "working/scan1_cs.rl", 35 ) ${Console.Write( "on lag " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$}$}$ + goto _again; + f1: + host( "working/scan1_cs.rl", 52 ) ${${te = p+1;}$}$ + goto _again; + f9: + host( "working/scan1_cs.rl", 54 ) ${${te = p+1;}$}$ + goto _again; + f11: + host( "working/scan1_cs.rl", 29 ) ${${te = p;p = p - 1;host( "working/scan1_cs.rl", 29 ) ${Console.Write( "on next " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$}$}$ + goto _again; + f12: + host( "working/scan1_cs.rl", 35 ) ${${te = p;p = p - 1;host( "working/scan1_cs.rl", 35 ) ${Console.Write( "on lag " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$}$}$ + goto _again; + f3: + host( "working/scan1_cs.rl", 35 ) ${${p = ((te))-1; + host( "working/scan1_cs.rl", 35 ) ${Console.Write( "on lag " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$}$}$ + goto _again; + f0: + host( "NONE", 1 ) ${${switch( act ) { + case 0 { + host( "NONE", 1 ) ${${cs = 0; goto _again;}$}$ } + case 4 { + p = ((te))-1; + host( "working/scan1_cs.rl", 41 ) ${Console.Write( "lm switch1 " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$ } + case 5 { + p = ((te))-1; + host( "working/scan1_cs.rl", 46 ) ${Console.Write( "lm switch2 " );if ( p + 1 == te ) + { + Console.Write( "yes" ); + } + Console.Write( "\n" );}$ } + }}$ + }$ + goto _again; + f5: + host( "NONE", 1 ) ${${te = p+1;}$}$ host( "working/scan1_cs.rl", 41 ) ${${act = 4;}$}$ + goto _again; + f6: + host( "NONE", 1 ) ${${te = p+1;}$}$ host( "working/scan1_cs.rl", 46 ) ${${act = 5;}$}$ + goto _again; + + _again: + switch ( _scanner_to_state_actions[cs] ) { + case 8{ + host( "NONE", 1 ) ${${ts = nil;}$}$ host( "NONE", 1 ) ${${act = 0;}$}$ + } + } + + if ( cs == 0 ) + goto _out; + p+= 1; + if ( p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + switch ( cs ) { + case 1: goto ctr25; + case 8: goto ctr21; + case 9: goto ctr23; + case 3: goto ctr11; + case 4: goto ctr11; + case 5: goto ctr11; + case 10: goto ctr25; + } + } + + _out: {} + } + host( "working/scan1_cs.rl", 76 ) @{ + } + + void finish( ) + { + if ( cs >= scanner_first_final ) + Console.WriteLine( "ACCEPT" ); + else + Console.WriteLine( "FAIL" ); + } + + static readonly string[] inp = { + "abbc1d1d2\n", + }; + + + static readonly int inplen = 1; + + 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(); + } + } + } + } +}@
\ No newline at end of file |