diff options
Diffstat (limited to 'test/ragel.d/eofcall2.rl')
-rw-r--r-- | test/ragel.d/eofcall2.rl | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/test/ragel.d/eofcall2.rl b/test/ragel.d/eofcall2.rl deleted file mode 100644 index eabfac75..00000000 --- a/test/ragel.d/eofcall2.rl +++ /dev/null @@ -1,106 +0,0 @@ -/* - * @LANG: indep - * @NEEDS_EOF: yes - * @PROHIBIT_LANGUAGES: cv ruby ocaml rust crack - * @PROHIBIT_FLAGS: --var-backend - * - * Testing fcall * in an EOF action. - */ - -bool neg; -int value; - -value = 0; -neg = false; - -int top; -int stack[32]; - -%%{ - machine atoi; - - action begin { - neg = false; - value = 0; - } - - action see_neg { - neg = true; - } - - action add_digit { - value = value * 10 + <int>(fc - 48); - } - - action finish { - if ( neg ) { - value = -1 * value; - } - } - action print { - print_int value; - print_str "\n"; - } - - - atoi = ( - ('-'@see_neg | '+')? (digit @add_digit)+ - ) >begin %finish; - - action done - { - print_str "done: "; - print_off; - print_str "\n"; - } - - action extra - { - print_str "goto extra\n"; - fhold; - fcall *fentry(extra); - } - - extra := "" %done; - - main := atoi '\n' @print %extra; -}%% - -##### INPUT ##### - "1\n" - "12\n" - "222222\n" - "+2123\n" - "213 3213\n" - "-12321\n" - "--123\n" - "-99\n" - " -3000\n" -##### OUTPUT ##### -1 -goto extra -done: 2 -ACCEPT -12 -goto extra -done: 3 -ACCEPT -222222 -goto extra -done: 7 -ACCEPT -2123 -goto extra -done: 6 -ACCEPT -FAIL --12321 -goto extra -done: 7 -ACCEPT -FAIL --99 -goto extra -done: 4 -ACCEPT -FAIL |