/* * @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 { %%{ machine state_act; action a1 {Console.Write( "a1\n" );} action a2 {Console.Write( "a2\n" );} action b1 {Console.Write( "b1\n" );} action b2 {Console.Write( "b2\n" );} action c1 {Console.Write( "c1\n" );} action c2 {Console.Write( "c2\n" );} action next_again {fnext again;} hi = 'hi'; line = again: hi >to b1 >from b2 '\n' >to c1 >from c2 @next_again; main := line* >to a1 >from a2; }%% %% write data; int cs; void init() { %% write init; } 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; %% write exec; } void finish( ) { if ( cs >= state_act_first_final ) Console.WriteLine( "ACCEPT" ); else Console.WriteLine( "FAIL" ); } static readonly string[] inp = { "hi\nhi\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(); } } } }