aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-10 16:45:01 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-10 16:45:01 +0000
commitdf3f0ba4bce90cceac7ca405dd1d768c446a4f89 (patch)
treeedab57e4d943afe38469eff6d440d2fdcc70d386 /pbx
parent790b2964ea967fb9554ac9ecf3013f771817ea91 (diff)
(closes issue #14022)
Reported by: wetwired Tested by: murf I checked, and I added a mod to the trunk version of Asterisk that would make it 8-bit transparent on 27 Nov 2007, but I made no such updates to 1.4. My best guess is that 1.4 was released, and it was not appropriate to commit an enhancement. But I'm going to add the same fixes to 1.4 now, for the following reasons: 1. wetwired is correct; 1.4 is **mostly** 8-bit transparent now. This is because the lexical token forming rules use . in most 'word' state continuances. It's just the beginning of a 'word' that is picky. 2. Accepting 8-bit chars in some places and not others leads to bug reports like this. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@162671 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r--pbx/ael/ael.flex5
-rw-r--r--pbx/ael/ael_lex.c849
2 files changed, 431 insertions, 423 deletions
diff --git a/pbx/ael/ael.flex b/pbx/ael/ael.flex
index 4e7a60228..41c2a2963 100644
--- a/pbx/ael/ael.flex
+++ b/pbx/ael/ael.flex
@@ -211,6 +211,8 @@ NOARGG ([^(),\{\}\[\]]|\\[,()\[\]\{\}])*
NOSEMIC ([^;()\{\}\[\]]|\\[;()\[\]\{\}])*
+HIBIT [\x80-\xff]
+
%%
\{ { STORE_POS; return LC;}
@@ -265,7 +267,7 @@ includes { STORE_POS; return KW_INCLUDES;}
[ ]+ { my_col += yyleng; }
[\t]+ { my_col += (yyleng*8)-(my_col%8); }
-({KEYWORD}?[-a-zA-Z0-9'"_/.\<\>\*\+!$#\[\]]|(\\.)|(\$\{)|(\$\[)) {
+({KEYWORD}?[-a-zA-Z0-9'"_/.\<\>\*\+!$#\[\]]|{HIBIT}|(\\.)|(\$\{)|(\$\[)) {
/* boy did I open a can of worms when I changed the lexical token "word".
all the above keywords can be used as a beginning to a "word".-
before, a "word" would match a longer sequence than the above
@@ -292,6 +294,7 @@ includes { STORE_POS; return KW_INCLUDES;}
}
<wordstate>[-a-zA-Z0-9'"_/.\<\>\*\+!$#\[\]] { yymore(); /* Keep going */ }
+<wordstate>{HIBIT} { yymore(); /* Keep going */ }
<wordstate>(\\.) { yymore(); /* Keep Going */ }
<wordstate>(\$\{) { /* the beginning of a ${} construct. prepare and pop into curlystate */
parencount2 = 0;
diff --git a/pbx/ael/ael_lex.c b/pbx/ael/ael_lex.c
index 94f95e03a..c02a0d2d5 100644
--- a/pbx/ael/ael_lex.c
+++ b/pbx/ael/ael_lex.c
@@ -352,8 +352,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 74
-#define YY_END_OF_BUFFER 75
+#define YY_NUM_RULES 75
+#define YY_END_OF_BUFFER 76
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -361,39 +361,39 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[284] =
+static yyconst flex_int16_t yy_accept[285] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 42, 42,
- 0, 0, 0, 0, 0, 0, 75, 73, 49, 47,
+ 0, 0, 0, 0, 0, 0, 76, 74, 49, 47,
48, 50, 50, 50, 9, 3, 4, 7, 50, 8,
- 5, 6, 12, 73, 50, 50, 50, 50, 50, 50,
+ 5, 6, 12, 74, 50, 50, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 1, 10, 2, 73, 63, 62, 73, 64, 73, 69,
- 70, 71, 73, 73, 65, 66, 67, 73, 68, 42,
- 43, 44, 73, 57, 58, 73, 56, 55, 51, 51,
- 55, 73, 60, 61, 73, 59, 49, 48, 0, 50,
- 41, 13, 11, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 21, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 62, 0,
- 64, 63, 62, 64, 0, 69, 70, 71, 0, 69,
- 70, 71, 0, 65, 66, 67, 0, 68, 65, 66,
- 67, 68, 42, 43, 44, 45, 44, 46, 0, 57,
- 58, 0, 56, 57, 58, 56, 54, 53, 52, 0,
- 60, 61, 0, 59, 60, 61, 59, 0, 13, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
- 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 34, 0, 0,
-
- 0, 26, 0, 0, 0, 27, 25, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 30, 37, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 17, 0, 0, 0, 0, 0, 33,
- 0, 0, 0, 0, 0, 0, 16, 0, 22, 0,
- 0, 0, 23, 0, 29, 20, 0, 0, 14, 0,
- 35, 0, 18, 0, 0, 36, 0, 50, 0, 15,
- 31, 0, 0, 40, 24, 38, 0, 39, 19, 0,
- 0, 72, 0
+ 1, 10, 2, 74, 64, 63, 74, 65, 74, 70,
+ 71, 72, 74, 74, 66, 67, 68, 74, 69, 42,
+ 43, 44, 74, 58, 59, 74, 57, 56, 51, 51,
+ 56, 52, 74, 61, 62, 74, 60, 49, 48, 0,
+ 50, 41, 13, 11, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 63,
+ 0, 65, 64, 63, 65, 0, 70, 71, 72, 0,
+ 70, 71, 72, 0, 66, 67, 68, 0, 69, 66,
+ 67, 68, 69, 42, 43, 44, 45, 44, 46, 0,
+ 58, 59, 0, 57, 58, 59, 57, 55, 54, 53,
+ 0, 61, 62, 0, 60, 61, 62, 60, 0, 13,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
+ 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
+
+ 0, 0, 26, 0, 0, 0, 27, 25, 0, 0,
+ 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 30, 37, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 16, 0, 22,
+ 0, 0, 0, 23, 0, 29, 20, 0, 0, 14,
+ 0, 35, 0, 18, 0, 0, 36, 0, 50, 0,
+ 15, 31, 0, 0, 40, 24, 38, 0, 39, 19,
+ 0, 0, 73, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -437,7 +437,7 @@ static yyconst flex_int32_t yy_meta[50] =
3, 3, 3, 3, 3, 1, 1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[303] =
+static yyconst flex_int16_t yy_base[304] =
{ 0,
0, 0, 40, 43, 82, 121, 160, 199, 55, 56,
60, 74, 247, 296, 90, 104, 432, 1023, 429, 1023,
@@ -447,70 +447,70 @@ static yyconst flex_int16_t yy_base[303] =
1023, 1023, 1023, 138, 1023, 1023, 143, 1023, 336, 1023,
1023, 1023, 375, 414, 1023, 1023, 1023, 453, 1023, 396,
1023, 104, 177, 1023, 1023, 182, 1023, 1023, 1023, 78,
- 0, 231, 1023, 1023, 262, 1023, 393, 390, 356, 1023,
- 1023, 0, 1023, 348, 360, 92, 350, 354, 337, 333,
-
- 333, 333, 334, 329, 333, 344, 326, 335, 320, 327,
- 322, 299, 303, 93, 302, 301, 280, 1023, 1023, 314,
- 1023, 328, 344, 358, 492, 1023, 1023, 1023, 531, 570,
- 609, 648, 687, 1023, 1023, 1023, 726, 1023, 765, 804,
- 843, 882, 329, 1023, 143, 1023, 144, 1023, 392, 1023,
- 1023, 397, 1023, 431, 436, 470, 1023, 1023, 1023, 475,
- 1023, 1023, 484, 1023, 514, 523, 553, 305, 0, 288,
- 305, 299, 297, 280, 297, 292, 287, 289, 0, 291,
- 276, 250, 257, 250, 252, 247, 258, 241, 238, 251,
- 248, 232, 232, 236, 235, 228, 233, 0, 234, 113,
-
- 218, 0, 217, 209, 220, 0, 0, 207, 200, 196,
- 0, 203, 199, 208, 197, 189, 193, 206, 203, 186,
- 203, 0, 0, 181, 187, 184, 192, 190, 181, 187,
- 186, 186, 0, 0, 171, 171, 160, 164, 166, 0,
- 169, 169, 152, 147, 143, 149, 0, 138, 0, 139,
- 149, 138, 0, 140, 0, 135, 134, 109, 0, 112,
- 0, 111, 0, 105, 80, 0, 82, 61, 76, 0,
- 0, 46, 30, 0, 0, 0, 170, 0, 0, 0,
- 50, 1023, 1023, 930, 935, 940, 945, 950, 955, 960,
- 965, 970, 975, 980, 985, 989, 994, 999, 1004, 1009,
-
- 1012, 1017
+ 0, 1023, 231, 1023, 1023, 262, 1023, 393, 390, 356,
+ 1023, 1023, 0, 1023, 348, 360, 92, 350, 354, 337,
+
+ 333, 333, 333, 334, 329, 333, 344, 326, 335, 320,
+ 327, 322, 299, 303, 93, 302, 301, 280, 1023, 1023,
+ 314, 1023, 328, 344, 358, 492, 1023, 1023, 1023, 531,
+ 570, 609, 648, 687, 1023, 1023, 1023, 726, 1023, 765,
+ 804, 843, 882, 329, 1023, 143, 1023, 144, 1023, 392,
+ 1023, 1023, 397, 1023, 431, 436, 470, 1023, 1023, 1023,
+ 475, 1023, 1023, 484, 1023, 514, 523, 553, 305, 0,
+ 288, 305, 299, 297, 280, 297, 292, 287, 289, 0,
+ 291, 276, 250, 257, 250, 252, 247, 258, 241, 238,
+ 251, 248, 232, 232, 236, 235, 228, 233, 0, 234,
+
+ 113, 218, 0, 217, 209, 220, 0, 0, 207, 200,
+ 196, 0, 203, 199, 208, 197, 189, 193, 206, 203,
+ 186, 203, 0, 0, 181, 187, 184, 192, 190, 181,
+ 187, 186, 186, 0, 0, 171, 171, 160, 164, 166,
+ 0, 169, 169, 152, 147, 143, 149, 0, 138, 0,
+ 139, 149, 138, 0, 140, 0, 135, 134, 109, 0,
+ 112, 0, 111, 0, 105, 80, 0, 82, 61, 76,
+ 0, 0, 46, 30, 0, 0, 0, 170, 0, 0,
+ 0, 50, 1023, 1023, 930, 935, 940, 945, 950, 955,
+ 960, 965, 970, 975, 980, 985, 989, 994, 999, 1004,
+
+ 1009, 1012, 1017
} ;
-static yyconst flex_int16_t yy_def[303] =
+static yyconst flex_int16_t yy_def[304] =
{ 0,
- 283, 1, 284, 284, 285, 285, 286, 286, 287, 287,
- 288, 288, 289, 289, 290, 290, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 291, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 292, 283, 283, 292, 283, 293, 283,
- 283, 283, 293, 294, 283, 283, 283, 294, 283, 295,
- 283, 296, 297, 283, 283, 297, 283, 283, 283, 283,
- 298, 299, 283, 283, 299, 283, 283, 283, 283, 283,
- 283, 300, 283, 283, 283, 283, 283, 283, 283, 283,
-
- 283, 283, 283, 283, 283, 301, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 292, 283, 283, 292,
- 283, 292, 292, 292, 293, 283, 283, 283, 293, 293,
- 293, 293, 294, 283, 283, 283, 294, 283, 294, 294,
- 294, 294, 295, 283, 296, 283, 296, 283, 297, 283,
- 283, 297, 283, 297, 297, 297, 283, 283, 283, 299,
- 283, 283, 299, 283, 299, 299, 299, 283, 300, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 301, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 301, 283, 283,
-
- 283, 301, 283, 283, 283, 301, 301, 283, 283, 283,
- 301, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 301, 301, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 301, 301, 283, 283, 283, 283, 283, 301,
- 283, 283, 283, 283, 283, 283, 301, 283, 301, 283,
- 283, 283, 301, 283, 301, 301, 283, 283, 301, 283,
- 301, 283, 301, 283, 283, 301, 283, 283, 283, 301,
- 301, 283, 283, 301, 301, 301, 283, 301, 301, 302,
- 302, 283, 0, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
-
- 283, 283
+ 284, 1, 285, 285, 286, 286, 287, 287, 288, 288,
+ 289, 289, 290, 290, 291, 291, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 292, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 293, 284, 284, 293, 284, 294, 284,
+ 284, 284, 294, 295, 284, 284, 284, 295, 284, 296,
+ 284, 297, 298, 284, 284, 298, 284, 284, 284, 284,
+ 299, 284, 300, 284, 284, 300, 284, 284, 284, 284,
+ 284, 284, 301, 284, 284, 284, 284, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 284, 302, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 293, 284, 284,
+ 293, 284, 293, 293, 293, 294, 284, 284, 284, 294,
+ 294, 294, 294, 295, 284, 284, 284, 295, 284, 295,
+ 295, 295, 295, 296, 284, 297, 284, 297, 284, 298,
+ 284, 284, 298, 284, 298, 298, 298, 284, 284, 284,
+ 300, 284, 284, 300, 284, 300, 300, 300, 284, 301,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 302,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 302, 284,
+
+ 284, 284, 302, 284, 284, 284, 302, 302, 284, 284,
+ 284, 302, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 302, 302, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 302, 302, 284, 284, 284, 284, 284,
+ 302, 284, 284, 284, 284, 284, 284, 302, 284, 302,
+ 284, 284, 284, 302, 284, 302, 302, 284, 284, 302,
+ 284, 302, 284, 302, 284, 284, 302, 284, 284, 284,
+ 302, 302, 284, 284, 302, 302, 302, 284, 302, 302,
+ 303, 303, 284, 0, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+
+ 284, 284, 284
} ;
static yyconst flex_int16_t yy_nxt[1073] =
@@ -519,120 +519,120 @@ static yyconst flex_int16_t yy_nxt[1073] =
27, 22, 28, 29, 30, 31, 32, 22, 33, 22,
22, 34, 22, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 22, 45, 46, 22, 22, 47, 48,
- 49, 22, 22, 50, 22, 51, 52, 53, 18, 55,
- 56, 90, 55, 56, 91, 282, 92, 71, 71, 96,
- 55, 57, 58, 55, 57, 58, 72, 72, 99, 74,
- 75, 279, 103, 97, 100, 104, 90, 277, 101, 277,
- 74, 76, 75, 74, 75, 55, 278, 58, 55, 113,
- 58, 60, 61, 114, 74, 76, 75, 62, 157, 83,
-
- 84, 276, 60, 63, 61, 74, 146, 77, 106, 107,
- 83, 85, 86, 83, 84, 147, 108, 148, 275, 74,
- 274, 77, 191, 158, 83, 85, 86, 60, 273, 61,
- 60, 61, 172, 173, 192, 83, 62, 84, 272, 271,
- 224, 60, 63, 61, 225, 146, 146, 118, 119, 83,
- 270, 84, 122, 123, 283, 147, 283, 283, 118, 120,
- 121, 269, 268, 122, 120, 124, 60, 267, 61, 65,
- 66, 277, 67, 277, 266, 280, 265, 264, 263, 262,
- 65, 68, 69, 118, 261, 121, 150, 151, 122, 260,
- 124, 154, 155, 259, 258, 257, 256, 150, 152, 151,
-
- 255, 254, 154, 152, 155, 65, 253, 69, 65, 66,
- 252, 67, 251, 250, 249, 248, 247, 246, 245, 65,
- 68, 69, 150, 244, 153, 243, 242, 154, 241, 156,
- 240, 239, 238, 237, 236, 235, 234, 233, 232, 231,
- 161, 162, 230, 229, 65, 228, 69, 78, 78, 78,
- 78, 161, 163, 164, 80, 78, 78, 78, 227, 78,
- 226, 78, 78, 78, 223, 78, 222, 221, 81, 220,
- 219, 165, 166, 218, 217, 216, 161, 215, 162, 214,
- 213, 212, 165, 163, 167, 211, 210, 209, 208, 118,
- 119, 207, 78, 78, 78, 18, 78, 78, 78, 78,
-
- 118, 120, 121, 80, 78, 78, 78, 165, 78, 166,
- 78, 78, 78, 206, 78, 205, 204, 81, 203, 202,
- 201, 200, 199, 122, 123, 118, 198, 121, 197, 196,
- 195, 144, 194, 193, 122, 120, 124, 118, 119, 190,
- 189, 78, 78, 78, 18, 126, 127, 188, 118, 120,
- 121, 128, 187, 118, 119, 186, 126, 129, 127, 122,
- 185, 124, 184, 183, 118, 120, 121, 118, 119, 182,
- 181, 180, 179, 118, 178, 121, 177, 176, 118, 120,
- 121, 126, 175, 127, 130, 131, 174, 171, 170, 118,
- 132, 121, 168, 88, 87, 130, 129, 131, 144, 116,
-
- 115, 150, 151, 118, 112, 121, 154, 155, 111, 110,
- 109, 105, 150, 152, 151, 102, 98, 154, 152, 155,
- 130, 95, 131, 134, 135, 94, 136, 93, 89, 88,
- 87, 283, 283, 283, 134, 137, 138, 150, 283, 153,
- 150, 151, 154, 283, 156, 150, 151, 283, 283, 283,
- 283, 150, 152, 151, 283, 283, 150, 152, 151, 134,
- 283, 138, 139, 140, 283, 141, 283, 283, 283, 283,
- 283, 283, 283, 139, 137, 142, 150, 283, 153, 150,
- 151, 150, 283, 153, 161, 162, 283, 283, 283, 283,
- 150, 152, 151, 165, 166, 161, 163, 164, 139, 283,
-
- 142, 126, 127, 283, 165, 163, 167, 128, 283, 283,
- 283, 283, 126, 129, 127, 150, 283, 153, 283, 283,
- 161, 283, 162, 161, 162, 283, 283, 283, 283, 165,
- 283, 166, 161, 162, 161, 163, 164, 126, 283, 127,
- 130, 131, 283, 161, 163, 164, 132, 283, 283, 283,
- 283, 130, 129, 131, 283, 283, 283, 283, 283, 161,
- 283, 162, 161, 162, 283, 283, 283, 283, 161, 283,
- 162, 283, 283, 161, 163, 164, 130, 283, 131, 126,
- 127, 283, 283, 283, 283, 128, 283, 283, 283, 283,
- 126, 129, 127, 283, 283, 283, 283, 283, 161, 283,
-
- 162, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 126, 283, 127, 126, 127,
- 283, 283, 283, 283, 128, 283, 283, 283, 283, 126,
- 129, 127, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 126, 283, 127, 126, 127, 283,
- 283, 283, 283, 128, 283, 283, 283, 283, 126, 129,
- 127, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 126, 283, 127, 134, 135, 283, 136,
-
- 283, 283, 283, 283, 283, 283, 283, 134, 137, 138,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 134, 283, 138, 139, 140, 283, 141, 283,
- 283, 283, 283, 283, 283, 283, 139, 137, 142, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 139, 283, 142, 134, 135, 283, 136, 283, 283,
- 283, 283, 283, 283, 283, 134, 137, 138, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
-
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 134, 283, 138, 134, 135, 283, 136, 283, 283, 283,
- 283, 283, 283, 283, 134, 137, 138, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 134,
- 283, 138, 134, 135, 283, 136, 283, 283, 283, 283,
- 283, 283, 283, 134, 137, 138, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 134, 283,
- 138, 134, 135, 283, 136, 283, 283, 283, 283, 283,
-
- 283, 283, 134, 137, 138, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 134, 283, 138,
+ 49, 22, 22, 50, 22, 51, 52, 53, 22, 55,
+ 56, 91, 55, 56, 92, 283, 93, 71, 71, 97,
+ 55, 57, 58, 55, 57, 58, 72, 72, 100, 74,
+ 75, 280, 104, 98, 101, 105, 91, 278, 102, 278,
+ 74, 76, 75, 74, 75, 55, 279, 58, 55, 114,
+ 58, 60, 61, 115, 74, 76, 75, 62, 158, 84,
+
+ 85, 277, 60, 63, 61, 74, 147, 77, 107, 108,
+ 84, 86, 87, 84, 85, 148, 109, 149, 276, 74,
+ 275, 77, 192, 159, 84, 86, 87, 60, 274, 61,
+ 60, 61, 173, 174, 193, 84, 62, 85, 273, 272,
+ 225, 60, 63, 61, 226, 147, 147, 119, 120, 84,
+ 271, 85, 123, 124, 284, 148, 284, 284, 119, 121,
+ 122, 270, 269, 123, 121, 125, 60, 268, 61, 65,
+ 66, 278, 67, 278, 267, 281, 266, 265, 264, 263,
+ 65, 68, 69, 119, 262, 122, 151, 152, 123, 261,
+ 125, 155, 156, 260, 259, 258, 257, 151, 153, 152,
+
+ 256, 255, 155, 153, 156, 65, 254, 69, 65, 66,
+ 253, 67, 252, 251, 250, 249, 248, 247, 246, 65,
+ 68, 69, 151, 245, 154, 244, 243, 155, 242, 157,
+ 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
+ 162, 163, 231, 230, 65, 229, 69, 78, 78, 78,
+ 78, 162, 164, 165, 80, 78, 78, 78, 228, 78,
+ 227, 78, 78, 78, 224, 78, 223, 222, 81, 221,
+ 220, 166, 167, 219, 218, 217, 162, 216, 163, 215,
+ 214, 213, 166, 164, 168, 212, 211, 210, 209, 119,
+ 120, 208, 78, 78, 78, 82, 78, 78, 78, 78,
+
+ 119, 121, 122, 80, 78, 78, 78, 166, 78, 167,
+ 78, 78, 78, 207, 78, 206, 205, 81, 204, 203,
+ 202, 201, 200, 123, 124, 119, 199, 122, 198, 197,
+ 196, 145, 195, 194, 123, 121, 125, 119, 120, 191,
+ 190, 78, 78, 78, 82, 127, 128, 189, 119, 121,
+ 122, 129, 188, 119, 120, 187, 127, 130, 128, 123,
+ 186, 125, 185, 184, 119, 121, 122, 119, 120, 183,
+ 182, 181, 180, 119, 179, 122, 178, 177, 119, 121,
+ 122, 127, 176, 128, 131, 132, 175, 172, 171, 119,
+ 133, 122, 169, 89, 88, 131, 130, 132, 145, 117,
+
+ 116, 151, 152, 119, 113, 122, 155, 156, 112, 111,
+ 110, 106, 151, 153, 152, 103, 99, 155, 153, 156,
+ 131, 96, 132, 135, 136, 95, 137, 94, 90, 89,
+ 88, 284, 284, 284, 135, 138, 139, 151, 284, 154,
+ 151, 152, 155, 284, 157, 151, 152, 284, 284, 284,
+ 284, 151, 153, 152, 284, 284, 151, 153, 152, 135,
+ 284, 139, 140, 141, 284, 142, 284, 284, 284, 284,
+ 284, 284, 284, 140, 138, 143, 151, 284, 154, 151,
+ 152, 151, 284, 154, 162, 163, 284, 284, 284, 284,
+ 151, 153, 152, 166, 167, 162, 164, 165, 140, 284,
+
+ 143, 127, 128, 284, 166, 164, 168, 129, 284, 284,
+ 284, 284, 127, 130, 128, 151, 284, 154, 284, 284,
+ 162, 284, 163, 162, 163, 284, 284, 284, 284, 166,
+ 284, 167, 162, 163, 162, 164, 165, 127, 284, 128,
+ 131, 132, 284, 162, 164, 165, 133, 284, 284, 284,
+ 284, 131, 130, 132, 284, 284, 284, 284, 284, 162,
+ 284, 163, 162, 163, 284, 284, 284, 284, 162, 284,
+ 163, 284, 284, 162, 164, 165, 131, 284, 132, 127,
+ 128, 284, 284, 284, 284, 129, 284, 284, 284, 284,
+ 127, 130, 128, 284, 284, 284, 284, 284, 162, 284,
+
+ 163, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 127, 284, 128, 127, 128,
+ 284, 284, 284, 284, 129, 284, 284, 284, 284, 127,
+ 130, 128, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 127, 284, 128, 127, 128, 284,
+ 284, 284, 284, 129, 284, 284, 284, 284, 127, 130,
+ 128, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 127, 284, 128, 135, 136, 284, 137,
+
+ 284, 284, 284, 284, 284, 284, 284, 135, 138, 139,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 135, 284, 139, 140, 141, 284, 142, 284,
+ 284, 284, 284, 284, 284, 284, 140, 138, 143, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 140, 284, 143, 135, 136, 284, 137, 284, 284,
+ 284, 284, 284, 284, 284, 135, 138, 139, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 135, 284, 139, 135, 136, 284, 137, 284, 284, 284,
+ 284, 284, 284, 284, 135, 138, 139, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 135,
+ 284, 139, 135, 136, 284, 137, 284, 284, 284, 284,
+ 284, 284, 284, 135, 138, 139, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 135, 284,
+ 139, 135, 136, 284, 137, 284, 284, 284, 284, 284,
+
+ 284, 284, 135, 138, 139, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 135, 284, 139,
54, 54, 54, 54, 54, 59, 59, 59, 59, 59,
64, 64, 64, 64, 64, 70, 70, 70, 70, 70,
73, 73, 73, 73, 73, 79, 79, 79, 79, 79,
- 82, 82, 82, 82, 82, 90, 283, 90, 90, 90,
- 117, 117, 117, 117, 117, 125, 125, 125, 125, 125,
- 133, 133, 133, 133, 133, 143, 143, 143, 143, 145,
- 145, 145, 145, 145, 149, 149, 149, 149, 149, 159,
-
- 283, 159, 159, 159, 160, 160, 160, 160, 160, 169,
- 283, 169, 169, 169, 90, 90, 90, 281, 281, 281,
- 283, 281, 17, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283
+ 83, 83, 83, 83, 83, 91, 284, 91, 91, 91,
+ 118, 118, 118, 118, 118, 126, 126, 126, 126, 126,
+ 134, 134, 134, 134, 134, 144, 144, 144, 144, 146,
+ 146, 146, 146, 146, 150, 150, 150, 150, 150, 160,
+
+ 284, 160, 160, 160, 161, 161, 161, 161, 161, 170,
+ 284, 170, 170, 170, 91, 91, 91, 282, 282, 282,
+ 284, 282, 17, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284
} ;
static yyconst flex_int16_t yy_chk[1073] =
@@ -642,119 +642,119 @@ static yyconst flex_int16_t yy_chk[1073] =
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, 24, 4, 4, 29, 281, 29, 9, 10, 37,
+ 3, 24, 4, 4, 29, 282, 29, 9, 10, 37,
3, 3, 3, 4, 4, 4, 9, 10, 39, 11,
- 11, 273, 41, 37, 39, 41, 24, 269, 39, 269,
- 11, 11, 11, 12, 12, 3, 272, 3, 4, 48,
+ 11, 274, 41, 37, 39, 41, 24, 270, 39, 270,
+ 11, 11, 11, 12, 12, 3, 273, 3, 4, 48,
4, 5, 5, 48, 12, 12, 12, 5, 80, 15,
- 15, 268, 5, 5, 5, 11, 72, 11, 43, 43,
- 15, 15, 15, 16, 16, 72, 43, 72, 267, 12,
- 265, 12, 114, 80, 16, 16, 16, 5, 264, 5,
- 6, 6, 96, 96, 114, 15, 6, 15, 262, 260,
- 200, 6, 6, 6, 200, 145, 147, 54, 54, 16,
- 258, 16, 57, 57, 145, 147, 145, 147, 54, 54,
- 54, 257, 256, 57, 57, 57, 6, 254, 6, 7,
- 7, 277, 7, 277, 252, 277, 251, 250, 248, 246,
- 7, 7, 7, 54, 245, 54, 73, 73, 57, 244,
- 57, 76, 76, 243, 242, 241, 239, 73, 73, 73,
-
- 238, 237, 76, 76, 76, 7, 236, 7, 8, 8,
- 235, 8, 232, 231, 230, 229, 228, 227, 226, 8,
- 8, 8, 73, 225, 73, 224, 221, 76, 220, 76,
- 219, 218, 217, 216, 215, 214, 213, 212, 210, 209,
- 82, 82, 208, 205, 8, 204, 8, 13, 13, 13,
- 13, 82, 82, 82, 13, 13, 13, 13, 203, 13,
- 201, 13, 13, 13, 199, 13, 197, 196, 13, 195,
- 194, 85, 85, 193, 192, 191, 82, 190, 82, 189,
- 188, 187, 85, 85, 85, 186, 185, 184, 183, 117,
- 117, 182, 13, 13, 13, 13, 14, 14, 14, 14,
-
- 117, 117, 117, 14, 14, 14, 14, 85, 14, 85,
- 14, 14, 14, 181, 14, 180, 178, 14, 177, 176,
- 175, 174, 173, 120, 120, 117, 172, 117, 171, 170,
- 168, 143, 116, 115, 120, 120, 120, 122, 122, 113,
- 112, 14, 14, 14, 14, 59, 59, 111, 122, 122,
- 122, 59, 110, 123, 123, 109, 59, 59, 59, 120,
- 108, 120, 107, 106, 123, 123, 123, 124, 124, 105,
- 104, 103, 102, 122, 101, 122, 100, 99, 124, 124,
- 124, 59, 98, 59, 63, 63, 97, 95, 94, 123,
- 63, 123, 89, 88, 87, 63, 63, 63, 70, 50,
-
- 49, 149, 149, 124, 47, 124, 152, 152, 46, 45,
- 44, 42, 149, 149, 149, 40, 38, 152, 152, 152,
+ 15, 269, 5, 5, 5, 11, 72, 11, 43, 43,
+ 15, 15, 15, 16, 16, 72, 43, 72, 268, 12,
+ 266, 12, 115, 80, 16, 16, 16, 5, 265, 5,
+ 6, 6, 97, 97, 115, 15, 6, 15, 263, 261,
+ 201, 6, 6, 6, 201, 146, 148, 54, 54, 16,
+ 259, 16, 57, 57, 146, 148, 146, 148, 54, 54,
+ 54, 258, 257, 57, 57, 57, 6, 255, 6, 7,
+ 7, 278, 7, 278, 253, 278, 252, 251, 249, 247,
+ 7, 7, 7, 54, 246, 54, 73, 73, 57, 245,
+ 57, 76, 76, 244, 243, 242, 240, 73, 73, 73,
+
+ 239, 238, 76, 76, 76, 7, 237, 7, 8, 8,
+ 236, 8, 233, 232, 231, 230, 229, 228, 227, 8,
+ 8, 8, 73, 226, 73, 225, 222, 76, 221, 76,
+ 220, 219, 218, 217, 216, 215, 214, 213, 211, 210,
+ 83, 83, 209, 206, 8, 205, 8, 13, 13, 13,
+ 13, 83, 83, 83, 13, 13, 13, 13, 204, 13,
+ 202, 13, 13, 13, 200, 13, 198, 197, 13, 196,
+ 195, 86, 86, 194, 193, 192, 83, 191, 83, 190,
+ 189, 188, 86, 86, 86, 187, 186, 185, 184, 118,
+ 118, 183, 13, 13, 13, 13, 14, 14, 14, 14,
+
+ 118, 118, 118, 14, 14, 14, 14, 86, 14, 86,
+ 14, 14, 14, 182, 14, 181, 179, 14, 178, 177,
+ 176, 175, 174, 121, 121, 118, 173, 118, 172, 171,
+ 169, 144, 117, 116, 121, 121, 121, 123, 123, 114,
+ 113, 14, 14, 14, 14, 59, 59, 112, 123, 123,
+ 123, 59, 111, 124, 124, 110, 59, 59, 59, 121,
+ 109, 121, 108, 107, 124, 124, 124, 125, 125, 106,
+ 105, 104, 103, 123, 102, 123, 101, 100, 125, 125,
+ 125, 59, 99, 59, 63, 63, 98, 96, 95, 124,
+ 63, 124, 90, 89, 88, 63, 63, 63, 70, 50,
+
+ 49, 150, 150, 125, 47, 125, 153, 153, 46, 45,
+ 44, 42, 150, 150, 150, 40, 38, 153, 153, 153,
63, 36, 63, 64, 64, 35, 64, 32, 23, 21,
- 19, 17, 0, 0, 64, 64, 64, 149, 0, 149,
- 154, 154, 152, 0, 152, 155, 155, 0, 0, 0,
- 0, 154, 154, 154, 0, 0, 155, 155, 155, 64,
+ 19, 17, 0, 0, 64, 64, 64, 150, 0, 150,
+ 155, 155, 153, 0, 153, 156, 156, 0, 0, 0,
+ 0, 155, 155, 155, 0, 0, 156, 156, 156, 64,
0, 64, 68, 68, 0, 68, 0, 0, 0, 0,
- 0, 0, 0, 68, 68, 68, 154, 0, 154, 156,
- 156, 155, 0, 155, 160, 160, 0, 0, 0, 0,
- 156, 156, 156, 163, 163, 160, 160, 160, 68, 0,
-
- 68, 125, 125, 0, 163, 163, 163, 125, 0, 0,
- 0, 0, 125, 125, 125, 156, 0, 156, 0, 0,
- 160, 0, 160, 165, 165, 0, 0, 0, 0, 163,
- 0, 163, 166, 166, 165, 165, 165, 125, 0, 125,
- 129, 129, 0, 166, 166, 166, 129, 0, 0, 0,
- 0, 129, 129, 129, 0, 0, 0, 0, 0, 165,
- 0, 165, 167, 167, 0, 0, 0, 0, 166, 0,
- 166, 0, 0, 167, 167, 167, 129, 0, 129, 130,
- 130, 0, 0, 0, 0, 130, 0, 0, 0, 0,
- 130, 130, 130, 0, 0, 0, 0, 0, 167, 0,
-
- 167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 130, 0, 130, 131, 131,
- 0, 0, 0, 0, 131, 0, 0, 0, 0, 131,
- 131, 131, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 68, 68, 68, 155, 0, 155, 157,
+ 157, 156, 0, 156, 161, 161, 0, 0, 0, 0,
+ 157, 157, 157, 164, 164, 161, 161, 161, 68, 0,
+
+ 68, 126, 126, 0, 164, 164, 164, 126, 0, 0,
+ 0, 0, 126, 126, 126, 157, 0, 157, 0, 0,
+ 161, 0, 161, 166, 166, 0, 0, 0, 0, 164,
+ 0, 164, 167, 167, 166, 166, 166, 126, 0, 126,
+ 130, 130, 0, 167, 167, 167, 130, 0, 0, 0,
+ 0, 130, 130, 130, 0, 0, 0, 0, 0, 166,
+ 0, 166, 168, 168, 0, 0, 0, 0, 167, 0,
+ 167, 0, 0, 168, 168, 168, 130, 0, 130, 131,
+ 131, 0, 0, 0, 0, 131, 0, 0, 0, 0,
+ 131, 131, 131, 0, 0, 0, 0, 0, 168, 0,
+
+ 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 131, 0, 131, 132, 132,
+ 0, 0, 0, 0, 132, 0, 0, 0, 0, 132,
+ 132, 132, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 131, 0, 131, 132, 132, 0,
- 0, 0, 0, 132, 0, 0, 0, 0, 132, 132,
- 132, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 132, 0, 132, 133, 133, 0,
+ 0, 0, 0, 133, 0, 0, 0, 0, 133, 133,
+ 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 132, 0, 132, 133, 133, 0, 133,
+ 0, 0, 0, 133, 0, 133, 134, 134, 0, 134,
- 0, 0, 0, 0, 0, 0, 0, 133, 133, 133,
+ 0, 0, 0, 0, 0, 0, 0, 134, 134, 134,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 133, 0, 133, 137, 137, 0, 137, 0,
- 0, 0, 0, 0, 0, 0, 137, 137, 137, 0,
+ 0, 0, 134, 0, 134, 138, 138, 0, 138, 0,
+ 0, 0, 0, 0, 0, 0, 138, 138, 138, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 137, 0, 137, 139, 139, 0, 139, 0, 0,
- 0, 0, 0, 0, 0, 139, 139, 139, 0, 0,
+ 0, 138, 0, 138, 140, 140, 0, 140, 0, 0,
+ 0, 0, 0, 0, 0, 140, 140, 140, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 139, 0, 139, 140, 140, 0, 140, 0, 0, 0,
- 0, 0, 0, 0, 140, 140, 140, 0, 0, 0,
+ 140, 0, 140, 141, 141, 0, 141, 0, 0, 0,
+ 0, 0, 0, 0, 141, 141, 141, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
- 0, 140, 141, 141, 0, 141, 0, 0, 0, 0,
- 0, 0, 0, 141, 141, 141, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 141,
+ 0, 141, 142, 142, 0, 142, 0, 0, 0, 0,
+ 0, 0, 0, 142, 142, 142, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 141, 0,
- 141, 142, 142, 0, 142, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 142, 0,
+ 142, 143, 143, 0, 143, 0, 0, 0, 0, 0,
- 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
+ 0, 0, 143, 143, 143, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 142, 0, 142,
- 284, 284, 284, 284, 284, 285, 285, 285, 285, 285,
- 286, 286, 286, 286, 286, 287, 287, 287, 287, 287,
- 288, 288, 288, 288, 288, 289, 289, 289, 289, 289,
- 290, 290, 290, 290, 290, 291, 0, 291, 291, 291,
- 292, 292, 292, 292, 292, 293, 293, 293, 293, 293,
- 294, 294, 294, 294, 294, 295, 295, 295, 295, 296,
- 296, 296, 296, 296, 297, 297, 297, 297, 297, 298,
-
- 0, 298, 298, 298, 299, 299, 299, 299, 299, 300,
- 0, 300, 300, 300, 301, 301, 301, 302, 302, 302,
- 0, 302, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283
+ 0, 0, 0, 0, 0, 0, 0, 143, 0, 143,
+ 285, 285, 285, 285, 285, 286, 286, 286, 286, 286,
+ 287, 287, 287, 287, 287, 288, 288, 288, 288, 288,
+ 289, 289, 289, 289, 289, 290, 290, 290, 290, 290,
+ 291, 291, 291, 291, 291, 292, 0, 292, 292, 292,
+ 293, 293, 293, 293, 293, 294, 294, 294, 294, 294,
+ 295, 295, 295, 295, 295, 296, 296, 296, 296, 297,
+ 297, 297, 297, 297, 298, 298, 298, 298, 298, 299,
+
+ 0, 299, 299, 299, 300, 300, 300, 300, 300, 301,
+ 0, 301, 301, 301, 302, 302, 302, 303, 303, 303,
+ 0, 303, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284
} ;
/* The intent behind this definition is that it'll catch
@@ -1199,7 +1199,7 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 214 "ael.flex"
+#line 216 "ael.flex"
#line 1205 "ael_lex.c"
@@ -1265,13 +1265,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 >= 284 )
+ if ( yy_current_state >= 285 )
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 != 283 );
+ while ( yy_current_state != 284 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1293,255 +1293,255 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 216 "ael.flex"
+#line 218 "ael.flex"
{ STORE_POS; return LC;}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 217 "ael.flex"
+#line 219 "ael.flex"
{ STORE_POS; return RC;}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 218 "ael.flex"
+#line 220 "ael.flex"
{ STORE_POS; return LP;}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 219 "ael.flex"
+#line 221 "ael.flex"
{ STORE_POS; return RP;}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 220 "ael.flex"
+#line 222 "ael.flex"
{ STORE_POS; return SEMI;}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 221 "ael.flex"
+#line 223 "ael.flex"
{ STORE_POS; return EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 222 "ael.flex"
+#line 224 "ael.flex"
{ STORE_POS; return COMMA;}
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 223 "ael.flex"
+#line 225 "ael.flex"
{ STORE_POS; return COLON;}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 224 "ael.flex"
+#line 226 "ael.flex"
{ STORE_POS; return AMPER;}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 225 "ael.flex"
+#line 227 "ael.flex"
{ STORE_POS; return BAR;}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 226 "ael.flex"
+#line 228 "ael.flex"
{ STORE_POS; return EXTENMARK;}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 227 "ael.flex"
+#line 229 "ael.flex"
{ STORE_POS; return AT;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 228 "ael.flex"
+#line 230 "ael.flex"
{/*comment*/}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 229 "ael.flex"
+#line 231 "ael.flex"
{ STORE_POS; return KW_CONTEXT;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 230 "ael.flex"
+#line 232 "ael.flex"
{ STORE_POS; return KW_ABSTRACT;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 231 "ael.flex"
+#line 233 "ael.flex"
{ STORE_POS; return KW_EXTEND;}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 232 "ael.flex"
+#line 234 "ael.flex"
{ STORE_POS; return KW_MACRO;};
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 233 "ael.flex"
+#line 235 "ael.flex"
{ STORE_POS; return KW_GLOBALS;}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 234 "ael.flex"
+#line 236 "ael.flex"
{ STORE_POS; return KW_IGNOREPAT;}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 235 "ael.flex"
+#line 237 "ael.flex"
{ STORE_POS; return KW_SWITCH;}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 236 "ael.flex"
+#line 238 "ael.flex"
{ STORE_POS; return KW_IF;}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 237 "ael.flex"
+#line 239 "ael.flex"
{ STORE_POS; return KW_IFTIME;}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 238 "ael.flex"
+#line 240 "ael.flex"
{ STORE_POS; return KW_RANDOM;}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 239 "ael.flex"
+#line 241 "ael.flex"
{ STORE_POS; return KW_REGEXTEN;}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 240 "ael.flex"
+#line 242 "ael.flex"
{ STORE_POS; return KW_HINT;}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 241 "ael.flex"
+#line 243 "ael.flex"
{ STORE_POS; return KW_ELSE;}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 242 "ael.flex"
+#line 244 "ael.flex"
{ STORE_POS; return KW_GOTO;}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 243 "ael.flex"
+#line 245 "ael.flex"
{ STORE_POS; return KW_JUMP;}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 244 "ael.flex"
+#line 246 "ael.flex"
{ STORE_POS; return KW_RETURN;}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 245 "ael.flex"
+#line 247 "ael.flex"
{ STORE_POS; return KW_BREAK;}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 246 "ael.flex"
+#line 248 "ael.flex"
{ STORE_POS; return KW_CONTINUE;}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 247 "ael.flex"
+#line 249 "ael.flex"
{ STORE_POS; return KW_FOR;}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 248 "ael.flex"
+#line 250 "ael.flex"
{ STORE_POS; return KW_WHILE;}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 249 "ael.flex"
+#line 251 "ael.flex"
{ STORE_POS; return KW_CASE;}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 250 "ael.flex"
+#line 252 "ael.flex"
{ STORE_POS; return KW_DEFAULT;}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 251 "ael.flex"
+#line 253 "ael.flex"
{ STORE_POS; return KW_PATTERN;}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 252 "ael.flex"
+#line 254 "ael.flex"
{ STORE_POS; return KW_CATCH;}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 253 "ael.flex"
+#line 255 "ael.flex"
{ STORE_POS; return KW_SWITCHES;}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 254 "ael.flex"
+#line 256 "ael.flex"
{ STORE_POS; return KW_ESWITCHES;}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 255 "ael.flex"
+#line 257 "ael.flex"
{ STORE_POS; return KW_INCLUDES;}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 256 "ael.flex"
+#line 258 "ael.flex"
{ BEGIN(comment); my_col += 2; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 258 "ael.flex"
+#line 260 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 43:
/* rule 43 can match eol */
YY_RULE_SETUP
-#line 259 "ael.flex"
+#line 261 "ael.flex"
{ ++my_lineno; my_col=1;}
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 260 "ael.flex"
+#line 262 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
-#line 261 "ael.flex"
+#line 263 "ael.flex"
{ ++my_lineno; my_col=1;}
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 262 "ael.flex"
+#line 264 "ael.flex"
{ my_col += 2; BEGIN(INITIAL); } /* the nice thing about comments is that you know exactly what ends them */
YY_BREAK
case 47:
/* rule 47 can match eol */
YY_RULE_SETUP
-#line 264 "ael.flex"
+#line 266 "ael.flex"
{ my_lineno++; my_col = 1; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 265 "ael.flex"
+#line 267 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 266 "ael.flex"
+#line 268 "ael.flex"
{ my_col += (yyleng*8)-(my_col%8); }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 268 "ael.flex"
+#line 270 "ael.flex"
{
/* boy did I open a can of worms when I changed the lexical token "word".
all the above keywords can be used as a beginning to a "word".-
@@ -1570,17 +1570,22 @@ YY_RULE_SETUP
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 294 "ael.flex"
+#line 296 "ael.flex"
{ yymore(); /* Keep going */ }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 295 "ael.flex"
-{ yymore(); /* Keep Going */ }
+#line 297 "ael.flex"
+{ yymore(); /* Keep going */ }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 296 "ael.flex"
+#line 298 "ael.flex"
+{ yymore(); /* Keep Going */ }
+ YY_BREAK
+case 54:
+YY_RULE_SETUP
+#line 299 "ael.flex"
{ /* the beginning of a ${} construct. prepare and pop into curlystate */
parencount2 = 0;
pbcpos2 = 0;
@@ -1589,9 +1594,9 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 54:
+case 55:
YY_RULE_SETUP
-#line 303 "ael.flex"
+#line 306 "ael.flex"
{ /* the beginning of a $[] construct. prepare and pop into brackstate */
parencount3 = 0;
pbcpos3 = 0;
@@ -1600,10 +1605,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 55:
-/* rule 55 can match eol */
+case 56:
+/* rule 56 can match eol */
YY_RULE_SETUP
-#line 310 "ael.flex"
+#line 313 "ael.flex"
{
/* a non-word constituent char, like a space, tab, curly, paren, etc */
char c = yytext[yyleng-1];
@@ -1617,10 +1622,10 @@ YY_RULE_SETUP
return word;
}
YY_BREAK
-case 56:
-/* rule 56 can match eol */
+case 57:
+/* rule 57 can match eol */
YY_RULE_SETUP
-#line 322 "ael.flex"
+#line 325 "ael.flex"
{
if ( pbcpop2('}') ) { /* error */
STORE_LOC;
@@ -1640,10 +1645,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 57:
-/* rule 57 can match eol */
+case 58:
+/* rule 58 can match eol */
YY_RULE_SETUP
-#line 341 "ael.flex"
+#line 344 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '{')
@@ -1652,10 +1657,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 58:
-/* rule 58 can match eol */
+case 59:
+/* rule 59 can match eol */
YY_RULE_SETUP
-#line 349 "ael.flex"
+#line 352 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop2(c)) { /* error */
@@ -1671,10 +1676,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 59:
-/* rule 59 can match eol */
+case 60:
+/* rule 60 can match eol */
YY_RULE_SETUP
-#line 365 "ael.flex"
+#line 368 "ael.flex"
{
if ( pbcpop3(']') ) { /* error */
STORE_LOC;
@@ -1694,10 +1699,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 60:
-/* rule 60 can match eol */
+case 61:
+/* rule 61 can match eol */
YY_RULE_SETUP
-#line 384 "ael.flex"
+#line 387 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '[')
@@ -1706,10 +1711,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 61:
-/* rule 61 can match eol */
+case 62:
+/* rule 62 can match eol */
YY_RULE_SETUP
-#line 392 "ael.flex"
+#line 395 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop3(c)) { /* error */
@@ -1732,10 +1737,10 @@ YY_RULE_SETUP
* A comma at the top level is valid here, unlike in argg where it
* is an argument separator so it must be returned as a token.
*/
-case 62:
-/* rule 62 can match eol */
+case 63:
+/* rule 63 can match eol */
YY_RULE_SETUP
-#line 415 "ael.flex"
+#line 418 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@@ -1761,10 +1766,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 63:
-/* rule 63 can match eol */
+case 64:
+/* rule 64 can match eol */
YY_RULE_SETUP
-#line 440 "ael.flex"
+#line 443 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@@ -1773,10 +1778,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 64:
-/* rule 64 can match eol */
+case 65:
+/* rule 65 can match eol */
YY_RULE_SETUP
-#line 448 "ael.flex"
+#line 451 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c)) { /* error */
@@ -1800,10 +1805,10 @@ YY_RULE_SETUP
* of the (external) call, which happens when parencount == 0
* before the decrement.
*/
-case 65:
-/* rule 65 can match eol */
+case 66:
+/* rule 66 can match eol */
YY_RULE_SETUP
-#line 472 "ael.flex"
+#line 475 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@@ -1812,10 +1817,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 66:
-/* rule 66 can match eol */
+case 67:
+/* rule 67 can match eol */
YY_RULE_SETUP
-#line 480 "ael.flex"
+#line 483 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@@ -1843,10 +1848,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 67:
-/* rule 67 can match eol */
+case 68:
+/* rule 68 can match eol */
YY_RULE_SETUP
-#line 507 "ael.flex"
+#line 510 "ael.flex"
{
if( parencount != 0) { /* ast_log(LOG_NOTICE,"Folding in a comma!\n"); */
yymore();
@@ -1862,10 +1867,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 68:
-/* rule 68 can match eol */
+case 69:
+/* rule 69 can match eol */
YY_RULE_SETUP
-#line 522 "ael.flex"
+#line 525 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@@ -1885,20 +1890,20 @@ YY_RULE_SETUP
* or in the first and second operand of a 'for'. As above, match
* commas and use ';' as a separator (hence return it as a separate token).
*/
-case 69:
-/* rule 69 can match eol */
+case 70:
+/* rule 70 can match eol */
YY_RULE_SETUP
-#line 541 "ael.flex"
+#line 544 "ael.flex"
{
char c = yytext[yyleng-1];
yymore();
pbcpush(c);
}
YY_BREAK
-case 70:
-/* rule 70 can match eol */
+case 71:
+/* rule 71 can match eol */
YY_RULE_SETUP
-#line 547 "ael.flex"
+#line 550 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@@ -1913,10 +1918,10 @@ YY_RULE_SETUP
yymore();
}
YY_BREAK
-case 71:
-/* rule 71 can match eol */
+case 72:
+/* rule 72 can match eol */
YY_RULE_SETUP
-#line 561 "ael.flex"
+#line 564 "ael.flex"
{
STORE_LOC;
yylval->str = malloc(yyleng);
@@ -1927,10 +1932,10 @@ YY_RULE_SETUP
return word;
}
YY_BREAK
-case 72:
-/* rule 72 can match eol */
+case 73:
+/* rule 73 can match eol */
YY_RULE_SETUP
-#line 571 "ael.flex"
+#line 574 "ael.flex"
{
char fnamebuf[1024],*p1,*p2;
int glob_ret;
@@ -1979,7 +1984,7 @@ case YY_STATE_EOF(comment):
case YY_STATE_EOF(curlystate):
case YY_STATE_EOF(wordstate):
case YY_STATE_EOF(brackstate):
-#line 612 "ael.flex"
+#line 615 "ael.flex"
{
char fnamebuf[2048];
if (include_stack_index > 0 && include_stack[include_stack_index-1].globbuf_pos < include_stack[include_stack_index-1].globbuf.gl_pathc-1) {
@@ -2012,18 +2017,18 @@ case YY_STATE_EOF(brackstate):
}
}
YY_BREAK
-case 73:
-/* rule 73 can match eol */
+case 74:
+/* rule 74 can match eol */
YY_RULE_SETUP
-#line 644 "ael.flex"
+#line 647 "ael.flex"
{ /* default rule */ ast_log(LOG_ERROR,"Unhandled char(s): %s\n", yytext); }
YY_BREAK
-case 74:
+case 75:
YY_RULE_SETUP
-#line 646 "ael.flex"
+#line 649 "ael.flex"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2026 "ael_lex.c"
+#line 2031 "ael_lex.c"
case YY_END_OF_BUFFER:
{
@@ -2316,7 +2321,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 >= 284 )
+ if ( yy_current_state >= 285 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2345,11 +2350,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 >= 284 )
+ if ( yy_current_state >= 285 )
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 == 283);
+ yy_is_jam = (yy_current_state == 284);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -3196,7 +3201,7 @@ void *ael_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 646 "ael.flex"
+#line 649 "ael.flex"