Bug fix: when fhold was used in scanner pattern actions which get executed on
[external/ragel.git] / test / erract2.rl
1 /*
2  * @LANG: indep
3  *
4  * Test error actions.
5  */
6 %%
7 %%{
8         machine ErrAct;
9
10         action err_start { prints "err_start\n"; }
11         action err_all { prints "err_all\n"; }
12         action err_middle { prints "err_middle\n"; }
13         action err_out { prints "err_out\n"; }
14
15         action eof_start { prints "eof_start\n"; }
16         action eof_all { prints "eof_all\n"; }
17         action eof_middle { prints "eof_middle\n"; }
18         action eof_out { prints "eof_out\n"; }
19
20         main := ( 'hello' 
21                         >err err_start $err err_all <>err err_middle %err err_out
22                         >eof eof_start $eof eof_all <>eof eof_middle %eof eof_out
23                 ) '\n';
24 }%%
25
26 /* _____INPUT_____
27 ""
28 "h"
29 "x"
30 "he"
31 "hx"
32 "hel"
33 "hex"
34 "hell"
35 "helx"
36 "hello"
37 "hellx"
38 "hello\n"
39 "hellox"
40 _____INPUT_____ */
41
42 /* _____OUTPUT_____
43 eof_start
44 eof_all
45 FAIL
46 eof_all
47 eof_middle
48 FAIL
49 err_start
50 err_all
51 FAIL
52 eof_all
53 eof_middle
54 FAIL
55 err_all
56 err_middle
57 FAIL
58 eof_all
59 eof_middle
60 FAIL
61 err_all
62 err_middle
63 FAIL
64 eof_all
65 eof_middle
66 FAIL
67 err_all
68 err_middle
69 FAIL
70 eof_all
71 eof_out
72 FAIL
73 err_all
74 err_middle
75 FAIL
76 ACCEPT
77 err_all
78 err_out
79 FAIL
80 _____OUTPUT_____ */