summaryrefslogtreecommitdiff
path: root/test/ragel.d/erract4.rl
diff options
context:
space:
mode:
Diffstat (limited to 'test/ragel.d/erract4.rl')
-rw-r--r--test/ragel.d/erract4.rl134
1 files changed, 0 insertions, 134 deletions
diff --git a/test/ragel.d/erract4.rl b/test/ragel.d/erract4.rl
deleted file mode 100644
index b6910d70..00000000
--- a/test/ragel.d/erract4.rl
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @LANG: obj-c
- */
-
-#include <stdio.h>
-#include <Foundation/Foundation.h>
-
-#define IDENT_BUFLEN 256
-
-@interface ErrAct : NSObject
-{
-@public
- int cs;
-};
-
-// Initialize the machine. Invokes any init statement blocks. Returns 0
-// if the machine begins in a non-accepting state and 1 if the machine
-// begins in an accepting state.
-- (int) initFsm;
-
-// Execute the machine on a block of data. Returns -1 if after processing
-// the data, the machine is in the error state and can never accept, 0 if
-// the machine is in a non-accepting state and 1 if the machine is in an
-// accepting state.
-- (void) executeWithData:(const char *)data len:(int)len;
-
-// Indicate that there is no more data. Returns -1 if the machine finishes
-// in the error state and does not accept, 0 if the machine finishes
-// in any other non-accepting state and 1 if the machine finishes in an
-// accepting state.
-- (int) finish;
-
-@end
-
-@implementation ErrAct
-
-%%{
- machine ErrAct;
-
- # The data that is to go into the fsm structure.
- action hello_fails { printf("hello fails\n");}
-
- newline = ( any | '\n' @{printf("newline\n");} )*;
- hello = 'hello\n'* $^hello_fails @/hello_fails;
- main := newline | hello;
-}%%
-
-%% write data;
-
-- (int) initFsm;
-{
- %% write init;
- return 1;
-}
-
-- (void) executeWithData:(const char *)_data len:(int)_len;
-{
- const char *p = _data;
- const char *pe = _data + _len;
- const char *eof = pe;
- %% write exec;
-}
-
-- (int) finish;
-{
- if ( cs == ErrAct_error )
- return -1;
- else if ( cs >= ErrAct_first_final )
- return 1;
- return 0;
-}
-
-@end
-
-#include <stdio.h>
-#include <string.h>
-#define BUFSIZE 2048
-
-ErrAct *fsm;
-char buf[BUFSIZE];
-
-void test( char *buf )
-{
- int len = strlen(buf);
- fsm = [[ErrAct alloc] init];
-
- [fsm initFsm];
- [fsm executeWithData:buf len:len];
- if ( [fsm finish] > 0 )
- printf("ACCEPT\n");
- else
- printf("FAIL\n");
-}
-
-
-int main()
-{
- test(
- "hello\n"
- "hello\n"
- "hello\n"
- );
-
- test(
- "hello\n"
- "hello\n"
- "hello there\n"
- );
-
- test(
- "hello\n"
- "hello\n"
- "he" );
-
- test( "" );
-
- return 0;
-}
-
-##### OUTPUT #####
-newline
-newline
-newline
-ACCEPT
-newline
-newline
-hello fails
-newline
-ACCEPT
-newline
-newline
-hello fails
-ACCEPT
-ACCEPT