diff options
Diffstat (limited to 'test/trans.d/case/stateact1_cs.rl')
-rw-r--r-- | test/trans.d/case/stateact1_cs.rl | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/test/trans.d/case/stateact1_cs.rl b/test/trans.d/case/stateact1_cs.rl new file mode 100644 index 00000000..d2d37010 --- /dev/null +++ b/test/trans.d/case/stateact1_cs.rl @@ -0,0 +1,86 @@ +/* + * @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(); + } +} +} +} |