From dbf7d0324cd05124eaead0ae90ab1226f74fe074 Mon Sep 17 00:00:00 2001 From: dshaligram Date: Sun, 19 Oct 2008 17:17:58 +0000 Subject: Update canned level compiler. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7284 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/prebuilt/levcomp.lex.cc | 2298 +++++++++++++++++------------- crawl-ref/source/prebuilt/levcomp.tab.cc | 266 ++-- crawl-ref/source/prebuilt/levcomp.tab.h | 2 +- 3 files changed, 1439 insertions(+), 1127 deletions(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 74e464f4ce..7d0399206f 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -9,7 +9,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 33 +#define YY_FLEX_SUBMINOR_VERSION 34 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -31,7 +31,7 @@ /* C99 systems have . Non-C99 systems may or may not. */ -#if __STDC_VERSION__ >= 199901L +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. @@ -94,11 +94,12 @@ typedef unsigned int flex_uint32_t; #else /* ! __cplusplus */ -#if __STDC__ +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) #define YY_USE_CONST -#endif /* __STDC__ */ +#endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST @@ -194,11 +195,13 @@ extern FILE *yyin, *yyout; /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). + * Given that the standard has decreed that size_t exists since 1989, + * I guess we can afford to depend on it. Manoj. */ #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T -typedef unsigned int yy_size_t; +typedef size_t yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -377,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 69 -#define YY_END_OF_BUFFER 70 +#define YY_NUM_RULES 75 +#define YY_END_OF_BUFFER 76 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -386,111 +389,115 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[936] = +static yyconst flex_int16_t yy_accept[976] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 70, 68, - 65, 66, 67, 63, 64, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 65, 30, 32, 68, 68, 68, 68, 68, 68, - 69, 6, 69, 69, 4, 2, 3, 69, 2, 2, - 2, 2, 9, 10, 69, 9, 9, 69, 12, 69, - 68, 26, 67, 63, 64, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 30, 32, 68, 68, 68, 68, 68, 68, 68, - - 24, 21, 24, 23, 64, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 24, 30, 32, 68, 68, 68, 68, 68, 68, - 14, 15, 67, 13, 13, 13, 13, 13, 13, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 76, 74, + 71, 72, 73, 69, 70, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 71, 36, 38, 74, 74, 74, 74, 74, 74, + 75, 6, 75, 75, 4, 2, 3, 75, 2, 2, + 2, 2, 9, 10, 75, 9, 9, 75, 12, 75, + 74, 71, 32, 73, 69, 70, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 71, 36, 38, 74, 74, 74, 74, + + 74, 74, 74, 28, 23, 28, 27, 70, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 28, 36, 38, 74, 74, + 74, 74, 74, 74, 15, 16, 73, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 14, 13, 13, 13, 13, 13, 17, 19, 20, - 69, 18, 69, 29, 69, 69, 65, 66, 64, 0, + 13, 13, 13, 13, 74, 13, 15, 13, 13, 13, + 13, 13, 75, 21, 22, 75, 20, 75, 75, 35, + 75, 75, 71, 72, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 71, 36, 38, + + 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, + 0, 0, 41, 6, 5, 0, 0, 2, 3, 2, + 0, 2, 2, 2, 2, 9, 9, 10, 9, 9, + 9, 0, 11, 0, 12, 31, 0, 31, 71, 32, + 0, 0, 32, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 0, 30, 31, 71, 31, + 36, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 26, 0, 26, 28, 23, 28, 0, 23, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 0, 25, 0, 26, 28, 26, 36, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 15, 16, 0, 0, + 0, 16, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 0, 14, 13, 15, 13, + 13, 13, 13, 13, 13, 13, 19, 0, 19, 21, + 22, 0, 0, 0, 0, 18, 0, 0, 34, 0, + 34, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 65, 30, 32, 0, 0, 0, 0, 30, 0, - - 0, 0, 0, 0, 0, 0, 35, 6, 5, 0, - 0, 2, 3, 2, 0, 2, 2, 2, 2, 9, - 9, 10, 9, 9, 9, 0, 11, 0, 12, 25, - 0, 26, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 30, 25, 25, 25, - 25, 25, 25, 25, 25, 0, 24, 21, 24, 21, - 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 30, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 9, 9, 9, 7, 0, + 0, 29, 0, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 36, 31, + 31, 31, 31, 31, 31, 0, 24, 0, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 36, 36, 26, 26, 26, 26, 26, + 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 0, 0, 35, 14, 15, 0, 15, 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, 13, 13, 13, 13, 13, 13, 13, 16, - 0, 19, 20, 0, 0, 28, 0, 28, 0, 27, + 13, 13, 0, 17, 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, 2, 9, 9, 9, 7, 0, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 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, 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, + 0, 37, 0, 0, 0, 0, 0, 2, 9, 8, + 0, 9, 7, 0, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, + 0, 31, 31, 31, 31, 26, 26, 26, 26, 26, + + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 0, 0, 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 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, 31, 0, 0, 0, 0, 0, 2, 9, 8, - 0, 9, 7, 0, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, - 0, 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, - 0, 0, 22, 22, 22, 22, 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, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 0, 0, 0, 0, 55, 38, 0, - 0, 0, 0, 0, 0, 47, 0, 0, 0, 34, - 0, 0, 0, 0, 2, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 0, 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, 22, 22, 0, 22, 13, 13, 13, 13, 13, + 62, 0, 0, 0, 0, 0, 0, 61, 44, 0, + 0, 0, 0, 0, 0, 53, 0, 0, 0, 40, + 0, 0, 0, 0, 2, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 0, 31, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 0, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, - 0, 40, 46, 0, 59, 60, 62, 61, 0, 0, - 0, 0, 42, 0, 0, 50, 0, 0, 0, 0, - 0, 37, 1, 25, 25, 25, 25, 25, 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, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 49, 44, 52, 0, - 48, 57, 51, 41, 0, 0, 45, 0, 0, 0, - 0, 1, 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, 13, 13, 13, 13, 13, 13, 13, 0, - 54, 58, 43, 0, 0, 0, 0, 25, 25, 25, - 25, 25, 0, 25, 25, 22, 22, 22, 22, 22, - 0, 22, 22, 13, 13, 13, 53, 0, 33, 0, - - 0, 25, 25, 25, 0, 25, 22, 22, 22, 0, - 22, 13, 0, 36, 25, 25, 22, 22, 13, 0, - 25, 22, 13, 0, 25, 22, 13, 0, 25, 22, - 13, 39, 25, 22, 0 + 0, 46, 52, 0, 65, 66, 68, 67, 0, 0, + 0, 0, 48, 0, 0, 56, 0, 0, 0, 0, + 0, 43, 1, 31, 31, 31, 31, 31, 31, 31, + + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 55, 50, 58, 0, + 54, 63, 57, 47, 0, 0, 51, 0, 0, 0, + 0, 1, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + + 26, 26, 13, 13, 13, 13, 13, 13, 13, 0, + 60, 64, 49, 0, 0, 0, 0, 31, 31, 31, + 31, 31, 0, 31, 31, 26, 26, 26, 26, 26, + 0, 26, 26, 13, 13, 13, 59, 0, 39, 0, + 0, 31, 31, 31, 0, 31, 26, 26, 26, 0, + 26, 13, 0, 42, 31, 31, 26, 26, 13, 0, + 31, 26, 13, 0, 31, 26, 13, 0, 31, 26, + 13, 45, 31, 26, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -534,767 +541,975 @@ static yyconst flex_int32_t yy_meta[49] = 6, 6, 6, 6, 6, 6, 1, 1 } ; -static yyconst flex_int16_t yy_base[957] = +static yyconst flex_int16_t yy_base[995] = { 0, 0, 47, 55, 60, 52, 64, 47, 68, 112, 159, - 206, 253, 300, 347, 74, 80, 70, 159, 2350, 2351, - 87, 2351, 2346, 2351, 2339, 2331, 73, 2331, 2323, 2315, - 85, 2327, 85, 69, 2315, 2319, 2315, 81, 2328, 2323, - 2302, 393, 0, 2351, 155, 2291, 2293, 144, 135, 2287, - 2351, 2351, 2330, 168, 2351, 0, 2351, 2329, 172, 0, - 2307, 241, 2282, 2351, 2326, 135, 2280, 102, 2351, 2324, - 184, 2351, 2323, 188, 192, 262, 268, 275, 354, 358, - 362, 367, 400, 405, 387, 375, 413, 417, 425, 283, - 439, 444, 448, 452, 456, 460, 464, 471, 476, 0, - - 480, 2351, 486, 2351, 2316, 2308, 243, 2308, 2300, 2292, - 246, 2304, 170, 246, 2292, 2296, 2292, 253, 2305, 2300, - 2279, 490, 347, 0, 174, 2268, 2270, 161, 256, 2264, - 494, 2351, 2307, 0, 2300, 2292, 257, 2292, 2284, 2276, - 489, 2288, 270, 354, 2276, 2280, 2276, 343, 2289, 2284, - 2263, 511, 395, 2252, 2254, 332, 391, 426, 515, 2351, - 2292, 2351, 381, 2351, 405, 522, 440, 2351, 2285, 2271, - 2281, 2269, 2264, 461, 2274, 2273, 2258, 510, 2264, 2258, - 2260, 2260, 2252, 2262, 2269, 2266, 2248, 2265, 2259, 448, - 2239, 0, 0, 2351, 2229, 2231, 476, 2225, 0, 374, - - 2238, 2235, 2258, 428, 2229, 2223, 2351, 2351, 2351, 2260, - 525, 0, 2351, 0, 2256, 528, 2244, 2233, 353, 2199, - 2198, 2351, 491, 2197, 538, 533, 2351, 2236, 2351, 542, - 546, 2351, 551, 557, 561, 565, 569, 573, 578, 586, - 592, 598, 602, 606, 610, 614, 623, 627, 634, 638, - 645, 650, 654, 659, 663, 668, 672, 678, 682, 686, - 690, 704, 698, 708, 712, 498, 720, 2351, 726, 2351, - 639, 731, 547, 733, 587, 737, 615, 664, 691, 738, - 739, 749, 754, 762, 655, 755, 764, 766, 768, 775, - 779, 781, 786, 0, 788, 792, 797, 799, 803, 804, - - 805, 810, 811, 821, 2351, 2232, 2351, 0, 2225, 2211, - 2216, 2199, 2184, 574, 2194, 2183, 2168, 686, 2174, 2158, - 2119, 2118, 2110, 2120, 2127, 2124, 2106, 2123, 2117, 798, - 2095, 0, 692, 2091, 2088, 2111, 436, 2060, 2054, 826, - 827, 833, 2351, 2086, 573, 2351, 837, 2351, 846, 2351, - 2074, 2059, 2054, 2049, 2047, 2035, 2036, 2032, 2016, 1994, - 1993, 2001, 1978, 1967, 1975, 1974, 1967, 1961, 1945, 1944, - 1931, 1900, 1907, 1906, 1879, 853, 841, 1872, 1876, 1855, - 1845, 1858, 857, 861, 868, 2351, 872, 878, 882, 888, - 892, 897, 906, 913, 918, 922, 928, 936, 940, 944, - - 948, 953, 957, 962, 968, 978, 982, 986, 990, 998, - 1003, 1007, 1017, 1021, 1025, 1029, 1033, 1037, 893, 898, - 923, 969, 999, 1041, 1042, 1047, 973, 1043, 1048, 1008, - 1055, 1056, 1060, 1064, 1071, 1073, 1078, 1082, 1086, 1092, - 1094, 1096, 1098, 1100, 1104, 1112, 1123, 1116, 1118, 1127, - 1128, 1129, 1133, 1138, 1866, 1849, 1836, 1827, 1838, 1811, - 1807, 1818, 1808, 1785, 1783, 1783, 1769, 1758, 1767, 1769, - 1762, 1755, 1743, 1742, 1729, 1725, 1730, 1733, 1709, 1142, - 1146, 1699, 1706, 1683, 1680, 1695, 1695, 1665, 1676, 1662, - 1656, 1671, 1636, 1635, 1632, 1607, 1614, 1615, 1610, 1605, - - 1578, 1580, 1584, 1577, 1568, 1551, 1566, 1550, 1541, 1516, - 1156, 2351, 1160, 1503, 1495, 1505, 1162, 1515, 1171, 2351, - 1177, 1181, 2351, 1185, 1193, 1164, 1197, 1210, 1216, 1220, - 1201, 1228, 1232, 1237, 1241, 1246, 1257, 1263, 1272, 1276, - 1281, 1285, 1289, 1293, 1306, 1310, 1314, 1319, 1323, 1334, - 1329, 1338, 1343, 1347, 1351, 1221, 1247, 1324, 1355, 1189, - 1356, 1357, 1211, 1294, 1301, 1251, 1361, 1367, 1369, 1382, - 1375, 1384, 1389, 1388, 1394, 1395, 1404, 1400, 1410, 1411, - 1417, 1421, 1423, 1427, 1425, 1429, 1505, 1505, 1484, 1490, - 1479, 1476, 1486, 1463, 1463, 1464, 1447, 1450, 1451, 1452, - - 1448, 1425, 1425, 1430, 1430, 1422, 1388, 1401, 1389, 1370, - 1330, 1325, 1331, 1431, 1336, 1335, 1319, 1331, 1320, 1300, - 2351, 1297, 1291, 1282, 1278, 1256, 1248, 2351, 2351, 1242, - 1241, 1256, 1239, 1232, 1225, 2351, 1202, 1185, 1165, 2351, - 1166, 1163, 1435, 1145, 1144, 1437, 1442, 1446, 1450, 1459, - 1475, 1479, 1485, 1489, 1496, 1500, 1507, 1511, 1515, 1519, - 1523, 1527, 1532, 1539, 1543, 1549, 1553, 1558, 1565, 1569, - 1573, 1577, 1581, 1587, 1591, 1469, 1592, 1596, 1600, 1607, - 1611, 1528, 1616, 1617, 1623, 1627, 1544, 1634, 1598, 1638, - 1639, 1640, 1644, 1645, 1650, 1646, 1655, 1657, 1661, 1662, - - 1669, 1671, 1673, 1675, 1677, 1128, 1140, 1127, 1140, 1139, - 1129, 1131, 1126, 1102, 1101, 1082, 1077, 1061, 1060, 1072, - 1049, 1034, 1041, 1003, 1005, 978, 972, 964, 979, 975, - 969, 2351, 2351, 938, 2351, 2351, 2351, 2351, 944, 937, - 933, 929, 2351, 913, 904, 2351, 902, 889, 847, 850, - 837, 2351, 874, 1683, 1687, 1694, 1698, 1705, 1709, 1713, - 1721, 1725, 1731, 1735, 1739, 1746, 1750, 1757, 1761, 1765, - 1769, 1774, 1783, 1787, 1791, 1795, 1799, 1800, 1804, 1806, - 1714, 1726, 1810, 1770, 1815, 1816, 1817, 1822, 1823, 1832, - 1836, 1838, 1842, 1843, 1847, 1849, 1848, 1855, 1860, 1864, - - 1865, 858, 857, 843, 827, 835, 823, 811, 801, 767, - 767, 762, 750, 714, 715, 702, 2351, 2351, 2351, 723, - 2351, 2351, 2351, 2351, 724, 722, 2351, 716, 699, 1866, - 663, 684, 1870, 1874, 1878, 1882, 1886, 1892, 1896, 1901, - 1905, 1912, 1916, 1921, 1925, 1930, 1934, 1887, 1935, 1939, - 1940, 1941, 1945, 1946, 1947, 1951, 1953, 1952, 1962, 1963, - 1968, 1973, 613, 616, 612, 571, 560, 1974, 529, 547, - 2351, 2351, 2351, 511, 1978, 491, 1979, 1983, 1987, 1992, - 1996, 2000, 2005, 2009, 2014, 2018, 2001, 2022, 2027, 2028, - 2033, 2034, 2035, 512, 476, 2039, 2351, 420, 2351, 2040, - - 376, 2044, 2049, 2053, 2061, 2065, 2045, 2066, 2070, 2071, - 2072, 377, 333, 2351, 2086, 2090, 2091, 2095, 309, 253, - 2100, 2101, 216, 166, 2105, 2109, 142, 99, 2111, 2115, - 59, 2351, 2124, 2128, 2351, 2146, 2152, 2158, 2164, 2170, - 2176, 2182, 2188, 2194, 2200, 2206, 2212, 2218, 2224, 2230, - 2236, 48, 2242, 2248, 2254, 2260 + 206, 253, 300, 347, 74, 169, 70, 79, 2027, 3245, + 82, 3245, 2018, 3245, 2010, 1994, 67, 1994, 1982, 1954, + 82, 1962, 85, 69, 1939, 1940, 1933, 145, 1944, 1935, + 1913, 393, 0, 3245, 155, 1900, 1899, 46, 135, 1887, + 3245, 3245, 1930, 174, 3245, 0, 3245, 1921, 181, 0, + 1893, 147, 1857, 3245, 1897, 56, 1851, 105, 3245, 1889, + 263, 357, 3245, 364, 369, 373, 404, 379, 410, 419, + 414, 433, 443, 453, 458, 466, 472, 477, 487, 495, + 506, 510, 518, 526, 530, 535, 541, 552, 559, 566, + + 570, 574, 255, 578, 3245, 583, 3245, 590, 259, 448, + 602, 591, 606, 614, 623, 638, 639, 353, 640, 622, + 646, 654, 664, 678, 655, 689, 693, 656, 697, 672, + 701, 707, 709, 713, 732, 3245, 744, 0, 1879, 1871, + 163, 1857, 1848, 1836, 173, 1848, 245, 176, 1829, 1830, + 1824, 173, 1831, 1824, 269, 1802, 749, 255, 1773, 1773, + 239, 160, 726, 763, 3245, 767, 3245, 775, 266, 3245, + 347, 780, 192, 3245, 1805, 1786, 1787, 1775, 1770, 268, + 1773, 1772, 1752, 272, 1758, 1750, 1751, 1733, 1719, 1729, + 1736, 1730, 1711, 1727, 1721, 259, 1689, 0, 0, 3245, + + 1667, 1664, 251, 1653, 0, 262, 1666, 1650, 1669, 333, + 1627, 1609, 3245, 3245, 3245, 1642, 360, 0, 3245, 0, + 1636, 423, 1623, 1609, 357, 1584, 1583, 3245, 242, 1581, + 784, 388, 3245, 1621, 3245, 788, 792, 798, 806, 3245, + 811, 823, 3245, 831, 817, 840, 848, 852, 856, 860, + 864, 869, 889, 881, 885, 900, 904, 914, 918, 924, + 929, 936, 943, 947, 955, 967, 3245, 976, 0, 981, + 986, 990, 998, 1002, 1012, 1027, 1035, 1041, 1047, 1051, + 996, 1018, 1058, 1066, 3245, 1072, 1082, 3245, 1087, 1092, + 1097, 1098, 1105, 1107, 1111, 1120, 1131, 1136, 1140, 1144, + + 1146, 1151, 1152, 1162, 1164, 1175, 1184, 1153, 1185, 1190, + 1195, 3245, 1201, 1206, 0, 1216, 1224, 1230, 1234, 1208, + 1241, 1242, 1247, 1249, 1253, 1262, 1296, 3245, 1300, 1304, + 1278, 3245, 0, 1613, 1597, 1605, 1593, 1588, 406, 1592, + 1588, 1573, 419, 1579, 1571, 1567, 1562, 1550, 1560, 1564, + 1557, 1539, 1554, 1546, 332, 1309, 3245, 1525, 0, 457, + 1520, 1513, 1536, 364, 1504, 1497, 1263, 1284, 1315, 1319, + 3245, 1331, 1335, 1325, 1339, 3245, 1350, 464, 3245, 1356, + 3245, 1362, 3245, 1527, 1512, 1499, 1482, 1473, 1462, 1455, + 1466, 1449, 1432, 1431, 1437, 1418, 1404, 1416, 1416, 1412, + + 1407, 1398, 1400, 1380, 1376, 1376, 1357, 1336, 1370, 714, + 1329, 1336, 1318, 1310, 1326, 1374, 1378, 1382, 3245, 1387, + 1393, 3245, 1397, 1401, 1405, 1409, 1413, 1419, 1442, 1448, + 1452, 1457, 1464, 1471, 1477, 1481, 1489, 1495, 1502, 1514, + 1518, 1528, 1535, 1540, 1550, 1554, 1560, 1572, 1585, 1591, + 1579, 1595, 1604, 1608, 1616, 1639, 3245, 1647, 1438, 1623, + 1433, 1496, 1652, 1633, 1503, 1657, 1658, 1659, 1670, 1665, + 1672, 1677, 1681, 1676, 1696, 1690, 1705, 1713, 1712, 1714, + 1718, 1719, 1725, 1757, 1750, 1763, 1731, 1767, 1768, 1769, + 1777, 1337, 1322, 1320, 1302, 1309, 1300, 1292, 1285, 1278, + + 1264, 1267, 1276, 1263, 1250, 1262, 1263, 1257, 1258, 1248, + 1247, 1231, 1229, 1233, 1232, 1197, 1781, 757, 1186, 1198, + 1181, 1175, 1788, 3245, 1800, 1184, 1180, 1161, 1161, 1145, + 1132, 1140, 1115, 1117, 1113, 1100, 1110, 1108, 1111, 1107, + 1087, 1087, 1091, 1092, 1085, 1066, 1083, 1070, 1057, 1036, + 1808, 3245, 829, 1025, 1021, 1031, 1510, 1053, 1819, 3245, + 1823, 1827, 3245, 1831, 1836, 1841, 1846, 1853, 1858, 1875, + 1879, 1889, 1893, 1899, 1904, 1910, 1924, 1933, 1942, 1949, + 1955, 1965, 1959, 1980, 1971, 1984, 1988, 1997, 2003, 2021, + 2009, 2013, 2026, 2032, 2038, 1842, 1917, 2042, 1864, 2047, + + 2049, 2057, 1966, 2063, 2075, 2082, 2086, 1908, 2088, 2092, + 2099, 2104, 2106, 2110, 2114, 2120, 2124, 2130, 2135, 2139, + 2161, 2145, 2149, 2153, 2167, 2168, 1040, 1041, 1018, 1024, + 1013, 1009, 1023, 998, 1003, 1000, 991, 998, 996, 1000, + 999, 977, 973, 981, 976, 968, 953, 966, 955, 942, + 920, 918, 928, 1729, 930, 939, 926, 933, 929, 917, + 3245, 915, 905, 901, 900, 879, 872, 3245, 3245, 868, + 866, 872, 852, 837, 845, 3245, 819, 824, 807, 3245, + 807, 804, 1814, 782, 797, 2174, 2203, 2184, 2215, 2219, + 2178, 2226, 2232, 2236, 2250, 2257, 2267, 2261, 2271, 2275, + + 2279, 2292, 2296, 2300, 2308, 2312, 2329, 2333, 2337, 2341, + 2345, 2349, 2353, 2362, 2366, 2324, 2207, 2370, 2374, 2385, + 2386, 2387, 2391, 2398, 2402, 2419, 2409, 2420, 2426, 2430, + 2431, 2437, 2438, 2448, 2452, 2454, 2444, 2463, 2470, 2476, + 2477, 2485, 2489, 2494, 2495, 790, 802, 779, 795, 788, + 778, 765, 764, 763, 753, 729, 729, 726, 711, 728, + 707, 705, 716, 695, 700, 681, 679, 674, 695, 691, + 679, 3245, 3245, 660, 3245, 3245, 3245, 3245, 674, 665, + 663, 658, 3245, 631, 637, 3245, 626, 617, 587, 594, + 582, 3245, 615, 2501, 2508, 2526, 2530, 2541, 2545, 2549, + + 2555, 2559, 2563, 2570, 2574, 2584, 2588, 2595, 2599, 2603, + 2607, 2620, 2632, 2624, 2638, 2644, 2649, 2653, 2655, 2657, + 2550, 2564, 2667, 2612, 2669, 2673, 2675, 2681, 2688, 2692, + 2698, 2677, 2709, 2710, 2714, 2716, 2730, 2731, 2732, 2738, + 2742, 608, 604, 602, 575, 584, 580, 567, 559, 543, + 545, 549, 540, 507, 514, 504, 3245, 3245, 3245, 525, + 3245, 3245, 3245, 3245, 534, 531, 3245, 526, 525, 2185, + 491, 520, 2747, 2751, 2755, 2764, 2776, 2786, 2790, 2795, + 2799, 2809, 2819, 2824, 2828, 2833, 2838, 2815, 2843, 2844, + 2850, 2852, 2856, 2857, 2861, 2869, 2876, 2862, 2885, 2894, + + 2895, 2901, 502, 508, 506, 497, 495, 2243, 466, 485, + 3245, 3245, 3245, 454, 2902, 440, 2907, 2909, 2916, 2920, + 2926, 2930, 2935, 2941, 2951, 2955, 2942, 2961, 2967, 2973, + 2974, 2979, 2984, 462, 427, 2966, 3245, 419, 3245, 2975, + 386, 2992, 2998, 3010, 3015, 3023, 3027, 3032, 3033, 3034, + 3039, 394, 381, 3245, 3041, 3046, 3047, 3051, 372, 366, + 3070, 3052, 358, 240, 3085, 3075, 162, 157, 3089, 3093, + 81, 3245, 3104, 3095, 3245, 3136, 3142, 3148, 3154, 3160, + 3166, 3172, 3178, 3184, 3190, 3196, 3202, 3208, 3214, 3220, + 3226, 48, 3232, 3238 + } ; -static yyconst flex_int16_t yy_def[957] = +static yyconst flex_int16_t yy_def[995] = { 0, - 935, 1, 936, 937, 938, 938, 939, 939, 935, 9, - 935, 11, 935, 13, 940, 940, 941, 941, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 942, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 943, 935, 944, 935, 935, 945, 944, - 944, 944, 946, 935, 935, 946, 946, 947, 935, 935, - 948, 935, 935, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 949, 948, 948, 948, 948, 948, 948, 948, 950, - - 935, 935, 935, 935, 950, 950, 950, 950, 950, 950, - 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, - 950, 42, 951, 950, 950, 950, 950, 950, 950, 950, - 935, 935, 935, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 42, 952, 952, 952, 952, 952, 953, 935, 935, - 935, 935, 954, 935, 954, 954, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 42, 942, 935, 935, 935, 935, 935, 942, 935, - - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 944, 935, 944, 935, 944, 944, 944, 944, 946, - 946, 935, 946, 946, 946, 947, 935, 935, 935, 948, - 948, 935, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 949, 949, 948, 948, 948, - 948, 948, 948, 948, 948, 955, 935, 935, 935, 935, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 122, 956, 955, 955, 955, 955, 955, - - 955, 955, 955, 935, 935, 935, 935, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 152, 952, 952, 952, 952, 952, 952, 952, 953, - 953, 935, 935, 935, 954, 935, 954, 935, 954, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 944, 946, 946, 946, 935, 935, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 956, 955, 955, 955, 955, - 955, 955, 955, 955, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 944, 946, 935, - 935, 946, 935, 935, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 944, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - - 955, 955, 955, 955, 955, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 952, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 944, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - - 955, 952, 952, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 944, 948, 948, 948, 948, 948, 948, 948, 948, - 948, 948, 948, 948, 948, 948, 948, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 952, 952, 952, 952, 952, 952, 952, 935, - 935, 935, 935, 935, 935, 935, 935, 948, 948, 948, - 948, 948, 948, 948, 948, 955, 955, 955, 955, 955, - 955, 955, 955, 952, 952, 952, 935, 935, 935, 935, - - 935, 948, 948, 948, 948, 948, 955, 955, 955, 955, - 955, 952, 935, 935, 948, 948, 955, 955, 952, 935, - 948, 955, 952, 935, 948, 955, 952, 935, 948, 955, - 952, 935, 948, 955, 0, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935 + 975, 1, 976, 977, 978, 978, 979, 979, 975, 9, + 975, 11, 975, 13, 980, 980, 981, 981, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 982, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 983, 975, 984, 975, 975, 985, 984, + 984, 984, 986, 975, 975, 986, 986, 987, 975, 975, + 988, 975, 975, 975, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 42, 989, 988, 988, 988, 988, 988, + + 988, 988, 990, 975, 975, 975, 975, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 42, 991, 990, 990, 990, + 990, 990, 990, 990, 975, 975, 975, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 975, 992, 42, 992, 992, 992, + 992, 992, 993, 975, 975, 975, 975, 993, 994, 975, + 994, 994, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 42, 982, 975, + + 975, 975, 975, 975, 982, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 984, 975, 984, + 975, 984, 984, 984, 984, 986, 986, 975, 986, 986, + 986, 987, 975, 975, 975, 988, 988, 988, 975, 975, + 975, 975, 975, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 975, 988, 94, 989, + 989, 989, 988, 988, 988, 988, 988, 988, 988, 988, + 990, 990, 990, 975, 975, 975, 975, 975, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 975, 975, 990, 126, 991, 991, 991, 990, 990, + 990, 990, 990, 990, 990, 990, 975, 975, 975, 975, + 975, 975, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 975, 975, 992, 157, 992, + 992, 992, 992, 992, 992, 992, 993, 993, 993, 975, + 975, 975, 975, 975, 993, 975, 975, 994, 975, 994, + 975, 994, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 984, 986, 986, 986, 975, 975, + 988, 975, 975, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 989, 988, + 988, 988, 988, 988, 988, 990, 975, 975, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 991, 982, 990, 990, 990, 990, 990, + 990, 992, 992, 992, 992, 992, 992, 992, 992, 992, + + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 993, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 984, 986, 975, + 975, 986, 975, 975, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 990, 990, 990, 990, 990, + + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 984, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 984, 988, 988, 988, 988, 988, 988, 988, + + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 984, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + + 990, 990, 992, 992, 992, 992, 992, 992, 992, 975, + 975, 975, 975, 975, 975, 975, 975, 988, 988, 988, + 988, 988, 988, 988, 988, 990, 990, 990, 990, 990, + 990, 990, 990, 992, 992, 992, 975, 975, 975, 975, + 975, 988, 988, 988, 988, 988, 990, 990, 990, 990, + 990, 992, 975, 975, 988, 988, 990, 990, 992, 975, + 988, 990, 992, 975, 988, 990, 992, 975, 988, 990, + 992, 975, 988, 990, 0, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975 + } ; -static yyconst flex_int16_t yy_nxt[2400] = +static yyconst flex_int16_t yy_nxt[3294] = { 0, 20, 21, 22, 23, 21, 20, 24, 20, 25, 20, 20, 26, 27, 28, 20, 29, 20, 20, 30, 20, 31, 32, 33, 34, 35, 36, 37, 38, 39, 20, 40, 20, 20, 41, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 42, 69, - 70, 42, 43, 308, 64, 65, 44, 52, 53, 54, - 55, 51, 57, 58, 59, 60, 64, 65, 932, 45, - 69, 70, 164, 165, 61, 159, 160, 161, 159, 182, - 162, 159, 160, 161, 159, 46, 162, 47, 167, 48, - 171, 167, 49, 50, 66, 180, 183, 172, 187, 67, - - 176, 166, 62, 177, 227, 228, 66, 178, 932, 181, - 188, 67, 71, 21, 72, 73, 21, 71, 74, 71, - 75, 71, 71, 76, 77, 78, 71, 79, 71, 71, - 80, 71, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 71, 90, 71, 71, 91, 71, 71, 71, 71, + 70, 42, 43, 333, 64, 65, 44, 52, 53, 54, + 55, 51, 57, 58, 59, 60, 64, 65, 209, 45, + 69, 70, 170, 171, 61, 164, 165, 166, 164, 188, + 167, 170, 171, 173, 177, 46, 173, 47, 210, 48, + 972, 178, 49, 50, 66, 186, 189, 182, 229, 67, + + 183, 172, 62, 230, 184, 168, 66, 233, 234, 187, + 172, 67, 71, 72, 73, 74, 72, 71, 75, 71, + 76, 71, 71, 77, 78, 79, 71, 80, 71, 71, + 81, 71, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 71, 91, 92, 71, 93, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 42, 164, 165, 42, 92, 200, 203, 205, 93, 206, - 208, 210, 211, 209, 213, 215, 216, 223, 931, 181, - 282, 94, 224, 299, 296, 231, 204, 231, 231, 231, - 166, 231, 231, 231, 283, 231, 231, 95, 283, 96, - - 233, 97, 928, 300, 98, 99, 100, 101, 102, 103, - 101, 100, 104, 100, 105, 100, 100, 106, 107, 108, - 100, 109, 100, 100, 110, 100, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 100, 120, 100, 100, 121, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 122, 218, 284, 122, 123, 927, - 273, 278, 124, 231, 279, 231, 231, 274, 280, 231, - 289, 231, 231, 285, 311, 125, 231, 234, 231, 231, - 320, 312, 290, 219, 231, 235, 231, 231, 301, 237, - 302, 126, 236, 127, 321, 128, 924, 254, 129, 130, - - 20, 131, 132, 133, 131, 20, 24, 134, 135, 20, - 134, 136, 137, 138, 134, 139, 134, 134, 140, 134, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 134, - 150, 20, 134, 151, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 20, 20, 152, 923, - 199, 152, 43, 199, 336, 231, 44, 231, 231, 231, - 327, 231, 231, 231, 322, 231, 231, 218, 231, 153, - 231, 231, 328, 920, 337, 238, 231, 240, 231, 231, - 241, 323, 243, 346, 242, 154, 239, 155, 231, 156, - 231, 231, 157, 50, 192, 219, 249, 192, 193, 376, - - 363, 231, 194, 231, 231, 333, 231, 348, 231, 231, - 244, 919, 347, 248, 231, 246, 231, 231, 231, 321, - 231, 231, 914, 338, 245, 339, 231, 341, 231, 231, - 341, 195, 247, 196, 251, 253, 347, 250, 197, 198, - 231, 167, 231, 231, 167, 257, 252, 257, 257, 231, - 203, 231, 231, 231, 913, 231, 231, 231, 336, 231, - 231, 231, 258, 231, 231, 231, 373, 231, 231, 374, - 204, 355, 231, 255, 231, 231, 245, 231, 337, 231, - 231, 267, 268, 269, 267, 356, 261, 269, 270, 269, - 269, 294, 268, 269, 294, 304, 305, 306, 304, 266, - - 259, 260, 266, 263, 316, 264, 262, 317, 205, 912, - 206, 318, 332, 305, 306, 332, 342, 343, 344, 342, - 360, 897, 265, 349, 350, 349, 349, 208, 210, 211, - 213, 215, 216, 223, 361, 227, 228, 899, 224, 385, - 386, 387, 385, 231, 898, 231, 231, 231, 266, 231, - 231, 266, 231, 347, 231, 231, 897, 422, 231, 233, - 231, 231, 231, 896, 231, 231, 231, 895, 231, 231, - 231, 389, 231, 231, 231, 346, 231, 231, 388, 231, - 873, 231, 231, 392, 459, 383, 390, 231, 266, 231, - 231, 266, 394, 231, 391, 231, 231, 393, 460, 231, - - 395, 231, 231, 231, 347, 231, 231, 231, 397, 231, - 231, 231, 424, 231, 231, 231, 266, 231, 231, 266, - 396, 872, 398, 399, 231, 871, 231, 231, 231, 427, - 231, 231, 400, 401, 894, 231, 402, 231, 231, 231, - 266, 231, 231, 266, 405, 404, 231, 420, 231, 231, - 406, 231, 403, 231, 231, 231, 266, 231, 231, 266, - 231, 408, 231, 231, 231, 266, 231, 231, 266, 257, - 409, 257, 257, 257, 407, 257, 257, 410, 428, 231, - 411, 231, 231, 231, 436, 231, 231, 231, 832, 231, - 231, 231, 266, 231, 231, 266, 464, 877, 412, 231, - - 416, 231, 231, 413, 400, 231, 874, 231, 231, 231, - 465, 231, 231, 231, 414, 231, 231, 480, 467, 429, - 415, 267, 268, 269, 267, 873, 261, 269, 268, 269, - 269, 872, 266, 871, 266, 266, 417, 266, 266, 266, - 266, 266, 266, 266, 870, 869, 262, 425, 430, 868, - 266, 418, 421, 266, 423, 266, 266, 867, 266, 266, - 432, 426, 431, 266, 866, 266, 266, 266, 266, 266, - 266, 827, 266, 437, 438, 433, 266, 434, 439, 266, - 266, 865, 266, 266, 435, 266, 441, 266, 864, 295, - 266, 199, 295, 266, 199, 442, 266, 440, 266, 443, - - 266, 266, 444, 266, 266, 266, 266, 266, 266, 266, - 824, 266, 266, 450, 266, 266, 477, 447, 433, 478, - 823, 445, 304, 305, 306, 304, 451, 341, 341, 448, - 341, 341, 822, 449, 342, 343, 344, 342, 349, 350, - 349, 349, 513, 453, 821, 513, 452, 349, 350, 349, - 349, 863, 819, 454, 511, 512, 511, 511, 519, 520, - 521, 519, 522, 523, 524, 522, 818, 817, 347, 385, - 386, 387, 385, 387, 386, 387, 387, 347, 832, 231, - 831, 231, 231, 231, 830, 231, 231, 514, 525, 231, - 829, 231, 231, 231, 266, 231, 231, 266, 231, 266, - - 231, 231, 266, 828, 383, 526, 420, 231, 383, 231, - 231, 827, 527, 529, 231, 221, 231, 231, 826, 231, - 528, 231, 231, 231, 266, 231, 231, 266, 532, 231, - 530, 231, 231, 556, 825, 531, 533, 231, 824, 231, - 231, 231, 823, 231, 231, 231, 822, 231, 231, 231, - 536, 231, 231, 821, 231, 534, 231, 231, 231, 535, - 231, 231, 820, 231, 537, 231, 231, 539, 540, 231, - 266, 231, 231, 266, 266, 538, 541, 266, 819, 231, - 542, 231, 231, 231, 818, 231, 231, 231, 817, 231, - 231, 231, 557, 231, 231, 562, 816, 544, 543, 231, - - 266, 231, 231, 266, 231, 815, 231, 231, 231, 266, - 231, 231, 266, 545, 547, 548, 814, 546, 550, 512, - 550, 550, 551, 558, 231, 551, 231, 813, 231, 231, - 231, 812, 231, 231, 231, 565, 231, 231, 231, 549, - 231, 231, 266, 266, 266, 266, 266, 266, 266, 266, - 746, 266, 266, 563, 413, 811, 266, 266, 560, 266, - 266, 266, 564, 553, 266, 266, 567, 552, 266, 559, - 554, 561, 266, 810, 266, 266, 555, 266, 566, 266, - 568, 743, 266, 266, 571, 570, 266, 266, 809, 808, - 266, 569, 572, 266, 573, 266, 266, 266, 266, 266, - - 266, 266, 266, 807, 266, 266, 574, 575, 266, 806, - 738, 737, 579, 295, 578, 199, 295, 582, 199, 266, - 582, 576, 266, 577, 581, 512, 511, 581, 266, 266, - 266, 266, 266, 266, 266, 736, 580, 266, 450, 266, - 735, 805, 266, 511, 512, 511, 511, 513, 733, 732, - 513, 451, 447, 804, 803, 802, 584, 511, 512, 511, - 511, 513, 583, 643, 513, 231, 643, 231, 231, 753, - 585, 452, 519, 520, 521, 519, 647, 586, 521, 520, - 521, 521, 522, 523, 524, 522, 524, 523, 524, 524, - 266, 752, 514, 266, 231, 751, 231, 231, 231, 750, - - 231, 231, 231, 749, 231, 231, 514, 748, 644, 646, - 652, 231, 266, 231, 231, 266, 680, 231, 221, 231, - 231, 231, 266, 231, 231, 266, 648, 649, 221, 231, - 747, 231, 231, 231, 746, 231, 231, 676, 231, 683, - 231, 231, 231, 650, 231, 231, 651, 231, 266, 231, - 231, 266, 266, 745, 654, 266, 653, 655, 231, 677, - 231, 231, 657, 744, 231, 743, 231, 231, 656, 742, - 741, 658, 659, 231, 740, 231, 231, 231, 686, 231, - 231, 660, 231, 739, 231, 231, 231, 738, 231, 231, - 231, 737, 231, 231, 231, 266, 231, 231, 266, 663, - - 736, 664, 266, 661, 662, 266, 735, 231, 665, 231, - 231, 231, 734, 231, 231, 231, 684, 231, 231, 667, - 231, 685, 231, 231, 231, 266, 231, 231, 266, 733, - 551, 668, 231, 551, 666, 550, 512, 550, 550, 231, - 732, 231, 231, 669, 231, 731, 231, 231, 231, 730, - 231, 231, 674, 678, 231, 674, 266, 266, 266, 266, - 266, 266, 266, 729, 728, 266, 682, 670, 266, 727, - 266, 266, 679, 266, 726, 552, 266, 687, 689, 266, - 673, 688, 681, 266, 671, 266, 266, 672, 266, 266, - 266, 690, 266, 266, 725, 266, 266, 675, 266, 266, - - 694, 266, 691, 693, 266, 266, 724, 692, 266, 695, - 636, 266, 266, 697, 266, 266, 723, 698, 581, 512, - 511, 581, 582, 696, 266, 582, 266, 266, 266, 266, - 704, 266, 643, 704, 699, 643, 643, 722, 231, 643, - 231, 231, 721, 231, 720, 231, 231, 231, 719, 231, - 231, 231, 718, 231, 231, 700, 755, 629, 703, 757, - 231, 628, 231, 231, 754, 717, 716, 583, 758, 701, - 266, 702, 756, 266, 715, 705, 231, 644, 231, 231, - 231, 644, 231, 231, 714, 713, 231, 759, 231, 231, - 231, 712, 231, 231, 760, 621, 778, 231, 761, 231, - - 231, 231, 711, 231, 231, 762, 710, 709, 231, 763, - 231, 231, 231, 708, 231, 231, 231, 707, 231, 231, - 231, 706, 231, 231, 231, 645, 231, 231, 231, 266, - 231, 231, 266, 231, 764, 231, 231, 765, 642, 641, - 231, 768, 231, 231, 231, 266, 231, 231, 266, 640, - 231, 766, 231, 231, 231, 767, 231, 231, 771, 231, - 639, 231, 231, 769, 770, 638, 231, 637, 231, 231, - 231, 788, 231, 231, 231, 636, 231, 231, 231, 635, - 231, 231, 231, 634, 231, 231, 772, 773, 674, 633, - 231, 674, 231, 266, 231, 231, 266, 266, 632, 266, - - 266, 266, 266, 631, 266, 630, 779, 774, 266, 781, - 775, 266, 266, 776, 629, 266, 782, 266, 266, 628, - 266, 266, 780, 783, 266, 784, 785, 266, 266, 627, - 626, 266, 786, 675, 625, 266, 787, 777, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 624, 792, 266, 795, 266, 623, 266, 266, - 789, 266, 266, 266, 622, 266, 266, 790, 791, 793, - 266, 794, 266, 266, 266, 266, 704, 266, 266, 704, - 621, 266, 620, 797, 231, 796, 231, 231, 231, 619, - 231, 231, 833, 618, 617, 231, 834, 231, 231, 231, - - 798, 231, 231, 835, 799, 800, 231, 616, 231, 231, - 231, 615, 231, 231, 231, 266, 231, 231, 266, 614, - 613, 705, 231, 801, 231, 231, 231, 266, 231, 231, - 266, 480, 231, 836, 231, 231, 231, 612, 231, 231, - 231, 611, 231, 231, 837, 610, 609, 231, 838, 231, - 231, 231, 608, 231, 231, 839, 607, 606, 231, 840, - 231, 231, 231, 605, 231, 231, 231, 604, 231, 231, - 231, 266, 231, 231, 266, 231, 603, 231, 231, 842, - 602, 601, 841, 843, 231, 600, 231, 231, 231, 599, - 231, 231, 231, 598, 231, 231, 231, 844, 231, 231, - - 231, 266, 231, 231, 266, 266, 597, 266, 266, 848, - 266, 266, 596, 849, 266, 850, 266, 266, 266, 266, - 266, 266, 595, 266, 266, 846, 266, 266, 594, 593, - 845, 852, 853, 266, 851, 592, 266, 266, 847, 266, - 266, 854, 266, 266, 266, 855, 266, 266, 266, 266, - 266, 266, 266, 266, 591, 590, 266, 857, 858, 266, - 589, 266, 859, 856, 266, 266, 266, 875, 266, 266, - 875, 231, 588, 231, 231, 231, 587, 231, 231, 231, - 518, 231, 231, 231, 517, 231, 231, 231, 266, 231, - 231, 266, 516, 231, 861, 231, 231, 231, 860, 231, - - 231, 376, 231, 878, 231, 231, 231, 862, 231, 231, - 515, 510, 876, 231, 879, 231, 231, 231, 509, 231, - 231, 880, 231, 508, 231, 231, 231, 507, 231, 231, - 881, 883, 882, 231, 883, 231, 266, 231, 231, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 506, 505, - 887, 886, 888, 266, 266, 504, 266, 266, 885, 891, - 890, 889, 891, 503, 266, 875, 884, 266, 875, 875, - 900, 502, 875, 900, 231, 501, 231, 231, 231, 500, - 231, 231, 902, 231, 499, 231, 231, 231, 498, 231, - - 231, 231, 266, 231, 231, 266, 883, 893, 231, 883, - 231, 497, 231, 231, 892, 905, 496, 231, 905, 266, - 876, 495, 266, 266, 876, 901, 266, 907, 266, 266, - 494, 266, 266, 903, 891, 266, 910, 891, 266, 910, - 900, 900, 493, 900, 900, 231, 266, 231, 231, 266, - 231, 884, 231, 231, 231, 904, 231, 231, 492, 491, - 906, 908, 905, 490, 231, 905, 231, 266, 231, 231, - 266, 266, 910, 266, 266, 910, 266, 489, 488, 892, - 909, 911, 487, 915, 486, 901, 901, 231, 343, 231, - 231, 231, 266, 231, 231, 266, 266, 485, 484, 266, - - 917, 231, 266, 231, 231, 266, 231, 906, 231, 231, - 266, 916, 231, 266, 231, 231, 266, 911, 918, 266, - 933, 483, 482, 481, 934, 231, 921, 231, 231, 266, - 479, 922, 266, 476, 475, 474, 473, 472, 471, 470, - 469, 929, 468, 925, 926, 930, 51, 51, 51, 51, + 94, 224, 193, 94, 95, 206, 972, 211, 96, 212, + 164, 165, 166, 164, 194, 167, 214, 216, 217, 187, + 336, 97, 215, 219, 221, 222, 347, 337, 341, 225, + 352, 342, 365, 173, 366, 343, 173, 98, 971, 99, + + 168, 100, 353, 348, 101, 102, 103, 104, 105, 106, + 104, 103, 107, 103, 108, 103, 103, 109, 110, 111, + 103, 112, 103, 103, 113, 103, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 103, 123, 124, 103, 125, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 126, 345, 282, 126, 127, 282, + 282, 363, 128, 282, 237, 360, 237, 237, 379, 346, + 356, 357, 356, 356, 290, 129, 968, 406, 388, 346, + 407, 364, 393, 211, 229, 212, 283, 409, 396, 230, + 283, 130, 389, 131, 238, 132, 394, 380, 133, 134, + + 20, 135, 136, 137, 135, 20, 24, 138, 139, 20, + 138, 140, 141, 142, 138, 143, 138, 138, 144, 138, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 138, + 154, 155, 138, 156, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 20, 20, 157, 381, + 514, 157, 43, 515, 282, 209, 44, 282, 239, 240, + 241, 239, 214, 216, 217, 241, 243, 241, 241, 158, + 237, 224, 237, 237, 237, 210, 237, 237, 380, 304, + 237, 244, 237, 237, 283, 159, 363, 160, 242, 161, + 233, 234, 162, 50, 198, 242, 246, 198, 199, 225, + + 238, 967, 200, 247, 238, 237, 364, 237, 237, 964, + 238, 237, 963, 237, 237, 237, 496, 237, 237, 245, + 237, 960, 237, 237, 248, 219, 221, 222, 959, 501, + 497, 201, 954, 202, 237, 238, 237, 237, 203, 204, + 249, 238, 250, 502, 237, 238, 237, 237, 251, 282, + 238, 252, 282, 953, 237, 253, 237, 237, 254, 237, + 952, 237, 237, 255, 238, 291, 379, 237, 257, 237, + 237, 937, 292, 237, 238, 237, 237, 256, 237, 283, + 237, 237, 517, 504, 238, 258, 939, 938, 237, 238, + 237, 237, 259, 260, 937, 380, 237, 238, 237, 237, + + 936, 261, 935, 238, 262, 264, 913, 237, 238, 237, + 237, 266, 267, 266, 266, 912, 263, 911, 238, 237, + 265, 237, 237, 934, 872, 917, 238, 269, 240, 241, + 269, 271, 914, 271, 271, 913, 237, 238, 237, 237, + 912, 238, 237, 911, 237, 237, 910, 909, 908, 238, + 907, 273, 268, 237, 906, 237, 237, 242, 867, 905, + 237, 272, 237, 237, 904, 256, 238, 237, 864, 237, + 237, 237, 238, 237, 237, 237, 863, 237, 237, 284, + 285, 286, 284, 238, 286, 288, 286, 286, 276, 862, + 238, 282, 282, 861, 282, 282, 274, 238, 289, 903, + + 275, 238, 278, 282, 279, 238, 282, 282, 277, 287, + 282, 859, 294, 858, 287, 282, 293, 857, 282, 872, + 280, 283, 283, 282, 282, 871, 282, 282, 870, 296, + 869, 868, 297, 283, 295, 867, 298, 283, 299, 282, + 282, 282, 282, 282, 282, 283, 306, 282, 300, 302, + 282, 866, 865, 283, 283, 282, 282, 282, 282, 282, + 282, 305, 301, 307, 309, 282, 303, 864, 282, 283, + 283, 283, 863, 282, 862, 308, 282, 283, 310, 311, + 312, 313, 311, 861, 860, 283, 283, 283, 859, 314, + 315, 285, 286, 315, 317, 283, 205, 317, 282, 205, + + 858, 282, 282, 283, 857, 282, 856, 319, 282, 283, + 282, 282, 855, 282, 282, 553, 320, 282, 553, 854, + 287, 301, 853, 852, 318, 786, 851, 368, 283, 322, + 368, 850, 283, 327, 328, 329, 327, 783, 283, 849, + 283, 324, 321, 325, 283, 331, 332, 331, 331, 323, + 359, 328, 329, 359, 848, 847, 846, 369, 553, 326, + 554, 553, 778, 330, 370, 371, 372, 370, 374, 371, + 374, 374, 777, 776, 775, 330, 375, 376, 377, 375, + 330, 382, 383, 382, 382, 418, 419, 420, 418, 237, + 845, 237, 237, 237, 373, 237, 237, 773, 373, 421, + + 422, 421, 421, 554, 772, 844, 369, 239, 240, 241, + 239, 380, 241, 240, 241, 241, 843, 842, 237, 238, + 237, 237, 793, 238, 423, 267, 423, 423, 792, 238, + 553, 416, 237, 553, 237, 237, 791, 242, 424, 244, + 790, 237, 242, 237, 237, 789, 788, 787, 238, 237, + 425, 237, 237, 237, 786, 237, 237, 237, 785, 237, + 237, 237, 238, 237, 237, 237, 428, 237, 237, 426, + 237, 238, 237, 237, 430, 554, 784, 427, 431, 238, + 429, 783, 237, 238, 237, 237, 237, 238, 237, 237, + 237, 238, 237, 237, 782, 238, 781, 432, 780, 433, + + 238, 237, 435, 237, 237, 237, 779, 237, 237, 778, + 777, 436, 238, 434, 776, 237, 238, 237, 237, 237, + 238, 237, 237, 437, 775, 237, 438, 237, 237, 774, + 237, 238, 237, 237, 441, 238, 440, 237, 773, 237, + 237, 442, 772, 439, 237, 238, 237, 237, 237, 238, + 237, 237, 771, 770, 444, 238, 237, 769, 237, 237, + 238, 768, 767, 445, 766, 443, 765, 238, 266, 267, + 266, 266, 764, 446, 238, 676, 447, 237, 238, 237, + 237, 763, 271, 762, 271, 271, 238, 271, 761, 271, + 271, 449, 422, 449, 449, 760, 759, 282, 238, 237, + + 282, 237, 237, 237, 758, 237, 237, 238, 669, 668, + 757, 448, 272, 237, 756, 237, 237, 272, 755, 282, + 754, 272, 282, 450, 436, 753, 752, 283, 237, 238, + 237, 237, 661, 238, 451, 751, 237, 453, 237, 237, + 750, 749, 237, 238, 237, 237, 452, 748, 237, 283, + 237, 237, 237, 747, 237, 237, 746, 276, 238, 456, + 457, 458, 456, 685, 682, 681, 238, 284, 285, 286, + 284, 680, 238, 286, 285, 286, 286, 277, 238, 454, + 679, 678, 238, 313, 312, 313, 313, 677, 282, 283, + 455, 282, 676, 282, 675, 289, 282, 287, 282, 282, + + 674, 282, 282, 287, 673, 672, 282, 460, 282, 282, + 671, 282, 282, 459, 670, 282, 669, 463, 283, 461, + 668, 282, 667, 283, 282, 465, 666, 665, 283, 283, + 462, 464, 282, 664, 466, 282, 283, 282, 283, 663, + 282, 282, 283, 662, 282, 282, 468, 282, 282, 661, + 282, 283, 282, 282, 282, 282, 282, 282, 660, 467, + 469, 470, 283, 282, 479, 282, 282, 283, 282, 472, + 471, 283, 659, 473, 476, 283, 282, 283, 658, 282, + 475, 474, 283, 283, 283, 282, 282, 477, 282, 282, + 657, 282, 656, 283, 282, 283, 311, 312, 313, 311, + + 655, 480, 313, 312, 313, 313, 283, 282, 481, 282, + 282, 482, 282, 478, 654, 283, 283, 317, 653, 205, + 317, 283, 205, 517, 652, 317, 283, 205, 317, 651, + 205, 484, 457, 485, 484, 282, 205, 283, 282, 283, + 487, 483, 282, 282, 650, 282, 282, 318, 282, 649, + 282, 282, 489, 282, 282, 318, 648, 282, 647, 486, + 471, 318, 646, 282, 368, 283, 282, 368, 645, 322, + 644, 643, 283, 283, 642, 488, 641, 640, 283, 331, + 283, 331, 331, 639, 283, 368, 638, 490, 368, 323, + 637, 636, 635, 283, 369, 634, 491, 327, 328, 329, + + 327, 331, 328, 331, 331, 356, 357, 356, 356, 330, + 356, 357, 356, 356, 633, 369, 523, 524, 525, 523, + 370, 371, 372, 370, 632, 631, 374, 330, 374, 374, + 630, 330, 374, 371, 374, 374, 377, 376, 377, 377, + 375, 376, 377, 375, 629, 628, 369, 627, 558, 557, + 373, 377, 376, 377, 377, 556, 373, 382, 383, 382, + 382, 409, 373, 382, 383, 382, 382, 555, 550, 549, + 369, 551, 552, 551, 551, 559, 560, 561, 559, 562, + 563, 564, 562, 418, 419, 420, 418, 380, 420, 419, + 420, 420, 548, 380, 421, 422, 421, 421, 423, 267, + + 423, 423, 237, 547, 237, 237, 237, 546, 237, 237, + 237, 565, 237, 237, 237, 545, 237, 237, 544, 543, + 237, 416, 237, 237, 238, 416, 542, 541, 566, 227, + 540, 539, 238, 567, 282, 569, 238, 282, 538, 282, + 238, 568, 282, 237, 238, 237, 237, 537, 596, 237, + 238, 237, 237, 237, 536, 237, 237, 598, 237, 535, + 237, 237, 572, 534, 283, 237, 570, 237, 237, 283, + 571, 573, 237, 238, 237, 237, 533, 532, 237, 238, + 237, 237, 237, 238, 237, 237, 531, 576, 238, 530, + 237, 574, 237, 237, 575, 238, 237, 282, 237, 237, + + 282, 577, 238, 237, 282, 237, 237, 282, 238, 579, + 529, 683, 238, 580, 683, 237, 578, 237, 237, 237, + 238, 237, 237, 528, 599, 602, 238, 283, 581, 237, + 582, 237, 237, 238, 283, 527, 237, 526, 237, 237, + 522, 237, 521, 237, 237, 238, 520, 519, 583, 238, + 584, 237, 518, 237, 237, 237, 684, 237, 237, 238, + 516, 237, 513, 237, 237, 512, 238, 585, 511, 510, + 587, 238, 588, 237, 509, 237, 237, 586, 508, 507, + 591, 238, 237, 591, 506, 238, 449, 422, 449, 449, + 505, 238, 590, 552, 590, 590, 237, 504, 237, 237, + + 503, 500, 499, 238, 589, 237, 498, 237, 237, 237, + 238, 237, 237, 495, 494, 493, 272, 237, 492, 237, + 237, 334, 238, 233, 282, 592, 238, 282, 417, 450, + 416, 227, 223, 593, 282, 238, 415, 282, 219, 238, + 456, 457, 458, 456, 214, 594, 597, 238, 458, 457, + 458, 458, 414, 282, 283, 595, 282, 601, 282, 282, + 282, 282, 282, 282, 283, 413, 282, 603, 600, 282, + 283, 282, 604, 282, 282, 607, 282, 282, 282, 412, + 282, 282, 282, 283, 411, 282, 605, 611, 283, 283, + 283, 282, 608, 606, 282, 610, 283, 282, 410, 213, + + 282, 283, 613, 283, 609, 208, 282, 283, 283, 282, + 612, 207, 283, 282, 282, 282, 282, 282, 282, 282, + 282, 283, 282, 282, 408, 614, 282, 283, 615, 282, + 683, 619, 622, 683, 618, 622, 283, 405, 404, 616, + 403, 617, 402, 283, 283, 283, 401, 400, 399, 283, + 283, 485, 457, 485, 485, 398, 283, 620, 484, 457, + 485, 484, 283, 205, 621, 552, 551, 621, 282, 282, + 282, 282, 282, 282, 397, 684, 396, 623, 282, 395, + 392, 282, 551, 552, 551, 551, 391, 390, 318, 523, + 524, 525, 523, 486, 283, 387, 386, 385, 283, 283, + + 283, 525, 524, 525, 525, 624, 625, 384, 283, 551, + 552, 551, 551, 175, 362, 683, 626, 361, 683, 369, + 559, 560, 561, 559, 561, 560, 561, 561, 562, 563, + 564, 562, 564, 563, 564, 564, 358, 237, 355, 237, + 237, 354, 237, 282, 237, 237, 282, 237, 351, 237, + 237, 350, 686, 687, 237, 349, 237, 237, 716, 237, + 684, 237, 237, 344, 340, 282, 227, 238, 282, 339, + 689, 338, 238, 283, 227, 688, 237, 238, 237, 237, + 237, 719, 237, 237, 238, 690, 335, 334, 692, 238, + 237, 235, 237, 237, 237, 283, 237, 237, 231, 228, + + 237, 691, 237, 237, 227, 237, 238, 237, 237, 282, + 238, 237, 282, 237, 237, 694, 223, 693, 282, 695, + 238, 282, 728, 219, 238, 237, 697, 237, 237, 717, + 238, 696, 214, 213, 237, 238, 237, 237, 698, 283, + 208, 238, 699, 237, 207, 237, 237, 197, 283, 196, + 237, 700, 237, 237, 195, 238, 237, 192, 237, 237, + 237, 191, 237, 237, 238, 190, 237, 282, 237, 237, + 282, 704, 237, 238, 237, 237, 701, 185, 702, 703, + 238, 237, 181, 237, 237, 237, 238, 237, 237, 237, + 238, 237, 237, 707, 723, 705, 238, 283, 237, 706, + + 237, 237, 238, 180, 237, 708, 237, 237, 179, 176, + 591, 238, 237, 591, 237, 238, 237, 237, 175, 238, + 174, 709, 590, 552, 590, 590, 975, 237, 238, 237, + 237, 975, 975, 237, 238, 237, 237, 975, 975, 714, + 238, 237, 714, 282, 238, 975, 282, 710, 282, 975, + 282, 282, 238, 282, 975, 592, 975, 238, 282, 711, + 975, 282, 975, 238, 282, 713, 722, 282, 975, 238, + 712, 718, 975, 283, 720, 721, 282, 975, 283, 282, + 283, 975, 975, 282, 715, 724, 282, 282, 283, 282, + 282, 975, 282, 282, 283, 725, 282, 729, 975, 975, + + 282, 730, 727, 282, 975, 282, 283, 282, 282, 726, + 282, 282, 975, 283, 282, 282, 975, 283, 282, 283, + 733, 282, 734, 283, 282, 282, 731, 732, 282, 735, + 283, 282, 975, 737, 282, 283, 282, 283, 975, 282, + 282, 283, 975, 282, 975, 283, 622, 738, 736, 622, + 282, 283, 975, 282, 282, 283, 975, 282, 975, 739, + 975, 283, 621, 552, 551, 621, 283, 975, 282, 744, + 283, 282, 744, 975, 975, 237, 283, 237, 237, 237, + 283, 237, 237, 740, 283, 237, 915, 237, 237, 915, + 799, 623, 283, 975, 975, 741, 975, 742, 283, 283, + + 743, 794, 975, 975, 237, 238, 237, 237, 282, 238, + 796, 282, 975, 975, 745, 238, 237, 795, 237, 237, + 237, 819, 237, 237, 797, 975, 975, 237, 798, 237, + 237, 916, 975, 237, 238, 237, 237, 237, 283, 237, + 237, 800, 975, 975, 915, 801, 238, 915, 975, 975, + 238, 237, 975, 237, 237, 975, 975, 238, 237, 802, + 237, 237, 237, 238, 237, 237, 803, 238, 237, 975, + 237, 237, 237, 975, 237, 237, 237, 975, 237, 237, + 237, 238, 237, 237, 975, 975, 975, 805, 238, 916, + 975, 975, 238, 237, 804, 237, 237, 237, 238, 237, + + 237, 237, 238, 237, 237, 808, 238, 806, 975, 237, + 238, 237, 237, 237, 975, 237, 237, 975, 975, 975, + 807, 811, 975, 238, 809, 282, 975, 238, 282, 810, + 237, 238, 237, 237, 237, 975, 237, 237, 237, 238, + 237, 237, 237, 238, 237, 237, 237, 975, 237, 237, + 237, 818, 237, 237, 237, 283, 237, 237, 975, 813, + 238, 812, 975, 714, 238, 237, 714, 237, 238, 237, + 237, 282, 238, 975, 282, 282, 238, 975, 282, 814, + 238, 975, 815, 821, 238, 816, 282, 282, 282, 282, + 282, 282, 282, 238, 822, 282, 820, 238, 823, 282, + + 824, 283, 282, 282, 975, 283, 282, 825, 715, 975, + 282, 826, 817, 282, 975, 975, 283, 283, 283, 975, + 282, 282, 283, 282, 282, 975, 975, 282, 827, 283, + 282, 282, 282, 283, 282, 282, 828, 975, 282, 282, + 283, 282, 282, 975, 975, 282, 829, 832, 282, 282, + 283, 283, 282, 282, 975, 282, 282, 283, 282, 830, + 975, 283, 283, 835, 282, 831, 975, 282, 283, 283, + 975, 282, 833, 834, 282, 283, 975, 282, 282, 283, + 282, 282, 975, 283, 975, 283, 282, 975, 975, 282, + 282, 836, 837, 282, 283, 744, 282, 975, 744, 282, + + 975, 283, 237, 975, 237, 237, 975, 283, 283, 237, + 873, 237, 237, 975, 838, 975, 283, 874, 839, 975, + 283, 840, 975, 975, 975, 283, 283, 237, 975, 237, + 237, 237, 238, 237, 237, 875, 975, 975, 975, 238, + 745, 841, 237, 975, 237, 237, 237, 975, 237, 237, + 237, 282, 237, 237, 282, 975, 237, 238, 237, 237, + 237, 238, 237, 237, 237, 282, 237, 237, 282, 876, + 975, 237, 238, 237, 237, 237, 238, 237, 237, 877, + 238, 283, 975, 878, 975, 237, 238, 237, 237, 237, + 238, 237, 237, 879, 238, 283, 237, 880, 237, 237, + + 237, 238, 237, 237, 237, 238, 237, 237, 237, 975, + 237, 237, 975, 282, 975, 238, 282, 882, 975, 238, + 881, 237, 975, 237, 237, 237, 238, 237, 237, 883, + 238, 975, 975, 237, 238, 237, 237, 975, 238, 237, + 975, 237, 237, 283, 975, 237, 884, 237, 237, 975, + 237, 238, 237, 237, 282, 238, 282, 282, 282, 282, + 975, 282, 888, 238, 889, 975, 890, 885, 282, 238, + 282, 282, 886, 282, 282, 238, 282, 282, 282, 282, + 238, 282, 282, 975, 283, 282, 283, 887, 283, 282, + 892, 891, 282, 282, 975, 975, 282, 893, 283, 282, + + 283, 894, 282, 975, 283, 975, 283, 895, 283, 975, + 282, 282, 283, 282, 282, 282, 975, 282, 282, 283, + 282, 975, 975, 283, 897, 898, 975, 975, 975, 283, + 896, 282, 282, 282, 282, 282, 282, 975, 975, 282, + 283, 283, 282, 282, 899, 283, 282, 283, 237, 975, + 237, 237, 237, 975, 237, 237, 237, 975, 237, 237, + 975, 283, 283, 283, 975, 237, 901, 237, 237, 283, + 975, 975, 975, 283, 900, 975, 975, 237, 238, 237, + 237, 902, 238, 975, 975, 918, 238, 237, 975, 237, + 237, 237, 975, 237, 237, 238, 237, 975, 237, 237, + + 237, 975, 237, 237, 975, 975, 975, 238, 919, 975, + 237, 975, 237, 237, 975, 975, 282, 238, 920, 282, + 237, 238, 237, 237, 975, 237, 238, 237, 237, 237, + 238, 237, 237, 921, 923, 922, 237, 923, 975, 237, + 238, 237, 237, 975, 282, 282, 283, 282, 282, 975, + 238, 282, 975, 282, 282, 238, 282, 282, 282, 238, + 282, 282, 282, 282, 238, 282, 282, 975, 975, 238, + 282, 926, 925, 282, 283, 283, 975, 282, 927, 924, + 282, 283, 975, 283, 975, 928, 282, 283, 283, 282, + 975, 975, 283, 283, 929, 282, 931, 975, 282, 931, + + 283, 930, 282, 915, 975, 282, 915, 283, 940, 975, + 237, 940, 237, 237, 975, 975, 283, 237, 942, 237, + 237, 237, 975, 237, 237, 283, 283, 237, 975, 237, + 237, 237, 283, 237, 237, 933, 923, 975, 237, 923, + 238, 932, 237, 282, 237, 237, 282, 238, 916, 975, + 975, 238, 945, 941, 237, 945, 282, 238, 975, 282, + 975, 238, 282, 943, 947, 282, 238, 940, 282, 975, + 940, 282, 238, 283, 282, 931, 940, 282, 931, 940, + 282, 924, 238, 282, 975, 950, 283, 944, 950, 975, + 975, 975, 283, 237, 975, 237, 237, 946, 283, 237, + + 975, 237, 237, 975, 283, 283, 948, 975, 975, 975, + 283, 237, 941, 237, 237, 283, 945, 975, 237, 945, + 932, 941, 975, 238, 237, 949, 237, 237, 282, 238, + 951, 282, 955, 282, 282, 950, 282, 282, 950, 975, + 282, 238, 237, 282, 237, 237, 238, 237, 282, 237, + 237, 282, 282, 282, 238, 282, 282, 975, 283, 975, + 975, 946, 975, 283, 283, 283, 957, 975, 975, 956, + 283, 237, 238, 237, 237, 975, 282, 238, 283, 282, + 951, 961, 283, 283, 975, 958, 237, 962, 237, 237, + 237, 975, 237, 237, 282, 966, 282, 282, 973, 282, + + 975, 238, 974, 975, 975, 237, 283, 237, 237, 975, + 975, 970, 975, 965, 975, 975, 238, 975, 975, 975, + 238, 969, 975, 975, 283, 975, 283, 975, 975, 975, + 975, 975, 975, 975, 975, 238, 51, 51, 51, 51, 51, 51, 56, 56, 56, 56, 56, 56, 63, 63, 63, 63, 63, 63, 68, 68, 68, 68, 68, 68, - 158, 158, 158, 158, 158, 158, 163, 163, 163, 163, - 163, 163, 199, 199, 467, 199, 199, 199, 209, 209, - 209, 209, 209, 209, 212, 466, 463, 462, 212, 212, - - 214, 214, 214, 214, 214, 214, 220, 220, 461, 458, - 220, 220, 226, 226, 226, 226, 226, 226, 230, 230, - 457, 230, 230, 230, 256, 256, 456, 256, 256, 256, - 266, 266, 455, 309, 305, 266, 295, 295, 227, 295, - 295, 295, 340, 340, 384, 383, 221, 340, 345, 345, - 345, 345, 345, 345, 419, 419, 217, 382, 213, 419, - 446, 446, 208, 446, 446, 446, 381, 380, 379, 378, - 377, 207, 202, 201, 375, 372, 371, 370, 369, 368, - 367, 366, 365, 364, 363, 362, 359, 358, 357, 354, - 353, 352, 351, 169, 343, 335, 334, 331, 330, 329, - - 326, 325, 324, 319, 315, 314, 313, 310, 309, 307, - 303, 298, 297, 293, 292, 291, 288, 287, 286, 281, - 277, 276, 275, 272, 271, 232, 229, 225, 222, 221, - 217, 213, 208, 207, 202, 201, 191, 190, 189, 186, - 185, 184, 179, 175, 174, 173, 170, 169, 168, 935, - 19, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935 + 163, 163, 163, 163, 163, 163, 169, 169, 169, 169, + 169, 169, 205, 205, 975, 205, 205, 205, 215, 215, + 215, 215, 215, 215, 218, 975, 975, 975, 218, 218, + 220, 220, 220, 220, 220, 220, 226, 226, 975, 975, + + 226, 226, 232, 232, 232, 232, 232, 232, 236, 236, + 975, 236, 236, 236, 270, 270, 975, 270, 270, 270, + 281, 281, 975, 975, 975, 281, 316, 316, 975, 316, + 316, 316, 367, 367, 975, 975, 975, 367, 378, 378, + 378, 378, 378, 378, 19, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975 } ; -static yyconst flex_int16_t yy_chk[2400] = +static yyconst flex_int16_t yy_chk[3294] = { 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, 2, 7, - 7, 2, 2, 952, 5, 5, 2, 3, 3, 3, - 3, 4, 4, 4, 4, 4, 6, 6, 931, 2, + 7, 2, 2, 992, 5, 5, 2, 3, 3, 3, + 3, 4, 4, 4, 4, 4, 6, 6, 48, 2, 8, 8, 17, 17, 4, 15, 15, 15, 15, 34, - 15, 16, 16, 16, 16, 2, 16, 2, 21, 2, - 27, 21, 2, 2, 5, 33, 34, 27, 38, 5, + 15, 18, 18, 21, 27, 2, 21, 2, 48, 2, + 971, 27, 2, 2, 5, 33, 34, 31, 66, 5, - 31, 17, 4, 31, 68, 68, 6, 31, 928, 33, - 38, 6, 9, 9, 9, 9, 9, 9, 9, 9, + 31, 17, 4, 66, 31, 15, 6, 68, 68, 33, + 18, 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, 9, 9, 9, - 10, 18, 18, 10, 10, 45, 48, 49, 10, 49, - 54, 54, 54, 59, 59, 59, 59, 66, 927, 45, - 113, 10, 66, 128, 125, 71, 48, 71, 71, 74, - 18, 74, 74, 75, 113, 75, 75, 10, 125, 10, + 10, 62, 38, 10, 10, 45, 968, 49, 10, 49, + 16, 16, 16, 16, 38, 16, 54, 54, 54, 45, + 141, 10, 59, 59, 59, 59, 148, 141, 145, 62, + 152, 145, 162, 173, 162, 145, 173, 10, 967, 10, - 75, 10, 924, 128, 10, 10, 11, 11, 11, 11, + 16, 10, 152, 148, 10, 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, 11, 12, 62, 114, 12, 12, 923, - 107, 111, 12, 76, 111, 76, 76, 107, 111, 77, - 118, 77, 77, 114, 137, 12, 78, 76, 78, 78, - 143, 137, 118, 62, 90, 77, 90, 90, 129, 78, - 129, 12, 77, 12, 143, 12, 920, 90, 12, 12, + 11, 11, 11, 11, 12, 147, 103, 12, 12, 103, + 109, 161, 12, 109, 71, 158, 71, 71, 169, 147, + 155, 155, 155, 155, 109, 12, 964, 196, 180, 158, + 196, 161, 184, 203, 229, 203, 103, 206, 206, 229, + 109, 12, 180, 12, 71, 12, 184, 169, 12, 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, 13, 14, 919, - 123, 14, 14, 123, 156, 79, 14, 79, 79, 80, - 148, 80, 80, 81, 144, 81, 81, 219, 82, 14, - 82, 82, 148, 913, 156, 79, 86, 81, 86, 86, - 81, 144, 82, 163, 81, 14, 80, 14, 85, 14, - 85, 85, 14, 14, 42, 219, 86, 42, 42, 200, - - 200, 83, 42, 83, 83, 153, 84, 165, 84, 84, - 83, 912, 163, 85, 87, 84, 87, 87, 88, 153, - 88, 88, 901, 157, 83, 157, 89, 158, 89, 89, - 158, 42, 84, 42, 88, 89, 165, 87, 42, 42, - 91, 167, 91, 91, 167, 92, 88, 92, 92, 93, - 204, 93, 93, 94, 898, 94, 94, 95, 337, 95, - 95, 96, 94, 96, 96, 97, 190, 97, 97, 190, - 204, 174, 98, 91, 98, 98, 94, 99, 337, 99, - 99, 101, 101, 101, 101, 174, 97, 103, 103, 103, - 103, 122, 122, 122, 122, 131, 131, 131, 131, 266, - - 95, 96, 266, 98, 141, 98, 97, 141, 197, 895, - 197, 141, 152, 152, 152, 152, 159, 159, 159, 159, - 178, 894, 99, 166, 166, 166, 166, 211, 211, 211, - 216, 216, 216, 223, 178, 226, 226, 876, 223, 225, - 225, 225, 225, 230, 874, 230, 230, 231, 273, 231, - 231, 273, 233, 166, 233, 233, 870, 273, 234, 233, - 234, 234, 235, 869, 235, 235, 236, 867, 236, 236, - 237, 235, 237, 237, 238, 345, 238, 238, 234, 239, - 866, 239, 239, 238, 314, 225, 236, 240, 275, 240, - 240, 275, 239, 241, 237, 241, 241, 238, 314, 242, - - 240, 242, 242, 243, 345, 243, 243, 244, 242, 244, - 244, 245, 275, 245, 245, 246, 277, 246, 246, 277, - 241, 865, 242, 243, 247, 864, 247, 247, 248, 277, - 248, 248, 244, 245, 863, 249, 246, 249, 249, 250, - 271, 250, 250, 271, 249, 248, 251, 271, 251, 251, - 250, 252, 247, 252, 252, 253, 285, 253, 253, 285, - 254, 252, 254, 254, 255, 278, 255, 255, 278, 256, - 253, 256, 256, 257, 251, 257, 257, 254, 278, 258, - 254, 258, 258, 259, 285, 259, 259, 260, 832, 260, - 260, 261, 279, 261, 261, 279, 318, 831, 255, 263, - - 261, 263, 263, 258, 258, 262, 829, 262, 262, 264, - 318, 264, 264, 265, 259, 265, 265, 333, 333, 279, - 260, 267, 267, 267, 267, 828, 262, 269, 269, 269, - 269, 826, 272, 825, 274, 272, 263, 274, 276, 280, - 281, 276, 280, 281, 820, 816, 262, 276, 280, 815, - 282, 264, 272, 282, 274, 283, 286, 814, 283, 286, - 281, 276, 280, 284, 813, 287, 284, 288, 287, 289, - 288, 812, 289, 286, 287, 282, 290, 283, 288, 290, - 291, 811, 292, 291, 284, 292, 290, 293, 810, 295, - 293, 295, 295, 296, 295, 291, 296, 289, 297, 292, - - 298, 297, 292, 298, 299, 300, 301, 299, 300, 301, - 809, 302, 303, 299, 302, 303, 330, 296, 296, 330, - 808, 293, 304, 304, 304, 304, 300, 340, 341, 297, - 340, 341, 807, 298, 342, 342, 342, 342, 347, 347, - 347, 347, 377, 301, 806, 377, 300, 349, 349, 349, - 349, 805, 804, 302, 376, 376, 376, 376, 383, 383, - 383, 383, 384, 384, 384, 384, 803, 802, 347, 385, - 385, 385, 385, 387, 387, 387, 387, 349, 753, 388, - 751, 388, 388, 389, 750, 389, 389, 377, 388, 390, - 749, 390, 390, 391, 419, 391, 391, 419, 392, 420, - - 392, 392, 420, 748, 383, 389, 420, 393, 384, 393, - 393, 747, 390, 392, 394, 385, 394, 394, 745, 395, - 391, 395, 395, 396, 421, 396, 396, 421, 395, 397, - 393, 397, 397, 421, 744, 394, 396, 398, 742, 398, - 398, 399, 741, 399, 399, 400, 740, 400, 400, 401, - 399, 401, 401, 739, 402, 397, 402, 402, 403, 398, - 403, 403, 734, 404, 400, 404, 404, 402, 403, 405, - 422, 405, 405, 422, 427, 401, 404, 427, 731, 406, - 405, 406, 406, 407, 730, 407, 407, 408, 729, 408, - 408, 409, 422, 409, 409, 427, 728, 407, 406, 410, - - 423, 410, 410, 423, 411, 727, 411, 411, 412, 430, - 412, 412, 430, 408, 410, 411, 726, 409, 413, 413, - 413, 413, 414, 423, 414, 414, 415, 725, 415, 415, - 416, 724, 416, 416, 417, 430, 417, 417, 418, 412, - 418, 418, 424, 425, 428, 424, 425, 428, 426, 429, - 723, 426, 429, 428, 416, 722, 431, 432, 425, 431, - 432, 433, 429, 415, 433, 434, 432, 414, 434, 424, - 417, 426, 435, 721, 436, 435, 418, 436, 431, 437, - 433, 720, 437, 438, 436, 435, 438, 439, 719, 718, - 439, 434, 437, 440, 438, 441, 440, 442, 441, 443, - - 442, 444, 443, 717, 444, 445, 439, 440, 445, 716, - 715, 714, 444, 446, 443, 446, 446, 448, 446, 449, - 448, 441, 449, 442, 447, 447, 447, 447, 450, 451, - 452, 450, 451, 452, 453, 713, 445, 453, 451, 454, - 712, 711, 454, 480, 480, 480, 480, 481, 710, 709, - 481, 452, 450, 708, 707, 706, 449, 511, 511, 511, - 511, 513, 448, 517, 513, 526, 517, 526, 526, 645, - 453, 452, 519, 519, 519, 519, 526, 454, 521, 521, - 521, 521, 522, 522, 522, 522, 524, 524, 524, 524, - 560, 644, 481, 560, 525, 642, 525, 525, 527, 641, - - 527, 527, 531, 639, 531, 531, 513, 638, 517, 525, - 531, 528, 563, 528, 528, 563, 560, 529, 519, 529, - 529, 530, 556, 530, 530, 556, 527, 528, 522, 532, - 637, 532, 532, 533, 635, 533, 533, 556, 534, 563, - 534, 534, 535, 529, 535, 535, 530, 536, 557, 536, - 536, 557, 566, 634, 533, 566, 532, 534, 537, 557, - 537, 537, 536, 633, 538, 632, 538, 538, 535, 631, - 630, 537, 538, 539, 627, 539, 539, 540, 566, 540, - 540, 539, 541, 626, 541, 541, 542, 625, 542, 542, - 543, 624, 543, 543, 544, 564, 544, 544, 564, 542, - - 623, 543, 565, 540, 541, 565, 622, 545, 544, 545, - 545, 546, 620, 546, 546, 547, 564, 547, 547, 546, - 548, 565, 548, 548, 549, 558, 549, 549, 558, 619, - 551, 547, 551, 551, 545, 550, 550, 550, 550, 552, - 618, 552, 552, 548, 553, 617, 553, 553, 554, 616, - 554, 554, 555, 558, 555, 555, 559, 561, 562, 559, - 561, 562, 567, 615, 613, 567, 562, 549, 568, 612, - 569, 568, 559, 569, 611, 551, 571, 567, 569, 571, - 554, 568, 561, 570, 552, 572, 570, 553, 572, 574, - 573, 570, 574, 573, 610, 575, 576, 555, 575, 576, - - 574, 578, 571, 573, 578, 577, 609, 572, 577, 575, - 608, 579, 580, 577, 579, 580, 607, 578, 581, 581, - 581, 581, 582, 576, 583, 582, 585, 583, 584, 585, - 586, 584, 614, 586, 579, 614, 643, 606, 646, 643, - 646, 646, 605, 647, 604, 647, 647, 648, 603, 648, - 648, 649, 602, 649, 649, 580, 647, 601, 585, 649, - 650, 600, 650, 650, 646, 599, 598, 582, 650, 583, - 676, 584, 648, 676, 597, 586, 651, 614, 651, 651, - 652, 643, 652, 652, 596, 595, 653, 651, 653, 653, - 654, 594, 654, 654, 653, 593, 676, 655, 654, 655, - - 655, 656, 592, 656, 656, 655, 591, 590, 657, 656, - 657, 657, 658, 589, 658, 658, 659, 588, 659, 659, - 660, 587, 660, 660, 661, 518, 661, 661, 662, 682, - 662, 662, 682, 663, 657, 663, 663, 658, 516, 515, - 664, 663, 664, 664, 665, 687, 665, 665, 687, 514, - 666, 661, 666, 666, 667, 662, 667, 667, 666, 668, - 510, 668, 668, 664, 665, 509, 669, 508, 669, 669, - 670, 687, 670, 670, 671, 507, 671, 671, 672, 506, - 672, 672, 673, 505, 673, 673, 668, 669, 674, 504, - 674, 674, 675, 677, 675, 675, 677, 678, 503, 689, - - 678, 679, 689, 502, 679, 501, 677, 670, 680, 679, - 672, 680, 681, 673, 500, 681, 680, 683, 684, 499, - 683, 684, 678, 681, 685, 683, 684, 685, 686, 498, - 497, 686, 685, 674, 496, 688, 686, 675, 688, 690, - 691, 692, 690, 691, 692, 693, 694, 696, 693, 694, - 696, 695, 495, 693, 695, 696, 697, 494, 698, 697, - 688, 698, 699, 700, 493, 699, 700, 691, 692, 694, - 701, 695, 702, 701, 703, 702, 704, 703, 705, 704, - 492, 705, 491, 699, 754, 698, 754, 754, 755, 490, - 755, 755, 754, 489, 488, 756, 755, 756, 756, 757, - - 700, 757, 757, 756, 702, 703, 758, 487, 758, 758, - 759, 486, 759, 759, 760, 781, 760, 760, 781, 485, - 484, 704, 761, 705, 761, 761, 762, 782, 762, 762, - 782, 483, 763, 759, 763, 763, 764, 482, 764, 764, - 765, 479, 765, 765, 764, 478, 477, 766, 765, 766, - 766, 767, 476, 767, 767, 766, 475, 474, 768, 767, - 768, 768, 769, 473, 769, 769, 770, 472, 770, 770, - 771, 784, 771, 771, 784, 772, 471, 772, 772, 770, - 470, 469, 769, 772, 773, 468, 773, 773, 774, 467, - 774, 774, 775, 466, 775, 775, 776, 773, 776, 776, - - 777, 778, 777, 777, 778, 779, 465, 780, 779, 778, - 780, 783, 464, 779, 783, 780, 785, 786, 787, 785, - 786, 787, 463, 788, 789, 775, 788, 789, 462, 461, - 774, 788, 789, 790, 783, 460, 790, 791, 776, 792, - 791, 790, 792, 793, 794, 791, 793, 794, 795, 797, - 796, 795, 797, 796, 459, 458, 798, 794, 796, 798, - 457, 799, 797, 793, 799, 800, 801, 830, 800, 801, - 830, 833, 456, 833, 833, 834, 455, 834, 834, 835, - 382, 835, 835, 836, 381, 836, 836, 837, 848, 837, - 837, 848, 380, 838, 799, 838, 838, 839, 798, 839, - - 839, 379, 840, 836, 840, 840, 841, 800, 841, 841, - 378, 375, 830, 842, 841, 842, 842, 843, 374, 843, - 843, 842, 844, 373, 844, 844, 845, 372, 845, 845, - 844, 846, 845, 846, 846, 847, 849, 847, 847, 849, - 850, 851, 852, 850, 851, 852, 853, 854, 855, 853, - 854, 855, 856, 858, 857, 856, 858, 857, 371, 370, - 856, 851, 857, 859, 860, 369, 859, 860, 847, 861, - 860, 859, 861, 368, 862, 868, 846, 862, 868, 875, - 877, 367, 875, 877, 878, 366, 878, 878, 879, 365, - 879, 879, 878, 880, 364, 880, 880, 881, 363, 881, - - 881, 882, 887, 882, 882, 887, 883, 862, 883, 883, - 884, 362, 884, 884, 861, 885, 361, 885, 885, 886, - 868, 360, 886, 888, 875, 877, 888, 886, 889, 890, - 359, 889, 890, 882, 891, 892, 893, 891, 892, 893, - 896, 900, 358, 896, 900, 902, 907, 902, 902, 907, - 903, 883, 903, 903, 904, 884, 904, 904, 357, 356, - 885, 890, 905, 355, 905, 905, 906, 908, 906, 906, - 908, 909, 910, 911, 909, 910, 911, 354, 353, 891, - 892, 893, 352, 903, 351, 896, 900, 915, 344, 915, - 915, 916, 917, 916, 916, 917, 918, 339, 338, 918, - - 908, 921, 922, 921, 921, 922, 925, 905, 925, 925, - 926, 906, 929, 926, 929, 929, 930, 910, 911, 930, - 929, 336, 335, 334, 930, 933, 915, 933, 933, 934, - 331, 917, 934, 329, 328, 327, 326, 325, 324, 323, - 322, 925, 321, 921, 922, 926, 936, 936, 936, 936, - 936, 936, 937, 937, 937, 937, 937, 937, 938, 938, - 938, 938, 938, 938, 939, 939, 939, 939, 939, 939, - 940, 940, 940, 940, 940, 940, 941, 941, 941, 941, - 941, 941, 942, 942, 320, 942, 942, 942, 943, 943, - 943, 943, 943, 943, 944, 319, 317, 316, 944, 944, - - 945, 945, 945, 945, 945, 945, 946, 946, 315, 313, - 946, 946, 947, 947, 947, 947, 947, 947, 948, 948, - 312, 948, 948, 948, 949, 949, 311, 949, 949, 949, - 950, 950, 310, 309, 306, 950, 951, 951, 228, 951, - 951, 951, 953, 953, 224, 221, 220, 953, 954, 954, - 954, 954, 954, 954, 955, 955, 218, 217, 215, 955, - 956, 956, 210, 956, 956, 956, 206, 205, 203, 202, - 201, 198, 196, 195, 191, 189, 188, 187, 186, 185, - 184, 183, 182, 181, 180, 179, 177, 176, 175, 173, - 172, 171, 170, 169, 161, 155, 154, 151, 150, 149, - - 147, 146, 145, 142, 140, 139, 138, 136, 135, 133, - 130, 127, 126, 121, 120, 119, 117, 116, 115, 112, - 110, 109, 108, 106, 105, 73, 70, 67, 65, 63, - 61, 58, 53, 50, 47, 46, 41, 40, 39, 37, - 36, 35, 32, 30, 29, 28, 26, 25, 23, 19, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935 + 13, 13, 13, 13, 13, 13, 13, 13, 14, 171, + 355, 14, 14, 355, 118, 210, 14, 118, 72, 72, + 72, 72, 217, 217, 217, 74, 74, 74, 74, 14, + 75, 225, 75, 75, 76, 210, 76, 76, 171, 118, + 78, 76, 78, 78, 118, 14, 364, 14, 72, 14, + 232, 232, 14, 14, 42, 74, 78, 42, 42, 225, + + 75, 963, 42, 78, 76, 77, 364, 77, 77, 960, + 78, 79, 959, 79, 79, 81, 339, 81, 81, 77, + 80, 953, 80, 80, 79, 222, 222, 222, 952, 343, + 339, 42, 941, 42, 82, 77, 82, 82, 42, 42, + 80, 79, 81, 343, 83, 81, 83, 83, 82, 110, + 80, 82, 110, 938, 84, 82, 84, 84, 83, 85, + 935, 85, 85, 84, 82, 110, 378, 86, 85, 86, + 86, 934, 110, 87, 83, 87, 87, 84, 88, 110, + 88, 88, 360, 360, 84, 85, 916, 914, 89, 85, + 89, 89, 86, 87, 910, 378, 90, 86, 90, 90, + + 909, 88, 907, 87, 89, 90, 906, 91, 88, 91, + 91, 92, 92, 92, 92, 905, 89, 904, 89, 93, + 91, 93, 93, 903, 872, 871, 90, 94, 94, 94, + 94, 95, 869, 95, 95, 868, 96, 91, 96, 96, + 866, 92, 97, 865, 97, 97, 860, 856, 855, 93, + 854, 97, 93, 98, 853, 98, 98, 94, 852, 851, + 99, 95, 99, 99, 850, 97, 96, 100, 849, 100, + 100, 101, 97, 101, 101, 102, 848, 102, 102, 104, + 104, 104, 104, 98, 106, 106, 106, 106, 100, 847, + 99, 108, 112, 846, 108, 112, 98, 100, 108, 845, + + 99, 101, 101, 111, 101, 102, 111, 113, 100, 104, + 113, 844, 112, 843, 106, 114, 111, 842, 114, 793, + 102, 108, 112, 120, 115, 791, 120, 115, 790, 114, + 789, 788, 114, 111, 113, 787, 114, 113, 115, 116, + 117, 119, 116, 117, 119, 114, 120, 121, 116, 117, + 121, 785, 784, 120, 115, 122, 125, 128, 122, 125, + 128, 119, 116, 121, 122, 123, 117, 782, 123, 116, + 117, 119, 781, 130, 780, 121, 130, 121, 123, 124, + 124, 124, 124, 779, 774, 122, 125, 128, 771, 125, + 126, 126, 126, 126, 127, 123, 127, 127, 129, 127, + + 770, 129, 131, 130, 769, 131, 768, 129, 132, 124, + 133, 132, 767, 133, 134, 410, 130, 134, 410, 766, + 126, 129, 765, 764, 127, 763, 762, 163, 129, 132, + 163, 761, 131, 135, 135, 135, 135, 760, 132, 759, + 133, 133, 131, 133, 134, 137, 137, 137, 137, 132, + 157, 157, 157, 157, 758, 757, 756, 163, 518, 134, + 410, 518, 755, 135, 164, 164, 164, 164, 166, 166, + 166, 166, 754, 753, 752, 137, 168, 168, 168, 168, + 157, 172, 172, 172, 172, 231, 231, 231, 231, 236, + 751, 236, 236, 237, 164, 237, 237, 750, 166, 238, + + 238, 238, 238, 518, 749, 748, 168, 239, 239, 239, + 239, 172, 241, 241, 241, 241, 747, 746, 245, 236, + 245, 245, 685, 237, 242, 242, 242, 242, 684, 238, + 553, 231, 244, 553, 244, 244, 682, 239, 245, 244, + 681, 246, 241, 246, 246, 679, 678, 677, 245, 247, + 246, 247, 247, 248, 675, 248, 248, 249, 674, 249, + 249, 250, 244, 250, 250, 251, 249, 251, 251, 247, + 252, 246, 252, 252, 250, 553, 673, 248, 251, 247, + 249, 672, 254, 248, 254, 254, 255, 249, 255, 255, + 253, 250, 253, 253, 671, 251, 670, 252, 667, 253, + + 252, 256, 254, 256, 256, 257, 666, 257, 257, 665, + 664, 255, 254, 253, 663, 258, 255, 258, 258, 259, + 253, 259, 259, 256, 662, 260, 257, 260, 260, 660, + 261, 256, 261, 261, 260, 257, 259, 262, 659, 262, + 262, 261, 658, 258, 263, 258, 263, 263, 264, 259, + 264, 264, 657, 656, 263, 260, 265, 655, 265, 265, + 261, 653, 652, 264, 651, 262, 650, 262, 266, 266, + 266, 266, 649, 265, 263, 648, 265, 268, 264, 268, + 268, 647, 270, 646, 270, 270, 265, 271, 645, 271, + 271, 272, 272, 272, 272, 644, 643, 281, 266, 273, + + 281, 273, 273, 274, 642, 274, 274, 268, 641, 640, + 639, 268, 270, 275, 638, 275, 275, 271, 637, 282, + 636, 272, 282, 273, 273, 635, 634, 281, 276, 273, + 276, 276, 633, 274, 274, 632, 277, 276, 277, 277, + 631, 630, 278, 275, 278, 278, 275, 629, 279, 282, + 279, 279, 280, 628, 280, 280, 627, 277, 276, 283, + 283, 283, 283, 558, 556, 555, 277, 284, 284, 284, + 284, 554, 278, 286, 286, 286, 286, 277, 279, 278, + 550, 549, 280, 287, 287, 287, 287, 548, 289, 283, + 279, 289, 547, 290, 546, 289, 290, 284, 291, 292, + + 545, 291, 292, 286, 544, 543, 293, 291, 294, 293, + 542, 294, 295, 290, 541, 295, 540, 294, 289, 292, + 539, 296, 538, 290, 296, 295, 537, 536, 291, 292, + 293, 294, 297, 535, 296, 297, 293, 298, 294, 534, + 298, 299, 295, 533, 299, 300, 298, 301, 300, 532, + 301, 296, 302, 303, 308, 302, 303, 308, 531, 297, + 298, 299, 297, 304, 308, 305, 304, 298, 305, 301, + 300, 299, 530, 302, 305, 300, 306, 301, 529, 306, + 304, 303, 302, 303, 308, 307, 309, 306, 307, 309, + 528, 310, 527, 304, 310, 305, 311, 311, 311, 311, + + 526, 309, 313, 313, 313, 313, 306, 314, 310, 320, + 314, 310, 320, 307, 522, 307, 309, 316, 521, 316, + 316, 310, 316, 520, 519, 317, 311, 317, 317, 516, + 317, 318, 318, 318, 318, 319, 318, 314, 319, 320, + 320, 314, 321, 322, 515, 321, 322, 316, 323, 514, + 324, 323, 322, 324, 325, 317, 513, 325, 512, 319, + 319, 318, 511, 326, 367, 319, 326, 367, 510, 323, + 509, 508, 321, 322, 507, 321, 506, 505, 323, 331, + 324, 331, 331, 504, 325, 368, 503, 324, 368, 323, + 502, 501, 500, 326, 367, 499, 325, 327, 327, 327, + + 327, 329, 329, 329, 329, 330, 330, 330, 330, 331, + 356, 356, 356, 356, 498, 368, 369, 369, 369, 369, + 370, 370, 370, 370, 497, 496, 374, 327, 374, 374, + 495, 329, 372, 372, 372, 372, 373, 373, 373, 373, + 375, 375, 375, 375, 494, 493, 369, 492, 415, 414, + 370, 377, 377, 377, 377, 413, 374, 380, 380, 380, + 380, 412, 372, 382, 382, 382, 382, 411, 408, 407, + 375, 409, 409, 409, 409, 416, 416, 416, 416, 417, + 417, 417, 417, 418, 418, 418, 418, 380, 420, 420, + 420, 420, 406, 382, 421, 421, 421, 421, 423, 423, + + 423, 423, 424, 405, 424, 424, 425, 404, 425, 425, + 426, 424, 426, 426, 427, 403, 427, 427, 402, 401, + 428, 416, 428, 428, 421, 417, 400, 399, 425, 418, + 398, 397, 424, 426, 461, 428, 425, 461, 396, 459, + 426, 427, 459, 429, 427, 429, 429, 395, 459, 430, + 428, 430, 430, 431, 394, 431, 431, 461, 432, 393, + 432, 432, 431, 392, 461, 433, 429, 433, 433, 459, + 430, 432, 434, 429, 434, 434, 391, 390, 435, 430, + 435, 435, 436, 431, 436, 436, 389, 435, 432, 388, + 437, 433, 437, 437, 434, 433, 438, 462, 438, 438, + + 462, 436, 434, 439, 465, 439, 439, 465, 435, 438, + 387, 557, 436, 439, 557, 440, 437, 440, 440, 441, + 437, 441, 441, 386, 462, 465, 438, 462, 440, 442, + 441, 442, 442, 439, 465, 385, 443, 384, 443, 443, + 366, 444, 365, 444, 444, 440, 363, 362, 442, 441, + 443, 445, 361, 445, 445, 446, 557, 446, 446, 442, + 358, 447, 354, 447, 447, 353, 443, 444, 352, 351, + 446, 444, 447, 448, 350, 448, 448, 445, 349, 348, + 451, 445, 451, 451, 347, 446, 449, 449, 449, 449, + 346, 447, 450, 450, 450, 450, 452, 345, 452, 452, + + 344, 342, 341, 448, 448, 453, 340, 453, 453, 454, + 451, 454, 454, 338, 337, 336, 449, 455, 335, 455, + 455, 334, 450, 234, 460, 451, 452, 460, 230, 453, + 227, 226, 224, 452, 464, 453, 223, 464, 221, 454, + 456, 456, 456, 456, 216, 454, 460, 455, 458, 458, + 458, 458, 212, 463, 460, 455, 463, 464, 466, 467, + 468, 466, 467, 468, 464, 211, 470, 466, 463, 470, + 456, 469, 467, 471, 469, 470, 471, 474, 472, 209, + 474, 472, 473, 463, 208, 473, 468, 474, 466, 467, + 468, 476, 471, 469, 476, 473, 470, 475, 207, 204, + + 475, 469, 476, 471, 472, 202, 477, 474, 472, 477, + 475, 201, 473, 479, 478, 480, 479, 478, 480, 481, + 482, 476, 481, 482, 197, 477, 483, 475, 478, 483, + 654, 482, 487, 654, 481, 487, 477, 195, 194, 479, + 193, 480, 192, 479, 478, 480, 191, 190, 189, 481, + 482, 485, 485, 485, 485, 188, 483, 483, 484, 484, + 484, 484, 487, 484, 486, 486, 486, 486, 488, 489, + 490, 488, 489, 490, 187, 654, 186, 487, 491, 185, + 183, 491, 517, 517, 517, 517, 182, 181, 484, 523, + 523, 523, 523, 489, 486, 179, 178, 177, 488, 489, + + 490, 525, 525, 525, 525, 488, 490, 176, 491, 551, + 551, 551, 551, 175, 160, 683, 491, 159, 683, 523, + 559, 559, 559, 559, 561, 561, 561, 561, 562, 562, + 562, 562, 564, 564, 564, 564, 156, 565, 154, 565, + 565, 153, 566, 596, 566, 566, 596, 567, 151, 567, + 567, 150, 565, 566, 568, 149, 568, 568, 596, 569, + 683, 569, 569, 146, 144, 599, 559, 565, 599, 143, + 568, 142, 566, 596, 562, 567, 570, 567, 570, 570, + 571, 599, 571, 571, 568, 569, 140, 139, 571, 569, + 572, 70, 572, 572, 573, 599, 573, 573, 67, 65, + + 574, 570, 574, 574, 63, 575, 570, 575, 575, 608, + 571, 576, 608, 576, 576, 573, 61, 572, 597, 574, + 572, 597, 608, 58, 573, 577, 576, 577, 577, 597, + 574, 575, 53, 50, 578, 575, 578, 578, 577, 608, + 47, 576, 578, 579, 46, 579, 579, 41, 597, 40, + 580, 579, 580, 580, 39, 577, 581, 37, 581, 581, + 583, 36, 583, 583, 578, 35, 582, 603, 582, 582, + 603, 583, 585, 579, 585, 585, 580, 32, 581, 582, + 580, 584, 30, 584, 584, 586, 581, 586, 586, 587, + 583, 587, 587, 586, 603, 584, 582, 603, 588, 585, + + 588, 588, 585, 29, 589, 587, 589, 589, 28, 26, + 591, 584, 591, 591, 592, 586, 592, 592, 25, 587, + 23, 588, 590, 590, 590, 590, 19, 593, 588, 593, + 593, 0, 0, 594, 589, 594, 594, 0, 0, 595, + 591, 595, 595, 598, 592, 0, 598, 589, 600, 0, + 601, 600, 590, 601, 0, 591, 0, 593, 602, 592, + 0, 602, 0, 594, 604, 594, 602, 604, 0, 595, + 593, 598, 0, 598, 600, 601, 605, 0, 600, 605, + 601, 0, 0, 606, 595, 604, 606, 607, 602, 609, + 607, 0, 609, 610, 604, 605, 610, 609, 0, 0, + + 611, 610, 607, 611, 0, 612, 605, 613, 612, 606, + 613, 614, 0, 606, 614, 615, 0, 607, 615, 609, + 613, 616, 614, 610, 616, 617, 611, 612, 617, 615, + 611, 618, 0, 617, 618, 612, 619, 613, 0, 619, + 620, 614, 0, 620, 0, 615, 622, 618, 616, 622, + 623, 616, 0, 623, 624, 617, 0, 624, 0, 619, + 0, 618, 621, 621, 621, 621, 619, 0, 625, 626, + 620, 625, 626, 0, 0, 686, 622, 686, 686, 691, + 623, 691, 691, 620, 624, 688, 870, 688, 688, 870, + 691, 622, 621, 0, 0, 623, 0, 624, 625, 626, + + 625, 686, 0, 0, 687, 686, 687, 687, 717, 691, + 688, 717, 0, 0, 626, 688, 689, 687, 689, 689, + 690, 717, 690, 690, 689, 0, 0, 692, 690, 692, + 692, 870, 0, 693, 687, 693, 693, 694, 717, 694, + 694, 693, 0, 0, 908, 694, 689, 908, 0, 0, + 690, 695, 0, 695, 695, 0, 0, 692, 696, 695, + 696, 696, 698, 693, 698, 698, 696, 694, 697, 0, + 697, 697, 699, 0, 699, 699, 700, 0, 700, 700, + 701, 695, 701, 701, 0, 0, 0, 698, 696, 908, + 0, 0, 698, 702, 697, 702, 702, 703, 697, 703, + + 703, 704, 699, 704, 704, 703, 700, 701, 0, 705, + 701, 705, 705, 706, 0, 706, 706, 0, 0, 0, + 702, 706, 0, 702, 704, 716, 0, 703, 716, 705, + 707, 704, 707, 707, 708, 0, 708, 708, 709, 705, + 709, 709, 710, 706, 710, 710, 711, 0, 711, 711, + 712, 716, 712, 712, 713, 716, 713, 713, 0, 709, + 707, 708, 0, 714, 708, 714, 714, 715, 709, 715, + 715, 718, 710, 0, 718, 719, 711, 0, 719, 710, + 712, 0, 712, 719, 713, 713, 720, 721, 722, 720, + 721, 722, 723, 714, 720, 723, 718, 715, 721, 724, + + 723, 718, 724, 725, 0, 719, 725, 724, 714, 0, + 727, 725, 715, 727, 0, 0, 720, 721, 722, 0, + 726, 728, 723, 726, 728, 0, 0, 729, 726, 724, + 729, 730, 731, 725, 730, 731, 727, 0, 732, 733, + 727, 732, 733, 0, 0, 737, 728, 733, 737, 734, + 726, 728, 734, 735, 0, 736, 735, 729, 736, 731, + 0, 730, 731, 736, 738, 732, 0, 738, 732, 733, + 0, 739, 734, 735, 739, 737, 0, 740, 741, 734, + 740, 741, 0, 735, 0, 736, 742, 0, 0, 742, + 743, 738, 739, 743, 738, 744, 745, 0, 744, 745, + + 0, 739, 794, 0, 794, 794, 0, 740, 741, 795, + 794, 795, 795, 0, 740, 0, 742, 795, 742, 0, + 743, 743, 0, 0, 0, 744, 745, 796, 0, 796, + 796, 797, 794, 797, 797, 796, 0, 0, 0, 795, + 744, 745, 798, 0, 798, 798, 799, 0, 799, 799, + 800, 821, 800, 800, 821, 0, 801, 796, 801, 801, + 802, 797, 802, 802, 803, 822, 803, 803, 822, 799, + 0, 804, 798, 804, 804, 805, 799, 805, 805, 804, + 800, 821, 0, 805, 0, 806, 801, 806, 806, 807, + 802, 807, 807, 806, 803, 822, 808, 807, 808, 808, + + 809, 804, 809, 809, 810, 805, 810, 810, 811, 0, + 811, 811, 0, 824, 0, 806, 824, 810, 0, 807, + 809, 812, 0, 812, 812, 814, 808, 814, 814, 812, + 809, 0, 0, 813, 810, 813, 813, 0, 811, 815, + 0, 815, 815, 824, 0, 816, 813, 816, 816, 0, + 817, 812, 817, 817, 818, 814, 819, 818, 820, 819, + 0, 820, 818, 813, 819, 0, 820, 814, 823, 815, + 825, 823, 815, 825, 826, 816, 827, 826, 832, 827, + 817, 832, 828, 0, 818, 828, 819, 816, 820, 829, + 828, 823, 829, 830, 0, 0, 830, 829, 823, 831, + + 825, 830, 831, 0, 826, 0, 827, 831, 832, 0, + 833, 834, 828, 833, 834, 835, 0, 836, 835, 829, + 836, 0, 0, 830, 834, 836, 0, 0, 0, 831, + 833, 837, 838, 839, 837, 838, 839, 0, 0, 840, + 833, 834, 840, 841, 837, 835, 841, 836, 873, 0, + 873, 873, 874, 0, 874, 874, 875, 0, 875, 875, + 0, 837, 838, 839, 0, 876, 839, 876, 876, 840, + 0, 0, 0, 841, 838, 0, 0, 877, 873, 877, + 877, 840, 874, 0, 0, 876, 875, 878, 0, 878, + 878, 879, 0, 879, 879, 876, 880, 0, 880, 880, + + 881, 0, 881, 881, 0, 0, 0, 877, 881, 0, + 882, 0, 882, 882, 0, 0, 888, 878, 882, 888, + 883, 879, 883, 883, 0, 884, 880, 884, 884, 885, + 881, 885, 885, 884, 886, 885, 886, 886, 0, 887, + 882, 887, 887, 0, 889, 890, 888, 889, 890, 0, + 883, 891, 0, 892, 891, 884, 892, 893, 894, 885, + 893, 894, 895, 898, 886, 895, 898, 0, 0, 887, + 896, 891, 887, 896, 889, 890, 0, 897, 896, 886, + 897, 891, 0, 892, 0, 897, 899, 893, 894, 899, + 0, 0, 895, 898, 899, 900, 901, 0, 900, 901, + + 896, 900, 902, 915, 0, 902, 915, 897, 917, 0, + 918, 917, 918, 918, 0, 0, 899, 919, 918, 919, + 919, 920, 0, 920, 920, 900, 901, 921, 0, 921, + 921, 922, 902, 922, 922, 902, 923, 0, 923, 923, + 918, 901, 924, 927, 924, 924, 927, 919, 915, 0, + 0, 920, 925, 917, 925, 925, 926, 921, 0, 926, + 0, 922, 928, 922, 926, 928, 923, 936, 929, 0, + 936, 929, 924, 927, 930, 931, 940, 930, 931, 940, + 932, 923, 925, 932, 0, 933, 926, 924, 933, 0, + 0, 0, 928, 942, 0, 942, 942, 925, 929, 943, + + 0, 943, 943, 0, 930, 931, 930, 0, 0, 0, + 932, 944, 936, 944, 944, 933, 945, 0, 945, 945, + 931, 940, 0, 942, 946, 932, 946, 946, 947, 943, + 933, 947, 943, 948, 949, 950, 948, 949, 950, 0, + 951, 944, 955, 951, 955, 955, 945, 956, 957, 956, + 956, 957, 958, 962, 946, 958, 962, 0, 947, 0, + 0, 945, 0, 948, 949, 950, 948, 0, 0, 946, + 951, 961, 955, 961, 961, 0, 966, 956, 957, 966, + 950, 955, 958, 962, 0, 951, 965, 957, 965, 965, + 969, 0, 969, 969, 970, 962, 974, 970, 969, 974, + + 0, 961, 970, 0, 0, 973, 966, 973, 973, 0, + 0, 966, 0, 961, 0, 0, 965, 0, 0, 0, + 969, 965, 0, 0, 970, 0, 974, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 976, 976, 976, 976, + 976, 976, 977, 977, 977, 977, 977, 977, 978, 978, + 978, 978, 978, 978, 979, 979, 979, 979, 979, 979, + 980, 980, 980, 980, 980, 980, 981, 981, 981, 981, + 981, 981, 982, 982, 0, 982, 982, 982, 983, 983, + 983, 983, 983, 983, 984, 0, 0, 0, 984, 984, + 985, 985, 985, 985, 985, 985, 986, 986, 0, 0, + + 986, 986, 987, 987, 987, 987, 987, 987, 988, 988, + 0, 988, 988, 988, 989, 989, 0, 989, 989, 989, + 990, 990, 0, 0, 0, 990, 991, 991, 0, 991, + 991, 991, 993, 993, 0, 0, 0, 993, 994, 994, + 994, 994, 994, 994, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + 975, 975, 975 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[70] = +static yyconst flex_int32_t yy_rule_can_match_eol[76] = { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, + 0, 0, 1, 1, 1, 1, 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, 1, 0, 0, 0, }; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1315,14 +1530,15 @@ char *yytext; // levcomp.lpp: // Level compiler lexer for Dungeon Crawl Stone Soup. -// +// // Based loosely on NetHack's lev_comp.l +#include +#include +#include #include "AppHdr.h" #include "mapdef.h" #include "levcomp.tab.h" -#include -#include static bool alloced = false; @@ -1352,26 +1568,34 @@ static void clean() alloced = false; } +// Enter a new state, first clearing yylval of junk. +#define CBEGIN(x) do { BEGIN(x); clean(); } while (0) + +static void post_proc_text(char *text, bool trim_right, int strip_trailing) +{ + char *s = NULL; + if (trim_right) + { + s = text + strlen(text) - 1; + while (s >= text && isspace(*s)) + *s-- = 0; + } + if (strip_trailing) + { + if (!s) + s = text + strlen(text) - 1; + while (s >= text && --strip_trailing >= 0) + *s-- = 0; + } +} + static char *copy_text(bool trim_right, int strip_trailing) { 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; - } + post_proc_text(newstring, trim_right, strip_trailing); } return (newstring); } @@ -1383,6 +1607,39 @@ static void settext(bool trim_right = false, int strip_trailing = 0) yylval.text = newstring; } +static void str_check() +{ + if (!yylval.text) + { + char *buf = (char *) malloc(1); + if (buf) + { + yylval.text = buf; + *buf = 0; + alloced = true; + } + } +} + +static void cattext(bool trim_right = false, int strip_trailing = 0) +{ + if (!yylval.text) + settext(trim_right, strip_trailing); + else + { + bool was_alloced = alloced; + char *newbuf = (char*) malloc(strlen(yylval.text) + strlen(yytext) + 1); + if (!newbuf) + end(1, "Out of memory"); + alloced = true; + strcpy(newbuf, yylval.text); + strcat(newbuf, yytext); + post_proc_text(newbuf, trim_right, strip_trailing); + if (was_alloced) + free((void*) yylval.text); + yylval.text = newbuf; + } +} @@ -1391,7 +1648,8 @@ static void settext(bool trim_right = false, int strip_trailing = 0) -#line 1395 "levcomp.lex.cc" + +#line 1653 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -1459,7 +1717,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1470,7 +1728,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1555,10 +1813,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 89 "levcomp.lpp" +#line 133 "levcomp.lpp" -#line 1562 "levcomp.lex.cc" +#line 1820 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -1612,13 +1870,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 >= 936 ) + if ( yy_current_state >= 976 ) 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 != 935 ); + while ( yy_current_state != 975 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1650,12 +1908,12 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 91 "levcomp.lpp" +#line 135 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 2: YY_RULE_SETUP -#line 93 "levcomp.lpp" +#line 137 "levcomp.lpp" { settext(true); return MAP_LINE; @@ -1664,23 +1922,23 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 98 "levcomp.lpp" +#line 142 "levcomp.lpp" return CHARACTER; YY_BREAK case 4: YY_RULE_SETUP -#line 99 "levcomp.lpp" +#line 143 "levcomp.lpp" return CHARACTER; YY_BREAK case 5: YY_RULE_SETUP -#line 100 "levcomp.lpp" +#line 144 "levcomp.lpp" return CHARACTER; YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 102 "levcomp.lpp" +#line 146 "levcomp.lpp" ; YY_BREAK case 7: @@ -1688,7 +1946,7 @@ case 7: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 104 "levcomp.lpp" +#line 148 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 8: @@ -1696,7 +1954,7 @@ case 8: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 105 "levcomp.lpp" +#line 149 "levcomp.lpp" { settext(true, 2); BEGIN(INITIAL); @@ -1705,7 +1963,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 110 "levcomp.lpp" +#line 154 "levcomp.lpp" { settext(true); return LUA_LINE; @@ -1714,7 +1972,7 @@ YY_RULE_SETUP case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 114 "levcomp.lpp" +#line 158 "levcomp.lpp" ; YY_BREAK case 11: @@ -1722,7 +1980,7 @@ case 11: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 116 "levcomp.lpp" +#line 160 "levcomp.lpp" { settext(true); return LUA_LINE; @@ -1731,337 +1989,377 @@ YY_RULE_SETUP case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 120 "levcomp.lpp" +#line 164 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 13: YY_RULE_SETUP -#line 122 "levcomp.lpp" +#line 166 "levcomp.lpp" { settext(); return STRING; } YY_BREAK case 14: +/* rule 14 can match eol */ YY_RULE_SETUP -#line 127 "levcomp.lpp" +#line 171 "levcomp.lpp" ; YY_BREAK case 15: -/* rule 15 can match eol */ YY_RULE_SETUP -#line 128 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 172 "levcomp.lpp" +; YY_BREAK case 16: +/* rule 16 can match eol */ YY_RULE_SETUP -#line 130 "levcomp.lpp" -{ - settext(); - return ITEM_INFO; - } +#line 173 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 17: +/* rule 17 can match eol */ YY_RULE_SETUP -#line 135 "levcomp.lpp" +#line 175 "levcomp.lpp" { - settext(); - return ITEM_INFO; + cattext(true, 1); } YY_BREAK case 18: +/* rule 18 can match eol */ YY_RULE_SETUP -#line 140 "levcomp.lpp" -return COMMA; +#line 179 "levcomp.lpp" +; YY_BREAK case 19: YY_RULE_SETUP -#line 141 "levcomp.lpp" -; +#line 181 "levcomp.lpp" +{ + cattext(); + return ITEM_INFO; + } YY_BREAK case 20: -/* rule 20 can match eol */ YY_RULE_SETUP -#line 142 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 186 "levcomp.lpp" +{ clean(); return COMMA; } YY_BREAK case 21: -/* rule 21 can match eol */ YY_RULE_SETUP -#line 144 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 187 "levcomp.lpp" +; YY_BREAK case 22: +/* rule 22 can match eol */ YY_RULE_SETUP -#line 146 "levcomp.lpp" -{ - settext(); - return MONSTER_NAME; - } +#line 188 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 23: +/* rule 23 can match eol */ YY_RULE_SETUP -#line 151 "levcomp.lpp" -return COMMA; +#line 190 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 24: +/* rule 24 can match eol */ YY_RULE_SETUP -#line 152 "levcomp.lpp" -; +#line 192 "levcomp.lpp" +{ + cattext(true, 1); + } YY_BREAK case 25: +/* rule 25 can match eol */ YY_RULE_SETUP -#line 154 "levcomp.lpp" -{ - BEGIN(INITIAL); - settext(); - return STRING; - } +#line 196 "levcomp.lpp" +; YY_BREAK case 26: -/* rule 26 can match eol */ YY_RULE_SETUP -#line 160 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 198 "levcomp.lpp" +{ + cattext(); + return MONSTER_NAME; + } YY_BREAK case 27: -*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 162 "levcomp.lpp" -{ - settext(true, 1); - return STRING; - } +#line 203 "levcomp.lpp" +{ clean(); return COMMA; } YY_BREAK case 28: -*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 167 "levcomp.lpp" -{ - BEGIN(INITIAL); - settext(true); - return STRING; - } +#line 204 "levcomp.lpp" +; YY_BREAK case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 172 "levcomp.lpp" -; +#line 206 "levcomp.lpp" +{ + cattext(true, 1); + } YY_BREAK case 30: +/* rule 30 can match eol */ YY_RULE_SETUP -#line 174 "levcomp.lpp" +#line 210 "levcomp.lpp" ; YY_BREAK case 31: -*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 176 "levcomp.lpp" -{ BEGIN(MAPDEF); } +#line 212 "levcomp.lpp" +{ + cattext(); + } YY_BREAK case 32: +*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 178 "levcomp.lpp" -{ BEGIN(LUA_ONELINER); return MAIN; } +#line 216 "levcomp.lpp" +{ BEGIN(INITIAL); str_check(); return STRING; } YY_BREAK case 33: +*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 180 "levcomp.lpp" -{ BEGIN(LUA); return PRELUDE; } +#line 218 "levcomp.lpp" +{ + settext(true, 1); + return STRING; + } YY_BREAK case 34: +*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 181 "levcomp.lpp" -{ BEGIN(LUA); return MAIN; } +#line 223 "levcomp.lpp" +{ + BEGIN(INITIAL); + settext(true); + return STRING; + } YY_BREAK case 35: +/* rule 35 can match eol */ YY_RULE_SETUP -#line 182 "levcomp.lpp" -{ BEGIN(LUA); return MAIN; } +#line 228 "levcomp.lpp" +; YY_BREAK case 36: YY_RULE_SETUP -#line 183 "levcomp.lpp" -{ BEGIN(LUA); return VALIDATE; } +#line 230 "levcomp.lpp" +; YY_BREAK case 37: +*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 184 "levcomp.lpp" -{ BEGIN(LUA); return VETO; } +#line 232 "levcomp.lpp" +{ BEGIN(MAPDEF); } YY_BREAK case 38: YY_RULE_SETUP -#line 187 "levcomp.lpp" -{ BEGIN(ARGUMENT); return NAME; } +#line 234 "levcomp.lpp" +{ BEGIN(LUA_ONELINER); return MAIN; } YY_BREAK case 39: YY_RULE_SETUP -#line 188 "levcomp.lpp" -{ BEGIN(ARGUMENT); return DEFAULT_DEPTH; } +#line 236 "levcomp.lpp" +{ BEGIN(LUA); return PRELUDE; } YY_BREAK case 40: YY_RULE_SETUP -#line 189 "levcomp.lpp" -{ BEGIN(ARGUMENT); return DEPTH; } +#line 237 "levcomp.lpp" +{ BEGIN(LUA); return MAIN; } YY_BREAK case 41: YY_RULE_SETUP -#line 190 "levcomp.lpp" -{ BEGIN(ARGUMENT); return ORIENT; } +#line 238 "levcomp.lpp" +{ BEGIN(LUA); return MAIN; } YY_BREAK case 42: YY_RULE_SETUP -#line 191 "levcomp.lpp" -{ BEGIN(ARGUMENT); return PLACE; } +#line 239 "levcomp.lpp" +{ BEGIN(LUA); return VALIDATE; } YY_BREAK case 43: YY_RULE_SETUP -#line 192 "levcomp.lpp" -{ BEGIN(ARGUMENT); return WELCOME; } +#line 240 "levcomp.lpp" +{ BEGIN(LUA); return VETO; } YY_BREAK case 44: YY_RULE_SETUP -#line 193 "levcomp.lpp" -return CHANCE; +#line 243 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return NAME; } YY_BREAK case 45: YY_RULE_SETUP -#line 194 "levcomp.lpp" -return CHANCE; +#line 244 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return DEFAULT_DEPTH; } YY_BREAK case 46: YY_RULE_SETUP -#line 195 "levcomp.lpp" -{ BEGIN(KEYWORDS); return TAGS; } +#line 245 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return DEPTH; } YY_BREAK case 47: YY_RULE_SETUP -#line 196 "levcomp.lpp" -{ BEGIN(KEYWORDS); return TAGS; } +#line 246 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return ORIENT; } YY_BREAK case 48: YY_RULE_SETUP -#line 197 "levcomp.lpp" -{ BEGIN(ARGUMENT); return LFLAGS; } +#line 247 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return PLACE; } YY_BREAK case 49: YY_RULE_SETUP -#line 198 "levcomp.lpp" -{ BEGIN(ARGUMENT); return BFLAGS; } +#line 248 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return WELCOME; } YY_BREAK case 50: YY_RULE_SETUP -#line 199 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return SUBST; } +#line 249 "levcomp.lpp" +return CHANCE; YY_BREAK case 51: YY_RULE_SETUP -#line 200 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return NSUBST; } +#line 250 "levcomp.lpp" +return CHANCE; YY_BREAK case 52: YY_RULE_SETUP -#line 201 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return COLOUR; } +#line 251 "levcomp.lpp" +{ CBEGIN(KEYWORDS); return TAGS; } YY_BREAK case 53: YY_RULE_SETUP -#line 202 "levcomp.lpp" -{ BEGIN(ARGUMENT); return FLOORCOL; } +#line 252 "levcomp.lpp" +{ CBEGIN(KEYWORDS); return TAGS; } YY_BREAK case 54: YY_RULE_SETUP -#line 203 "levcomp.lpp" -{ BEGIN(ARGUMENT); return ROCKCOL; } +#line 253 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return LFLAGS; } YY_BREAK case 55: YY_RULE_SETUP -#line 204 "levcomp.lpp" -{ BEGIN(MNAME); return MONS; } +#line 254 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return BFLAGS; } YY_BREAK case 56: YY_RULE_SETUP -#line 205 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return ITEM; } +#line 255 "levcomp.lpp" +{ CBEGIN(ITEM_LIST); return SUBST; } YY_BREAK case 57: YY_RULE_SETUP -#line 206 "levcomp.lpp" -{ BEGIN(TOEOL); return MARKER; } +#line 256 "levcomp.lpp" +{ CBEGIN(ITEM_LIST); return NSUBST; } YY_BREAK case 58: YY_RULE_SETUP -#line 207 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return SHUFFLE; } +#line 257 "levcomp.lpp" +{ CBEGIN(ITEM_LIST); return COLOUR; } YY_BREAK case 59: YY_RULE_SETUP -#line 209 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KFEAT; } +#line 258 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return FLOORCOL; } YY_BREAK case 60: YY_RULE_SETUP -#line 210 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KITEM; } +#line 259 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return ROCKCOL; } YY_BREAK case 61: YY_RULE_SETUP -#line 211 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KMONS; } +#line 260 "levcomp.lpp" +{ CBEGIN(MNAME); return MONS; } YY_BREAK case 62: YY_RULE_SETUP -#line 212 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KMASK; } +#line 261 "levcomp.lpp" +{ CBEGIN(ITEM_LIST); return ITEM; } YY_BREAK case 63: YY_RULE_SETUP -#line 214 "levcomp.lpp" -return COMMA; +#line 262 "levcomp.lpp" +{ CBEGIN(TOEOL); return MARKER; } YY_BREAK case 64: YY_RULE_SETUP -#line 216 "levcomp.lpp" +#line 263 "levcomp.lpp" +{ CBEGIN(ITEM_LIST); return SHUFFLE; } + YY_BREAK +case 65: +YY_RULE_SETUP +#line 265 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return KFEAT; } + YY_BREAK +case 66: +YY_RULE_SETUP +#line 266 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return KITEM; } + YY_BREAK +case 67: +YY_RULE_SETUP +#line 267 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return KMONS; } + YY_BREAK +case 68: +YY_RULE_SETUP +#line 268 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return KMASK; } + YY_BREAK +case 69: +YY_RULE_SETUP +#line 270 "levcomp.lpp" +return COMMA; + YY_BREAK +case 70: +YY_RULE_SETUP +#line 272 "levcomp.lpp" { clean(); yylval.i = atoi(yytext); return INTEGER; } YY_BREAK -case 65: +case 71: YY_RULE_SETUP -#line 222 "levcomp.lpp" +#line 278 "levcomp.lpp" ; YY_BREAK -case 66: -/* rule 66 can match eol */ +case 72: +/* rule 72 can match eol */ YY_RULE_SETUP -#line 223 "levcomp.lpp" +#line 279 "levcomp.lpp" ; YY_BREAK -case 67: +case 73: YY_RULE_SETUP -#line 224 "levcomp.lpp" +#line 280 "levcomp.lpp" ; YY_BREAK -case 68: +case 74: YY_RULE_SETUP -#line 225 "levcomp.lpp" +#line 281 "levcomp.lpp" return CHARACTER; YY_BREAK -case 69: +case 75: YY_RULE_SETUP -#line 227 "levcomp.lpp" +#line 283 "levcomp.lpp" ECHO; YY_BREAK -#line 2065 "levcomp.lex.cc" +#line 2363 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(LUA): @@ -2325,6 +2623,14 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; @@ -2355,7 +2661,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 >= 936 ) + if ( yy_current_state >= 976 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2383,11 +2689,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 >= 936 ) + if ( yy_current_state >= 976 ) 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 == 935); + yy_is_jam = (yy_current_state == 975); return yy_is_jam ? 0 : yy_current_state; } @@ -2747,7 +3053,9 @@ static void yyensure_buffer_stack (void) (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); - + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; @@ -2765,6 +3073,8 @@ static void yyensure_buffer_stack (void) ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -3066,7 +3376,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 227 "levcomp.lpp" +#line 283 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index 680315a76a..783cc49869 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -147,6 +147,9 @@ #line 1 "levcomp.ypp" +#include +#include + #include "AppHdr.h" #include "clua.h" #include "libutil.h" @@ -154,7 +157,6 @@ #include "mapdef.h" #include "maps.h" #include "stuff.h" -#include #define YYERROR_VERBOSE 1 @@ -209,14 +211,14 @@ level_range set_range(const char *s, int start, int end) #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 46 "levcomp.ypp" +#line 48 "levcomp.ypp" { int i; const char *text; raw_range range; } /* Line 187 of yacc.c. */ -#line 220 "levcomp.tab.c" +#line 222 "levcomp.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -229,7 +231,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 233 "levcomp.tab.c" +#line 235 "levcomp.tab.c" #ifdef short # undef short @@ -554,19 +556,19 @@ static const yytype_int8 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 67, 67, 70, 71, 74, 75, 78, 84, 85, - 88, 98, 120, 121, 124, 125, 128, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 180, 182, 183, 186, 191, 193, 194, - 197, 202, 204, 205, 208, 213, 215, 216, 219, 224, - 226, 227, 230, 235, 236, 244, 245, 253, 254, 262, - 263, 271, 274, 275, 278, 286, 289, 290, 293, 302, - 311, 321, 320, 331, 333, 334, 337, 349, 352, 353, - 361, 362, 370, 371, 374, 383, 386, 387, 390, 399, - 402, 403, 406, 415, 416, 419, 420, 423, 431, 432, - 435, 436, 439, 448, 457, 458, 467, 475, 476, 485, - 494, 497, 498, 501 + 0, 69, 69, 72, 73, 76, 77, 80, 86, 87, + 90, 100, 122, 123, 126, 127, 130, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 182, 184, 185, 188, 193, 195, 196, + 199, 204, 206, 207, 210, 215, 217, 218, 221, 226, + 228, 229, 232, 237, 238, 246, 247, 255, 256, 264, + 265, 273, 276, 277, 280, 288, 291, 292, 295, 304, + 313, 323, 322, 333, 335, 336, 339, 351, 354, 355, + 363, 364, 372, 373, 376, 385, 388, 389, 392, 401, + 404, 405, 408, 417, 418, 421, 422, 425, 433, 434, + 437, 438, 441, 450, 459, 460, 469, 477, 478, 487, + 496, 499, 500, 503 }; #endif @@ -1576,49 +1578,49 @@ yyreduce: switch (yyn) { case 2: -#line 67 "levcomp.ypp" +#line 69 "levcomp.ypp" { } break; case 3: -#line 70 "levcomp.ypp" +#line 72 "levcomp.ypp" {} break; case 4: -#line 71 "levcomp.ypp" +#line 73 "levcomp.ypp" {} break; case 5: -#line 74 "levcomp.ypp" +#line 76 "levcomp.ypp" {} break; case 6: -#line 75 "levcomp.ypp" +#line 77 "levcomp.ypp" {} break; case 7: -#line 79 "levcomp.ypp" +#line 81 "levcomp.ypp" { yyerror("Unexpected character sequence."); } break; case 8: -#line 84 "levcomp.ypp" +#line 86 "levcomp.ypp" {} break; case 9: -#line 85 "levcomp.ypp" +#line 87 "levcomp.ypp" {} break; case 10: -#line 89 "levcomp.ypp" +#line 91 "levcomp.ypp" { dgn_reset_default_depth(); std::string err = dgn_set_default_depth((yyvsp[(2) - (2)].text)); @@ -1629,10 +1631,10 @@ yyreduce: break; case 11: -#line 99 "levcomp.ypp" +#line 101 "levcomp.ypp" { lc_map.set_file(lc_desfile); - + if (lc_run_global_prelude && !lc_global_prelude.empty()) { lc_global_prelude.set_file(lc_desfile); @@ -1652,32 +1654,32 @@ yyreduce: break; case 12: -#line 120 "levcomp.ypp" +#line 122 "levcomp.ypp" { } break; case 13: -#line 121 "levcomp.ypp" +#line 123 "levcomp.ypp" { } break; case 14: -#line 124 "levcomp.ypp" +#line 126 "levcomp.ypp" { } break; case 15: -#line 125 "levcomp.ypp" +#line 127 "levcomp.ypp" { } break; case 16: -#line 129 "levcomp.ypp" +#line 131 "levcomp.ypp" { lc_map.init(); lc_map.name = (yyvsp[(2) - (2)].text); - map_load_info_t::const_iterator i = + map_load_info_t::const_iterator i = lc_loaded_maps.find((yyvsp[(2) - (2)].text)); if (i != lc_loaded_maps.end()) @@ -1697,212 +1699,212 @@ yyreduce: break; case 42: -#line 177 "levcomp.ypp" +#line 179 "levcomp.ypp" {} break; case 43: -#line 180 "levcomp.ypp" +#line 182 "levcomp.ypp" { } break; case 44: -#line 182 "levcomp.ypp" +#line 184 "levcomp.ypp" { } break; case 45: -#line 183 "levcomp.ypp" +#line 185 "levcomp.ypp" { } break; case 46: -#line 187 "levcomp.ypp" +#line 189 "levcomp.ypp" { lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; case 47: -#line 191 "levcomp.ypp" +#line 193 "levcomp.ypp" { } break; case 48: -#line 193 "levcomp.ypp" +#line 195 "levcomp.ypp" { } break; case 49: -#line 194 "levcomp.ypp" +#line 196 "levcomp.ypp" { } break; case 50: -#line 198 "levcomp.ypp" +#line 200 "levcomp.ypp" { lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); } break; case 51: -#line 202 "levcomp.ypp" +#line 204 "levcomp.ypp" { } break; case 52: -#line 204 "levcomp.ypp" +#line 206 "levcomp.ypp" { } break; case 53: -#line 205 "levcomp.ypp" +#line 207 "levcomp.ypp" { } break; case 54: -#line 209 "levcomp.ypp" +#line 211 "levcomp.ypp" { lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); } break; case 55: -#line 213 "levcomp.ypp" +#line 215 "levcomp.ypp" { } break; case 56: -#line 215 "levcomp.ypp" +#line 217 "levcomp.ypp" { } break; case 57: -#line 216 "levcomp.ypp" +#line 218 "levcomp.ypp" { } break; case 58: -#line 220 "levcomp.ypp" +#line 222 "levcomp.ypp" { lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); } break; case 59: -#line 224 "levcomp.ypp" +#line 226 "levcomp.ypp" { } break; case 60: -#line 226 "levcomp.ypp" +#line 228 "levcomp.ypp" { } break; case 61: -#line 227 "levcomp.ypp" +#line 229 "levcomp.ypp" { } break; case 62: -#line 231 "levcomp.ypp" +#line 233 "levcomp.ypp" { lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; case 63: -#line 235 "levcomp.ypp" +#line 237 "levcomp.ypp" { } break; case 64: -#line 237 "levcomp.ypp" +#line 239 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("kfeat(\"%s\")", + yylineno, + make_stringf("kfeat(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 65: -#line 244 "levcomp.ypp" +#line 246 "levcomp.ypp" { } break; case 66: -#line 246 "levcomp.ypp" +#line 248 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("kmons(\"%s\")", + yylineno, + make_stringf("kmons(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 67: -#line 253 "levcomp.ypp" +#line 255 "levcomp.ypp" { } break; case 68: -#line 255 "levcomp.ypp" +#line 257 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("kitem(\"%s\")", + yylineno, + make_stringf("kitem(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 69: -#line 262 "levcomp.ypp" +#line 264 "levcomp.ypp" { } break; case 70: -#line 264 "levcomp.ypp" +#line 266 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("kmask(\"%s\")", + yylineno, + make_stringf("kmask(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 71: -#line 271 "levcomp.ypp" +#line 273 "levcomp.ypp" {} break; case 74: -#line 279 "levcomp.ypp" +#line 281 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("shuffle(\"%s\")", + yylineno, + make_stringf("shuffle(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 75: -#line 286 "levcomp.ypp" +#line 288 "levcomp.ypp" {} break; case 78: -#line 294 "levcomp.ypp" +#line 296 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("tags(\"%s\")", + yylineno, + make_stringf("tags(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 79: -#line 303 "levcomp.ypp" +#line 305 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1912,7 +1914,7 @@ yyreduce: break; case 80: -#line 312 "levcomp.ypp" +#line 314 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1922,7 +1924,7 @@ yyreduce: break; case 81: -#line 321 "levcomp.ypp" +#line 323 "levcomp.ypp" { lc_map.main.add(yylineno, "marker("); start_marker_segment = true; @@ -1930,17 +1932,17 @@ yyreduce: break; case 82: -#line 326 "levcomp.ypp" +#line 328 "levcomp.ypp" { lc_map.main.add(yylineno, ")"); } break; case 86: -#line 338 "levcomp.ypp" +#line 340 "levcomp.ypp" { lc_map.main.add( - yylineno, + yylineno, make_stringf( "%s\"%s\"", start_marker_segment? "" : " .. ", @@ -1950,17 +1952,17 @@ yyreduce: break; case 87: -#line 349 "levcomp.ypp" +#line 351 "levcomp.ypp" { } break; case 88: -#line 352 "levcomp.ypp" +#line 354 "levcomp.ypp" { } break; case 89: -#line 354 "levcomp.ypp" +#line 356 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1970,12 +1972,12 @@ yyreduce: break; case 90: -#line 361 "levcomp.ypp" +#line 363 "levcomp.ypp" { } break; case 91: -#line 363 "levcomp.ypp" +#line 365 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1985,17 +1987,17 @@ yyreduce: break; case 92: -#line 370 "levcomp.ypp" +#line 372 "levcomp.ypp" { } break; case 93: -#line 371 "levcomp.ypp" +#line 373 "levcomp.ypp" { } break; case 94: -#line 375 "levcomp.ypp" +#line 377 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2005,136 +2007,136 @@ yyreduce: break; case 95: -#line 383 "levcomp.ypp" +#line 385 "levcomp.ypp" { } break; case 96: -#line 386 "levcomp.ypp" +#line 388 "levcomp.ypp" { } break; case 97: -#line 387 "levcomp.ypp" +#line 389 "levcomp.ypp" { } break; case 98: -#line 391 "levcomp.ypp" +#line 393 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("nsubst(\"%s\")", + yylineno, + make_stringf("nsubst(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 99: -#line 399 "levcomp.ypp" +#line 401 "levcomp.ypp" { } break; case 102: -#line 407 "levcomp.ypp" +#line 409 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("subst(\"%s\")", + yylineno, + make_stringf("subst(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 103: -#line 415 "levcomp.ypp" +#line 417 "levcomp.ypp" {} break; case 104: -#line 416 "levcomp.ypp" +#line 418 "levcomp.ypp" {} break; case 107: -#line 424 "levcomp.ypp" +#line 426 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("item(\"%s\")", + yylineno, + make_stringf("item(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 108: -#line 431 "levcomp.ypp" +#line 433 "levcomp.ypp" {} break; case 109: -#line 432 "levcomp.ypp" +#line 434 "levcomp.ypp" {} break; case 112: -#line 440 "levcomp.ypp" +#line 442 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("mons(\"%s\")", + yylineno, + make_stringf("mons(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; case 113: -#line 449 "levcomp.ypp" +#line 451 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("place(\"%s\")", + yylineno, + make_stringf("place(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 114: -#line 457 "levcomp.ypp" +#line 459 "levcomp.ypp" {} break; case 115: -#line 459 "levcomp.ypp" +#line 461 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("depth(\"%s\")", + yylineno, + make_stringf("depth(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 116: -#line 468 "levcomp.ypp" +#line 470 "levcomp.ypp" { lc_map.main.add( - yylineno, + yylineno, make_stringf("chance(\"%d\")", (yyvsp[(2) - (2)].i))); } break; case 117: -#line 475 "levcomp.ypp" +#line 477 "levcomp.ypp" {} break; case 118: -#line 477 "levcomp.ypp" +#line 479 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("orient(\"%s\")", + yylineno, + make_stringf("orient(\"%s\")", quote_lua_string((yyvsp[(2) - (2)].text)).c_str())); } break; case 119: -#line 486 "levcomp.ypp" +#line 488 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2144,18 +2146,18 @@ yyreduce: break; case 123: -#line 502 "levcomp.ypp" +#line 504 "levcomp.ypp" { lc_map.main.add( - yylineno, - make_stringf("map(\"%s\")", + yylineno, + make_stringf("map(\"%s\")", quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); } break; /* Line 1267 of yacc.c. */ -#line 2159 "levcomp.tab.c" +#line 2161 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2369,6 +2371,6 @@ yyreturn: } -#line 510 "levcomp.ypp" +#line 512 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index 0c8b968088..69d9aab1af 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -118,7 +118,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 46 "levcomp.ypp" +#line 48 "levcomp.ypp" { int i; const char *text; -- cgit v1.2.3-54-g00ecf