summaryrefslogtreecommitdiff
path: root/test/trans.d/case/stateact1_cs.rl
diff options
context:
space:
mode:
Diffstat (limited to 'test/trans.d/case/stateact1_cs.rl')
-rw-r--r--test/trans.d/case/stateact1_cs.rl86
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();
+ }
+}
+}
+}