summaryrefslogtreecommitdiff
path: root/test/ragel.d/gotocallret2.rl
diff options
context:
space:
mode:
Diffstat (limited to 'test/ragel.d/gotocallret2.rl')
-rw-r--r--test/ragel.d/gotocallret2.rl78
1 files changed, 0 insertions, 78 deletions
diff --git a/test/ragel.d/gotocallret2.rl b/test/ragel.d/gotocallret2.rl
deleted file mode 100644
index 7d4c6c50..00000000
--- a/test/ragel.d/gotocallret2.rl
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @LANG: indep
- * @NEEDS_EOF: yes
- * @PROHIBIT_LANGUAGES: cv ruby ocaml rust crack
- * @PROHIBIT_FLAGS: --var-backend
- */
-
-char comm;
-int top;
-int stack[32];
-ptr ts;
-ptr te;
-int act;
-int val;
-
-%%{
- machine GotoCallRet;
-
- sp = ' ';
-
- handle := any @{
- print_str "handle ";
- fhold;
- if ( val == 1 ) { fnext *fentry(one); }
- if ( val == 2 ) { fnext *fentry(two); }
- if ( val == 3 ) { fnext main; }
- };
-
- one := |*
- '{' => { print_str "{ "; fcall *fentry(one); };
- "[" => { print_str "[ "; fcall *fentry(two); };
- "}" sp* => { print_str "} "; fret; };
- [a-z]+ => { print_str "word "; val = 1; fgoto *fentry(handle); };
- ' ' => { print_str "space "; };
- *|;
-
- two := |*
- '{' => { print_str "{ "; fcall *fentry(one); };
- "[" => { print_str "[ "; fcall *fentry(two); };
- ']' sp* => { print_str "] "; fret; };
- [a-z]+ => { print_str "word "; val = 2; fgoto *fentry(handle); };
- ' ' => { print_str "space "; };
- *|;
-
- main := |*
- '{' => { print_str "{ "; fcall one; };
- "[" => { print_str "[ "; fcall two; };
- [a-z]+ => { print_str "word "; val = 3; fgoto handle; };
- [a-z] ' foil' => { print_str "this is the foil";};
- ' ' => { print_str "space "; };
- '\n';
- *|;
-}%%
-
-##### INPUT #####
-"{a{b[c d]d}c}\n"
-"[a{b[c d]d}c}\n"
-"[a[b]c]d{ef{g{h}i}j}l\n"
-"{{[]}}\n"
-"a b c\n"
-"{a b c}\n"
-"[a b c]\n"
-"{]\n"
-"{{}\n"
-"[[[[[[]]]]]]\n"
-"[[[[[[]]}]]]\n"
-##### OUTPUT #####
-{ word handle { word handle [ word handle space word handle ] word handle } word handle } ACCEPT
-[ word handle { word handle [ word handle space word handle ] word handle } word handle FAIL
-[ word handle [ word handle ] word handle ] word handle { word handle { word handle { word handle } word handle } word handle } word handle ACCEPT
-{ { [ ] } } ACCEPT
-word handle space word handle space word handle ACCEPT
-{ word handle space word handle space word handle } ACCEPT
-[ word handle space word handle space word handle ] ACCEPT
-{ FAIL
-{ { } FAIL
-[ [ [ [ [ [ ] ] ] ] ] ] ACCEPT
-[ [ [ [ [ [ ] ] FAIL