diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-06-24 16:36:44 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-06-24 16:36:44 +0000 |
commit | 05fd2578dbf9554b41438b0cecdbd40ef48f9804 (patch) | |
tree | 69249f7a2aa2d3ce472dc246afbabcd4f0e6e698 /crawl-ref/source/prebuilt | |
parent | fb1cd2428d96ed608bf0a920ea959971a7fa0b86 (diff) | |
download | crawl-ref-05fd2578dbf9554b41438b0cecdbd40ef48f9804.tar.gz crawl-ref-05fd2578dbf9554b41438b0cecdbd40ef48f9804.zip |
Update canned level-compiler.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1639 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/prebuilt')
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.lex.cc | 2032 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.cc | 837 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.h | 124 |
3 files changed, 1109 insertions, 1884 deletions
diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index bc7ba40d4a..69fb633c87 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -377,8 +377,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 80 -#define YY_END_OF_BUFFER 81 +#define YY_NUM_RULES 59 +#define YY_END_OF_BUFFER 60 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -386,145 +386,79 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1246] = +static yyconst flex_int16_t yy_accept[647] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 79, 70, 71, 79, 77, 74, 72, - 73, 76, 68, 67, 69, 75, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 70, - 21, 78, 78, 80, 6, 80, 80, 4, 2, 3, - 80, 80, 2, 2, 2, 79, 20, 79, 77, 74, - 72, 73, 76, 68, 67, 69, 75, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 21, 78, 78, 79, 18, 15, 18, 77, 74, 72, - 73, 76, 17, 67, 69, 75, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 18, - 21, 78, 78, 8, 9, 79, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 8, 7, 7, 11, 13, 14, 80, 12, 70, - 71, 69, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 70, 21, 21, 78, 78, 78, 6, 5, - 0, 0, 2, 3, 0, 0, 2, 2, 2, 19, - 0, 20, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 21, 19, 19, 19, 0, 18, - 15, 18, 15, 69, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 18, 21, 78, 78, 78, 8, - 9, 0, 9, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 8, 7, 7, 7, 10, - 0, 13, 14, 0, 78, 78, 78, 78, 78, 46, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 22, - 2, 19, 19, 19, 19, 19, 19, 19, 19, 19, - - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - - 7, 7, 7, 7, 7, 7, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 60, 78, 78, 78, 78, 78, 78, - 78, 78, 61, 2, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 78, 78, 78, 78, 40, - 78, 78, 78, 78, 78, 33, 78, 78, 78, 45, - 32, 78, 23, 78, 78, 78, 78, 78, 78, 78, - 78, 30, 78, 78, 66, 78, 78, 78, 58, 78, - 59, 2, 19, 19, 19, 19, 19, 19, 19, 19, - - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 78, 78, 78, 25, 78, - - 78, 78, 29, 78, 35, 36, 37, 78, 78, 27, - 78, 78, 78, 78, 78, 31, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 1, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 41, 78, 28, 39, 78, 78, 78, - 78, 78, 26, 78, 47, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - - 7, 7, 7, 7, 7, 7, 7, 7, 7, 78, - 78, 78, 78, 78, 51, 78, 78, 78, 34, 0, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 78, 78, - 78, 50, 78, 78, 78, 78, 0, 57, 78, 56, - - 78, 62, 63, 78, 64, 65, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 38, - 78, 49, 78, 78, 78, 78, 0, 54, 55, 53, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 7, 7, 7, 7, 7, 7, 7, 7, - - 7, 52, 78, 48, 78, 42, 0, 19, 19, 19, - 19, 19, 19, 16, 16, 16, 16, 16, 16, 7, - 7, 7, 7, 78, 44, 0, 19, 19, 19, 16, - 16, 16, 7, 7, 43, 0, 19, 19, 16, 16, - 7, 24, 19, 16, 0 + 0, 0, 0, 0, 0, 0, 60, 58, 52, 53, + 58, 56, 54, 55, 50, 49, 51, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 52, 27, 29, 57, 57, 57, 57, 58, 59, + 6, 59, 59, 4, 2, 3, 59, 59, 2, 2, + 2, 9, 10, 59, 9, 9, 59, 12, 59, 58, + 26, 58, 56, 54, 55, 50, 49, 51, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 27, 29, 57, 57, 57, 57, 58, 58, + + 24, 21, 24, 56, 54, 55, 23, 49, 51, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 24, 27, 29, 57, 57, 57, 57, + 58, 14, 15, 58, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 14, 13, 13, 13, 13, 17, 19, 20, 59, 18, + 52, 53, 51, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 52, 27, 0, 27, 57, 57, 57, 57, 57, 32, + 6, 5, 0, 0, 2, 3, 0, 0, 2, 2, + + 2, 9, 9, 10, 9, 9, 9, 0, 11, 12, + 25, 0, 26, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 27, 25, 25, 25, 25, 25, 25, 0, + 24, 21, 24, 21, 51, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 24, 27, 57, 57, 57, 57, 57, 32, + 14, 15, 0, 15, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 14, 13, 13, 13, 13, 13, 16, + + 0, 19, 20, 0, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 28, 57, 57, 2, 9, 9, 9, 7, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 57, 57, 57, 57, 57, 57, 57, 57, + + 57, 57, 57, 57, 57, 57, 57, 57, 0, 0, + 57, 2, 9, 8, 9, 7, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 0, 25, 25, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 0, 22, 22, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 57, 57, 57, 44, 57, 57, 57, 43, 33, + 57, 57, 57, 57, 41, 57, 57, 31, 57, 2, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + + 25, 25, 25, 25, 25, 25, 25, 25, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 57, + 35, 40, 46, 47, 48, 57, 37, 57, 42, 57, + 57, 57, 1, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, + 13, 13, 13, 13, 13, 38, 36, 57, 39, 57, + 57, 25, 25, 25, 25, 25, 25, 22, 22, 22, + + 22, 22, 22, 13, 13, 13, 45, 0, 0, 0, + 25, 25, 0, 25, 22, 22, 0, 22, 13, 0, + 30, 25, 25, 22, 22, 13, 0, 25, 22, 13, + 0, 25, 22, 13, 0, 25, 22, 13, 0, 25, + 22, 13, 34, 25, 22, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -532,17 +466,17 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 6, 7, 8, 1, 1, 1, 1, 9, - 10, 11, 1, 12, 13, 1, 1, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 15, 1, 1, - 1, 1, 1, 1, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 25, 32, 33, 34, 35, 36, 25, 37, 38, 25, - 1, 1, 1, 1, 39, 1, 40, 25, 41, 42, - - 43, 44, 25, 45, 46, 25, 25, 47, 48, 49, - 50, 51, 25, 52, 53, 54, 55, 56, 57, 25, - 25, 25, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 5, 1, 6, 7, 1, 1, 1, 1, 8, + 9, 1, 1, 10, 11, 1, 1, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 13, 1, 1, + 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 23, 30, 31, 32, 33, 23, 34, 23, 23, 23, + 1, 1, 1, 1, 23, 1, 35, 23, 23, 36, + + 37, 38, 23, 39, 23, 23, 23, 40, 23, 23, + 23, 41, 23, 42, 43, 44, 45, 23, 23, 23, + 23, 23, 46, 1, 47, 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, @@ -559,894 +493,538 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[58] = +static yyconst flex_int32_t yy_meta[48] = { 0, - 1, 2, 3, 4, 2, 1, 1, 1, 1, 1, - 1, 5, 6, 7, 1, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 1, 2, 3, 4, 2, 1, 1, 1, 1, 5, + 6, 7, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7 + 7, 7, 7, 7, 7, 1, 1 } ; -static yyconst flex_int16_t yy_base[1265] = +static yyconst flex_int16_t yy_base[670] = { 0, - 0, 56, 62, 69, 122, 178, 231, 287, 340, 396, - 76, 88, 2558, 2559, 57, 2559, 2554, 2559, 2559, 2559, - 2559, 2559, 2559, 2559, 2542, 2559, 0, 2523, 2531, 2533, - 31, 2525, 2517, 73, 2530, 2519, 2532, 2515, 59, 2516, - 40, 2529, 2501, 36, 2496, 2492, 2501, 2490, 2496, 94, - 0, 53, 54, 2559, 2559, 2535, 107, 2559, 0, 2559, - 2534, 110, 0, 2507, 161, 101, 2559, 2532, 114, 180, - 185, 189, 193, 197, 203, 207, 211, 449, 464, 85, - 168, 188, 191, 190, 269, 172, 196, 187, 2502, 271, - 197, 273, 278, 259, 272, 277, 268, 274, 279, 284, - - 315, 306, 375, 0, 328, 2559, 406, 0, 0, 0, - 0, 0, 2559, 0, 2519, 0, 496, 511, 302, 303, - 383, 373, 294, 395, 382, 307, 390, 2500, 402, 401, - 409, 405, 403, 446, 416, 367, 386, 435, 404, 479, - 476, 478, 495, 487, 2559, 2528, 0, 2516, 2516, 501, - 429, 480, 502, 183, 512, 516, 515, 517, 427, 519, - 525, 528, 536, 541, 521, 523, 529, 537, 542, 543, - 547, 565, 549, 553, 572, 581, 2559, 2525, 2559, 573, - 2559, 2513, 0, 2510, 2509, 567, 561, 2500, 575, 2503, - 2502, 2487, 2490, 2483, 2489, 2489, 2492, 2499, 2490, 2497, - - 571, 2477, 2494, 2488, 2465, 2455, 2466, 2456, 555, 2456, - 2449, 2450, 594, 0, 0, 2471, 2485, 564, 2559, 2559, - 2497, 605, 0, 2559, 2496, 608, 2479, 2468, 577, 614, - 618, 2559, 622, 2464, 599, 605, 607, 610, 601, 616, - 615, 621, 611, 619, 618, 623, 628, 633, 642, 635, - 645, 646, 631, 651, 582, 637, 638, 630, 640, 641, - 643, 66, 647, 680, 684, 663, 671, 669, 694, 702, - 2559, 706, 2559, 710, 724, 739, 2479, 735, 702, 703, - 686, 697, 722, 727, 698, 737, 741, 743, 748, 2478, - 751, 2477, 744, 742, 762, 423, 747, 749, 682, 753, - - 760, 764, 765, 766, 781, 788, 778, 2476, 779, 812, - 2559, 2488, 2559, 0, 2476, 2476, 785, 792, 797, 808, - 798, 810, 784, 811, 812, 820, 793, 822, 821, 823, - 825, 824, 839, 826, 830, 840, 774, 832, 841, 845, - 846, 848, 849, 847, 850, 864, 851, 857, 861, 873, - 875, 888, 2559, 2485, 2458, 2457, 2469, 2450, 2465, 2454, - 2449, 2446, 2457, 2448, 2449, 2460, 2455, 2445, 2453, 2439, - 2451, 2450, 2451, 2439, 2432, 2440, 2431, 2443, 2430, 2429, - 2421, 2406, 2409, 2418, 843, 2403, 2414, 2401, 2400, 0, - 2425, 852, 872, 881, 851, 887, 878, 2420, 875, 886, - - 885, 884, 895, 900, 892, 902, 893, 903, 908, 911, - 901, 904, 905, 910, 917, 913, 915, 839, 909, 918, - 919, 920, 921, 922, 923, 924, 2419, 955, 956, 2434, - 950, 951, 2433, 953, 955, 946, 965, 966, 967, 968, - 974, 2432, 972, 970, 975, 977, 985, 987, 978, 988, - 990, 992, 993, 995, 996, 997, 998, 969, 999, 1003, - 1005, 1004, 1006, 1008, 1010, 1029, 2431, 1016, 2430, 1012, - 1022, 1023, 1026, 1032, 1041, 1040, 1024, 1033, 1047, 1042, - 1050, 1057, 1061, 1058, 1062, 1063, 1064, 1066, 1067, 1070, - 1075, 1076, 1077, 1079, 1080, 1081, 1078, 1082, 1084, 1085, - - 1088, 1091, 1090, 1092, 1093, 2432, 2426, 2425, 2407, 2418, - 2425, 2409, 2400, 2398, 2403, 2403, 2419, 2399, 2404, 2398, - 2403, 1092, 2414, 2399, 2407, 2402, 2398, 2385, 2384, 2401, - 2387, 2405, 2364, 0, 2370, 2363, 2368, 2365, 2366, 2368, - 2369, 2366, 0, 2394, 1090, 1091, 1080, 1096, 1105, 1097, - 1092, 1099, 1084, 2377, 1120, 1107, 1121, 1110, 1123, 1133, - 1136, 1125, 1138, 1132, 1134, 1130, 1139, 1142, 1141, 1144, - 1128, 2376, 1140, 1145, 1147, 1148, 1149, 1155, 1150, 1157, - 2375, 1168, 1174, 1169, 1178, 1190, 1180, 1175, 1187, 1191, - 1193, 1196, 1198, 1192, 1200, 1201, 1203, 1206, 1207, 1211, - - 1214, 1213, 1218, 1219, 1223, 1225, 1227, 1199, 2390, 1229, - 1230, 1231, 1232, 1233, 1235, 1240, 1244, 2389, 1237, 1248, - 1239, 1240, 1249, 1255, 1252, 1254, 1258, 1256, 1257, 1260, - 1273, 1262, 1265, 1283, 1284, 1274, 1287, 1289, 1291, 1292, - 1293, 1295, 1296, 1297, 1298, 2391, 1301, 1302, 1306, 1307, - 1310, 1314, 1308, 1315, 2390, 2379, 2381, 2373, 2384, 2559, - 2369, 2358, 2368, 2380, 2355, 2559, 2378, 2377, 2376, 0, - 2559, 2370, 2559, 2355, 2373, 2351, 2352, 2367, 2365, 2356, - 2367, 2559, 2334, 2329, 0, 2333, 2324, 2331, 1279, 2328, - 1281, 2344, 1302, 1309, 1308, 1311, 1340, 1318, 1307, 1305, - - 1333, 1323, 1359, 1337, 1351, 1352, 2342, 1366, 1353, 1370, - 1344, 1362, 1350, 1347, 1369, 1361, 1363, 1373, 1387, 1364, - 1365, 2341, 1366, 1367, 1368, 1370, 1371, 1372, 1394, 1402, - 1393, 1391, 1421, 1408, 1392, 1412, 1417, 1409, 1433, 1426, - 1428, 1430, 2356, 1434, 1414, 1445, 1433, 1436, 1437, 1438, - 1439, 1440, 1442, 1445, 1460, 1447, 1448, 2355, 1450, 1452, - 1454, 1455, 1459, 1458, 1463, 1464, 1465, 1466, 1474, 1469, - 1467, 1470, 1475, 1476, 1489, 1496, 2357, 1477, 1492, 1503, - 1497, 1500, 1504, 1506, 1508, 1514, 1507, 1480, 2356, 1510, - 1511, 1515, 1517, 1519, 1523, 1522, 2353, 2333, 2559, 2333, - - 2337, 2331, 2559, 2345, 2559, 2559, 2559, 2330, 2346, 2559, - 2344, 2344, 2328, 2337, 2336, 2559, 2301, 2314, 2301, 2312, - 2299, 2310, 2306, 2298, 2307, 2303, 0, 1523, 1525, 1511, - 1542, 1516, 1530, 1518, 1566, 1521, 1571, 1577, 1581, 2313, - 1537, 1585, 1556, 1562, 1561, 1564, 1572, 1593, 1546, 1567, - 1569, 1570, 1571, 1573, 1574, 1576, 1579, 1577, 1599, 1548, - 1596, 1620, 1600, 1608, 1611, 1626, 1616, 1633, 1635, 1637, - 1613, 1631, 1646, 2328, 1634, 1625, 1636, 1637, 1656, 1627, - 1638, 1643, 1644, 1646, 1647, 1648, 1649, 1650, 1651, 1655, - 1656, 1659, 1663, 1660, 1664, 1662, 1669, 1670, 1673, 1687, - - 1679, 1690, 1691, 1666, 1692, 1693, 1694, 1695, 1699, 1700, - 1701, 1702, 1703, 2559, 2323, 2559, 0, 2308, 2308, 2318, - 2309, 2305, 2559, 2302, 2559, 2309, 2304, 2319, 2320, 2279, - 2279, 2276, 2277, 2275, 2274, 2277, 2272, 2271, 1717, 1697, - 1721, 2291, 1696, 1703, 1705, 1701, 1708, 1748, 1722, 1754, - 1717, 1729, 1723, 1735, 1730, 1732, 1731, 1734, 1736, 1737, - 1733, 1738, 1739, 1770, 1757, 1774, 2306, 1762, 1764, 1702, - 1758, 1765, 1797, 1771, 1798, 1777, 1778, 1792, 1797, 1779, - 1785, 1789, 1795, 1796, 1798, 1799, 1800, 1801, 1805, 2308, - 1806, 1808, 1807, 1809, 1811, 1810, 1815, 1821, 1818, 2307, - - 1813, 1817, 1814, 1822, 1823, 1825, 1833, 1837, 1842, 2298, - 2298, 2295, 2301, 2288, 0, 2287, 2283, 2278, 2559, 2269, - 2257, 2259, 2265, 2257, 2252, 2251, 2258, 2249, 2248, 1835, - 1838, 1839, 1845, 1830, 2269, 1832, 1833, 1841, 1879, 1883, - 1840, 1847, 1848, 1854, 1857, 1860, 1862, 1864, 1866, 1884, - 1883, 1885, 1894, 1886, 2284, 1890, 1896, 1899, 1914, 1919, - 1906, 1907, 1911, 1912, 1913, 1914, 1918, 1915, 1916, 1922, - 1924, 1923, 1925, 1926, 2286, 1928, 1933, 1937, 2256, 1929, - 1934, 1935, 1936, 1938, 1939, 1943, 1945, 1947, 2282, 2264, - 2280, 2559, 2264, 2259, 2253, 2260, 2239, 0, 2229, 0, - - 2224, 0, 0, 2234, 0, 0, 1951, 2242, 1958, 1970, - 1947, 1953, 1956, 1971, 1993, 2237, 1944, 2236, 1948, 2235, - 2224, 1970, 2219, 2218, 1989, 1949, 1991, 2007, 1992, 1994, - 1997, 1998, 2013, 2233, 2000, 2228, 2001, 2227, 2226, 2003, - 2219, 2212, 2010, 2007, 2011, 2016, 2014, 2020, 2017, 2178, - 2202, 2018, 2201, 2021, 2200, 2187, 2022, 2162, 2161, 2559, - 2140, 2559, 2136, 2155, 2137, 2153, 2116, 0, 0, 0, - 2045, 2005, 2055, 2010, 2026, 2133, 2036, 2060, 2132, 2131, - 2130, 2064, 2038, 2070, 2045, 2061, 2051, 2063, 2079, 2145, - 2143, 2142, 2061, 2069, 2072, 2073, 2075, 2102, 2135, 2126, - - 2121, 0, 2083, 2559, 2028, 2559, 1505, 1244, 1089, 2087, - 2078, 2093, 2097, 1028, 2080, 2098, 2091, 2111, 2112, 775, - 2095, 2105, 666, 619, 2559, 454, 2094, 2117, 2127, 2108, - 2123, 2131, 2122, 368, 2559, 298, 2136, 2140, 2141, 2145, - 215, 2559, 2152, 2147, 2559, 2176, 2183, 2190, 113, 2197, - 2204, 2211, 2218, 2225, 2232, 2239, 2246, 2253, 2255, 2257, - 2264, 2271, 2278, 2285 + 0, 46, 51, 58, 63, 65, 46, 67, 112, 158, + 204, 250, 296, 342, 75, 92, 1556, 1557, 79, 1557, + 1552, 1557, 1557, 1557, 1557, 1557, 1542, 0, 1532, 1534, + 1526, 1518, 81, 1521, 1534, 1517, 1521, 31, 1531, 1526, + 1506, 343, 0, 1557, 60, 1497, 1499, 47, 1494, 1557, + 1557, 1536, 163, 1557, 0, 1557, 1535, 169, 0, 1510, + 39, 1489, 1557, 1532, 62, 1487, 1530, 1557, 1529, 173, + 1557, 1528, 177, 181, 185, 189, 198, 254, 389, 436, + 143, 155, 72, 243, 70, 148, 167, 171, 78, 239, + 249, 240, 269, 276, 254, 325, 330, 331, 357, 0, + + 281, 1557, 361, 0, 0, 0, 1557, 0, 1518, 483, + 530, 271, 333, 335, 354, 251, 273, 339, 356, 371, + 274, 366, 380, 404, 406, 0, 391, 394, 392, 405, + 1483, 418, 1557, 1525, 0, 1515, 1515, 403, 360, 407, + 419, 441, 442, 414, 443, 444, 445, 447, 368, 422, + 472, 484, 454, 451, 460, 495, 502, 1557, 1522, 1557, + 506, 1557, 1512, 0, 1509, 1493, 1507, 1502, 1501, 1486, + 1489, 1489, 1489, 1492, 1499, 1479, 1496, 1490, 1487, 1470, + 508, 0, 1461, 0, 1477, 1470, 1467, 1489, 438, 1557, + 1557, 1557, 1499, 516, 0, 1557, 1498, 519, 1483, 1472, + + 152, 1451, 1450, 1557, 425, 1449, 523, 1492, 1557, 1557, + 512, 540, 1557, 544, 1473, 466, 54, 488, 529, 534, + 532, 506, 536, 539, 537, 519, 540, 547, 546, 550, + 548, 576, 580, 554, 553, 558, 573, 570, 588, 595, + 599, 1557, 603, 1557, 607, 619, 666, 585, 1479, 597, + 604, 584, 603, 596, 615, 620, 1478, 619, 621, 623, + 624, 625, 646, 652, 626, 646, 633, 1477, 650, 656, + 680, 1557, 1487, 1557, 0, 1477, 1477, 675, 658, 677, + 679, 683, 667, 687, 684, 633, 685, 689, 691, 693, + 694, 695, 698, 716, 699, 705, 711, 715, 716, 728, + + 729, 741, 1557, 1484, 1459, 1453, 1464, 1457, 1468, 1463, + 1453, 1448, 1460, 1459, 1460, 1456, 1443, 1442, 1452, 1436, + 0, 730, 1430, 1439, 736, 747, 751, 1557, 730, 726, + 740, 742, 750, 748, 746, 734, 754, 756, 763, 408, + 749, 757, 761, 764, 1439, 784, 766, 788, 790, 1445, + 777, 782, 783, 711, 1444, 793, 786, 787, 794, 801, + 806, 802, 795, 796, 803, 810, 827, 1439, 833, 811, + 814, 1438, 820, 822, 825, 828, 829, 830, 841, 831, + 839, 842, 843, 851, 845, 854, 855, 857, 858, 1440, + 869, 861, 1430, 1424, 1413, 1420, 1396, 1401, 1395, 1408, + + 1407, 1392, 1394, 1386, 1366, 1379, 1364, 1339, 871, 1332, + 1332, 1362, 879, 1557, 885, 1557, 862, 1342, 868, 879, + 870, 877, 873, 884, 893, 886, 890, 891, 888, 903, + 1303, 874, 923, 929, 897, 907, 908, 916, 922, 923, + 924, 925, 927, 930, 931, 934, 932, 935, 940, 943, + 945, 958, 960, 947, 955, 957, 962, 959, 864, 963, + 965, 966, 969, 970, 973, 975, 976, 972, 977, 984, + 988, 1305, 1309, 1308, 1557, 1307, 1304, 1303, 1557, 1557, + 1283, 1300, 1287, 1298, 1557, 1278, 1267, 1557, 1262, 1265, + 982, 988, 989, 1009, 994, 999, 1003, 1017, 1021, 996, + + 1014, 1009, 1018, 1036, 1011, 997, 1040, 1015, 1032, 1034, + 1039, 1052, 1042, 1045, 1047, 1060, 1061, 1035, 1055, 1050, + 1057, 1071, 1058, 1060, 1075, 1065, 1067, 1070, 1071, 1075, + 1076, 1080, 1081, 1083, 1084, 1086, 1087, 1091, 1092, 1273, + 1557, 1557, 1557, 1557, 1557, 1268, 1557, 1262, 1557, 1258, + 1221, 1222, 0, 1091, 1103, 1112, 1116, 1120, 1125, 1102, + 1130, 1115, 1135, 1125, 1105, 1120, 1097, 1140, 1142, 1146, + 1148, 1150, 1145, 1158, 1147, 1162, 1155, 1129, 1140, 1159, + 1163, 1160, 1168, 1145, 1151, 1557, 1557, 1245, 1557, 1239, + 1178, 1180, 1188, 1173, 1193, 1180, 1194, 1198, 1200, 1193, + + 1206, 1198, 1208, 1203, 1227, 1215, 1557, 1194, 1216, 1177, + 1223, 1227, 1231, 1237, 1232, 1242, 1241, 1243, 1183, 1167, + 1557, 1247, 1251, 1255, 1262, 1150, 1134, 1264, 1268, 1125, + 1062, 1270, 1274, 961, 606, 1286, 1280, 550, 488, 1291, + 1295, 340, 1557, 1297, 1301, 1557, 1325, 1332, 1339, 1346, + 1353, 247, 1360, 1367, 1374, 1381, 1388, 1395, 1402, 1409, + 1416, 1423, 1430, 1432, 1434, 1441, 1448, 1455, 1462 } ; -static yyconst flex_int16_t yy_def[1265] = +static yyconst flex_int16_t yy_def[670] = { 0, - 1245, 1, 1246, 1247, 1245, 5, 1245, 7, 1245, 9, - 1248, 1248, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1245, - 1250, 1249, 1249, 1245, 1245, 1245, 1251, 1245, 1252, 1245, - 1245, 1251, 1252, 1252, 1252, 1253, 1245, 1245, 1253, 1253, - 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1254, 1254, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - - 1255, 79, 79, 1256, 1245, 1245, 1245, 1256, 1256, 1256, - 1256, 1256, 1245, 1256, 1256, 1256, 1257, 1257, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 1245, - 1258, 118, 118, 1245, 1245, 1245, 1259, 1259, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1245, 1260, 1260, 1261, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1245, 1250, 1250, 1249, 1249, 1249, 1245, 1245, - 1245, 1245, 1252, 1245, 1245, 1245, 1252, 1252, 1252, 1253, - 1253, 1245, 1253, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 1255, 1255, 79, 79, 79, 1262, 1245, - 1245, 1245, 1245, 1262, 1263, 1263, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - - 276, 276, 276, 276, 1245, 1264, 276, 276, 276, 1245, - 1245, 1245, 1245, 1259, 1259, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1245, 1260, 1260, 1260, 1261, - 1261, 1245, 1245, 1245, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1252, 79, 79, 79, 79, 79, 79, 79, 79, 79, - - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 1262, 1262, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 1264, 276, 276, 276, 276, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - - 1260, 1260, 1260, 1260, 1260, 1260, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1252, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1249, 1249, 1249, 1249, 1245, - 1249, 1249, 1249, 1249, 1249, 1245, 1249, 1249, 1249, 1249, - 1245, 1249, 1245, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1245, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1252, 79, 79, 79, 79, 1253, 79, 79, 79, - - 79, 79, 1253, 79, 79, 79, 79, 1253, 79, 1253, - 79, 79, 79, 79, 79, 79, 79, 79, 1253, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 276, 276, - 276, 276, 1262, 276, 276, 276, 276, 276, 1262, 276, - 276, 276, 276, 1262, 276, 1262, 276, 276, 276, 276, - 276, 276, 276, 276, 1262, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1249, 1249, 1249, 1245, 1249, - - 1249, 1249, 1245, 1249, 1245, 1245, 1245, 1249, 1249, 1245, - 1249, 1249, 1249, 1249, 1249, 1245, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1252, 79, 79, 79, - 1253, 79, 79, 79, 1253, 79, 1253, 1253, 1253, 79, - 79, 1253, 79, 79, 79, 79, 79, 1253, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 276, 276, - 276, 1262, 276, 276, 276, 1262, 276, 1262, 1262, 1262, - 276, 276, 1262, 276, 276, 276, 276, 276, 1262, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1245, 1249, 1245, 1249, 1249, 1249, 1249, - 1249, 1249, 1245, 1249, 1245, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1253, 79, - 1253, 79, 79, 79, 79, 79, 79, 1253, 79, 1253, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 1262, 276, 1262, 276, 276, 276, 276, - 276, 276, 1262, 276, 1262, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1245, 1245, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 1253, 1253, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 1262, 1262, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1259, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1249, 1249, - 1249, 1245, 1249, 1249, 1249, 1249, 1245, 1249, 1249, 1249, - - 1249, 1249, 1249, 1249, 1249, 1249, 79, 79, 79, 1253, - 79, 79, 79, 79, 1253, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 276, 276, 276, 1262, 276, 276, - 276, 276, 1262, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1259, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1245, - 1249, 1245, 1249, 1249, 1249, 1249, 1245, 1249, 1249, 1249, - 1253, 79, 1253, 79, 79, 79, 79, 1253, 79, 79, - 79, 1262, 276, 1262, 276, 276, 276, 276, 1262, 276, - 276, 276, 1260, 1260, 1260, 1260, 1260, 1259, 1260, 1260, - - 1260, 1249, 1249, 1245, 1249, 1245, 1245, 79, 79, 1253, - 79, 1253, 1253, 276, 276, 1262, 276, 1262, 1262, 1260, - 1260, 1260, 1259, 1249, 1245, 1245, 79, 1253, 1253, 276, - 1262, 1262, 1260, 1259, 1245, 1245, 1253, 1253, 1262, 1262, - 1259, 1245, 1253, 1262, 0, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245 + 646, 1, 647, 648, 649, 649, 650, 650, 646, 9, + 646, 11, 646, 13, 651, 651, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 652, 652, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 652, 646, 653, 646, 652, 652, 652, 652, 646, 646, + 646, 646, 654, 646, 655, 646, 646, 654, 655, 655, + 655, 656, 646, 646, 656, 656, 657, 646, 646, 658, + 646, 646, 658, 658, 658, 658, 658, 658, 659, 659, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 660, 658, 80, 80, 80, 80, 658, 661, + + 646, 646, 646, 661, 661, 661, 646, 661, 661, 662, + 662, 111, 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 646, 663, 661, 111, 111, 111, 111, + 661, 646, 646, 646, 664, 664, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 646, 665, 665, 665, 665, 666, 646, 646, 646, 646, + 646, 646, 646, 652, 652, 652, 652, 652, 652, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 646, 653, 646, 653, 652, 652, 652, 652, 652, 646, + 646, 646, 646, 646, 655, 646, 646, 646, 655, 655, + + 655, 656, 656, 646, 656, 656, 656, 657, 646, 646, + 658, 658, 646, 658, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 660, 660, 80, 80, 80, 80, 80, 658, 667, + 646, 646, 646, 646, 667, 668, 668, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 646, 669, 247, 247, 247, 247, 247, 667, + 646, 646, 646, 646, 664, 664, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 646, 665, 665, 665, 665, 665, 666, + + 666, 646, 646, 646, 652, 652, 652, 652, 652, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 652, 652, 652, 655, 656, 656, 656, 646, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 667, 667, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 669, 247, 247, 247, + 247, 247, 247, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 652, 652, 652, 652, 652, 652, 652, 652, + + 652, 652, 652, 652, 652, 652, 652, 652, 646, 646, + 652, 655, 656, 646, 656, 646, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 658, 658, 80, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 667, 667, 247, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 652, 652, 652, 646, 652, 652, 652, 646, 646, + 652, 652, 652, 652, 646, 652, 652, 646, 652, 655, + 80, 80, 80, 658, 80, 80, 80, 658, 658, 80, + + 80, 80, 80, 658, 80, 80, 658, 80, 247, 247, + 247, 667, 247, 247, 247, 667, 667, 247, 247, 247, + 247, 667, 247, 247, 667, 247, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 652, + 646, 646, 646, 646, 646, 652, 646, 652, 646, 652, + 652, 652, 655, 80, 658, 658, 658, 658, 658, 80, + 658, 80, 658, 80, 80, 80, 247, 667, 667, 667, + 667, 667, 247, 667, 247, 667, 247, 247, 247, 665, + 665, 665, 665, 665, 665, 646, 646, 652, 646, 652, + 652, 658, 658, 80, 658, 80, 80, 667, 667, 247, + + 667, 247, 247, 665, 665, 665, 646, 646, 646, 646, + 658, 658, 658, 658, 667, 667, 667, 667, 664, 646, + 646, 658, 658, 667, 667, 664, 646, 658, 667, 664, + 646, 658, 667, 664, 646, 658, 667, 664, 646, 658, + 667, 664, 646, 658, 667, 0, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646 } ; -static yyconst flex_int16_t yy_nxt[2617] = +static yyconst flex_int16_t yy_nxt[1605] = { 0, - 14, 15, 16, 17, 15, 18, 19, 14, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 27, 27, 33, 27, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 27, 27, 27, 27, 27, 27, - 27, 43, 44, 45, 27, 27, 27, 27, 46, 27, - 47, 27, 48, 27, 27, 27, 49, 50, 180, 187, - 50, 180, 202, 51, 55, 56, 57, 188, 216, 58, - 54, 60, 61, 62, 203, 206, 63, 176, 177, 178, - 176, 217, 195, 52, 207, 198, 199, 179, 64, 176, - 177, 178, 176, 191, 200, 213, 192, 234, 213, 179, - - 193, 214, 231, 211, 231, 231, 218, 236, 53, 219, - 221, 222, 224, 225, 226, 231, 234, 231, 231, 183, - 425, 65, 66, 15, 67, 68, 15, 69, 70, 66, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 78, 78, 84, 78, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 78, 78, 78, 78, - 78, 78, 78, 94, 95, 96, 78, 78, 78, 78, - 97, 78, 98, 78, 99, 78, 78, 78, 100, 50, - 228, 231, 50, 231, 231, 101, 231, 237, 231, 231, - 231, 245, 231, 231, 231, 314, 231, 231, 231, 234, - - 231, 231, 247, 234, 231, 102, 231, 231, 231, 322, - 231, 231, 231, 229, 231, 231, 238, 240, 234, 234, - 233, 234, 234, 241, 239, 246, 252, 234, 234, 1242, - 103, 104, 105, 106, 107, 105, 108, 109, 104, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 117, 117, 123, 117, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 117, 117, 117, 117, 117, - 117, 117, 133, 134, 135, 117, 117, 117, 117, 136, - 117, 137, 117, 138, 117, 117, 117, 139, 140, 242, - 234, 140, 243, 255, 141, 253, 244, 249, 250, 234, - - 234, 256, 234, 234, 234, 234, 251, 254, 234, 234, - 234, 257, 1242, 261, 142, 234, 265, 260, 265, 265, - 258, 266, 278, 259, 277, 275, 263, 282, 262, 270, - 271, 272, 270, 275, 275, 246, 287, 234, 275, 143, - 14, 144, 145, 146, 144, 18, 19, 14, 20, 21, - 22, 23, 147, 148, 26, 149, 150, 151, 152, 153, - 154, 149, 149, 155, 149, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 149, 149, 149, 149, 149, 149, - 149, 165, 166, 167, 149, 149, 149, 149, 168, 149, - 169, 149, 170, 149, 149, 149, 171, 172, 275, 281, - - 172, 286, 267, 51, 275, 288, 234, 272, 273, 272, - 272, 279, 1241, 275, 275, 283, 301, 275, 284, 280, - 296, 275, 285, 173, 262, 302, 275, 268, 290, 291, - 293, 294, 275, 275, 275, 275, 275, 292, 430, 314, - 275, 314, 329, 295, 456, 297, 304, 275, 174, 230, - 231, 318, 231, 231, 230, 230, 230, 230, 230, 230, - 230, 230, 300, 230, 230, 231, 275, 231, 231, 230, - 230, 230, 230, 230, 230, 230, 230, 275, 230, 215, - 305, 271, 272, 305, 303, 298, 214, 215, 310, 311, - 312, 310, 314, 307, 299, 235, 269, 269, 1236, 319, - - 269, 269, 269, 269, 269, 269, 269, 287, 269, 275, - 269, 269, 269, 314, 314, 269, 269, 269, 269, 269, - 269, 269, 308, 269, 314, 269, 275, 314, 314, 314, - 320, 314, 317, 314, 327, 314, 324, 314, 321, 325, - 314, 314, 276, 326, 303, 323, 328, 309, 314, 314, - 330, 331, 332, 314, 314, 314, 337, 334, 335, 314, - 333, 314, 339, 338, 347, 314, 346, 311, 312, 346, - 336, 340, 214, 351, 180, 341, 351, 180, 328, 360, - 348, 343, 352, 353, 354, 352, 342, 357, 376, 345, - 363, 217, 344, 385, 361, 213, 228, 358, 213, 359, - - 377, 214, 344, 417, 364, 349, 386, 219, 221, 222, - 224, 225, 226, 234, 392, 231, 218, 231, 231, 231, - 393, 231, 231, 231, 399, 231, 231, 394, 397, 229, - 234, 400, 234, 1235, 402, 233, 234, 395, 234, 396, - 403, 234, 234, 398, 404, 401, 234, 234, 405, 234, - 234, 407, 234, 406, 234, 408, 409, 410, 411, 234, - 412, 234, 234, 413, 234, 415, 234, 416, 234, 234, - 420, 234, 234, 234, 234, 414, 234, 234, 234, 422, - 418, 265, 234, 265, 265, 265, 266, 265, 265, 421, - 419, 424, 423, 427, 234, 269, 267, 430, 269, 426, - - 234, 439, 234, 270, 271, 272, 270, 272, 271, 272, - 272, 269, 430, 430, 269, 440, 441, 430, 430, 1234, - 436, 268, 459, 429, 428, 269, 438, 444, 269, 428, - 428, 428, 428, 428, 428, 437, 428, 430, 428, 428, - 269, 442, 430, 269, 428, 428, 428, 428, 428, 428, - 430, 428, 430, 428, 431, 433, 430, 430, 430, 430, - 443, 452, 430, 430, 430, 434, 430, 435, 430, 446, - 447, 448, 445, 453, 450, 430, 454, 430, 455, 430, - 430, 430, 305, 271, 272, 305, 314, 314, 214, 306, - 457, 215, 306, 430, 430, 496, 314, 314, 461, 215, - - 471, 458, 460, 481, 314, 314, 469, 472, 467, 314, - 314, 462, 463, 310, 311, 312, 310, 473, 465, 464, - 314, 478, 314, 314, 314, 479, 476, 474, 485, 475, - 482, 470, 314, 314, 314, 314, 314, 314, 314, 480, - 489, 477, 314, 492, 314, 483, 488, 490, 487, 484, - 486, 314, 314, 314, 491, 493, 495, 314, 314, 314, - 314, 314, 314, 314, 494, 346, 311, 312, 346, 314, - 234, 214, 347, 314, 351, 497, 351, 351, 571, 351, - 545, 506, 234, 234, 548, 499, 501, 537, 348, 352, - 353, 354, 352, 498, 538, 500, 547, 503, 539, 502, - - 546, 504, 505, 234, 549, 550, 234, 553, 552, 234, - 556, 555, 234, 349, 554, 234, 234, 234, 234, 557, - 558, 559, 561, 234, 234, 560, 234, 562, 563, 564, - 566, 234, 234, 234, 234, 234, 234, 568, 565, 234, - 234, 234, 234, 567, 234, 569, 234, 570, 234, 234, - 234, 234, 234, 234, 234, 234, 269, 269, 574, 269, - 269, 430, 572, 579, 575, 430, 430, 573, 430, 429, - 430, 576, 586, 587, 578, 577, 580, 581, 582, 583, - 430, 430, 430, 430, 430, 430, 585, 430, 590, 430, - 430, 594, 430, 430, 596, 600, 588, 591, 595, 589, - - 430, 592, 430, 430, 598, 430, 599, 430, 430, 597, - 430, 430, 430, 430, 430, 605, 601, 603, 430, 430, - 430, 430, 609, 430, 602, 430, 604, 430, 606, 607, - 306, 430, 215, 306, 314, 314, 314, 608, 314, 469, - 215, 621, 611, 430, 314, 314, 467, 616, 610, 612, - 619, 620, 314, 314, 314, 625, 613, 615, 623, 314, - 614, 617, 314, 618, 470, 622, 626, 624, 627, 314, - 314, 628, 630, 314, 314, 314, 314, 629, 314, 314, - 631, 633, 314, 635, 637, 636, 632, 314, 314, 314, - 314, 314, 314, 314, 314, 634, 314, 314, 638, 642, - - 314, 640, 314, 314, 314, 314, 671, 693, 694, 639, - 641, 234, 643, 644, 695, 234, 701, 645, 696, 697, - 1227, 234, 234, 234, 648, 672, 698, 234, 234, 699, - 234, 653, 649, 647, 703, 646, 234, 700, 234, 650, - 704, 234, 706, 651, 652, 654, 655, 708, 705, 707, - 710, 234, 234, 711, 234, 713, 234, 712, 719, 234, - 714, 234, 717, 234, 234, 234, 709, 234, 715, 234, - 234, 234, 234, 234, 718, 234, 234, 716, 234, 234, - 234, 234, 720, 430, 430, 729, 234, 721, 234, 430, - 430, 730, 727, 430, 723, 430, 725, 724, 722, 726, - - 732, 728, 430, 731, 733, 430, 430, 430, 430, 734, - 739, 430, 735, 430, 430, 430, 430, 744, 430, 741, - 746, 430, 430, 737, 738, 736, 430, 743, 430, 430, - 748, 740, 742, 430, 430, 747, 745, 749, 430, 750, - 430, 755, 430, 753, 430, 430, 430, 430, 430, 314, - 430, 314, 314, 756, 765, 430, 751, 752, 754, 430, - 314, 314, 768, 660, 314, 766, 314, 314, 314, 314, - 314, 666, 314, 767, 314, 234, 757, 314, 759, 762, - 761, 760, 763, 758, 769, 314, 314, 773, 764, 770, - 772, 777, 771, 774, 776, 314, 314, 671, 673, 314, - - 775, 314, 779, 314, 314, 314, 780, 314, 314, 314, - 314, 682, 781, 314, 314, 785, 778, 782, 314, 314, - 314, 822, 314, 825, 828, 831, 314, 314, 829, 786, - 783, 784, 834, 234, 830, 823, 234, 826, 234, 234, - 234, 231, 234, 231, 231, 833, 832, 835, 788, 234, - 794, 837, 787, 790, 234, 789, 791, 792, 793, 795, - 231, 836, 231, 231, 234, 838, 839, 231, 234, 231, - 231, 231, 840, 231, 231, 234, 842, 841, 234, 846, - 844, 234, 234, 234, 234, 843, 845, 848, 231, 847, - 231, 231, 234, 234, 234, 234, 234, 234, 234, 234, - - 234, 234, 234, 234, 234, 862, 430, 430, 430, 430, - 849, 851, 854, 853, 857, 850, 859, 430, 856, 861, - 852, 860, 269, 430, 430, 269, 855, 430, 858, 430, - 864, 866, 430, 871, 269, 269, 863, 269, 269, 865, - 868, 430, 869, 430, 870, 430, 269, 867, 430, 269, - 873, 430, 430, 430, 430, 430, 876, 430, 877, 879, - 430, 269, 430, 430, 269, 430, 872, 430, 878, 430, - 430, 875, 874, 430, 430, 314, 314, 314, 314, 314, - 799, 314, 314, 891, 803, 890, 314, 314, 314, 314, - 805, 892, 314, 880, 895, 882, 897, 885, 881, 884, - - 888, 314, 893, 806, 314, 883, 887, 894, 314, 314, - 807, 886, 314, 896, 889, 314, 314, 810, 314, 314, - 314, 901, 314, 314, 902, 898, 314, 314, 816, 314, - 905, 314, 899, 900, 903, 314, 914, 939, 946, 941, - 915, 940, 234, 231, 942, 231, 231, 234, 943, 234, - 945, 948, 234, 904, 234, 906, 234, 944, 1226, 909, - 908, 234, 966, 430, 907, 912, 911, 231, 234, 231, - 231, 949, 231, 910, 231, 231, 950, 234, 231, 913, - 231, 231, 231, 952, 231, 231, 231, 234, 231, 231, - 951, 953, 234, 234, 231, 234, 231, 231, 234, 954, - - 234, 234, 234, 234, 234, 234, 955, 234, 234, 957, - 234, 430, 959, 964, 430, 430, 960, 965, 962, 963, - 956, 269, 958, 430, 269, 961, 430, 269, 430, 967, - 269, 430, 968, 971, 269, 969, 269, 269, 269, 269, - 430, 269, 430, 970, 972, 973, 430, 269, 975, 430, - 269, 430, 430, 430, 976, 977, 978, 269, 430, 430, - 269, 430, 430, 430, 430, 430, 430, 314, 314, 914, - 916, 314, 314, 989, 314, 314, 314, 980, 314, 994, - 979, 314, 314, 982, 923, 314, 984, 992, 996, 987, - 985, 314, 990, 988, 981, 991, 993, 983, 986, 314, - - 995, 925, 314, 314, 314, 314, 314, 314, 997, 998, - 999, 314, 314, 314, 314, 314, 1030, 430, 231, 1000, - 231, 231, 231, 1053, 231, 231, 1033, 234, 234, 1031, - 1034, 1001, 234, 1003, 234, 1032, 234, 1039, 1005, 234, - 1035, 1008, 1006, 1037, 1002, 1009, 1004, 1040, 234, 231, - 1007, 231, 231, 234, 234, 231, 1036, 231, 231, 1038, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 269, 430, 430, 269, 269, 1050, 430, 269, 430, - 430, 1047, 1041, 1042, 1043, 1044, 430, 1054, 1045, 1046, - 1048, 1049, 430, 430, 430, 1051, 1052, 1055, 269, 269, - - 430, 269, 269, 1057, 430, 1056, 1059, 430, 1058, 1060, - 430, 430, 430, 430, 430, 430, 430, 314, 314, 314, - 314, 314, 314, 314, 1070, 314, 314, 314, 1073, 314, - 314, 1061, 1019, 314, 314, 314, 1062, 314, 1074, 1071, - 1072, 1077, 1063, 1075, 1076, 314, 1064, 1067, 1065, 314, - 1066, 1078, 1068, 1069, 314, 1107, 1111, 1108, 1112, 1110, - 1109, 234, 1113, 234, 234, 1080, 234, 1082, 1081, 234, - 234, 234, 234, 1083, 1114, 1084, 234, 1085, 234, 234, - 231, 1086, 231, 231, 231, 234, 231, 231, 234, 1087, - 1118, 234, 1116, 234, 1088, 234, 1117, 234, 430, 430, - - 430, 430, 1126, 1119, 1125, 430, 1127, 1122, 1128, 430, - 1120, 430, 1129, 1121, 430, 269, 1130, 1123, 269, 1124, - 269, 430, 430, 269, 1115, 1131, 430, 430, 430, 430, - 430, 430, 1132, 430, 314, 314, 314, 314, 314, 1092, - 314, 314, 1143, 1144, 1145, 314, 314, 314, 314, 314, - 314, 314, 1146, 1136, 1147, 314, 1135, 314, 1134, 314, - 1133, 1137, 1148, 1140, 430, 1171, 1138, 1139, 1141, 1142, - 1149, 231, 1173, 231, 231, 234, 1174, 1153, 234, 234, - 1183, 1151, 234, 1152, 234, 1154, 1175, 234, 1157, 234, - 1176, 1155, 1156, 1177, 231, 1179, 231, 231, 1158, 1180, - - 1159, 234, 234, 1182, 430, 1184, 430, 430, 269, 430, - 1181, 269, 430, 430, 269, 430, 430, 269, 430, 314, - 1188, 1185, 314, 314, 1160, 1162, 314, 1186, 314, 314, - 314, 1187, 314, 314, 314, 1178, 234, 1208, 1193, 1197, - 1210, 234, 1225, 1192, 1209, 1194, 231, 1195, 231, 231, - 1212, 1190, 1191, 430, 1196, 1189, 231, 234, 231, 231, - 430, 231, 1201, 231, 231, 269, 430, 234, 269, 1199, - 1214, 269, 1200, 314, 269, 1216, 430, 1218, 430, 1215, - 269, 314, 1217, 269, 314, 314, 1204, 314, 231, 1206, - 231, 231, 1228, 1220, 231, 430, 231, 231, 231, 269, - - 231, 231, 269, 1221, 1222, 1231, 430, 314, 1237, 234, - 1213, 1230, 269, 269, 1224, 269, 269, 314, 231, 1225, - 231, 231, 1239, 430, 269, 234, 1233, 269, 231, 1219, - 231, 231, 269, 314, 314, 269, 1235, 231, 314, 231, - 231, 231, 269, 231, 231, 269, 269, 314, 269, 269, - 1229, 269, 1223, 231, 1243, 231, 231, 430, 430, 1244, - 430, 234, 234, 234, 1211, 1232, 1207, 1206, 1205, 1204, - 1203, 1238, 1202, 314, 314, 1240, 54, 54, 54, 54, - 54, 54, 54, 59, 59, 59, 59, 59, 59, 59, - 175, 175, 175, 175, 175, 175, 175, 215, 215, 314, - - 215, 215, 215, 215, 220, 220, 220, 220, 220, 220, - 220, 223, 314, 314, 314, 223, 223, 223, 230, 230, - 1198, 230, 230, 230, 230, 234, 234, 430, 234, 234, - 234, 234, 264, 264, 430, 264, 264, 264, 264, 269, - 269, 430, 430, 430, 269, 269, 275, 275, 430, 234, - 234, 275, 275, 306, 306, 234, 306, 306, 306, 306, - 314, 314, 316, 316, 350, 350, 234, 234, 234, 350, - 350, 428, 428, 1172, 1170, 1169, 428, 428, 430, 430, - 1168, 1167, 1166, 430, 430, 466, 466, 1165, 466, 466, - 466, 466, 1164, 1163, 1162, 1161, 1160, 1150, 314, 430, - - 234, 1106, 1105, 1104, 1103, 1102, 1101, 1100, 1099, 1098, - 1097, 1096, 1095, 1094, 1093, 1092, 1091, 1090, 1089, 1079, - 314, 430, 234, 1029, 1028, 1027, 1026, 1025, 1024, 1023, - 1022, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, - 1012, 1011, 1010, 974, 947, 938, 937, 936, 935, 934, - 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, - 923, 922, 921, 920, 919, 918, 917, 916, 314, 314, - 430, 430, 234, 234, 827, 824, 821, 820, 819, 818, - 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, - 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, - - 797, 796, 314, 314, 430, 430, 234, 234, 702, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 680, 679, 678, 677, 676, 675, 674, 673, 670, - 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, - 659, 658, 657, 656, 314, 468, 430, 593, 584, 430, - 234, 551, 544, 543, 542, 541, 540, 536, 535, 534, - 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, - 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, - 513, 512, 511, 510, 509, 508, 507, 353, 314, 315, - 311, 468, 451, 449, 432, 234, 227, 391, 224, 219, - - 216, 390, 389, 388, 387, 384, 383, 382, 381, 380, - 379, 378, 375, 374, 373, 372, 371, 370, 369, 368, - 367, 366, 365, 362, 356, 355, 182, 353, 314, 315, - 313, 289, 274, 248, 232, 227, 224, 219, 212, 211, - 210, 209, 208, 205, 204, 201, 197, 196, 195, 194, - 190, 189, 186, 185, 184, 182, 181, 1245, 13, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245 + 18, 19, 20, 21, 19, 22, 18, 23, 24, 25, + 26, 27, 18, 28, 28, 29, 30, 28, 31, 28, + 28, 32, 28, 33, 28, 34, 35, 36, 37, 28, + 38, 39, 28, 40, 28, 41, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 18, 18, 42, 68, 69, + 42, 176, 43, 51, 52, 53, 200, 54, 44, 50, + 56, 57, 58, 177, 59, 63, 64, 63, 64, 68, + 69, 45, 188, 185, 215, 60, 157, 158, 159, 157, + 161, 201, 330, 161, 160, 46, 47, 172, 48, 189, + 215, 49, 215, 157, 158, 159, 157, 223, 227, 169, + + 61, 160, 170, 219, 205, 65, 171, 65, 206, 66, + 228, 66, 70, 19, 71, 72, 19, 73, 70, 74, + 75, 76, 77, 78, 70, 79, 79, 80, 81, 79, + 82, 79, 79, 83, 79, 84, 79, 85, 86, 87, + 88, 79, 89, 90, 79, 91, 79, 92, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 70, 70, 42, + 217, 224, 42, 215, 93, 191, 193, 194, 215, 200, + 94, 196, 197, 198, 212, 215, 212, 212, 212, 218, + 212, 212, 212, 95, 212, 212, 212, 215, 212, 212, + 212, 215, 212, 212, 201, 226, 225, 96, 97, 212, + + 98, 212, 212, 99, 100, 101, 102, 103, 101, 104, + 100, 105, 106, 107, 108, 109, 100, 110, 110, 111, + 112, 110, 113, 110, 110, 114, 110, 115, 110, 116, + 117, 118, 119, 110, 120, 121, 110, 122, 110, 123, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 100, + 100, 124, 229, 164, 124, 212, 125, 212, 212, 215, + 215, 220, 126, 215, 221, 214, 230, 234, 222, 215, + 233, 246, 233, 233, 215, 127, 231, 212, 254, 212, + 212, 223, 241, 242, 243, 241, 255, 260, 248, 128, + 129, 246, 130, 246, 246, 131, 18, 132, 133, 134, + + 132, 22, 18, 23, 24, 25, 135, 136, 18, 137, + 137, 138, 139, 137, 140, 137, 137, 141, 137, 142, + 137, 143, 144, 145, 146, 137, 147, 148, 137, 149, + 137, 150, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 18, 18, 151, 181, 215, 151, 181, 43, 182, + 215, 215, 643, 246, 44, 246, 237, 249, 212, 246, + 212, 212, 243, 244, 243, 243, 250, 152, 256, 235, + 275, 236, 251, 238, 246, 252, 246, 279, 275, 253, + 257, 153, 154, 261, 155, 292, 246, 49, 183, 211, + 212, 258, 212, 212, 211, 211, 211, 211, 211, 211, + + 246, 211, 239, 259, 265, 263, 242, 243, 263, 184, + 182, 246, 246, 275, 246, 184, 262, 275, 254, 271, + 272, 273, 271, 278, 275, 246, 428, 286, 215, 275, + 268, 280, 275, 267, 211, 211, 211, 212, 266, 212, + 212, 211, 211, 211, 211, 211, 211, 269, 211, 183, + 281, 275, 275, 275, 275, 275, 216, 275, 293, 282, + 291, 275, 283, 188, 275, 289, 284, 205, 288, 285, + 275, 206, 287, 294, 272, 273, 294, 290, 182, 329, + 189, 211, 211, 240, 240, 298, 215, 240, 240, 240, + 240, 240, 297, 240, 275, 240, 301, 295, 296, 301, + + 643, 331, 299, 302, 303, 304, 302, 161, 215, 181, + 161, 285, 181, 212, 182, 212, 212, 183, 191, 193, + 194, 196, 197, 198, 327, 328, 215, 327, 240, 240, + 240, 240, 339, 335, 240, 240, 240, 240, 240, 215, + 240, 212, 240, 212, 212, 212, 332, 212, 212, 215, + 247, 333, 215, 183, 215, 214, 215, 215, 338, 215, + 215, 341, 336, 334, 337, 342, 215, 215, 215, 325, + 215, 343, 340, 215, 215, 240, 240, 233, 215, 233, + 233, 233, 345, 233, 233, 344, 234, 346, 642, 212, + 215, 212, 212, 215, 347, 237, 240, 350, 350, 240, + + 241, 242, 243, 241, 243, 242, 243, 243, 240, 350, + 350, 240, 238, 352, 354, 356, 350, 350, 349, 348, + 240, 355, 358, 240, 348, 348, 348, 348, 350, 348, + 357, 348, 350, 350, 350, 363, 350, 350, 350, 350, + 359, 360, 364, 275, 639, 365, 350, 263, 242, 243, + 263, 362, 182, 264, 368, 184, 264, 240, 382, 350, + 240, 184, 366, 350, 348, 348, 348, 240, 275, 370, + 240, 348, 348, 348, 348, 372, 348, 275, 348, 351, + 369, 271, 272, 273, 271, 275, 375, 275, 374, 275, + 376, 183, 373, 275, 275, 275, 377, 275, 379, 275, + + 378, 275, 384, 275, 275, 275, 383, 386, 275, 275, + 381, 348, 348, 387, 380, 275, 388, 294, 272, 273, + 294, 275, 182, 385, 350, 275, 275, 390, 295, 301, + 301, 409, 301, 301, 409, 389, 439, 413, 414, 391, + 413, 298, 302, 303, 304, 302, 215, 392, 415, 416, + 215, 415, 327, 328, 215, 327, 417, 418, 299, 419, + 215, 183, 215, 421, 424, 422, 215, 420, 215, 215, + 215, 425, 423, 426, 215, 410, 215, 215, 427, 429, + 431, 215, 325, 215, 215, 433, 215, 430, 433, 240, + 350, 240, 240, 325, 240, 350, 350, 203, 432, 350, + + 350, 349, 438, 436, 215, 435, 350, 350, 350, 350, + 441, 444, 442, 437, 350, 350, 350, 443, 445, 350, + 447, 446, 450, 350, 350, 448, 449, 350, 264, 434, + 184, 264, 275, 350, 452, 275, 184, 452, 275, 275, + 275, 275, 368, 459, 451, 372, 350, 457, 455, 275, + 454, 275, 275, 275, 458, 275, 456, 461, 460, 463, + 464, 275, 373, 466, 275, 275, 465, 275, 275, 462, + 409, 275, 409, 409, 275, 409, 469, 491, 453, 275, + 413, 414, 215, 413, 467, 468, 415, 416, 215, 415, + 215, 494, 470, 215, 215, 530, 498, 215, 493, 215, + + 471, 495, 496, 497, 215, 499, 215, 501, 215, 502, + 215, 215, 500, 215, 410, 504, 410, 215, 506, 503, + 350, 350, 509, 215, 433, 203, 212, 433, 510, 350, + 212, 203, 212, 212, 512, 350, 350, 350, 350, 516, + 350, 508, 517, 350, 350, 350, 511, 350, 350, 514, + 520, 519, 522, 350, 513, 515, 350, 518, 350, 452, + 350, 240, 452, 523, 240, 275, 521, 275, 434, 275, + 527, 475, 275, 275, 507, 275, 275, 528, 479, 275, + 275, 480, 275, 275, 485, 275, 275, 275, 531, 524, + 534, 526, 529, 535, 275, 532, 533, 537, 275, 554, + + 555, 556, 215, 453, 638, 525, 557, 536, 215, 215, + 212, 558, 212, 212, 215, 559, 215, 215, 212, 215, + 212, 212, 212, 215, 212, 212, 561, 560, 538, 215, + 563, 215, 539, 562, 215, 215, 565, 212, 215, 212, + 212, 212, 564, 212, 212, 350, 568, 350, 350, 567, + 566, 569, 350, 240, 570, 350, 240, 571, 350, 572, + 350, 240, 240, 350, 240, 240, 573, 574, 350, 576, + 350, 350, 240, 350, 575, 240, 240, 275, 350, 240, + 275, 275, 541, 542, 580, 275, 275, 543, 544, 577, + 275, 275, 545, 275, 275, 547, 275, 275, 549, 578, + + 579, 275, 275, 592, 212, 635, 212, 212, 582, 598, + 350, 215, 581, 212, 593, 212, 212, 212, 583, 212, + 212, 212, 215, 212, 212, 215, 212, 585, 212, 212, + 584, 212, 594, 212, 212, 215, 212, 595, 212, 212, + 215, 240, 350, 240, 240, 215, 240, 240, 596, 240, + 240, 240, 240, 350, 240, 275, 597, 599, 350, 240, + 350, 275, 240, 240, 600, 634, 240, 601, 350, 275, + 275, 586, 602, 275, 631, 587, 603, 604, 275, 609, + 589, 212, 609, 212, 212, 611, 630, 606, 605, 212, + 612, 212, 212, 215, 212, 613, 212, 212, 613, 240, + + 215, 240, 240, 627, 240, 615, 350, 240, 616, 617, + 240, 350, 617, 275, 215, 607, 609, 609, 626, 609, + 609, 350, 621, 610, 212, 275, 212, 212, 212, 620, + 212, 212, 613, 240, 212, 613, 240, 619, 212, 614, + 212, 212, 617, 240, 240, 617, 240, 240, 212, 608, + 212, 212, 212, 618, 212, 212, 240, 607, 591, 240, + 610, 610, 622, 240, 590, 212, 240, 212, 212, 240, + 589, 212, 240, 212, 212, 240, 614, 624, 240, 588, + 587, 240, 623, 628, 240, 586, 618, 212, 625, 212, + 212, 629, 212, 553, 212, 212, 240, 552, 212, 240, + + 212, 212, 240, 644, 632, 240, 551, 645, 633, 550, + 549, 548, 547, 636, 546, 545, 544, 637, 641, 543, + 542, 541, 540, 505, 640, 50, 50, 50, 50, 50, + 50, 50, 55, 55, 55, 55, 55, 55, 55, 62, + 62, 62, 62, 62, 62, 62, 67, 67, 67, 67, + 67, 67, 67, 156, 156, 156, 156, 156, 156, 156, + 184, 184, 492, 184, 184, 184, 184, 192, 192, 192, + 192, 192, 192, 192, 195, 490, 489, 488, 195, 195, + 195, 202, 202, 487, 486, 202, 202, 202, 208, 208, + 208, 485, 208, 208, 208, 211, 211, 484, 211, 211, + + 211, 211, 215, 215, 483, 215, 215, 215, 215, 232, + 232, 482, 232, 232, 232, 232, 240, 240, 481, 480, + 479, 240, 240, 246, 246, 478, 477, 476, 246, 246, + 264, 264, 475, 264, 264, 264, 264, 275, 275, 277, + 277, 300, 300, 474, 473, 472, 300, 300, 348, 348, + 275, 371, 350, 348, 348, 350, 350, 440, 350, 215, + 350, 350, 367, 367, 412, 367, 367, 367, 367, 411, + 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, + 398, 397, 396, 395, 394, 393, 303, 275, 276, 272, + 371, 361, 353, 215, 209, 326, 325, 203, 199, 324, + + 196, 191, 185, 323, 322, 321, 190, 320, 319, 318, + 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, + 307, 306, 305, 163, 303, 275, 276, 274, 270, 245, + 213, 210, 209, 207, 204, 203, 199, 196, 191, 190, + 187, 186, 180, 179, 178, 175, 174, 173, 172, 168, + 167, 166, 165, 163, 162, 646, 17, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + + 646, 646, 646, 646 } ; -static yyconst flex_int16_t yy_chk[2617] = +static yyconst flex_int16_t yy_chk[1605] = { 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, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 15, 31, - 2, 15, 41, 2, 3, 3, 3, 31, 52, 3, - 4, 4, 4, 4, 41, 44, 4, 11, 11, 11, - 11, 53, 52, 2, 44, 39, 39, 11, 4, 12, - 12, 12, 12, 34, 39, 50, 34, 262, 50, 12, - - 34, 50, 66, 53, 66, 66, 53, 80, 2, 57, - 57, 57, 62, 62, 62, 69, 80, 69, 69, 1249, - 262, 4, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, - 65, 70, 6, 70, 70, 6, 71, 81, 71, 71, - 72, 86, 72, 72, 73, 154, 73, 73, 74, 81, - - 74, 74, 88, 86, 75, 6, 75, 75, 76, 154, - 76, 76, 77, 65, 77, 77, 82, 83, 88, 82, - 76, 84, 83, 84, 82, 87, 91, 87, 91, 1241, - 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 8, 85, - 94, 8, 85, 93, 8, 92, 85, 90, 90, 97, - - 85, 94, 90, 95, 92, 98, 90, 92, 96, 93, - 99, 95, 1236, 98, 8, 100, 101, 97, 101, 101, - 95, 102, 120, 96, 119, 123, 100, 123, 99, 105, - 105, 105, 105, 119, 120, 102, 126, 102, 126, 8, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 1, 1, 1, 1, 1, 1, 1, 2, 7, 7, + 2, 38, 2, 3, 3, 3, 61, 3, 2, 4, + 4, 4, 4, 38, 4, 5, 5, 6, 6, 8, + 8, 2, 48, 45, 217, 4, 15, 15, 15, 15, + 19, 61, 217, 19, 15, 2, 2, 45, 2, 48, + 85, 2, 83, 16, 16, 16, 16, 85, 89, 33, + + 4, 16, 33, 83, 65, 5, 33, 6, 65, 5, + 89, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 10, 136, 122, - - 10, 125, 103, 10, 122, 127, 103, 107, 107, 107, - 107, 121, 1234, 125, 121, 124, 136, 137, 124, 121, - 132, 127, 124, 10, 103, 137, 124, 103, 129, 129, - 130, 131, 130, 129, 133, 139, 132, 129, 296, 159, - 131, 151, 159, 131, 296, 133, 139, 135, 10, 78, - 78, 151, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 135, 78, 79, 79, 138, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 134, 79, 141, - 140, 140, 140, 140, 138, 134, 140, 141, 144, 144, - 144, 144, 152, 142, 134, 79, 117, 117, 1226, 152, - - 117, 117, 117, 117, 117, 117, 117, 142, 117, 142, - 117, 118, 118, 150, 153, 118, 118, 118, 118, 118, - 118, 118, 143, 118, 155, 118, 143, 157, 156, 158, - 153, 160, 150, 165, 157, 166, 156, 161, 153, 156, - 162, 167, 118, 156, 143, 155, 158, 143, 163, 168, - 160, 161, 161, 164, 169, 170, 164, 162, 163, 171, - 161, 173, 166, 165, 173, 174, 172, 172, 172, 172, - 163, 166, 172, 175, 180, 167, 175, 180, 173, 187, - 174, 169, 176, 176, 176, 176, 168, 186, 201, 171, - 189, 218, 170, 209, 187, 213, 229, 186, 213, 186, - - 201, 213, 174, 255, 189, 174, 209, 222, 222, 222, - 226, 226, 226, 255, 235, 230, 218, 230, 230, 231, - 236, 231, 231, 233, 239, 233, 233, 237, 238, 229, - 235, 240, 239, 1224, 241, 233, 236, 237, 237, 237, - 242, 238, 243, 238, 243, 240, 241, 240, 244, 245, - 244, 246, 242, 245, 246, 247, 248, 249, 250, 247, - 251, 258, 253, 252, 248, 253, 250, 254, 256, 257, - 258, 259, 260, 249, 261, 252, 251, 252, 263, 260, - 256, 264, 254, 264, 264, 265, 267, 265, 265, 259, - 257, 261, 260, 266, 266, 269, 268, 299, 269, 263, - - 268, 281, 267, 270, 270, 270, 270, 272, 272, 272, - 272, 274, 282, 285, 274, 281, 282, 279, 280, 1223, - 279, 268, 299, 274, 275, 275, 280, 285, 275, 275, - 275, 275, 275, 275, 275, 279, 275, 283, 275, 276, - 276, 283, 284, 276, 276, 276, 276, 276, 276, 276, - 278, 276, 286, 276, 276, 278, 287, 294, 288, 293, - 284, 293, 297, 289, 298, 278, 291, 278, 300, 287, - 288, 289, 286, 293, 291, 301, 294, 295, 295, 302, - 303, 304, 305, 305, 305, 305, 337, 1220, 305, 306, - 297, 306, 306, 307, 309, 337, 323, 317, 301, 306, - - 317, 298, 300, 323, 318, 327, 309, 318, 307, 319, - 321, 301, 302, 310, 310, 310, 310, 319, 304, 303, - 320, 321, 322, 324, 325, 322, 320, 319, 327, 319, - 324, 309, 326, 329, 328, 330, 332, 331, 334, 322, - 331, 320, 335, 334, 338, 325, 330, 332, 329, 326, - 328, 333, 336, 339, 333, 334, 336, 340, 341, 344, - 342, 343, 345, 347, 335, 346, 346, 346, 346, 348, - 418, 346, 348, 349, 350, 338, 351, 350, 418, 351, - 392, 347, 395, 392, 395, 340, 342, 385, 349, 352, - 352, 352, 352, 339, 385, 341, 394, 343, 385, 342, - - 393, 344, 345, 393, 396, 397, 399, 400, 399, 397, - 403, 402, 394, 349, 401, 402, 401, 400, 396, 404, - 405, 406, 408, 405, 407, 407, 403, 409, 410, 411, - 413, 404, 411, 406, 408, 412, 413, 415, 412, 409, - 419, 414, 410, 414, 416, 416, 417, 417, 415, 420, - 421, 422, 423, 424, 425, 426, 428, 429, 421, 428, - 429, 436, 419, 424, 422, 431, 432, 420, 434, 429, - 435, 422, 435, 436, 423, 422, 425, 426, 431, 432, - 437, 438, 439, 440, 458, 444, 434, 443, 439, 441, - 445, 443, 446, 449, 445, 449, 437, 440, 444, 438, - - 447, 441, 448, 450, 447, 451, 448, 452, 453, 446, - 454, 455, 456, 457, 459, 454, 450, 452, 460, 462, - 461, 463, 458, 464, 451, 465, 453, 470, 455, 456, - 466, 468, 466, 466, 471, 472, 477, 457, 473, 470, - 466, 473, 460, 1214, 474, 478, 468, 463, 459, 461, - 471, 472, 476, 475, 480, 477, 461, 462, 475, 479, - 461, 464, 481, 465, 470, 474, 478, 476, 479, 482, - 484, 480, 482, 483, 485, 486, 487, 481, 488, 489, - 483, 485, 490, 487, 489, 488, 484, 491, 492, 493, - 497, 494, 495, 496, 498, 486, 499, 500, 490, 494, - - 501, 492, 503, 502, 504, 505, 522, 545, 546, 491, - 493, 547, 495, 496, 547, 553, 553, 497, 548, 549, - 1209, 545, 546, 551, 500, 522, 550, 548, 550, 551, - 552, 503, 501, 499, 555, 498, 549, 552, 556, 501, - 556, 558, 558, 501, 502, 504, 505, 560, 557, 559, - 561, 555, 557, 562, 559, 564, 562, 563, 570, 571, - 565, 566, 568, 564, 560, 565, 560, 561, 566, 563, - 567, 573, 569, 568, 569, 570, 574, 567, 575, 576, - 577, 579, 571, 582, 584, 582, 578, 573, 580, 583, - 588, 583, 579, 585, 575, 587, 577, 576, 574, 578, - - 585, 580, 589, 584, 586, 586, 590, 594, 591, 587, - 592, 592, 588, 593, 608, 595, 596, 597, 597, 594, - 598, 598, 599, 590, 591, 589, 600, 596, 602, 601, - 600, 593, 595, 603, 604, 599, 597, 601, 605, 602, - 606, 607, 607, 605, 610, 611, 612, 613, 614, 619, - 615, 621, 622, 608, 619, 616, 603, 604, 606, 617, - 620, 623, 622, 623, 625, 620, 626, 624, 628, 629, - 627, 629, 630, 621, 632, 1208, 610, 633, 612, 615, - 614, 613, 616, 611, 624, 631, 636, 628, 617, 625, - 627, 633, 626, 630, 632, 634, 635, 634, 635, 637, - - 631, 638, 636, 639, 640, 641, 637, 642, 643, 644, - 645, 644, 638, 647, 648, 642, 634, 639, 649, 650, - 653, 689, 651, 691, 693, 696, 652, 654, 694, 643, - 640, 641, 700, 693, 695, 689, 700, 691, 699, 695, - 694, 697, 696, 697, 697, 699, 698, 701, 647, 698, - 653, 704, 645, 649, 702, 648, 650, 651, 652, 654, - 703, 702, 703, 703, 701, 705, 706, 708, 704, 708, - 708, 710, 709, 710, 710, 711, 712, 711, 714, 716, - 714, 713, 705, 706, 709, 713, 715, 718, 719, 717, - 719, 719, 716, 712, 717, 720, 721, 723, 724, 725, - - 715, 726, 727, 728, 718, 732, 732, 735, 731, 729, - 720, 723, 726, 725, 728, 721, 729, 730, 727, 731, - 724, 730, 733, 734, 738, 733, 726, 736, 728, 745, - 735, 737, 737, 745, 739, 744, 734, 739, 744, 736, - 740, 740, 741, 741, 742, 742, 746, 738, 747, 746, - 748, 748, 749, 750, 751, 752, 751, 753, 752, 754, - 754, 755, 756, 757, 755, 759, 747, 760, 753, 761, - 762, 750, 749, 764, 763, 765, 766, 767, 768, 771, - 768, 770, 772, 766, 772, 765, 769, 773, 774, 778, - 774, 767, 788, 756, 771, 759, 778, 762, 757, 761, - - 764, 775, 769, 775, 779, 760, 763, 770, 776, 781, - 776, 762, 782, 773, 764, 780, 783, 780, 784, 787, - 785, 783, 790, 791, 784, 779, 786, 792, 786, 793, - 788, 794, 781, 782, 785, 795, 796, 828, 836, 829, - 796, 828, 830, 831, 830, 831, 831, 832, 832, 834, - 834, 841, 836, 787, 828, 790, 829, 833, 1207, 793, - 792, 833, 860, 860, 791, 795, 794, 835, 841, 835, - 835, 843, 837, 793, 837, 837, 844, 849, 838, 795, - 838, 838, 839, 846, 839, 839, 842, 843, 842, 842, - 845, 847, 845, 844, 848, 846, 848, 848, 850, 849, - - 851, 852, 853, 847, 854, 855, 850, 856, 858, 852, - 857, 861, 854, 859, 859, 863, 855, 859, 857, 858, - 851, 862, 853, 864, 862, 856, 865, 866, 871, 861, - 866, 867, 863, 867, 868, 864, 869, 868, 870, 869, - 876, 870, 880, 865, 871, 872, 872, 873, 875, 875, - 873, 877, 878, 881, 876, 877, 878, 879, 882, 883, - 879, 884, 885, 886, 887, 888, 889, 890, 891, 890, - 891, 892, 894, 890, 896, 893, 895, 881, 904, 896, - 880, 897, 898, 883, 898, 899, 885, 894, 899, 888, - 886, 901, 892, 889, 882, 893, 895, 884, 887, 900, - - 897, 900, 902, 903, 905, 906, 907, 908, 901, 902, - 903, 909, 910, 911, 912, 913, 940, 970, 939, 904, - 939, 939, 941, 970, 941, 941, 945, 943, 940, 943, - 946, 905, 946, 907, 944, 944, 945, 953, 909, 947, - 947, 912, 910, 951, 906, 913, 908, 954, 951, 948, - 911, 948, 948, 949, 953, 950, 949, 950, 950, 952, - 952, 955, 957, 956, 961, 958, 954, 959, 960, 962, - 963, 964, 965, 971, 964, 966, 965, 968, 966, 969, - 972, 961, 955, 956, 957, 958, 974, 971, 959, 960, - 962, 963, 976, 977, 980, 968, 969, 972, 973, 975, - - 981, 973, 975, 976, 982, 974, 978, 978, 977, 979, - 983, 984, 979, 985, 986, 987, 988, 989, 991, 993, - 992, 994, 996, 995, 989, 1001, 1003, 997, 993, 1002, - 999, 980, 999, 998, 1004, 1005, 981, 1006, 994, 991, - 992, 997, 982, 995, 996, 1007, 983, 986, 984, 1008, - 985, 998, 987, 988, 1009, 1030, 1034, 1031, 1036, 1033, - 1032, 1034, 1037, 1036, 1037, 1001, 1030, 1003, 1002, 1031, - 1032, 1041, 1038, 1004, 1038, 1005, 1033, 1006, 1042, 1043, - 1039, 1007, 1039, 1039, 1040, 1044, 1040, 1040, 1045, 1008, - 1043, 1046, 1041, 1047, 1009, 1048, 1042, 1049, 1051, 1050, - - 1052, 1054, 1051, 1044, 1050, 1056, 1052, 1047, 1053, 1053, - 1045, 1057, 1054, 1046, 1058, 1059, 1056, 1048, 1059, 1049, - 1060, 1061, 1062, 1060, 1040, 1057, 1063, 1064, 1065, 1066, - 1068, 1069, 1058, 1067, 1070, 1072, 1071, 1073, 1074, 1073, - 1076, 1080, 1070, 1071, 1072, 1077, 1081, 1082, 1083, 1078, - 1084, 1085, 1074, 1063, 1076, 1086, 1062, 1087, 1061, 1088, - 1060, 1064, 1077, 1067, 1126, 1107, 1065, 1066, 1068, 1069, - 1078, 1110, 1109, 1110, 1110, 1117, 1111, 1082, 1111, 1119, - 1126, 1080, 1107, 1081, 1112, 1083, 1112, 1113, 1086, 1109, - 1113, 1084, 1085, 1114, 1115, 1117, 1115, 1115, 1087, 1119, - - 1088, 1122, 1114, 1125, 1125, 1127, 1127, 1129, 1128, 1130, - 1122, 1128, 1131, 1132, 1133, 1135, 1137, 1133, 1140, 1144, - 1132, 1129, 1143, 1145, 1143, 1145, 1147, 1130, 1146, 1149, - 1152, 1131, 1148, 1154, 1157, 1115, 1172, 1172, 1144, 1149, - 1175, 1174, 1205, 1140, 1174, 1146, 1171, 1147, 1171, 1171, - 1177, 1135, 1137, 1183, 1148, 1133, 1173, 1175, 1173, 1173, - 1185, 1178, 1157, 1178, 1178, 1182, 1187, 1177, 1182, 1152, - 1183, 1184, 1154, 1193, 1184, 1186, 1186, 1188, 1188, 1185, - 1189, 1194, 1187, 1189, 1195, 1196, 1195, 1197, 1210, 1197, - 1210, 1210, 1211, 1193, 1212, 1215, 1212, 1212, 1213, 1216, - - 1213, 1213, 1216, 1194, 1196, 1217, 1217, 1221, 1227, 1211, - 1178, 1215, 1218, 1219, 1203, 1218, 1219, 1222, 1228, 1222, - 1228, 1228, 1230, 1230, 1231, 1227, 1221, 1231, 1229, 1189, - 1229, 1229, 1232, 1201, 1233, 1232, 1233, 1237, 1200, 1237, - 1237, 1238, 1239, 1238, 1238, 1239, 1240, 1199, 1244, 1240, - 1213, 1244, 1198, 1243, 1238, 1243, 1243, 1192, 1191, 1240, - 1190, 1181, 1180, 1179, 1176, 1219, 1167, 1166, 1165, 1164, - 1163, 1229, 1161, 1159, 1158, 1232, 1246, 1246, 1246, 1246, - 1246, 1246, 1246, 1247, 1247, 1247, 1247, 1247, 1247, 1247, - 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1250, 1250, 1156, - - 1250, 1250, 1250, 1250, 1251, 1251, 1251, 1251, 1251, 1251, - 1251, 1252, 1155, 1153, 1151, 1252, 1252, 1252, 1253, 1253, - 1150, 1253, 1253, 1253, 1253, 1254, 1254, 1142, 1254, 1254, - 1254, 1254, 1255, 1255, 1141, 1255, 1255, 1255, 1255, 1256, - 1256, 1139, 1138, 1136, 1256, 1256, 1257, 1257, 1134, 1124, - 1123, 1257, 1257, 1258, 1258, 1121, 1258, 1258, 1258, 1258, - 1259, 1259, 1260, 1260, 1261, 1261, 1120, 1118, 1116, 1261, - 1261, 1262, 1262, 1108, 1104, 1101, 1262, 1262, 1263, 1263, - 1099, 1097, 1096, 1263, 1263, 1264, 1264, 1095, 1264, 1264, - 1264, 1264, 1094, 1093, 1091, 1090, 1089, 1079, 1075, 1055, - - 1035, 1029, 1028, 1027, 1026, 1025, 1024, 1023, 1022, 1021, - 1020, 1018, 1017, 1016, 1014, 1013, 1012, 1011, 1010, 1000, - 990, 967, 942, 938, 937, 936, 935, 934, 933, 932, - 931, 930, 929, 928, 927, 926, 924, 922, 921, 920, - 919, 918, 915, 874, 840, 826, 825, 824, 823, 822, - 821, 820, 819, 818, 817, 815, 814, 813, 812, 811, - 809, 808, 804, 802, 801, 800, 798, 797, 789, 777, - 758, 743, 722, 707, 692, 690, 688, 687, 686, 684, - 683, 681, 680, 679, 678, 677, 676, 675, 674, 672, - 669, 668, 667, 665, 664, 663, 662, 661, 659, 658, - - 657, 656, 655, 646, 618, 609, 581, 572, 554, 544, - 542, 541, 540, 539, 538, 537, 536, 535, 533, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 521, - 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 510, 509, 508, 507, 506, 469, 467, 442, 433, 430, - 427, 398, 391, 389, 388, 387, 386, 384, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, - 361, 360, 359, 358, 357, 356, 355, 354, 316, 315, - 312, 308, 292, 290, 277, 234, 228, 227, 225, 221, - - 217, 216, 212, 211, 210, 208, 207, 206, 205, 204, - 203, 202, 200, 199, 198, 197, 196, 195, 194, 193, - 192, 191, 190, 188, 185, 184, 182, 178, 149, 148, - 146, 128, 115, 89, 68, 64, 61, 56, 49, 48, - 47, 46, 45, 43, 42, 40, 38, 37, 36, 35, - 33, 32, 30, 29, 28, 25, 17, 13, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - - 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1245 + 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, + 81, 86, 10, 81, 10, 53, 53, 53, 86, 201, + 10, 58, 58, 58, 70, 82, 70, 70, 73, 82, + 73, 73, 74, 10, 74, 74, 75, 87, 75, 75, + 76, 88, 76, 76, 201, 88, 87, 10, 10, 77, + + 10, 77, 77, 10, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 12, 90, 652, 12, 78, 12, 78, 78, 90, + 92, 84, 12, 84, 84, 78, 91, 95, 84, 91, + 93, 116, 93, 93, 95, 12, 92, 94, 116, 94, + 94, 95, 101, 101, 101, 101, 117, 121, 112, 12, + 12, 112, 12, 117, 121, 12, 13, 13, 13, 13, + + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 14, 42, 96, 14, 42, 14, 42, + 97, 98, 642, 113, 14, 114, 98, 113, 99, 118, + 99, 99, 103, 103, 103, 103, 114, 14, 118, 96, + 139, 97, 115, 98, 115, 115, 119, 139, 149, 115, + 119, 14, 14, 122, 14, 149, 122, 14, 42, 79, + 79, 120, 79, 79, 79, 79, 79, 79, 79, 79, + + 123, 79, 99, 120, 127, 124, 124, 124, 124, 125, + 124, 127, 129, 138, 128, 125, 123, 140, 127, 132, + 132, 132, 132, 138, 144, 130, 340, 144, 340, 141, + 130, 140, 150, 129, 79, 79, 80, 80, 128, 80, + 80, 80, 80, 80, 80, 80, 80, 130, 80, 124, + 141, 142, 143, 145, 146, 147, 80, 148, 150, 142, + 148, 154, 142, 189, 153, 147, 142, 205, 146, 143, + 155, 205, 145, 151, 151, 151, 151, 147, 151, 216, + 189, 80, 80, 110, 110, 155, 216, 110, 110, 110, + 110, 110, 154, 110, 152, 110, 156, 152, 153, 156, + + 639, 218, 155, 157, 157, 157, 157, 161, 218, 181, + 161, 152, 181, 211, 181, 211, 211, 151, 194, 194, + 194, 198, 198, 198, 207, 207, 222, 207, 110, 110, + 111, 111, 226, 222, 111, 111, 111, 111, 111, 226, + 111, 212, 111, 212, 212, 214, 219, 214, 214, 219, + 111, 220, 221, 181, 220, 214, 223, 225, 225, 224, + 227, 228, 223, 221, 224, 229, 229, 228, 231, 207, + 230, 230, 227, 235, 234, 111, 111, 232, 236, 232, + 232, 233, 234, 233, 233, 231, 237, 235, 638, 239, + 238, 239, 239, 237, 236, 238, 240, 252, 248, 240, + + 241, 241, 241, 241, 243, 243, 243, 243, 245, 254, + 250, 245, 238, 248, 250, 252, 253, 251, 245, 246, + 246, 251, 254, 246, 246, 246, 246, 246, 255, 246, + 253, 246, 258, 256, 259, 259, 260, 261, 262, 265, + 255, 256, 260, 286, 635, 261, 267, 263, 263, 263, + 263, 258, 263, 264, 265, 264, 264, 270, 286, 266, + 270, 264, 262, 269, 246, 246, 247, 247, 279, 267, + 247, 247, 247, 247, 247, 269, 247, 283, 247, 247, + 266, 271, 271, 271, 271, 278, 279, 280, 278, 281, + 280, 263, 269, 282, 285, 287, 281, 284, 283, 288, + + 282, 289, 288, 290, 291, 292, 287, 290, 293, 295, + 285, 247, 247, 291, 284, 296, 292, 294, 294, 294, + 294, 297, 294, 289, 354, 298, 299, 295, 298, 300, + 301, 322, 300, 301, 322, 293, 354, 325, 325, 296, + 325, 299, 302, 302, 302, 302, 330, 297, 326, 326, + 329, 326, 327, 327, 336, 327, 329, 330, 299, 331, + 331, 294, 332, 333, 336, 334, 335, 332, 334, 341, + 333, 337, 335, 338, 337, 322, 338, 342, 339, 341, + 343, 343, 325, 339, 344, 346, 347, 342, 346, 348, + 351, 349, 348, 326, 349, 352, 353, 327, 344, 357, + + 358, 349, 353, 351, 346, 347, 356, 359, 363, 364, + 356, 359, 357, 352, 360, 362, 365, 358, 360, 361, + 362, 361, 365, 366, 370, 363, 364, 371, 367, 346, + 367, 367, 374, 373, 369, 375, 367, 369, 376, 377, + 378, 380, 371, 378, 366, 373, 369, 376, 374, 381, + 370, 379, 382, 383, 377, 385, 375, 380, 379, 382, + 383, 384, 373, 385, 386, 387, 384, 388, 389, 381, + 391, 392, 409, 391, 459, 409, 388, 417, 369, 391, + 413, 413, 417, 413, 386, 387, 415, 415, 419, 415, + 421, 420, 389, 423, 432, 459, 424, 422, 419, 420, + + 392, 421, 422, 423, 424, 425, 426, 427, 429, 428, + 427, 428, 426, 425, 391, 430, 409, 435, 432, 429, + 436, 437, 436, 430, 433, 413, 433, 433, 437, 438, + 434, 415, 434, 434, 439, 439, 440, 441, 442, 443, + 443, 435, 444, 444, 445, 447, 438, 446, 448, 441, + 447, 446, 449, 449, 440, 442, 450, 445, 451, 452, + 454, 453, 452, 450, 453, 455, 448, 456, 433, 458, + 455, 458, 457, 460, 434, 461, 462, 456, 462, 463, + 464, 463, 468, 465, 468, 466, 467, 469, 460, 451, + 465, 454, 457, 466, 470, 461, 464, 469, 471, 491, + + 492, 493, 491, 452, 634, 453, 495, 467, 492, 493, + 494, 496, 494, 494, 495, 497, 500, 506, 498, 496, + 498, 498, 499, 497, 499, 499, 501, 500, 470, 502, + 503, 505, 471, 502, 501, 508, 506, 504, 503, 504, + 504, 507, 505, 507, 507, 509, 510, 510, 518, 509, + 508, 511, 511, 512, 513, 513, 512, 514, 514, 515, + 515, 516, 517, 520, 516, 517, 518, 519, 519, 521, + 521, 523, 522, 524, 520, 522, 525, 527, 526, 525, + 528, 529, 528, 529, 527, 530, 531, 530, 531, 523, + 532, 533, 532, 534, 535, 534, 536, 537, 536, 524, + + 526, 538, 539, 554, 555, 631, 555, 555, 535, 567, + 567, 554, 533, 556, 560, 556, 556, 557, 537, 557, + 557, 558, 560, 558, 558, 565, 559, 539, 559, 559, + 538, 561, 562, 561, 561, 562, 563, 564, 563, 563, + 566, 568, 578, 569, 568, 564, 569, 570, 565, 571, + 570, 572, 571, 579, 572, 584, 566, 573, 573, 574, + 575, 585, 574, 576, 575, 630, 576, 577, 577, 580, + 582, 580, 578, 581, 627, 581, 579, 582, 583, 591, + 583, 592, 591, 592, 592, 594, 626, 585, 584, 593, + 596, 593, 593, 594, 595, 597, 595, 595, 597, 598, + + 596, 599, 598, 620, 599, 600, 600, 601, 602, 603, + 601, 602, 603, 604, 597, 604, 606, 609, 619, 606, + 609, 603, 610, 591, 611, 606, 611, 611, 612, 608, + 612, 612, 613, 615, 613, 613, 615, 605, 614, 597, + 614, 614, 617, 616, 618, 617, 616, 618, 622, 590, + 622, 622, 623, 603, 623, 623, 624, 588, 552, 624, + 606, 609, 612, 625, 551, 628, 625, 628, 628, 629, + 550, 632, 629, 632, 632, 633, 613, 616, 633, 548, + 546, 637, 614, 622, 637, 540, 617, 636, 618, 636, + 636, 624, 640, 490, 640, 640, 641, 489, 644, 641, + + 644, 644, 645, 640, 628, 645, 487, 641, 629, 486, + 484, 483, 482, 632, 481, 478, 477, 633, 637, 476, + 474, 473, 472, 431, 636, 647, 647, 647, 647, 647, + 647, 647, 648, 648, 648, 648, 648, 648, 648, 649, + 649, 649, 649, 649, 649, 649, 650, 650, 650, 650, + 650, 650, 650, 651, 651, 651, 651, 651, 651, 651, + 653, 653, 418, 653, 653, 653, 653, 654, 654, 654, + 654, 654, 654, 654, 655, 412, 411, 410, 655, 655, + 655, 656, 656, 408, 407, 656, 656, 656, 657, 657, + 657, 406, 657, 657, 657, 658, 658, 405, 658, 658, + + 658, 658, 659, 659, 404, 659, 659, 659, 659, 660, + 660, 403, 660, 660, 660, 660, 661, 661, 402, 401, + 400, 661, 661, 662, 662, 399, 398, 397, 662, 662, + 663, 663, 396, 663, 663, 663, 663, 664, 664, 665, + 665, 666, 666, 395, 394, 393, 666, 666, 667, 667, + 390, 372, 368, 667, 667, 668, 668, 355, 350, 345, + 668, 668, 669, 669, 324, 669, 669, 669, 669, 323, + 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, + 310, 309, 308, 307, 306, 305, 304, 277, 276, 273, + 268, 257, 249, 215, 208, 206, 203, 202, 200, 199, + + 197, 193, 188, 187, 186, 185, 183, 180, 179, 178, + 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, + 167, 166, 165, 163, 159, 137, 136, 134, 131, 109, + 72, 69, 67, 66, 64, 62, 60, 57, 52, 49, + 47, 46, 41, 40, 39, 37, 36, 35, 34, 32, + 31, 30, 29, 27, 21, 17, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, + + 646, 646, 646, 646 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[81] = +static yyconst flex_int32_t yy_rule_can_match_eol[60] = { 0, -0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, }; +0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, + 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1504,11 +1082,29 @@ static void clean() alloced = false; } -static void settext() +static void settext(bool trim_right = false, int strip_trailing = 0) { clean(); - if ((yylval.text = strdup(yytext))) + char *newstring = NULL; + if ((yylval.text = newstring = strdup(yytext))) + { alloced = true; + + char *s = NULL; + if (trim_right) + { + s = newstring + strlen(newstring) - 1; + while (isspace(*s) && s >= newstring) + *s-- = 0; + } + if (strip_trailing) + { + if (!s) + s = newstring + strlen(newstring) - 1; + while (s >= newstring && --strip_trailing >= 0) + *s-- = 0; + } + } } @@ -1516,14 +1112,18 @@ static void settext() -#line 1520 "levcomp.lex.cc" + + +#line 1118 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 -#define ARGUMENT 2 -#define MNAME 3 -#define KEYWORDS 4 -#define ITEM_LIST 5 +#define LUA 2 +#define LUA_ONELINER 3 +#define ARGUMENT 4 +#define MNAME 5 +#define KEYWORDS 6 +#define ITEM_LIST 7 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -1677,10 +1277,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 62 "levcomp.lpp" +#line 82 "levcomp.lpp" -#line 1684 "levcomp.lex.cc" +#line 1284 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -1734,13 +1334,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 >= 1246 ) + if ( yy_current_state >= 647 ) 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 != 1245 ); + while ( yy_current_state != 646 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1772,12 +1372,12 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 64 "levcomp.lpp" +#line 84 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 2: YY_RULE_SETUP -#line 66 "levcomp.lpp" +#line 86 "levcomp.lpp" { settext(); return MAP_LINE; @@ -1786,426 +1386,344 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 71 "levcomp.lpp" +#line 91 "levcomp.lpp" return CHARACTER; YY_BREAK case 4: YY_RULE_SETUP -#line 72 "levcomp.lpp" +#line 92 "levcomp.lpp" return CHARACTER; YY_BREAK case 5: YY_RULE_SETUP -#line 73 "levcomp.lpp" +#line 93 "levcomp.lpp" return CHARACTER; YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 75 "levcomp.lpp" +#line 95 "levcomp.lpp" ; YY_BREAK case 7: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 77 "levcomp.lpp" -{ - settext(); - return STRING; - } +#line 97 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 8: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 82 "levcomp.lpp" -; +#line 98 "levcomp.lpp" +{ + settext(true, 2); + BEGIN(INITIAL); + return LUA_LINE; + } YY_BREAK case 9: -/* rule 9 can match eol */ YY_RULE_SETUP -#line 83 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 103 "levcomp.lpp" +{ + settext(); + return LUA_LINE; + } YY_BREAK case 10: +/* rule 10 can match eol */ YY_RULE_SETUP -#line 85 "levcomp.lpp" -{ - settext(); - return ITEM_INFO; - } +#line 107 "levcomp.lpp" +; YY_BREAK case 11: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 90 "levcomp.lpp" +#line 109 "levcomp.lpp" { - settext(); - return ITEM_INFO; - } + settext(); + return LUA_LINE; + } YY_BREAK case 12: +/* rule 12 can match eol */ YY_RULE_SETUP -#line 95 "levcomp.lpp" -return COMMA; +#line 113 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 13: YY_RULE_SETUP -#line 96 "levcomp.lpp" -; +#line 115 "levcomp.lpp" +{ + settext(); + return STRING; + } YY_BREAK case 14: -/* rule 14 can match eol */ YY_RULE_SETUP -#line 97 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 120 "levcomp.lpp" +; YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 99 "levcomp.lpp" +#line 121 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 16: YY_RULE_SETUP -#line 101 "levcomp.lpp" +#line 123 "levcomp.lpp" { settext(); - return MONSTER_NAME; + return ITEM_INFO; } YY_BREAK case 17: YY_RULE_SETUP -#line 106 "levcomp.lpp" -return COMMA; +#line 128 "levcomp.lpp" +{ + settext(); + return ITEM_INFO; + } YY_BREAK case 18: YY_RULE_SETUP -#line 107 "levcomp.lpp" -; +#line 133 "levcomp.lpp" +return COMMA; YY_BREAK case 19: YY_RULE_SETUP -#line 109 "levcomp.lpp" -{ - BEGIN(INITIAL); - settext(); - return STRING; - } +#line 134 "levcomp.lpp" +; YY_BREAK case 20: /* rule 20 can match eol */ YY_RULE_SETUP -#line 115 "levcomp.lpp" +#line 135 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 21: +/* rule 21 can match eol */ YY_RULE_SETUP -#line 117 "levcomp.lpp" -; +#line 137 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 22: YY_RULE_SETUP -#line 119 "levcomp.lpp" -{ BEGIN(MAPDEF); } +#line 139 "levcomp.lpp" +{ + settext(); + return MONSTER_NAME; + } YY_BREAK case 23: YY_RULE_SETUP -#line 122 "levcomp.lpp" -{ BEGIN(ARGUMENT); return NAME; } +#line 144 "levcomp.lpp" +return COMMA; YY_BREAK case 24: YY_RULE_SETUP -#line 123 "levcomp.lpp" -return DEFAULT_DEPTH; +#line 145 "levcomp.lpp" +; YY_BREAK case 25: YY_RULE_SETUP -#line 124 "levcomp.lpp" -return DEPTH; +#line 147 "levcomp.lpp" +{ + BEGIN(INITIAL); + settext(); + return STRING; + } YY_BREAK case 26: +/* rule 26 can match eol */ YY_RULE_SETUP -#line 125 "levcomp.lpp" -return ORIENT; +#line 153 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 27: YY_RULE_SETUP -#line 126 "levcomp.lpp" -{ BEGIN(ARGUMENT); return PLACE; } +#line 155 "levcomp.lpp" +; YY_BREAK case 28: YY_RULE_SETUP -#line 127 "levcomp.lpp" -return CHANCE; +#line 157 "levcomp.lpp" +{ BEGIN(MAPDEF); } YY_BREAK case 29: YY_RULE_SETUP -#line 128 "levcomp.lpp" -return FLAGS; +#line 159 "levcomp.lpp" +{ BEGIN(LUA_ONELINER); return MAIN; } YY_BREAK case 30: YY_RULE_SETUP -#line 129 "levcomp.lpp" -{ BEGIN(KEYWORDS); return TAGS; } +#line 161 "levcomp.lpp" +{ BEGIN(LUA); return PRELUDE; } YY_BREAK case 31: YY_RULE_SETUP -#line 130 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return SUBST; } +#line 162 "levcomp.lpp" +{ BEGIN(LUA); return MAIN; } YY_BREAK case 32: YY_RULE_SETUP -#line 131 "levcomp.lpp" -{ BEGIN(MNAME); return MONS; } +#line 163 "levcomp.lpp" +{ BEGIN(LUA); return MAIN; } YY_BREAK case 33: YY_RULE_SETUP -#line 132 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return ITEM; } +#line 164 "levcomp.lpp" +{ BEGIN(ARGUMENT); return NAME; } YY_BREAK case 34: YY_RULE_SETUP -#line 133 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return SHUFFLE; } +#line 165 "levcomp.lpp" +{ BEGIN(ARGUMENT); return DEFAULT_DEPTH; } YY_BREAK case 35: YY_RULE_SETUP -#line 135 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KFEAT; } +#line 166 "levcomp.lpp" +{ BEGIN(ARGUMENT); return DEPTH; } YY_BREAK case 36: YY_RULE_SETUP -#line 136 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KITEM; } +#line 167 "levcomp.lpp" +{ BEGIN(ARGUMENT); return ORIENT; } YY_BREAK case 37: YY_RULE_SETUP -#line 137 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KMONS; } +#line 168 "levcomp.lpp" +{ BEGIN(ARGUMENT); return PLACE; } YY_BREAK case 38: YY_RULE_SETUP -#line 139 "levcomp.lpp" -return BRANCH; +#line 169 "levcomp.lpp" +return CHANCE; YY_BREAK case 39: YY_RULE_SETUP -#line 140 "levcomp.lpp" -return DEFAULT; +#line 170 "levcomp.lpp" +return CHANCE; YY_BREAK case 40: YY_RULE_SETUP -#line 141 "levcomp.lpp" -return DESC; +#line 171 "levcomp.lpp" +{ BEGIN(KEYWORDS); return TAGS; } YY_BREAK case 41: YY_RULE_SETUP -#line 142 "levcomp.lpp" -return BRANCH; +#line 172 "levcomp.lpp" +{ BEGIN(KEYWORDS); return TAGS; } YY_BREAK case 42: YY_RULE_SETUP -#line 143 "levcomp.lpp" -return ROOT_DEPTH; +#line 173 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return SUBST; } YY_BREAK case 43: YY_RULE_SETUP -#line 144 "levcomp.lpp" -return FLOOR_COLOUR; +#line 174 "levcomp.lpp" +{ BEGIN(MNAME); return MONS; } YY_BREAK case 44: YY_RULE_SETUP -#line 145 "levcomp.lpp" -return ROCK_COLOUR; +#line 175 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return ITEM; } YY_BREAK case 45: YY_RULE_SETUP -#line 147 "levcomp.lpp" -return LEVEL; +#line 176 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return SHUFFLE; } YY_BREAK case 46: YY_RULE_SETUP -#line 148 "levcomp.lpp" -return END; +#line 178 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KFEAT; } YY_BREAK case 47: YY_RULE_SETUP -#line 149 "levcomp.lpp" -return PVAULT; +#line 179 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KITEM; } YY_BREAK case 48: YY_RULE_SETUP -#line 150 "levcomp.lpp" -return PMINIVAULT; +#line 180 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KMONS; } YY_BREAK case 49: YY_RULE_SETUP -#line 152 "levcomp.lpp" -{ BEGIN(ARGUMENT); return ENTRY_MSG; } - YY_BREAK -case 50: -YY_RULE_SETUP -#line 153 "levcomp.lpp" -{ BEGIN(ARGUMENT); return EXIT_MSG; } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 155 "levcomp.lpp" -return MONSTERS; - YY_BREAK -case 52: -YY_RULE_SETUP -#line 156 "levcomp.lpp" -return ENDMONSTERS; - YY_BREAK -case 53: -YY_RULE_SETUP -#line 159 "levcomp.lpp" -return PANDEMONIC; - YY_BREAK -case 54: -YY_RULE_SETUP -#line 160 "levcomp.lpp" -return NO_HMIRROR; - YY_BREAK -case 55: -YY_RULE_SETUP -#line 161 "levcomp.lpp" -return NO_VMIRROR; - YY_BREAK -case 56: -YY_RULE_SETUP -#line 162 "levcomp.lpp" -return NO_ROTATE; - YY_BREAK -case 57: -YY_RULE_SETUP -#line 164 "levcomp.lpp" -return ENCOMPASS; - YY_BREAK -case 58: -YY_RULE_SETUP -#line 165 "levcomp.lpp" -return NORTH; - YY_BREAK -case 59: -YY_RULE_SETUP -#line 166 "levcomp.lpp" -return SOUTH; - YY_BREAK -case 60: -YY_RULE_SETUP -#line 167 "levcomp.lpp" -return EAST; - YY_BREAK -case 61: -YY_RULE_SETUP -#line 168 "levcomp.lpp" -return WEST; - YY_BREAK -case 62: -YY_RULE_SETUP -#line 169 "levcomp.lpp" -return NORTHEAST; - YY_BREAK -case 63: -YY_RULE_SETUP -#line 170 "levcomp.lpp" -return NORTHWEST; - YY_BREAK -case 64: -YY_RULE_SETUP -#line 171 "levcomp.lpp" -return SOUTHEAST; - YY_BREAK -case 65: -YY_RULE_SETUP -#line 172 "levcomp.lpp" -return SOUTHWEST; - YY_BREAK -case 66: -YY_RULE_SETUP -#line 173 "levcomp.lpp" -return FLOAT; - YY_BREAK -case 67: -YY_RULE_SETUP -#line 175 "levcomp.lpp" +#line 182 "levcomp.lpp" return DASH; YY_BREAK -case 68: +case 50: YY_RULE_SETUP -#line 176 "levcomp.lpp" +#line 183 "levcomp.lpp" return COMMA; YY_BREAK -case 69: +case 51: YY_RULE_SETUP -#line 178 "levcomp.lpp" +#line 185 "levcomp.lpp" { clean(); yylval.i = atoi(yytext); return INTEGER; } YY_BREAK -case 70: +case 52: YY_RULE_SETUP -#line 184 "levcomp.lpp" +#line 191 "levcomp.lpp" ; YY_BREAK -case 71: -/* rule 71 can match eol */ +case 53: +/* rule 53 can match eol */ YY_RULE_SETUP -#line 185 "levcomp.lpp" +#line 192 "levcomp.lpp" ; YY_BREAK -case 72: +case 54: YY_RULE_SETUP -#line 187 "levcomp.lpp" +#line 194 "levcomp.lpp" return OPAREN; YY_BREAK -case 73: +case 55: YY_RULE_SETUP -#line 188 "levcomp.lpp" +#line 195 "levcomp.lpp" return CPAREN; YY_BREAK -case 74: +case 56: YY_RULE_SETUP -#line 190 "levcomp.lpp" +#line 197 "levcomp.lpp" return QUOTE; YY_BREAK -case 75: -YY_RULE_SETUP -#line 192 "levcomp.lpp" -return COLON; - YY_BREAK -case 76: -YY_RULE_SETUP -#line 193 "levcomp.lpp" -return STAR; - YY_BREAK -case 77: -YY_RULE_SETUP -#line 194 "levcomp.lpp" -return NOT; - YY_BREAK -case 78: +case 57: YY_RULE_SETUP -#line 196 "levcomp.lpp" +#line 199 "levcomp.lpp" { settext(); return IDENTIFIER; } YY_BREAK -case 79: +case 58: YY_RULE_SETUP -#line 201 "levcomp.lpp" +#line 204 "levcomp.lpp" return CHARACTER; YY_BREAK -case 80: +case 59: YY_RULE_SETUP -#line 203 "levcomp.lpp" +#line 206 "levcomp.lpp" ECHO; YY_BREAK -#line 2207 "levcomp.lex.cc" +#line 1723 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): +case YY_STATE_EOF(LUA): +case YY_STATE_EOF(LUA_ONELINER): case YY_STATE_EOF(ARGUMENT): case YY_STATE_EOF(MNAME): case YY_STATE_EOF(KEYWORDS): @@ -2494,7 +2012,7 @@ static int yy_get_next_buffer (void) 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 >= 1246 ) + if ( yy_current_state >= 647 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2522,11 +2040,11 @@ static int yy_get_next_buffer (void) 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 >= 1246 ) + if ( yy_current_state >= 647 ) 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 == 1245); + yy_is_jam = (yy_current_state == 646); return yy_is_jam ? 0 : yy_current_state; } @@ -3205,7 +2723,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 203 "levcomp.lpp" +#line 206 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index bfd0d65cc3..15175e94b3 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -82,49 +82,23 @@ ORIENT = 271, PLACE = 272, CHANCE = 273, - FLAGS = 274, - MONS = 275, - ITEM = 276, - ROOT_DEPTH = 277, - ENTRY_MSG = 278, - EXIT_MSG = 279, - ROCK_COLOUR = 280, - FLOOR_COLOUR = 281, - ENCOMPASS = 282, - FLOAT = 283, - NORTH = 284, - EAST = 285, - SOUTH = 286, - WEST = 287, - NORTHEAST = 288, - SOUTHEAST = 289, - SOUTHWEST = 290, - NORTHWEST = 291, - LEVEL = 292, - END = 293, - PVAULT = 294, - PMINIVAULT = 295, - MONSTERS = 296, - ENDMONSTERS = 297, - CHARACTER = 298, - NO_HMIRROR = 299, - NO_VMIRROR = 300, - NO_ROTATE = 301, - PANDEMONIC = 302, - DASH = 303, - COMMA = 304, - QUOTE = 305, - OPAREN = 306, - CPAREN = 307, - COLON = 308, - STAR = 309, - NOT = 310, - INTEGER = 311, - STRING = 312, - MAP_LINE = 313, - MONSTER_NAME = 314, - ITEM_INFO = 315, - IDENTIFIER = 316 + MONS = 274, + ITEM = 275, + PRELUDE = 276, + MAIN = 277, + CHARACTER = 278, + DASH = 279, + COMMA = 280, + QUOTE = 281, + OPAREN = 282, + CPAREN = 283, + INTEGER = 284, + STRING = 285, + MAP_LINE = 286, + MONSTER_NAME = 287, + ITEM_INFO = 288, + IDENTIFIER = 289, + LUA_LINE = 290 }; #endif /* Tokens. */ @@ -144,49 +118,23 @@ #define ORIENT 271 #define PLACE 272 #define CHANCE 273 -#define FLAGS 274 -#define MONS 275 -#define ITEM 276 -#define ROOT_DEPTH 277 -#define ENTRY_MSG 278 -#define EXIT_MSG 279 -#define ROCK_COLOUR 280 -#define FLOOR_COLOUR 281 -#define ENCOMPASS 282 -#define FLOAT 283 -#define NORTH 284 -#define EAST 285 -#define SOUTH 286 -#define WEST 287 -#define NORTHEAST 288 -#define SOUTHEAST 289 -#define SOUTHWEST 290 -#define NORTHWEST 291 -#define LEVEL 292 -#define END 293 -#define PVAULT 294 -#define PMINIVAULT 295 -#define MONSTERS 296 -#define ENDMONSTERS 297 -#define CHARACTER 298 -#define NO_HMIRROR 299 -#define NO_VMIRROR 300 -#define NO_ROTATE 301 -#define PANDEMONIC 302 -#define DASH 303 -#define COMMA 304 -#define QUOTE 305 -#define OPAREN 306 -#define CPAREN 307 -#define COLON 308 -#define STAR 309 -#define NOT 310 -#define INTEGER 311 -#define STRING 312 -#define MAP_LINE 313 -#define MONSTER_NAME 314 -#define ITEM_INFO 315 -#define IDENTIFIER 316 +#define MONS 274 +#define ITEM 275 +#define PRELUDE 276 +#define MAIN 277 +#define CHARACTER 278 +#define DASH 279 +#define COMMA 280 +#define QUOTE 281 +#define OPAREN 282 +#define CPAREN 283 +#define INTEGER 284 +#define STRING 285 +#define MAP_LINE 286 +#define MONSTER_NAME 287 +#define ITEM_INFO 288 +#define IDENTIFIER 289 +#define LUA_LINE 290 @@ -196,9 +144,11 @@ #include "AppHdr.h" +#include "clua.h" #include "libutil.h" -#include "levcomp.h" +#include "luadgn.h" #include "mapdef.h" +#include "maps.h" #include "stuff.h" #include <map> @@ -265,14 +215,14 @@ level_range set_range(const char *s, int start, int end) #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 54 "levcomp.ypp" +#line 56 "levcomp.ypp" { int i; const char *text; raw_range range; } /* Line 193 of yacc.c. */ -#line 276 "levcomp.tab.c" +#line 226 "levcomp.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -285,7 +235,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 289 "levcomp.tab.c" +#line 239 "levcomp.tab.c" #ifdef short # undef short @@ -500,20 +450,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 83 +#define YYLAST 45 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 62 +#define YYNTOKENS 36 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 43 +#define YYNNTS 41 /* YYNRULES -- Number of rules. */ -#define YYNRULES 91 +#define YYNRULES 72 /* YYNRULES -- Number of states. */ -#define YYNSTATES 113 +#define YYNSTATES 86 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 316 +#define YYMAXUTOK 290 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -550,9 +500,7 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61 + 35 }; #if YYDEBUG @@ -560,59 +508,50 @@ static const yytype_uint8 yytranslate[] = YYRHS. */ static const yytype_uint8 yyprhs[] = { - 0, 0, 3, 5, 6, 9, 11, 13, 15, 16, - 20, 25, 28, 29, 32, 34, 36, 38, 40, 42, - 44, 46, 48, 50, 52, 54, 56, 58, 60, 63, - 65, 68, 70, 73, 76, 78, 82, 84, 87, 88, - 91, 94, 96, 100, 102, 104, 107, 111, 113, 115, - 117, 120, 124, 126, 128, 131, 133, 136, 138, 142, - 144, 148, 150, 153, 155, 159, 165, 169, 173, 175, - 178, 180, 183, 185, 187, 189, 191, 193, 195, 197, - 199, 201, 203, 206, 207, 210, 212, 214, 216, 218, - 220, 223 + 0, 0, 3, 5, 6, 9, 11, 13, 15, 18, + 23, 26, 27, 30, 32, 34, 36, 38, 40, 42, + 44, 46, 48, 50, 52, 54, 56, 58, 61, 62, + 65, 67, 70, 71, 74, 76, 78, 81, 83, 86, + 88, 91, 94, 96, 100, 102, 105, 106, 109, 111, + 114, 116, 120, 122, 124, 127, 131, 133, 135, 137, + 140, 144, 146, 148, 151, 153, 156, 159, 161, 164, + 166, 168, 171 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 63, 0, -1, 64, -1, -1, 64, 65, -1, 66, - -1, 69, -1, 67, -1, -1, 7, 68, 92, -1, - 70, 71, 102, 71, -1, 14, 57, -1, -1, 72, - 71, -1, 90, -1, 91, -1, 96, -1, 97, -1, - 99, -1, 87, -1, 84, -1, 81, -1, 79, -1, - 76, -1, 73, -1, 75, -1, 74, -1, 11, -1, - 11, 57, -1, 13, -1, 13, 57, -1, 12, -1, - 12, 57, -1, 8, 77, -1, 78, -1, 77, 49, - 78, -1, 60, -1, 10, 80, -1, -1, 57, 80, - -1, 9, 82, -1, 83, -1, 83, 49, 82, -1, - 60, -1, 21, -1, 21, 85, -1, 86, 49, 85, - -1, 86, -1, 60, -1, 20, -1, 20, 88, -1, - 89, 49, 88, -1, 89, -1, 59, -1, 17, 57, - -1, 15, -1, 15, 93, -1, 94, -1, 92, 49, - 94, -1, 94, -1, 93, 49, 94, -1, 95, -1, - 55, 95, -1, 61, -1, 61, 53, 54, -1, 61, - 53, 56, 48, 56, -1, 61, 53, 56, -1, 56, - 48, 56, -1, 56, -1, 18, 56, -1, 16, -1, - 16, 98, -1, 27, -1, 29, -1, 30, -1, 31, - -1, 32, -1, 33, -1, 34, -1, 35, -1, 36, - -1, 28, -1, 19, 100, -1, -1, 101, 100, -1, - 44, -1, 45, -1, 46, -1, 103, -1, 104, -1, - 104, 103, -1, 58, -1 + 37, 0, -1, 38, -1, -1, 38, 39, -1, 40, + -1, 42, -1, 41, -1, 7, 30, -1, 43, 44, + 74, 44, -1, 14, 30, -1, -1, 45, 44, -1, + 70, -1, 71, -1, 72, -1, 73, -1, 67, -1, + 64, -1, 61, -1, 58, -1, 55, -1, 52, -1, + 54, -1, 53, -1, 46, -1, 49, -1, 22, 47, + -1, -1, 47, 48, -1, 35, -1, 21, 50, -1, + -1, 50, 51, -1, 35, -1, 11, -1, 11, 30, + -1, 13, -1, 13, 30, -1, 12, -1, 12, 30, + -1, 8, 56, -1, 57, -1, 56, 25, 57, -1, + 33, -1, 10, 59, -1, -1, 59, 60, -1, 30, + -1, 9, 62, -1, 63, -1, 63, 25, 62, -1, + 33, -1, 20, -1, 20, 65, -1, 66, 25, 65, + -1, 66, -1, 33, -1, 19, -1, 19, 68, -1, + 69, 25, 68, -1, 69, -1, 32, -1, 17, 30, + -1, 15, -1, 15, 30, -1, 18, 29, -1, 16, + -1, 16, 30, -1, 75, -1, 76, -1, 76, 75, + -1, 31, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 87, 87, 90, 91, 94, 95, 98, 102, 101, - 106, 149, 171, 172, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 190, 191, 200, - 201, 210, 211, 220, 223, 224, 227, 237, 240, 241, - 249, 252, 253, 256, 267, 268, 271, 272, 275, 290, - 291, 294, 295, 298, 314, 320, 321, 325, 330, 337, - 342, 348, 349, 352, 357, 362, 367, 372, 377, 383, - 389, 390, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 408, 411, 412, 428, 429, 430, 433, 436, - 437, 440 + 0, 77, 77, 80, 81, 84, 85, 88, 91, 101, + 114, 136, 137, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 156, 158, 159, + 162, 167, 169, 170, 173, 178, 179, 187, 188, 196, + 197, 205, 208, 209, 212, 220, 223, 224, 227, 236, + 239, 240, 243, 252, 253, 256, 257, 260, 268, 269, + 272, 273, 276, 285, 294, 295, 304, 312, 313, 322, + 325, 326, 329 }; #endif @@ -623,22 +562,17 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "BRANCHDEF", "BRANCH", "DESC", "DEFAULT", "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "KFEAT", "KITEM", "KMONS", - "NAME", "DEPTH", "ORIENT", "PLACE", "CHANCE", "FLAGS", "MONS", "ITEM", - "ROOT_DEPTH", "ENTRY_MSG", "EXIT_MSG", "ROCK_COLOUR", "FLOOR_COLOUR", - "ENCOMPASS", "FLOAT", "NORTH", "EAST", "SOUTH", "WEST", "NORTHEAST", - "SOUTHEAST", "SOUTHWEST", "NORTHWEST", "LEVEL", "END", "PVAULT", - "PMINIVAULT", "MONSTERS", "ENDMONSTERS", "CHARACTER", "NO_HMIRROR", - "NO_VMIRROR", "NO_ROTATE", "PANDEMONIC", "DASH", "COMMA", "QUOTE", - "OPAREN", "CPAREN", "COLON", "STAR", "NOT", "INTEGER", "STRING", - "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", "IDENTIFIER", "$accept", "file", - "definitions", "definition", "def", "defdepth", "@1", "level", "name", - "metalines", "metaline", "kfeat", "kmons", "kitem", "shuffle", - "shuffle_specifiers", "shuffle_spec", "tags", "tagstrings", "subst", - "subst_specifiers", "subst_spec", "items", "item_specifiers", - "item_specifier", "mons", "mnames", "mname", "place", "depth", - "default_depth_ranges", "extended_depth_ranges", "ext_range", - "lev_range", "chance", "orientation", "orient_name", "flags", - "flagnames", "flagname", "map_def", "map_lines", "map_line", 0 + "NAME", "DEPTH", "ORIENT", "PLACE", "CHANCE", "MONS", "ITEM", "PRELUDE", + "MAIN", "CHARACTER", "DASH", "COMMA", "QUOTE", "OPAREN", "CPAREN", + "INTEGER", "STRING", "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", + "IDENTIFIER", "LUA_LINE", "$accept", "file", "definitions", "definition", + "def", "defdepth", "level", "name", "metalines", "metaline", "main_lua", + "main_lua_lines", "main_lua_line", "prelude_lua", "prelude_lua_lines", + "prelude_lua_line", "kfeat", "kmons", "kitem", "shuffle", + "shuffle_specifiers", "shuffle_spec", "tags", "tagstrings", "tagstring", + "subst", "subst_specifiers", "subst_spec", "items", "item_specifiers", + "item_specifier", "mons", "mnames", "mname", "place", "depth", "chance", + "orientation", "map_def", "map_lines", "map_line", 0 }; #endif @@ -650,41 +584,34 @@ static const yytype_uint16 yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316 + 285, 286, 287, 288, 289, 290 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 62, 63, 64, 64, 65, 65, 66, 68, 67, - 69, 70, 71, 71, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 73, 73, 74, - 74, 75, 75, 76, 77, 77, 78, 79, 80, 80, - 81, 82, 82, 83, 84, 84, 85, 85, 86, 87, - 87, 88, 88, 89, 90, 91, 91, 92, 92, 93, - 93, 94, 94, 95, 95, 95, 95, 95, 95, 96, - 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 99, 100, 100, 101, 101, 101, 102, 103, - 103, 104 + 0, 36, 37, 38, 38, 39, 39, 40, 41, 42, + 43, 44, 44, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 46, 47, 47, + 48, 49, 50, 50, 51, 52, 52, 53, 53, 54, + 54, 55, 56, 56, 57, 58, 59, 59, 60, 61, + 62, 62, 63, 64, 64, 65, 65, 66, 67, 67, + 68, 68, 69, 70, 71, 71, 72, 73, 73, 74, + 75, 75, 76 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { - 0, 2, 1, 0, 2, 1, 1, 1, 0, 3, - 4, 2, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 2, 1, 2, 2, 1, 3, 1, 2, 0, 2, - 2, 1, 3, 1, 1, 2, 3, 1, 1, 1, - 2, 3, 1, 1, 2, 1, 2, 1, 3, 1, - 3, 1, 2, 1, 3, 5, 3, 3, 1, 2, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 0, 2, 1, 1, 1, 1, 1, - 2, 1 + 0, 2, 1, 0, 2, 1, 1, 1, 2, 4, + 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, + 1, 2, 0, 2, 1, 1, 2, 1, 2, 1, + 2, 2, 1, 3, 1, 2, 0, 2, 1, 2, + 1, 3, 1, 1, 2, 3, 1, 1, 1, 2, + 3, 1, 1, 2, 1, 2, 2, 1, 2, 1, + 1, 2, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -692,57 +619,51 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 3, 0, 2, 1, 8, 0, 4, 5, 7, 6, - 12, 0, 11, 0, 0, 38, 27, 31, 29, 55, - 70, 0, 0, 83, 49, 44, 0, 12, 24, 26, - 25, 23, 22, 21, 20, 19, 14, 15, 16, 17, - 18, 0, 68, 63, 9, 57, 61, 36, 33, 34, - 43, 40, 41, 38, 37, 28, 32, 30, 56, 59, - 72, 81, 73, 74, 75, 76, 77, 78, 79, 80, - 71, 54, 69, 85, 86, 87, 82, 83, 53, 50, - 52, 48, 45, 47, 91, 12, 88, 89, 13, 62, - 0, 0, 0, 0, 0, 39, 0, 84, 0, 0, - 10, 90, 67, 64, 66, 58, 35, 42, 60, 51, - 46, 0, 65 + 3, 0, 2, 1, 0, 0, 4, 5, 7, 6, + 11, 8, 10, 0, 0, 46, 35, 39, 37, 64, + 67, 0, 0, 58, 53, 32, 28, 0, 11, 25, + 26, 22, 24, 23, 21, 20, 19, 18, 17, 13, + 14, 15, 16, 44, 41, 42, 52, 49, 50, 45, + 36, 40, 38, 65, 68, 63, 66, 62, 59, 61, + 57, 54, 56, 31, 27, 72, 11, 69, 70, 12, + 0, 0, 48, 47, 0, 0, 34, 33, 30, 29, + 9, 71, 43, 51, 60, 55 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 1, 2, 6, 7, 8, 11, 9, 10, 26, - 27, 28, 29, 30, 31, 48, 49, 32, 54, 33, - 51, 52, 34, 82, 83, 35, 79, 80, 36, 37, - 44, 58, 45, 46, 38, 39, 70, 40, 76, 77, - 85, 86, 87 + -1, 1, 2, 6, 7, 8, 9, 10, 27, 28, + 29, 64, 79, 30, 63, 77, 31, 32, 33, 34, + 44, 45, 35, 49, 73, 36, 47, 48, 37, 61, + 62, 38, 58, 59, 39, 40, 41, 42, 66, 67, + 68 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -53 +#define YYPACT_NINF -37 static const yytype_int8 yypact[] = { - -53, 8, 19, -53, -53, -18, -53, -53, -53, -53, - -6, -27, -53, -30, -17, -15, -13, -12, -10, -27, - -11, -8, -25, -9, -7, -14, -5, -6, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -29, 0, -3, 2, -53, -53, -53, 5, -53, - -53, -53, 6, -15, -53, -53, -53, -53, 7, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -9, -53, -53, - 9, -53, -53, 11, -53, -6, -53, -5, -53, -53, - 1, -16, -27, -30, -17, -53, -27, -53, -7, -14, - -53, -53, -53, -53, 13, -53, -53, -53, -53, -53, - -53, 10, -53 + -37, 7, 9, -37, -13, -12, -37, -37, -37, -37, + -7, -37, -37, -14, -11, -37, -10, -9, -6, -5, + -4, -3, -1, -2, 0, -37, -37, 1, -7, -37, + -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, 4, -37, -37, -37, 6, 5, + -37, -37, -37, -37, -37, -37, -37, -37, -37, 11, + -37, -37, 12, 8, 10, -37, -7, -37, 1, -37, + -14, -11, -37, -37, -2, 0, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -53, -53, -53, -53, -53, -53, -53, -53, -53, -26, - -53, -53, -53, -53, -53, -53, -52, -53, 12, -53, - -32, -53, -53, -36, -53, -53, -34, -53, -53, -53, - -53, -53, -19, 26, -53, -53, -53, -53, -2, -53, - -53, -4, -53 + -37, -37, -37, -37, -37, -37, -37, -37, -28, -37, + -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -36, -37, -37, -37, -37, -32, -37, -37, -35, + -37, -37, -33, -37, -37, -37, -37, -37, -37, -26, + -37 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -752,46 +673,35 @@ static const yytype_int8 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { - 59, 88, 13, 14, 15, 16, 17, 18, 3, 19, - 20, 21, 22, 23, 24, 25, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 4, 42, 41, 42, - 47, 72, 43, 5, 43, 73, 74, 75, 103, 12, - 104, 106, 53, 50, 55, 56, 81, 57, 90, 71, - 91, 92, 78, 84, 93, 94, 96, 102, 98, 100, - 99, 111, 107, 110, 109, 95, 112, 89, 0, 0, - 0, 0, 0, 105, 0, 97, 0, 108, 0, 0, - 0, 0, 0, 101 + 69, 13, 14, 15, 16, 17, 18, 3, 19, 20, + 21, 22, 23, 24, 25, 26, 4, 11, 12, 43, + 50, 51, 46, 5, 52, 53, 54, 55, 56, 70, + 57, 71, 65, 60, 82, 72, 74, 75, 80, 83, + 85, 84, 81, 76, 0, 78 }; static const yytype_int8 yycheck[] = { - 19, 27, 8, 9, 10, 11, 12, 13, 0, 15, - 16, 17, 18, 19, 20, 21, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 7, 56, 55, 56, - 60, 56, 61, 14, 61, 44, 45, 46, 54, 57, - 56, 93, 57, 60, 57, 57, 60, 57, 48, 57, - 53, 49, 59, 58, 49, 49, 49, 56, 49, 85, - 49, 48, 94, 99, 98, 53, 56, 41, -1, -1, - -1, -1, -1, 92, -1, 77, -1, 96, -1, -1, - -1, -1, -1, 87 + 28, 8, 9, 10, 11, 12, 13, 0, 15, 16, + 17, 18, 19, 20, 21, 22, 7, 30, 30, 33, + 30, 30, 33, 14, 30, 30, 30, 30, 29, 25, + 32, 25, 31, 33, 70, 30, 25, 25, 66, 71, + 75, 74, 68, 35, -1, 35 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 63, 64, 0, 7, 14, 65, 66, 67, 69, - 70, 68, 57, 8, 9, 10, 11, 12, 13, 15, - 16, 17, 18, 19, 20, 21, 71, 72, 73, 74, - 75, 76, 79, 81, 84, 87, 90, 91, 96, 97, - 99, 55, 56, 61, 92, 94, 95, 60, 77, 78, - 60, 82, 83, 57, 80, 57, 57, 57, 93, 94, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 98, 57, 56, 44, 45, 46, 100, 101, 59, 88, - 89, 60, 85, 86, 58, 102, 103, 104, 71, 95, - 48, 53, 49, 49, 49, 80, 49, 100, 49, 49, - 71, 103, 56, 54, 56, 94, 78, 82, 94, 88, - 85, 48, 56 + 0, 37, 38, 0, 7, 14, 39, 40, 41, 42, + 43, 30, 30, 8, 9, 10, 11, 12, 13, 15, + 16, 17, 18, 19, 20, 21, 22, 44, 45, 46, + 49, 52, 53, 54, 55, 58, 61, 64, 67, 70, + 71, 72, 73, 33, 56, 57, 33, 62, 63, 59, + 30, 30, 30, 30, 30, 30, 29, 32, 68, 69, + 33, 65, 66, 50, 47, 31, 74, 75, 76, 44, + 25, 25, 30, 60, 25, 25, 35, 51, 35, 48, + 44, 75, 57, 62, 68, 65 }; #define yyerrok (yyerrstatus = 0) @@ -1606,86 +1516,62 @@ yyreduce: switch (yyn) { case 2: -#line 87 "levcomp.ypp" +#line 77 "levcomp.ypp" { } break; case 3: -#line 90 "levcomp.ypp" +#line 80 "levcomp.ypp" {} break; case 4: -#line 91 "levcomp.ypp" +#line 81 "levcomp.ypp" {} break; case 5: -#line 94 "levcomp.ypp" +#line 84 "levcomp.ypp" {} break; case 6: -#line 95 "levcomp.ypp" +#line 85 "levcomp.ypp" {} break; case 7: -#line 98 "levcomp.ypp" +#line 88 "levcomp.ypp" {} break; case 8: -#line 102 "levcomp.ypp" - { lc_default_depths.clear(); } +#line 92 "levcomp.ypp" + { + dgn_reset_default_depth(); + std::string err = dgn_set_default_depth((yyvsp[(2) - (2)].text)); + if (!err.empty()) + yyerror(make_stringf("Bad default-depth: %s (%s)", + (yyvsp[(2) - (2)].text), err.c_str()).c_str()); + } break; - case 10: -#line 107 "levcomp.ypp" + case 9: +#line 102 "levcomp.ypp" { - if (lc_map.orient == MAP_FLOAT - || lc_map.is_minivault()) - { - if (lc_map.map.width() > GXM - MAPGEN_BORDER * 2 - || lc_map.map.height() > GYM - MAPGEN_BORDER * 2) - { - char buf[300]; - snprintf(buf, sizeof buf, - "%s is too big: %dx%d - max %dx%d", - lc_map.is_minivault()? "Minivault" : "Float", - lc_map.map.width(), lc_map.map.height(), - GXM - MAPGEN_BORDER * 2, - GYM - MAPGEN_BORDER * 2); - yyerror(buf); - } - } - else - { - if (lc_map.map.width() > GXM - || lc_map.map.height() > GYM) - { - char buf[300]; - snprintf(buf, sizeof buf, - "Map is too big: %dx%d - max %dx%d", - lc_map.map.width(), lc_map.map.height(), - GXM, GYM); - yyerror(buf); - } - } - - if (lc_map.map.height() == 0) - yyerror("Must define map."); - + std::string err = lc_map.validate(); + if (!err.empty()) + yyerror(err.c_str()); if (!lc_map.has_depth() && !lc_default_depths.empty()) lc_map.add_depths(lc_default_depths.begin(), lc_default_depths.end()); - - add_parsed_map( lc_map ); + lc_map.set_file(lc_desfile); + add_parsed_map(lc_map); } break; - case 11: -#line 150 "levcomp.ypp" + case 10: +#line 115 "levcomp.ypp" { lc_map.init(); lc_map.name = (yyvsp[(2) - (2)].text); @@ -1708,368 +1594,241 @@ yyreduce: break; case 27: -#line 190 "levcomp.ypp" +#line 156 "levcomp.ypp" { } break; case 28: -#line 192 "levcomp.ypp" - { - std::string err = lc_map.add_key_feat((yyvsp[(2) - (2)].text)); - if (!err.empty()) - yyerror( - make_stringf("Bad arg to KFEAT: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str()).c_str()); - } +#line 158 "levcomp.ypp" + { } break; case 29: -#line 200 "levcomp.ypp" +#line 159 "levcomp.ypp" { } break; case 30: -#line 202 "levcomp.ypp" +#line 163 "levcomp.ypp" { - std::string err = lc_map.add_key_mons((yyvsp[(2) - (2)].text)); - if (!err.empty()) - yyerror( - make_stringf("Bad arg to KMONS: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str()).c_str()); + lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); } break; case 31: -#line 210 "levcomp.ypp" +#line 167 "levcomp.ypp" { } break; case 32: -#line 212 "levcomp.ypp" +#line 169 "levcomp.ypp" + { } + break; + + case 33: +#line 170 "levcomp.ypp" + { } + break; + + case 34: +#line 174 "levcomp.ypp" { - std::string err = lc_map.add_key_item((yyvsp[(2) - (2)].text)); - if (!err.empty()) - yyerror( - make_stringf("Bad arg to KITEM: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str()).c_str()); + lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; - case 33: -#line 220 "levcomp.ypp" - {} + case 35: +#line 178 "levcomp.ypp" + { } break; case 36: -#line 228 "levcomp.ypp" +#line 180 "levcomp.ypp" { - std::string err = lc_map.map.add_shuffle((yyvsp[(1) - (1)].text)); - if (!err.empty()) - yyerror( - make_stringf( - "Bad shuffle argument: '%s' (%s)", - (yyvsp[(1) - (1)].text), err.c_str() ).c_str() ); + lc_map.main.add( + yylineno, + make_stringf("kfeat(\"%s\")", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 37: -#line 237 "levcomp.ypp" - {} +#line 187 "levcomp.ypp" + { } break; - case 39: -#line 242 "levcomp.ypp" + case 38: +#line 189 "levcomp.ypp" { - lc_map.tags += " "; - lc_map.tags += (yyvsp[(1) - (2)].text); - lc_map.tags += " "; + lc_map.main.add( + yylineno, + make_stringf("kmons(\"%s\")", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; - case 40: -#line 249 "levcomp.ypp" + case 39: +#line 196 "levcomp.ypp" { } break; - case 43: -#line 257 "levcomp.ypp" + case 40: +#line 198 "levcomp.ypp" { - std::string err = lc_map.map.add_subst((yyvsp[(1) - (1)].text)); - if (!err.empty()) - yyerror( - make_stringf( - "Bad SUBST argument: '%s' (%s)", - (yyvsp[(1) - (1)].text), err.c_str() ).c_str() ); + lc_map.main.add( + yylineno, + make_stringf("kitem(\"%s\")", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; - case 44: -#line 267 "levcomp.ypp" + case 41: +#line 205 "levcomp.ypp" {} break; + case 44: +#line 213 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("shuffle(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); + } + break; + case 45: -#line 268 "levcomp.ypp" +#line 220 "levcomp.ypp" {} break; case 48: -#line 276 "levcomp.ypp" +#line 228 "levcomp.ypp" { - std::string error = lc_map.items.add_item((yyvsp[(1) - (1)].text)); - if (error.size()) - { - char errbuf[300]; - snprintf(errbuf, sizeof errbuf, - "Invalid item descriptor: '%s' (%s)", - (yyvsp[(1) - (1)].text), error.c_str()); - yyerror(errbuf); - } - if (lc_map.items.size() > 8) - yyerror("Too many items specified (max 8)"); + lc_map.main.add( + yylineno, + make_stringf("tags(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 49: -#line 290 "levcomp.ypp" - {} - break; - - case 50: -#line 291 "levcomp.ypp" - {} - break; - - case 53: -#line 299 "levcomp.ypp" - { - std::string err = lc_map.mons.add_mons((yyvsp[(1) - (1)].text)); - if (!err.empty()) - { - char buf[300]; - snprintf(buf, sizeof buf, - "bad monster spec '%s' (%s)", - (yyvsp[(1) - (1)].text), err.c_str()); - yyerror(buf); - } - if (lc_map.mons.size() > 7) - yyerror("Too many monsters specified (max 7)"); - } +#line 236 "levcomp.ypp" + { } break; - case 54: -#line 315 "levcomp.ypp" + case 52: +#line 244 "levcomp.ypp" { - lc_map.place = (yyvsp[(2) - (2)].text); + lc_map.main.add( + yylineno, + make_stringf("subst(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; - case 55: -#line 320 "levcomp.ypp" + case 53: +#line 252 "levcomp.ypp" {} break; - case 56: -#line 321 "levcomp.ypp" + case 54: +#line 253 "levcomp.ypp" {} break; case 57: -#line 326 "levcomp.ypp" +#line 261 "levcomp.ypp" { - lc_default_depths.push_back((yyvsp[(1) - (1)].range)); + lc_map.main.add( + yylineno, + make_stringf("item(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 58: -#line 331 "levcomp.ypp" - { - lc_default_depths.push_back((yyvsp[(3) - (3)].range)); - } +#line 268 "levcomp.ypp" + {} break; case 59: -#line 338 "levcomp.ypp" - { - lc_map.add_depth((yyvsp[(1) - (1)].range)); - } +#line 269 "levcomp.ypp" + {} break; - case 60: -#line 343 "levcomp.ypp" + case 62: +#line 277 "levcomp.ypp" { - lc_map.add_depth((yyvsp[(3) - (3)].range)); + lc_map.main.add( + yylineno, + make_stringf("mons(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; - case 61: -#line 348 "levcomp.ypp" - { (yyval.range) = (yyvsp[(1) - (1)].range); } - break; - - case 62: -#line 349 "levcomp.ypp" - { (yyval.range) = (yyvsp[(2) - (2)].range); (yyval.range).deny = true; } - break; - case 63: -#line 353 "levcomp.ypp" +#line 286 "levcomp.ypp" { - (yyval.range) = set_range((yyvsp[(1) - (1)].text), 1, 100); + lc_map.main.add( + yylineno, + make_stringf("place(\"%s\")", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 64: -#line 358 "levcomp.ypp" - { - (yyval.range) = set_range((yyvsp[(1) - (3)].text), 1, 100); - } +#line 294 "levcomp.ypp" + {} break; case 65: -#line 363 "levcomp.ypp" +#line 296 "levcomp.ypp" { - (yyval.range) = set_range((yyvsp[(1) - (5)].text), (yyvsp[(3) - (5)].i), (yyvsp[(5) - (5)].i)); + lc_map.main.add( + yylineno, + make_stringf("depth(\"%s\")", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 66: -#line 368 "levcomp.ypp" +#line 305 "levcomp.ypp" { - (yyval.range) = set_range((yyvsp[(1) - (3)].text), (yyvsp[(3) - (3)].i), (yyvsp[(3) - (3)].i)); + lc_map.main.add( + yylineno, + make_stringf("chance(\"%d\")", (yyvsp[(2) - (2)].i))); } break; case 67: -#line 373 "levcomp.ypp" - { - (yyval.range) = set_range("Any", (yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); - } - break; - - case 68: -#line 378 "levcomp.ypp" - { - (yyval.range) = set_range("Any", (yyvsp[(1) - (1)].i), (yyvsp[(1) - (1)].i)); - } - break; - - case 69: -#line 384 "levcomp.ypp" - { - lc_map.chance = (yyvsp[(2) - (2)].i); - } - break; - - case 70: -#line 389 "levcomp.ypp" +#line 312 "levcomp.ypp" {} break; - case 71: -#line 391 "levcomp.ypp" + case 68: +#line 314 "levcomp.ypp" { - lc_map.orient = (map_section_type) (yyvsp[(2) - (2)].i); + lc_map.main.add( + yylineno, + make_stringf("orient(\"%s\")", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 72: -#line 396 "levcomp.ypp" - { (yyval.i) = MAP_ENCOMPASS; } - break; - - case 73: -#line 397 "levcomp.ypp" - { (yyval.i) = MAP_NORTH; } - break; - - case 74: -#line 398 "levcomp.ypp" - { (yyval.i) = MAP_EAST; } - break; - - case 75: -#line 399 "levcomp.ypp" - { (yyval.i) = MAP_SOUTH; } - break; - - case 76: -#line 400 "levcomp.ypp" - { (yyval.i) = MAP_WEST; } - break; - - case 77: -#line 401 "levcomp.ypp" - { (yyval.i) = MAP_NORTHEAST; } - break; - - case 78: -#line 402 "levcomp.ypp" - { (yyval.i) = MAP_SOUTHEAST; } - break; - - case 79: -#line 403 "levcomp.ypp" - { (yyval.i) = MAP_SOUTHWEST; } - break; - - case 80: -#line 404 "levcomp.ypp" - { (yyval.i) = MAP_NORTHWEST; } - break; - - case 81: -#line 405 "levcomp.ypp" - { (yyval.i) = MAP_FLOAT; } - break; - - case 82: -#line 408 "levcomp.ypp" - {} - break; - - case 84: -#line 413 "levcomp.ypp" - { - switch ((yyvsp[(1) - (2)].i)) { - case NO_HMIRROR: - lc_map.flags &= ~MAPF_MIRROR_HORIZONTAL; - break; - case NO_VMIRROR: - lc_map.flags &= ~MAPF_MIRROR_VERTICAL; - break; - case NO_ROTATE: - lc_map.flags &= ~MAPF_ROTATE; - break; - } - } - break; - - case 85: -#line 428 "levcomp.ypp" - { (yyval.i) = NO_HMIRROR; } - break; - - case 86: -#line 429 "levcomp.ypp" - { (yyval.i) = NO_VMIRROR; } - break; - - case 87: -#line 430 "levcomp.ypp" - { (yyval.i) = NO_ROTATE; } - break; - - case 91: -#line 441 "levcomp.ypp" +#line 330 "levcomp.ypp" { - lc_map.map.add_line((yyvsp[(1) - (1)].text)); + lc_map.main.add( + yylineno, + make_stringf("map(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; /* Line 1267 of yacc.c. */ -#line 2073 "levcomp.tab.c" +#line 1832 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2283,6 +2042,6 @@ yyreturn: } -#line 446 "levcomp.ypp" +#line 338 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index d1c64031cb..8bbb920d51 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -55,49 +55,23 @@ ORIENT = 271, PLACE = 272, CHANCE = 273, - FLAGS = 274, - MONS = 275, - ITEM = 276, - ROOT_DEPTH = 277, - ENTRY_MSG = 278, - EXIT_MSG = 279, - ROCK_COLOUR = 280, - FLOOR_COLOUR = 281, - ENCOMPASS = 282, - FLOAT = 283, - NORTH = 284, - EAST = 285, - SOUTH = 286, - WEST = 287, - NORTHEAST = 288, - SOUTHEAST = 289, - SOUTHWEST = 290, - NORTHWEST = 291, - LEVEL = 292, - END = 293, - PVAULT = 294, - PMINIVAULT = 295, - MONSTERS = 296, - ENDMONSTERS = 297, - CHARACTER = 298, - NO_HMIRROR = 299, - NO_VMIRROR = 300, - NO_ROTATE = 301, - PANDEMONIC = 302, - DASH = 303, - COMMA = 304, - QUOTE = 305, - OPAREN = 306, - CPAREN = 307, - COLON = 308, - STAR = 309, - NOT = 310, - INTEGER = 311, - STRING = 312, - MAP_LINE = 313, - MONSTER_NAME = 314, - ITEM_INFO = 315, - IDENTIFIER = 316 + MONS = 274, + ITEM = 275, + PRELUDE = 276, + MAIN = 277, + CHARACTER = 278, + DASH = 279, + COMMA = 280, + QUOTE = 281, + OPAREN = 282, + CPAREN = 283, + INTEGER = 284, + STRING = 285, + MAP_LINE = 286, + MONSTER_NAME = 287, + ITEM_INFO = 288, + IDENTIFIER = 289, + LUA_LINE = 290 }; #endif /* Tokens. */ @@ -117,63 +91,37 @@ #define ORIENT 271 #define PLACE 272 #define CHANCE 273 -#define FLAGS 274 -#define MONS 275 -#define ITEM 276 -#define ROOT_DEPTH 277 -#define ENTRY_MSG 278 -#define EXIT_MSG 279 -#define ROCK_COLOUR 280 -#define FLOOR_COLOUR 281 -#define ENCOMPASS 282 -#define FLOAT 283 -#define NORTH 284 -#define EAST 285 -#define SOUTH 286 -#define WEST 287 -#define NORTHEAST 288 -#define SOUTHEAST 289 -#define SOUTHWEST 290 -#define NORTHWEST 291 -#define LEVEL 292 -#define END 293 -#define PVAULT 294 -#define PMINIVAULT 295 -#define MONSTERS 296 -#define ENDMONSTERS 297 -#define CHARACTER 298 -#define NO_HMIRROR 299 -#define NO_VMIRROR 300 -#define NO_ROTATE 301 -#define PANDEMONIC 302 -#define DASH 303 -#define COMMA 304 -#define QUOTE 305 -#define OPAREN 306 -#define CPAREN 307 -#define COLON 308 -#define STAR 309 -#define NOT 310 -#define INTEGER 311 -#define STRING 312 -#define MAP_LINE 313 -#define MONSTER_NAME 314 -#define ITEM_INFO 315 -#define IDENTIFIER 316 +#define MONS 274 +#define ITEM 275 +#define PRELUDE 276 +#define MAIN 277 +#define CHARACTER 278 +#define DASH 279 +#define COMMA 280 +#define QUOTE 281 +#define OPAREN 282 +#define CPAREN 283 +#define INTEGER 284 +#define STRING 285 +#define MAP_LINE 286 +#define MONSTER_NAME 287 +#define ITEM_INFO 288 +#define IDENTIFIER 289 +#define LUA_LINE 290 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 54 "levcomp.ypp" +#line 56 "levcomp.ypp" { int i; const char *text; raw_range range; } /* Line 1529 of yacc.c. */ -#line 177 "levcomp.tab.h" +#line 125 "levcomp.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 |