summaryrefslogtreecommitdiff
path: root/test/ragel.d/call1.rl
diff options
context:
space:
mode:
Diffstat (limited to 'test/ragel.d/call1.rl')
-rw-r--r--test/ragel.d/call1.rl101
1 files changed, 0 insertions, 101 deletions
diff --git a/test/ragel.d/call1.rl b/test/ragel.d/call1.rl
deleted file mode 100644
index 3b54a713..00000000
--- a/test/ragel.d/call1.rl
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * @LANG: c
- * @PROHIBIT_FLAGS: --var-backend
- */
-
-#include <stdio.h>
-#include <string.h>
-
-int num = 0;
-
-struct test
-{
- int cs, top, stack[32];
-};
-
-%%{
- machine test;
- access fsm->;
-
- action check_num {
- if ( num & 1 )
- fcall *fentry(odd);
- else
- fcall even;
- }
-
- # Test call and return functionality.
- even := 'even' any @{fhold; fret;};
- odd := 'odd' any @{fhold; fret;};
- num = [0-9]+ ${ num = num * 10 + (fc - '0'); };
- even_odd = num ' ' @check_num "\n";
-
- # Test calls in out actions.
- fail := !(any*);
- out_acts = 'OA ok\n' |
- 'OA error1\n' |
- 'OA error2\n';
-
- main := even_odd | out_acts;
-}%%
-
-%% write data;
-
-void test_init( struct test *fsm )
-{
- num = 0;
- %% write init;
-}
-
-void test_execute( struct test *fsm, const char *data, int len )
-{
- const char *p = data;
- const char *pe = data+len;
-
- %% write exec;
-}
-
-int test_finish( struct test *fsm )
-{
- if ( fsm->cs == test_error )
- return -1;
- if ( fsm->cs >= test_first_final )
- return 1;
- return 0;
-}
-
-#define BUFSIZE 1024
-
-void test( char *buf )
-{
- struct test test;
- test_init( &test );
- test_execute( &test, buf, strlen(buf) );
- if ( test_finish( &test ) > 0 )
- printf( "ACCEPT\n" );
- else
- printf( "FAIL\n" );
-}
-
-int main()
-{
- test( "78 even\n" );
- test( "89 odd\n" );
- test( "1 even\n" );
- test( "0 odd\n" );
- test( "OA ok\n" );
- test( "OA error1\n" );
- test( "OA error2\n" );
-
- return 0;
-}
-
-
-##### OUTPUT #####
-ACCEPT
-ACCEPT
-FAIL
-FAIL
-ACCEPT
-ACCEPT
-ACCEPT