diff options
Diffstat (limited to 'test/ragel.d/atoi3.rl')
-rw-r--r-- | test/ragel.d/atoi3.rl | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/test/ragel.d/atoi3.rl b/test/ragel.d/atoi3.rl deleted file mode 100644 index cb919287..00000000 --- a/test/ragel.d/atoi3.rl +++ /dev/null @@ -1,74 +0,0 @@ -# -# @LANG: ruby -# - -%%{ - machine atoi3; - action begin { - neg = false; - val = 0; - } - action see_neg { - neg = true; - } - action add_digit { - val = val * 10 + (fc - "0"[0].ord); - } - action finish { - val = -1 * val if neg - } - action print { - print val, "\n" - } - atoi = (('-' @ see_neg | '+') ? (digit @ add_digit) +) > begin % finish; - main := atoi '\n' @ print; -}%% - -%% write data; - -def run_machine( data ) - p = 0; - pe = data.length - cs = 0 - val = 0; - neg = false; - - %% write init; - %% write exec; - if cs >= atoi3_first_final - puts "ACCEPT" - else - puts "FAIL" - end -end - -inp = [ - "1\n", - "12\n", - "222222\n", - "+2123\n", - "213 3213\n", - "-12321\n", - "--123\n", - "-99\n", - " -3000\n", -] - -inp.each { |str| run_machine(str) } - -##### OUTPUT ##### -1 -ACCEPT -12 -ACCEPT -222222 -ACCEPT -2123 -ACCEPT -FAIL --12321 -ACCEPT -FAIL --99 -ACCEPT -FAIL |