OK, here is everything I changed to fix 7474:

1. ael/ael.flex -- the "fix" is here. In short, I modified the
   pattern for the chars that break args, to exclude those chars that
   would normally break args if they are preceded by a backslash. I did
   this to 3 patterns where really, this kind of exclusion should be placed.

2. ael_lex.c is an updated output from lex.

3. the ael-test stuff -- instituted a regression test for this condition.
   as ael_ntest9. The "n" in the name means that instead of just getting
   the syntax/semantic errors and high-level output from aelparse, we
   also want the compilation results to be in the comparison file.
   (remove the -n option). 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2006-07-06 22:49:18 +00:00
parent de03118578
commit 04ed725e73
5 changed files with 406 additions and 183 deletions

View File

@@ -0,0 +1,12 @@
context workext {
ignorepat => 8;
ignorepat => 9;
793 => {
Set(QUERYSTRING=SELECT\ foo\,\ bar\ FROM\ foobar);
Verbose(2|${QUERYSTRING});
query="SELECT foo\, bar FROM foobar" ;
Verbose(2|${query}) ;
}
}

View File

@@ -0,0 +1,29 @@
Executed ast_register_file_version();
Executed ast_register_file_version();
Executed ast_register_file_version();
Executed ast_register_file_version();
(You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)
Executed ast_cli_register_multiple();
LOG: lev:2 file:../pbx/pbx_ael.c line:3453 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3460 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3463 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3466 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
Executed ast_context_create(conts, name=workext, registrar=pbx_ael);
Executed ast_context_add_ignorepat2(con, value=8, registrar=pbx_ael);
Executed ast_context_add_ignorepat2(con, value=9, registrar=pbx_ael);
Executed ast_add_extension2(con, rep=0, exten=793, priority=1, label=(null), callerid=(null), appl=Set, data=QUERYSTRING=SELECT\ foo\,\ bar\ FROM\ foobar, FREE, registrar=pbx_ael);
Executed ast_add_extension2(con, rep=0, exten=793, priority=2, label=(null), callerid=(null), appl=Verbose, data=2|${QUERYSTRING}, FREE, registrar=pbx_ael);
Executed ast_add_extension2(con, rep=0, exten=793, priority=3, label=(null), callerid=(null), appl=Set, data=query=$["SELECT foo\, bar FROM foobar" ], FREE, registrar=pbx_ael);
Executed ast_add_extension2(con, rep=0, exten=793, priority=4, label=(null), callerid=(null), appl=Verbose, data=2|${query}, FREE, registrar=pbx_ael);
LOG: lev:2 file:../pbx/pbx_ael.c line:3468 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete();
LOG: lev:2 file:../pbx/pbx_ael.c line:3471 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts();
LOG: lev:2 file:../pbx/pbx_ael.c line:3474 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:253 func: main 1 contexts, 1 extensions, 4 priorities
Executed ast_unregister_file_version();
Executed ast_unregister_file_version();
Executed ast_unregister_file_version();
Executed ast_unregister_file_version();

View File

@@ -20,5 +20,21 @@ for i in ael-test*; do
diff -u $ORIG $NEW
fi
done
for i in ael-ntest*; do
echo -n Test: $i.................
(cd $i; ../../../../utils/aelparse -d | grep -v -i 'seconds' > ../res.$i)
do_filter < res.$i > $NEW
do_filter < ref.$i > $ORIG
if (diff -q $NEW $ORIG > /dev/null 2>&1 ) then
echo PASSED
rm res.$i
else
echo %%%%%%FAILED%%%%%%
# diff -u ref.$i res.$i
diff -u $ORIG $NEW
fi
done
rm $NEW $ORIG

View File

@@ -164,11 +164,11 @@ static void pbcwhere(const char *text, int *line, int *col )
%}
NOPARENS [^()\[\]\{\}]*
NOPARENS ([^()\[\]\{\}]|\\[()\[\]\{\}])*
NOARGG [^(),\{\}\[\]]*
NOARGG ([^(),\{\}\[\]]|\\[,()\[\]\{\}])*
NOSEMIC [^;()\{\}\[\]]*
NOSEMIC ([^;()\{\}\[\]]|\\[;()\[\]\{\}])*
%%

View File

@@ -354,31 +354,33 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[206] =
static yyconst flex_int16_t yy_accept[222] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 56, 55,
42, 40, 41, 43, 43, 9, 3, 4, 7, 43,
8, 5, 6, 12, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 1,
10, 2, 55, 45, 44, 46, 55, 51, 52, 53,
55, 47, 48, 49, 50, 42, 41, 43, 43, 13,
11, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 20, 43, 43, 43, 43, 43, 43, 43,
43, 43, 0, 45, 44, 46, 0, 51, 52, 53,
0, 47, 48, 49, 50, 43, 13, 13, 43, 43,
10, 2, 55, 45, 44, 55, 46, 55, 51, 52,
53, 55, 55, 47, 48, 49, 55, 50, 42, 41,
43, 43, 13, 11, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 20, 43, 43, 43, 43,
43, 43, 43, 43, 43, 0, 45, 44, 0, 46,
45, 44, 46, 0, 51, 52, 53, 0, 51, 52,
43, 43, 43, 43, 43, 43, 31, 43, 43, 43,
53, 0, 47, 48, 49, 0, 50, 47, 48, 49,
50, 43, 13, 13, 43, 43, 43, 43, 43, 43,
43, 43, 31, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 33, 43, 43, 43, 25, 43,
43, 26, 24, 43, 43, 43, 27, 43, 43, 43,
43, 43, 43, 43, 43, 43, 29, 36, 43, 43,
43, 43, 43, 43, 43, 43, 16, 43, 43, 43,
43, 43, 32, 43, 43, 43, 43, 43, 43, 43,
21, 43, 43, 43, 22, 43, 28, 19, 43, 43,
14, 43, 34, 43, 17, 43, 43, 35, 43, 43,
43, 15, 30, 43, 43, 39, 23, 37, 0, 38,
33, 43, 43, 43, 25, 43, 43, 26, 24, 43,
43, 43, 27, 43, 43, 43, 43, 43, 43, 43,
43, 43, 29, 36, 43, 43, 43, 43, 43, 43,
43, 43, 16, 43, 43, 43, 43, 43, 32, 43,
43, 43, 43, 43, 43, 43, 21, 43, 43, 43,
22, 43, 28, 19, 43, 43, 14, 43, 34, 43,
18, 0, 0, 54, 0
17, 43, 43, 35, 43, 43, 43, 15, 30, 43,
43, 39, 23, 37, 0, 38, 18, 0, 0, 54,
0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -392,11 +394,11 @@ static yyconst flex_int32_t yy_ec[256] =
15, 16, 1, 17, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 18, 5, 5, 5, 5, 5, 5,
19, 1, 20, 1, 5, 1, 21, 22, 23, 24,
19, 20, 21, 1, 5, 1, 22, 23, 24, 25,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 5, 37, 38, 39, 40, 5, 41, 42,
5, 5, 43, 44, 45, 1, 1, 1, 1, 1,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 5, 38, 39, 40, 41, 5, 42, 43,
5, 5, 44, 45, 46, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -413,199 +415,363 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
static yyconst flex_int32_t yy_meta[46] =
static yyconst flex_int32_t yy_meta[47] =
{ 0,
1, 1, 2, 1, 3, 4, 3, 1, 1, 1,
1, 3, 1, 1, 1, 3, 1, 3, 3, 3,
1, 3, 1, 1, 1, 3, 1, 3, 3, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 1, 3
3, 3, 3, 3, 1, 3
} ;
static yyconst flex_int16_t yy_base[216] =
static yyconst flex_int16_t yy_base[232] =
{ 0,
0, 0, 37, 40, 77, 114, 151, 188, 237, 507,
234, 507, 228, 0, 201, 507, 507, 507, 507, 217,
507, 507, 212, 507, 205, 189, 27, 200, 20, 189,
19, 194, 37, 182, 200, 199, 40, 178, 190, 507,
507, 507, 57, 507, 507, 507, 225, 507, 507, 507,
262, 507, 507, 507, 507, 215, 212, 0, 181, 307,
507, 176, 188, 30, 178, 185, 172, 168, 169, 170,
165, 169, 184, 167, 177, 162, 170, 153, 157, 45,
161, 160, 69, 507, 507, 507, 343, 507, 507, 507,
380, 507, 507, 507, 507, 165, 0, 425, 148, 165,
0, 0, 38, 76, 114, 152, 190, 228, 220, 1238,
217, 1238, 214, 0, 187, 1238, 1238, 1238, 1238, 204,
1238, 1238, 199, 1238, 191, 175, 27, 186, 17, 172,
18, 177, 25, 165, 183, 182, 39, 161, 173, 1238,
1238, 1238, 266, 1238, 1238, 304, 1238, 342, 1238, 1238,
1238, 380, 418, 1238, 1238, 1238, 456, 1238, 195, 191,
0, 159, 502, 1238, 154, 166, 27, 156, 163, 150,
146, 149, 150, 145, 149, 165, 147, 157, 146, 155,
138, 142, 34, 146, 145, 539, 1238, 1238, 577, 1238,
615, 653, 691, 729, 1238, 1238, 1238, 767, 805, 843,
160, 161, 144, 161, 156, 151, 0, 157, 143, 138,
147, 140, 142, 137, 135, 130, 144, 142, 126, 126,
132, 131, 121, 125, 0, 127, 45, 114, 0, 114,
131, 0, 0, 118, 113, 109, 0, 113, 122, 111,
103, 107, 120, 117, 101, 119, 0, 0, 97, 104,
105, 113, 103, 107, 106, 106, 0, 92, 94, 87,
91, 93, 0, 95, 95, 78, 76, 76, 85, 73,
0, 74, 84, 74, 0, 82, 0, 81, 80, 65,
0, 78, 0, 76, 0, 78, 60, 0, 61, 55,
51, 0, 0, 43, 36, 0, 0, 0, 88, 0,
881, 919, 1238, 1238, 1238, 957, 1238, 995, 1033, 1071,
1109, 150, 0, 1155, 130, 147, 142, 143, 125, 142,
137, 129, 0, 134, 120, 115, 124, 117, 119, 114,
112, 109, 123, 121, 105, 105, 111, 110, 104, 109,
0, 111, 38, 98, 0, 98, 115, 0, 0, 102,
94, 90, 0, 94, 103, 91, 83, 87, 97, 93,
77, 95, 0, 0, 73, 80, 81, 89, 79, 85,
84, 84, 0, 70, 73, 66, 70, 75, 0, 78,
78, 61, 59, 59, 69, 55, 0, 56, 66, 56,
0, 64, 0, 63, 62, 47, 0, 57, 0, 55,
0, 0, 67, 507, 507, 469, 473, 477, 479, 483,
487, 491, 495, 499, 503
0, 58, 40, 0, 43, 37, 67, 0, 0, 33,
30, 0, 0, 0, 71, 0, 0, 0, 49, 1238,
1238, 1200, 1204, 1208, 1210, 1214, 1218, 1222, 1226, 1230,
1234
} ;
static yyconst flex_int16_t yy_def[216] =
static yyconst flex_int16_t yy_def[232] =
{ 0,
205, 1, 206, 206, 207, 207, 208, 208, 205, 205,
205, 205, 205, 209, 209, 205, 205, 205, 205, 209,
205, 205, 205, 205, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 205,
205, 205, 210, 205, 205, 205, 211, 205, 205, 205,
212, 205, 205, 205, 205, 205, 205, 209, 209, 213,
205, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 210, 205, 205, 205, 211, 205, 205, 205,
212, 205, 205, 205, 205, 209, 214, 213, 209, 209,
221, 1, 222, 222, 223, 223, 224, 224, 221, 221,
221, 221, 221, 225, 225, 221, 221, 221, 221, 225,
221, 221, 221, 221, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 221,
221, 221, 226, 221, 221, 226, 221, 227, 221, 221,
221, 227, 228, 221, 221, 221, 228, 221, 221, 221,
225, 225, 229, 221, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 226, 221, 221, 226, 221,
226, 226, 226, 227, 221, 221, 221, 227, 227, 227,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 205, 209,
227, 228, 221, 221, 221, 228, 221, 228, 228, 228,
228, 225, 230, 229, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
209, 215, 215, 205, 0, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 221, 225, 225, 231, 231, 221,
0, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221
} ;
static yyconst flex_int16_t yy_nxt[553] =
static yyconst flex_int16_t yy_nxt[1285] =
{ 0,
10, 11, 12, 13, 14, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 14, 24, 14, 14, 14,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
14, 14, 35, 14, 14, 36, 37, 38, 14, 14,
39, 14, 40, 41, 42, 44, 45, 64, 44, 45,
70, 67, 199, 71, 199, 44, 46, 68, 44, 46,
79, 65, 73, 74, 80, 84, 85, 101, 102, 149,
75, 118, 204, 150, 201, 84, 86, 84, 85, 44,
200, 46, 44, 119, 46, 48, 49, 84, 86, 199,
50, 199, 198, 202, 197, 48, 49, 196, 195, 84,
19, 20, 21, 22, 23, 14, 24, 14, 14, 10,
14, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 14, 14, 35, 14, 14, 36, 37, 38, 14,
14, 39, 14, 40, 41, 42, 44, 45, 67, 70,
73, 76, 77, 74, 220, 71, 44, 46, 47, 78,
82, 134, 68, 165, 83, 117, 118, 166, 215, 217,
215, 216, 215, 135, 215, 214, 218, 213, 212, 211,
210, 44, 209, 47, 44, 45, 208, 207, 206, 205,
204, 203, 202, 201, 44, 46, 47, 200, 199, 198,
194, 86, 193, 192, 191, 190, 189, 188, 187, 186,
185, 84, 184, 86, 183, 182, 181, 180, 179, 48,
178, 49, 48, 49, 177, 176, 175, 50, 174, 173,
172, 171, 48, 49, 170, 169, 168, 167, 166, 165,
164, 163, 162, 161, 160, 159, 158, 157, 156, 155,
154, 153, 152, 151, 148, 147, 48, 146, 49, 52,
53, 54, 145, 144, 143, 142, 141, 140, 139, 52,
55, 138, 137, 136, 135, 134, 133, 132, 131, 130,
197, 196, 195, 194, 193, 192, 191, 190, 189, 188,
187, 186, 185, 184, 183, 182, 181, 180, 179, 44,
178, 47, 49, 50, 177, 176, 175, 51, 174, 173,
172, 171, 49, 52, 50, 170, 169, 168, 167, 164,
163, 162, 161, 160, 159, 158, 157, 156, 155, 154,
153, 152, 151, 150, 149, 148, 147, 49, 146, 50,
49, 50, 145, 144, 143, 51, 142, 141, 140, 139,
49, 52, 50, 138, 137, 136, 133, 132, 131, 130,
129, 128, 127, 126, 125, 124, 123, 122, 121, 120,
117, 116, 115, 52, 114, 55, 52, 53, 54, 113,
119, 116, 115, 112, 60, 49, 59, 50, 54, 55,
112, 111, 110, 109, 108, 107, 52, 55, 106, 105,
104, 103, 100, 99, 96, 57, 56, 82, 81, 78,
77, 76, 72, 69, 66, 63, 62, 61, 60, 59,
52, 57, 55, 88, 89, 56, 205, 205, 90, 205,
205, 205, 205, 88, 89, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 88, 205, 89,
92, 93, 94, 205, 205, 205, 205, 205, 205, 205,
92, 95, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
56, 85, 84, 81, 80, 79, 75, 72, 54, 57,
58, 69, 66, 65, 64, 63, 62, 60, 59, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 54, 221, 58, 54, 55, 56, 221,
221, 221, 221, 221, 221, 221, 54, 57, 58, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 54, 221, 58, 87, 88, 221, 221, 221, 221,
221, 221, 221, 221, 87, 89, 90, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
205, 205, 205, 205, 92, 205, 95, 97, 97, 205,
97, 205, 205, 205, 97, 97, 97, 97, 205, 97,
97, 97, 205, 97, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
97, 88, 89, 205, 205, 205, 90, 205, 205, 205,
205, 88, 89, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 88, 205, 89, 92, 93,
94, 205, 205, 205, 205, 205, 205, 205, 92, 95,
221, 221, 221, 221, 221, 221, 221, 221, 221, 87,
221, 90, 91, 92, 221, 221, 221, 221, 221, 221,
221, 221, 91, 89, 93, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 91, 221, 93,
95, 96, 221, 221, 221, 97, 221, 221, 221, 221,
95, 98, 96, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 95, 221, 96, 99, 100,
221, 221, 221, 101, 221, 221, 221, 221, 99, 98,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 92, 205, 95, 97, 97, 205, 97, 205,
205, 205, 97, 97, 97, 97, 205, 97, 97, 97,
205, 97, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 97, 43,
43, 43, 43, 47, 47, 47, 47, 51, 51, 51,
51, 58, 58, 83, 83, 83, 83, 87, 87, 87,
87, 91, 91, 91, 91, 98, 205, 98, 98, 97,
100, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 99, 221, 100, 103, 104, 105, 221,
221, 221, 221, 221, 221, 221, 103, 106, 107, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 103, 221, 107, 108, 109, 110, 221, 221, 221,
221, 221, 221, 221, 108, 106, 111, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 108,
205, 97, 97, 203, 203, 203, 9, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205
221, 111, 113, 113, 221, 113, 221, 221, 221, 113,
113, 113, 113, 221, 113, 113, 113, 221, 113, 221,
221, 113, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 113, 87, 88, 221,
221, 221, 221, 221, 221, 221, 221, 87, 89, 90,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 87, 221, 90, 91, 92, 221, 221, 221,
221, 221, 221, 221, 221, 91, 89, 93, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
91, 221, 93, 87, 88, 221, 221, 221, 221, 221,
221, 221, 221, 87, 89, 90, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 87, 221,
90, 87, 88, 221, 221, 221, 221, 221, 221, 221,
221, 87, 89, 90, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 87, 221, 90, 87,
88, 221, 221, 221, 221, 221, 221, 221, 221, 87,
89, 90, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 87, 221, 90, 95, 96, 221,
221, 221, 97, 221, 221, 221, 221, 95, 98, 96,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 95, 221, 96, 99, 100, 221, 221, 221,
101, 221, 221, 221, 221, 99, 98, 100, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
99, 221, 100, 95, 96, 221, 221, 221, 97, 221,
221, 221, 221, 95, 98, 96, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 95, 221,
96, 95, 96, 221, 221, 221, 97, 221, 221, 221,
221, 95, 98, 96, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 95, 221, 96, 95,
96, 221, 221, 221, 97, 221, 221, 221, 221, 95,
98, 96, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 95, 221, 96, 103, 104, 105,
221, 221, 221, 221, 221, 221, 221, 103, 106, 107,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 103, 221, 107, 108, 109, 110, 221, 221,
221, 221, 221, 221, 221, 108, 106, 111, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
108, 221, 111, 103, 104, 105, 221, 221, 221, 221,
221, 221, 221, 103, 106, 107, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 103, 221,
107, 103, 104, 105, 221, 221, 221, 221, 221, 221,
221, 103, 106, 107, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 103, 221, 107, 103,
104, 105, 221, 221, 221, 221, 221, 221, 221, 103,
106, 107, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 103, 221, 107, 103, 104, 105,
221, 221, 221, 221, 221, 221, 221, 103, 106, 107,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 103, 221, 107, 113, 113, 221, 113, 221,
221, 221, 113, 113, 113, 113, 221, 113, 113, 113,
221, 113, 221, 221, 113, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 113,
43, 43, 43, 43, 48, 48, 48, 48, 53, 53,
53, 53, 61, 61, 86, 86, 86, 86, 94, 94,
94, 94, 102, 102, 102, 102, 114, 221, 114, 114,
113, 221, 113, 113, 219, 219, 219, 9, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221
} ;
static yyconst flex_int16_t yy_chk[553] =
static yyconst flex_int16_t yy_chk[1285] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3, 3, 27, 4, 4,
31, 29, 191, 31, 191, 3, 3, 29, 4, 4,
37, 27, 33, 33, 37, 43, 43, 64, 64, 127,
33, 80, 203, 127, 195, 43, 43, 83, 83, 3,
194, 3, 4, 80, 4, 5, 5, 83, 83, 199,
5, 199, 190, 199, 189, 5, 5, 187, 186, 43,
1, 1, 1, 1, 1, 1, 3, 3, 27, 29,
31, 33, 33, 31, 219, 29, 3, 3, 3, 33,
37, 83, 27, 143, 37, 67, 67, 143, 207, 211,
207, 210, 215, 83, 215, 206, 215, 205, 203, 202,
200, 3, 198, 3, 4, 4, 196, 195, 194, 192,
190, 189, 188, 186, 4, 4, 4, 185, 184, 183,
184, 43, 182, 180, 179, 178, 176, 174, 173, 172,
170, 83, 169, 83, 168, 167, 166, 165, 164, 5,
162, 5, 6, 6, 161, 160, 159, 6, 158, 156,
155, 154, 6, 6, 153, 152, 151, 150, 149, 146,
145, 144, 143, 142, 141, 140, 139, 138, 136, 135,
134, 131, 130, 128, 126, 124, 6, 123, 6, 7,
7, 7, 122, 121, 120, 119, 118, 117, 116, 7,
7, 115, 114, 113, 112, 111, 110, 109, 108, 106,
105, 104, 103, 102, 101, 100, 99, 96, 82, 81,
79, 78, 77, 7, 76, 7, 8, 8, 8, 75,
182, 181, 180, 178, 177, 176, 175, 174, 172, 171,
170, 169, 168, 167, 166, 165, 162, 161, 160, 4,
159, 4, 5, 5, 158, 157, 156, 5, 155, 154,
152, 151, 5, 5, 5, 150, 147, 146, 144, 142,
140, 139, 138, 137, 136, 135, 134, 133, 132, 131,
130, 129, 128, 127, 126, 125, 124, 5, 122, 5,
6, 6, 121, 120, 119, 6, 118, 117, 116, 115,
6, 6, 6, 112, 85, 84, 82, 81, 80, 79,
78, 77, 76, 75, 74, 73, 72, 71, 70, 69,
68, 66, 65, 62, 60, 6, 59, 6, 7, 7,
74, 73, 72, 71, 70, 69, 8, 8, 68, 67,
66, 65, 63, 62, 59, 57, 56, 39, 38, 36,
35, 34, 32, 30, 28, 26, 25, 23, 20, 15,
8, 13, 8, 47, 47, 11, 9, 0, 47, 0,
0, 0, 0, 47, 47, 0, 0, 0, 0, 0,
7, 39, 38, 36, 35, 34, 32, 30, 7, 7,
7, 28, 26, 25, 23, 20, 15, 13, 11, 9,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 47, 0, 47,
51, 51, 51, 0, 0, 0, 0, 0, 0, 0,
51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 7, 0, 7, 8, 8, 8, 0,
0, 0, 0, 0, 0, 0, 8, 8, 8, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 8, 0, 8, 43, 43, 0, 0, 0, 0,
0, 0, 0, 0, 43, 43, 43, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 51, 0, 51, 60, 60, 0,
60, 0, 0, 0, 60, 60, 60, 60, 0, 60,
60, 60, 0, 60, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
0, 43, 46, 46, 0, 0, 0, 0, 0, 0,
0, 0, 46, 46, 46, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 46, 0, 46,
48, 48, 0, 0, 0, 48, 0, 0, 0, 0,
48, 48, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 48, 0, 48, 52, 52,
0, 0, 0, 52, 0, 0, 0, 0, 52, 52,
52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 52, 0, 52, 53, 53, 53, 0,
0, 0, 0, 0, 0, 0, 53, 53, 53, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 87, 87, 0, 0, 0, 87, 0, 0, 0,
0, 87, 87, 0, 0, 0, 0, 0, 0, 0,
0, 53, 0, 53, 57, 57, 57, 0, 0, 0,
0, 0, 0, 0, 57, 57, 57, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 87, 0, 87, 91, 91,
91, 0, 0, 0, 0, 0, 0, 0, 91, 91,
0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
0, 57, 63, 63, 0, 63, 0, 0, 0, 63,
63, 63, 63, 0, 63, 63, 63, 0, 63, 0,
0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 63, 86, 86, 0,
0, 0, 0, 0, 0, 0, 0, 86, 86, 86,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 86, 0, 86, 89, 89, 0, 0, 0,
0, 0, 0, 0, 0, 89, 89, 89, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 91, 0, 91, 98, 98, 0, 98, 0,
0, 0, 98, 98, 98, 98, 0, 98, 98, 98,
0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
89, 0, 89, 91, 91, 0, 0, 0, 0, 0,
0, 0, 0, 91, 91, 91, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 98, 206,
206, 206, 206, 207, 207, 207, 207, 208, 208, 208,
208, 209, 209, 210, 210, 210, 210, 211, 211, 211,
211, 212, 212, 212, 212, 213, 0, 213, 213, 214,
0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
91, 92, 92, 0, 0, 0, 0, 0, 0, 0,
0, 92, 92, 92, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 92, 0, 92, 93,
0, 214, 214, 215, 215, 215, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205
93, 0, 0, 0, 0, 0, 0, 0, 0, 93,
93, 93, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 93, 0, 93, 94, 94, 0,
0, 0, 94, 0, 0, 0, 0, 94, 94, 94,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 94, 0, 94, 98, 98, 0, 0, 0,
98, 0, 0, 0, 0, 98, 98, 98, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
98, 0, 98, 99, 99, 0, 0, 0, 99, 0,
0, 0, 0, 99, 99, 99, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
99, 100, 100, 0, 0, 0, 100, 0, 0, 0,
0, 100, 100, 100, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 100, 0, 100, 101,
101, 0, 0, 0, 101, 0, 0, 0, 0, 101,
101, 101, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 101, 0, 101, 102, 102, 102,
0, 0, 0, 0, 0, 0, 0, 102, 102, 102,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 102, 0, 102, 106, 106, 106, 0, 0,
0, 0, 0, 0, 0, 106, 106, 106, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106, 0, 106, 108, 108, 108, 0, 0, 0, 0,
0, 0, 0, 108, 108, 108, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
108, 109, 109, 109, 0, 0, 0, 0, 0, 0,
0, 109, 109, 109, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 109, 0, 109, 110,
110, 110, 0, 0, 0, 0, 0, 0, 0, 110,
110, 110, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 110, 0, 110, 111, 111, 111,
0, 0, 0, 0, 0, 0, 0, 111, 111, 111,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 111, 0, 111, 114, 114, 0, 114, 0,
0, 0, 114, 114, 114, 114, 0, 114, 114, 114,
0, 114, 0, 0, 114, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
222, 222, 222, 222, 223, 223, 223, 223, 224, 224,
224, 224, 225, 225, 226, 226, 226, 226, 227, 227,
227, 227, 228, 228, 228, 228, 229, 0, 229, 229,
230, 0, 230, 230, 231, 231, 231, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221
} ;
/* The intent behind this definition is that it'll catch
@@ -766,7 +932,7 @@ static void pbcwhere(const char *text, int *line, int *col )
#define STORE_POS
#define STORE_LOC
#endif
#line 781 "ael_lex.c"
#line 935 "ael_lex.c"
#define INITIAL 0
#define paren 1
@@ -1003,7 +1169,7 @@ YY_DECL
#line 173 "ael.flex"
#line 1024 "ael_lex.c"
#line 1172 "ael_lex.c"
yylval = yylval_param;
@@ -1066,13 +1232,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 206 )
if ( yy_current_state >= 222 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 205 );
while ( yy_current_state != 221 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1591,7 +1757,7 @@ YY_RULE_SETUP
#line 453 "ael.flex"
ECHO;
YY_BREAK
#line 1612 "ael_lex.c"
#line 1760 "ael_lex.c"
case YY_END_OF_BUFFER:
{
@@ -1822,7 +1988,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Read in more data. */
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
yyg->yy_n_chars, (size_t) num_to_read );
yyg->yy_n_chars, num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
}
@@ -1876,7 +2042,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 206 )
if ( yy_current_state >= 222 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1905,11 +2071,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 206 )
if ( yy_current_state >= 222 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 205);
yy_is_jam = (yy_current_state == 221);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2727,7 +2893,7 @@ void ael_yyfree (void * ptr , yyscan_t yyscanner)
#undef YY_DECL_IS_OURS
#undef YY_DECL
#endif
#line 450 "ael.flex"
#line 453 "ael.flex"