widl: Updated to current Wine version.
diff --git a/mingw-w64-tools/widl/include/winnt.h b/mingw-w64-tools/widl/include/winnt.h index b8a630e..6b5b660 100644 --- a/mingw-w64-tools/widl/include/winnt.h +++ b/mingw-w64-tools/widl/include/winnt.h
@@ -653,6 +653,8 @@ #define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10 #define PROCESSOR_ARCHITECTURE_NEUTRAL 11 #define PROCESSOR_ARCHITECTURE_ARM64 12 +#define PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64 13 +#define PROCESSOR_ARCHITECTURE_IA32_ON_ARM64 14 #define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF /* dwProcessorType */ @@ -3490,6 +3492,7 @@ #define IMAGE_REL_ARM64_TOKEN 0x000C #define IMAGE_REL_ARM64_SECTION 0x000D #define IMAGE_REL_ARM64_ADDR64 0x000E +#define IMAGE_REL_ARM64_BRANCH19 0x000F /* IA64 relocation types */ #define IMAGE_REL_IA64_ABSOLUTE 0x0000
diff --git a/mingw-w64-tools/widl/src/proxy.c b/mingw-w64-tools/widl/src/proxy.c index 4c7d85d..87c27be 100644 --- a/mingw-w64-tools/widl/src/proxy.c +++ b/mingw-w64-tools/widl/src/proxy.c
@@ -664,7 +664,8 @@ /* proxy vtable */ print_proxy( "static %sCINTERFACE_PROXY_VTABLE(%d) _%sProxyVtbl =\n", - need_delegation_indirect(iface) ? "" : "const ", count, iface->name); + (get_stub_mode() != MODE_Os || need_delegation_indirect(iface)) ? "" : "const ", + count, iface->name); print_proxy( "{\n"); indent++; print_proxy( "{\n");
diff --git a/mingw-w64-tools/widl/src/widl.c b/mingw-w64-tools/widl/src/widl.c index bde0bd6..1af4250 100644 --- a/mingw-w64-tools/widl/src/widl.c +++ b/mingw-w64-tools/widl/src/widl.c
@@ -484,6 +484,11 @@ uuid = get_attrp(type->attrs, ATTR_UUID); write_id_guid(idfile, "IID", is_attr(type->attrs, ATTR_DISPINTERFACE) ? "DIID" : "IID", type->name, uuid); + if (type->details.iface->async_iface) + { + uuid = get_attrp(type->details.iface->async_iface->attrs, ATTR_UUID); + write_id_guid(idfile, "IID", "IID", type->details.iface->async_iface->name, uuid); + } } else if (type_get_type(type) == TYPE_COCLASS) {
diff --git a/mingw-w64-tools/widl/src/wpp/ppl.l b/mingw-w64-tools/widl/src/wpp/ppl.l index 243049a..1a04860 100644 --- a/mingw-w64-tools/widl/src/wpp/ppl.l +++ b/mingw-w64-tools/widl/src/wpp/ppl.l
@@ -150,6 +150,7 @@ %x pp_macexp %x pp_if %x pp_ifd +%x pp_ifignored %x pp_endif %x pp_line %x pp_defined @@ -390,7 +391,7 @@ <pp_pp>{ws}*undef{ws}* if(yy_top_state() != pp_ignore) {yy_pp_state(pp_ifd); return tUNDEF;} else {yy_pp_state(pp_eol);} <pp_pp>{ws}*ifdef{ws}* yy_pp_state(pp_ifd); return tIFDEF; <pp_pp>{ws}*ifndef{ws}* pp_incl_state.seen_junk--; yy_pp_state(pp_ifd); return tIFNDEF; -<pp_pp>{ws}*if{ws}* yy_pp_state(pp_if); return tIF; +<pp_pp>{ws}*if{ws}* if(yy_top_state() != pp_ignore) {yy_pp_state(pp_if);} else {yy_pp_state(pp_ifignored);} return tIF; <pp_pp>{ws}*elif{ws}* yy_pp_state(pp_if); return tELIF; <pp_pp>{ws}*else{ws}* yy_pp_state(pp_endif); return tELSE; <pp_pp>{ws}*endif{ws}* yy_pp_state(pp_endif); return tENDIF; @@ -450,6 +451,9 @@ <pp_if>\" ppy_error("String constants not allowed in conditionals"); <pp_if>. return *ppy_text; +<pp_ifignored>[^\n]+ ppy_lval.sint = 0; return tSINT; +<pp_ifignored>\n newline(1); yy_pop_state(); return tNL; + /* * Handle #ifdef, #ifndef and #undef * to get only an untranslated/unexpanded identifier
diff --git a/mingw-w64-tools/widl/src/wpp/ppl.yy.c b/mingw-w64-tools/widl/src/wpp/ppl.yy.c index 0e0c875..37c4308 100644 --- a/mingw-w64-tools/widl/src/wpp/ppl.yy.c +++ b/mingw-w64-tools/widl/src/wpp/ppl.yy.c
@@ -613,8 +613,8 @@ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 143 -#define YY_END_OF_BUFFER 144 +#define YY_NUM_RULES 145 +#define YY_END_OF_BUFFER 146 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -622,54 +622,54 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[416] = +static const flex_int16_t yy_accept[421] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 117, 117, 0, 0, 0, 0, + 0, 0, 0, 0, 119, 119, 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, 144, 133, 134, 135, 121, 142, - 122, 133, 132, 133, 134, 1, 21, 16, 18, 16, - 21, 20, 17, 17, 17, 17, 17, 17, 17, 17, - 68, 71, 69, 70, 28, 25, 26, 24, 28, 23, - 28, 28, 123, 131, 124, 142, 125, 126, 142, 127, - 128, 117, 118, 117, 77, 75, 77, 77, 74, 77, + 0, 0, 0, 0, 0, 0, 146, 135, 136, 137, + 123, 144, 124, 135, 134, 135, 136, 1, 21, 16, + 18, 16, 21, 20, 17, 17, 17, 17, 17, 17, + 17, 17, 70, 73, 71, 72, 28, 25, 26, 24, + 28, 23, 28, 28, 125, 133, 126, 144, 127, 128, + 144, 129, 130, 119, 120, 119, 79, 77, 79, 79, - 78, 82, 84, 83, 142, 79, 90, 86, 90, 85, - 88, 90, 90, 87, 90, 92, 100, 102, 95, 101, - 97, 96, 93, 97, 92, 106, 106, 104, 103, 106, - 114, 113, 110, 111, 107, 108, 109, 114, 114, 133, - 134, 138, 121, 138, 122, 133, 132, 133, 53, 50, - 47, 53, 52, 53, 51, 53, 33, 35, 53, 53, - 53, 53, 49, 53, 53, 58, 55, 56, 58, 54, - 58, 62, 59, 60, 62, 62, 22, 67, 64, 67, - 65, 67, 63, 67, 29, 30, 32, 32, 32, 29, - 1, 140, 143, 141, 139, 139, 133, 134, 133, 116, + 76, 79, 80, 84, 86, 85, 144, 81, 92, 88, + 92, 87, 90, 92, 92, 89, 92, 94, 102, 104, + 97, 103, 99, 98, 95, 99, 94, 108, 108, 106, + 105, 108, 116, 115, 112, 113, 109, 110, 111, 116, + 116, 135, 136, 140, 123, 140, 124, 135, 134, 135, + 53, 50, 47, 53, 52, 53, 51, 53, 33, 35, + 53, 53, 53, 53, 49, 53, 53, 60, 57, 58, + 60, 56, 60, 54, 55, 64, 61, 62, 64, 64, + 22, 69, 66, 69, 67, 69, 65, 69, 29, 30, + 32, 32, 32, 29, 1, 142, 145, 143, 141, 141, - 120, 132, 136, 137, 134, 1, 16, 17, 17, 17, - 17, 17, 17, 17, 17, 18, 19, 20, 17, 17, - 17, 17, 17, 11, 17, 17, 17, 17, 17, 68, - 69, 70, 72, 70, 25, 27, 28, 123, 130, 129, - 130, 125, 127, 117, 117, 117, 119, 75, 73, 74, - 76, 77, 78, 79, 81, 79, 86, 85, 90, 87, - 91, 90, 92, 94, 97, 96, 96, 93, 99, 97, - 92, 106, 104, 103, 106, 105, 106, 114, 114, 112, - 115, 114, 133, 138, 138, 50, 44, 41, 33, 34, - 33, 33, 37, 35, 35, 35, 39, 45, 43, 46, + 135, 136, 135, 118, 122, 134, 138, 139, 136, 1, + 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, + 19, 20, 17, 17, 17, 17, 17, 11, 17, 17, + 17, 17, 17, 70, 71, 72, 74, 72, 25, 27, + 28, 125, 132, 131, 132, 127, 129, 119, 119, 119, + 121, 77, 75, 76, 78, 79, 80, 81, 83, 81, + 88, 87, 92, 89, 93, 92, 94, 96, 99, 98, + 98, 95, 101, 99, 94, 108, 106, 105, 108, 107, + 108, 116, 116, 114, 117, 116, 135, 140, 140, 50, + 44, 41, 33, 34, 33, 33, 37, 35, 35, 35, - 40, 48, 49, 132, 42, 55, 54, 57, 58, 59, - 61, 0, 22, 64, 63, 67, 66, 67, 29, 31, - 32, 29, 140, 139, 120, 120, 17, 17, 17, 17, - 17, 17, 11, 17, 17, 17, 17, 17, 17, 17, - 69, 80, 89, 98, 34, 34, 33, 33, 33, 36, - 35, 35, 35, 132, 120, 17, 12, 13, 17, 17, - 17, 17, 17, 17, 15, 17, 17, 17, 34, 34, - 34, 33, 36, 36, 35, 132, 17, 12, 13, 14, - 4, 7, 9, 17, 17, 15, 17, 8, 17, 34, - 36, 36, 36, 132, 3, 14, 4, 7, 9, 10, + 39, 45, 43, 46, 40, 48, 49, 134, 42, 57, + 56, 59, 60, 54, 61, 63, 0, 22, 66, 65, + 69, 68, 69, 29, 31, 32, 29, 142, 141, 122, + 122, 17, 17, 17, 17, 17, 17, 11, 17, 17, + 17, 17, 17, 17, 17, 71, 82, 91, 100, 34, + 34, 33, 33, 33, 36, 35, 35, 35, 134, 122, + 17, 12, 13, 17, 17, 17, 17, 17, 17, 15, + 17, 17, 17, 34, 34, 34, 33, 36, 36, 35, + 134, 17, 12, 13, 14, 4, 7, 9, 17, 17, + 15, 17, 8, 17, 34, 36, 36, 36, 134, 3, - 17, 6, 8, 17, 36, 132, 3, 10, 2, 6, - 5, 38, 2, 5, 0 + 14, 4, 7, 9, 10, 17, 6, 8, 17, 36, + 134, 3, 10, 2, 6, 5, 38, 2, 5, 0 } ; static const YY_CHAR yy_ec[256] = @@ -713,364 +713,369 @@ 15, 15, 15, 15, 15, 15, 15, 15, 1 } ; -static const flex_int16_t yy_base[460] = +static const flex_int16_t yy_base[467] = { 0, 0, 48, 55, 0, 102, 103, 130, 0, 177, 178, 179, 182, 186, 187, 104, 107, 214, 0, 261, 262, 289, 0, 338, 0, 386, 389, 414, 439, 466, 0, - 515, 0, 564, 0, 399, 403, 612, 638, 665, 0, - 428, 618, 714, 763, 1130, 0, 49, 1886, 1886, 1886, - 1886, 96, 0, 109, 118, 1886, 1886, 811, 1886, 1126, - 111, 111, 858, 1095, 154, 161, 1090, 1083, 1085, 1095, - 0, 1886, 184, 124, 1886, 196, 1886, 1886, 254, 1886, - 0, 199, 0, 1886, 1886, 269, 0, 1886, 1120, 0, - 1886, 0, 1886, 263, 1886, 208, 1886, 267, 1112, 277, + 515, 0, 564, 0, 1129, 1128, 399, 403, 612, 638, + 665, 0, 428, 618, 714, 763, 1130, 0, 49, 1920, + 1920, 1920, 1920, 96, 0, 109, 118, 1920, 1920, 811, + 1920, 1126, 111, 111, 858, 1095, 154, 161, 1090, 1083, + 1085, 1095, 0, 1920, 184, 124, 1920, 196, 1920, 1920, + 254, 1920, 0, 199, 0, 1920, 1920, 269, 0, 1920, + 1120, 0, 1920, 0, 1920, 263, 1920, 208, 1920, 267, - 0, 1886, 1886, 1886, 271, 281, 1886, 393, 1886, 396, - 1886, 1107, 396, 0, 406, 0, 1886, 1886, 1113, 1886, - 400, 905, 0, 418, 954, 1886, 430, 1886, 1886, 433, - 0, 1886, 1886, 1886, 1886, 1886, 1886, 432, 435, 0, - 449, 1886, 1886, 1886, 1886, 444, 0, 1003, 1886, 456, - 1886, 1099, 1886, 1110, 1886, 449, 1037, 714, 443, 1097, - 603, 0, 623, 1083, 1066, 1886, 615, 1886, 619, 0, - 632, 1886, 644, 1886, 635, 634, 635, 1886, 655, 1886, - 1886, 646, 0, 659, 0, 1886, 1886, 725, 738, 741, - 1886, 742, 1886, 1886, 0, 735, 0, 747, 741, 1886, + 1112, 277, 0, 1920, 1920, 1920, 271, 281, 1920, 393, + 1920, 396, 1920, 1107, 396, 0, 406, 0, 1920, 1920, + 1113, 1920, 400, 905, 0, 418, 954, 1920, 430, 1920, + 1920, 433, 0, 1920, 1920, 1920, 1920, 1920, 1920, 432, + 435, 0, 449, 1920, 1920, 1920, 1920, 444, 0, 1003, + 1920, 456, 1920, 1099, 1920, 1110, 1920, 449, 1037, 714, + 443, 1097, 603, 0, 623, 1083, 1066, 1920, 615, 1920, + 619, 0, 632, 0, 1920, 1920, 644, 1920, 635, 634, + 635, 1920, 655, 1920, 1920, 646, 0, 659, 0, 1920, + 1920, 725, 738, 741, 1920, 742, 1920, 1920, 0, 735, - 0, 0, 1886, 1111, 755, 1886, 0, 0, 1079, 747, - 754, 1074, 1067, 1069, 1079, 1886, 1886, 1104, 1069, 717, - 1070, 1058, 1067, 777, 1063, 1052, 1062, 1056, 1041, 0, - 0, 1886, 1886, 1079, 787, 1886, 1078, 0, 1886, 1886, - 1077, 0, 0, 0, 743, 765, 1886, 791, 1886, 1069, - 1886, 1075, 0, 1886, 794, 1074, 795, 798, 1062, 0, - 1886, 1071, 0, 1886, 789, 0, 1085, 0, 801, 1070, - 0, 804, 1886, 1886, 807, 1886, 1069, 0, 804, 1886, - 1886, 1068, 806, 1886, 0, 818, 1886, 1886, 847, 843, - 874, 799, 0, 905, 903, 800, 1886, 1886, 1886, 1886, + 0, 747, 741, 1920, 0, 0, 1920, 1111, 755, 1920, + 0, 0, 1079, 747, 754, 1074, 1067, 1069, 1079, 1920, + 1920, 1104, 1069, 717, 1070, 1058, 1067, 777, 1063, 1052, + 1062, 1056, 1041, 0, 0, 1920, 1920, 1079, 787, 1920, + 1078, 0, 1920, 1920, 1077, 0, 0, 0, 743, 765, + 1920, 791, 1920, 1069, 1920, 1075, 0, 1920, 794, 1074, + 795, 798, 1062, 0, 1920, 1071, 0, 1920, 789, 0, + 1085, 0, 801, 1070, 0, 804, 1920, 1920, 807, 1920, + 1069, 0, 804, 1920, 1920, 1068, 806, 1920, 0, 818, + 1920, 1920, 847, 843, 874, 799, 0, 905, 903, 800, - 1886, 1886, 1066, 1026, 1886, 823, 0, 1886, 1048, 824, - 1886, 1047, 816, 871, 0, 1886, 1886, 1027, 0, 1886, - 1006, 872, 876, 0, 1134, 0, 969, 971, 948, 943, - 906, 897, 880, 875, 871, 864, 844, 835, 833, 799, - 0, 884, 1886, 890, 907, 845, 618, 863, 873, 914, - 889, 910, 912, 799, 1183, 795, 938, 942, 796, 786, - 747, 702, 695, 614, 959, 610, 598, 428, 932, 945, - 946, 1886, 947, 952, 1886, 406, 395, 975, 984, 985, - 990, 993, 994, 385, 372, 997, 365, 998, 247, 1886, - 966, 991, 994, 241, 1023, 1024, 1029, 1032, 1033, 1036, + 1920, 1920, 1920, 1920, 1920, 1920, 1066, 1026, 1920, 823, + 0, 1920, 1048, 0, 824, 1920, 1047, 816, 871, 0, + 1920, 1920, 1027, 0, 1920, 1006, 872, 876, 0, 1134, + 0, 969, 971, 948, 943, 906, 897, 880, 875, 871, + 864, 844, 835, 833, 799, 0, 884, 1920, 890, 907, + 845, 618, 863, 873, 914, 889, 910, 912, 799, 1183, + 795, 938, 942, 796, 786, 747, 702, 695, 614, 959, + 610, 598, 428, 932, 945, 946, 1920, 947, 952, 1920, + 406, 395, 975, 984, 985, 990, 993, 994, 385, 372, + 997, 365, 998, 247, 1920, 966, 991, 994, 241, 1023, - 153, 1037, 1040, 74, 1886, 22, 1041, 1044, 1045, 1054, - 1055, 0, 1062, 1063, 1886, 1232, 1249, 1266, 1283, 1300, - 1317, 1334, 1351, 1368, 1385, 1402, 1419, 1436, 1449, 1451, - 1468, 1485, 1502, 1519, 1536, 1553, 1570, 1587, 1598, 1615, - 1632, 1638, 1655, 1672, 1689, 1695, 1712, 1729, 1746, 1752, - 1758, 1775, 1792, 1800, 1817, 1834, 1851, 1056, 1868 + 1024, 1029, 1032, 1033, 1036, 153, 1037, 1040, 74, 1920, + 22, 1041, 1044, 1045, 1054, 1055, 0, 1062, 1063, 1920, + 1232, 1249, 1266, 1283, 1300, 1317, 1334, 1351, 1368, 1385, + 1402, 1419, 1436, 1453, 1466, 1468, 1485, 1502, 1519, 1536, + 1553, 1570, 1587, 1604, 1615, 1632, 1649, 1655, 1672, 1689, + 1706, 1712, 1729, 1746, 1763, 1769, 1786, 1792, 1809, 1826, + 1834, 1851, 1868, 1885, 1056, 1902 } ; -static const flex_int16_t yy_def[460] = +static const flex_int16_t yy_def[467] = { 0, - 415, 1, 415, 3, 416, 416, 415, 7, 417, 417, - 418, 418, 419, 419, 420, 420, 415, 17, 421, 421, - 415, 21, 415, 23, 422, 422, 423, 423, 415, 29, - 415, 31, 415, 33, 424, 424, 425, 425, 415, 39, - 426, 426, 427, 427, 415, 428, 415, 415, 415, 415, - 415, 429, 430, 429, 415, 415, 415, 415, 415, 58, - 415, 415, 58, 63, 63, 63, 63, 63, 63, 63, - 431, 415, 432, 415, 415, 415, 415, 415, 415, 415, - 430, 415, 433, 415, 415, 434, 435, 415, 434, 436, - 415, 437, 415, 438, 415, 415, 415, 415, 439, 415, + 420, 1, 420, 3, 421, 421, 420, 7, 422, 422, + 423, 423, 424, 424, 425, 425, 420, 17, 426, 426, + 420, 21, 420, 23, 427, 427, 428, 428, 420, 29, + 420, 31, 420, 33, 429, 429, 430, 430, 431, 431, + 420, 41, 432, 432, 433, 433, 420, 434, 420, 420, + 420, 420, 420, 435, 436, 435, 420, 420, 420, 420, + 420, 60, 420, 420, 60, 65, 65, 65, 65, 65, + 65, 65, 437, 420, 438, 420, 420, 420, 420, 420, + 420, 420, 436, 420, 439, 420, 420, 440, 441, 420, + 440, 442, 420, 443, 420, 444, 420, 420, 420, 420, - 440, 415, 415, 415, 441, 415, 415, 415, 415, 415, - 415, 415, 415, 442, 415, 443, 415, 415, 415, 415, - 444, 445, 446, 415, 446, 415, 415, 415, 415, 415, - 447, 415, 415, 415, 415, 415, 415, 448, 415, 428, - 415, 415, 415, 415, 415, 429, 430, 449, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 430, 415, 430, 415, 415, 415, 415, 415, 450, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 451, 452, 453, 415, 415, 415, 415, 453, - 415, 415, 415, 415, 454, 454, 428, 415, 429, 415, + 445, 420, 446, 420, 420, 420, 447, 420, 420, 420, + 420, 420, 420, 420, 420, 448, 420, 449, 420, 420, + 420, 420, 450, 451, 452, 420, 452, 420, 420, 420, + 420, 420, 453, 420, 420, 420, 420, 420, 420, 454, + 420, 434, 420, 420, 420, 420, 420, 435, 436, 455, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 436, 420, 436, 420, 420, 420, 420, + 420, 456, 420, 457, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 458, 459, 460, 420, + 420, 420, 420, 460, 420, 420, 420, 420, 461, 461, - 455, 430, 415, 415, 415, 415, 58, 63, 63, 63, - 63, 63, 63, 63, 63, 415, 415, 415, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 431, - 456, 415, 415, 415, 415, 415, 415, 433, 415, 415, - 415, 435, 436, 437, 438, 438, 415, 415, 415, 439, - 415, 415, 440, 415, 415, 415, 415, 415, 415, 442, - 415, 415, 443, 415, 444, 457, 445, 446, 415, 415, - 125, 415, 415, 415, 415, 415, 415, 447, 448, 415, - 415, 415, 429, 415, 449, 415, 415, 415, 415, 415, - 415, 415, 458, 415, 415, 415, 415, 415, 415, 415, + 434, 420, 435, 420, 462, 436, 420, 420, 420, 420, + 60, 65, 65, 65, 65, 65, 65, 65, 65, 420, + 420, 420, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 437, 463, 420, 420, 420, 420, 420, + 420, 439, 420, 420, 420, 441, 442, 443, 444, 444, + 420, 420, 420, 445, 420, 420, 446, 420, 420, 420, + 420, 420, 420, 448, 420, 420, 449, 420, 450, 464, + 451, 452, 420, 420, 127, 420, 420, 420, 420, 420, + 420, 453, 454, 420, 420, 420, 435, 420, 455, 420, + 420, 420, 420, 420, 420, 420, 465, 420, 420, 420, - 415, 415, 415, 430, 415, 415, 450, 415, 415, 415, - 415, 415, 415, 415, 451, 415, 415, 415, 453, 415, - 415, 453, 415, 454, 459, 455, 63, 63, 63, 63, - 63, 63, 415, 63, 63, 63, 63, 63, 63, 63, - 456, 415, 415, 415, 415, 415, 415, 415, 415, 458, - 415, 415, 415, 430, 459, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 415, 415, - 415, 415, 415, 415, 415, 430, 63, 415, 415, 63, - 63, 63, 63, 63, 63, 415, 63, 63, 63, 415, - 415, 415, 415, 430, 63, 415, 415, 415, 415, 63, + 420, 420, 420, 420, 420, 420, 420, 436, 420, 420, + 456, 420, 420, 457, 420, 420, 420, 420, 420, 458, + 420, 420, 420, 460, 420, 420, 460, 420, 461, 466, + 462, 65, 65, 65, 65, 65, 65, 420, 65, 65, + 65, 65, 65, 65, 65, 463, 420, 420, 420, 420, + 420, 420, 420, 420, 465, 420, 420, 420, 436, 466, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 420, 420, 420, 420, 420, 420, 420, + 436, 65, 420, 420, 65, 65, 65, 65, 65, 65, + 420, 65, 65, 65, 420, 420, 420, 420, 436, 65, - 63, 63, 415, 63, 415, 430, 415, 415, 63, 415, - 63, 430, 415, 415, 0, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415 + 420, 420, 420, 420, 65, 65, 65, 420, 65, 420, + 436, 420, 420, 65, 420, 65, 436, 420, 420, 0, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420 } ; -static const flex_int16_t yy_nxt[1936] = +static const flex_int16_t yy_nxt[1970] = { 0, - 46, 47, 48, 47, 46, 49, 50, 46, 51, 46, - 46, 46, 46, 46, 52, 46, 46, 46, 46, 46, - 46, 53, 53, 53, 53, 53, 54, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 46, 55, - 198, 55, 198, 412, 56, 57, 58, 59, 60, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 61, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 62, 57, 63, 63, 63, 64, 65, 63, 63, - 63, 66, 67, 63, 63, 63, 68, 63, 63, 63, + 48, 49, 50, 49, 48, 51, 52, 48, 53, 48, + 48, 48, 48, 48, 54, 48, 48, 48, 48, 48, + 48, 55, 55, 55, 55, 55, 56, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 48, 57, + 202, 57, 202, 417, 58, 59, 60, 61, 62, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 63, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 64, 59, 65, 65, 65, 66, 67, 65, 65, + 65, 68, 69, 65, 65, 65, 70, 65, 65, 65, - 69, 70, 63, 57, 72, 72, 93, 200, 411, 93, - 201, 203, 204, 217, 218, 94, 73, 73, 94, 205, - 415, 205, 200, 415, 206, 201, 233, 234, 74, 74, - 75, 76, 77, 76, 75, 78, 75, 75, 75, 75, - 75, 75, 75, 75, 79, 75, 75, 75, 80, 75, - 75, 81, 81, 81, 81, 81, 82, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 75, 84, - 84, 84, 85, 85, 84, 409, 232, 88, 84, 84, - 88, 220, 223, 221, 224, 200, 222, 235, 201, 235, - - 225, 236, 237, 86, 86, 89, 91, 91, 89, 248, - 232, 248, 89, 89, 95, 96, 97, 96, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 98, 95, - 95, 95, 95, 95, 95, 99, 99, 99, 99, 99, - 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 95, 102, 102, 200, 103, 103, 201, 104, - 104, 240, 241, 406, 246, 105, 105, 247, 200, 251, - 252, 201, 200, 255, 256, 201, 404, 106, 106, 107, - 108, 109, 108, 107, 107, 107, 107, 107, 107, 110, - - 107, 111, 112, 113, 107, 107, 107, 107, 107, 107, - 114, 114, 114, 114, 114, 115, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 107, 116, 116, - 117, 116, 116, 118, 119, 116, 120, 116, 116, 116, - 116, 116, 121, 122, 122, 122, 116, 116, 116, 123, - 123, 123, 123, 123, 124, 125, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 116, 127, 128, 127, - 127, 128, 127, 402, 257, 129, 257, 258, 129, 258, - - 173, 174, 173, 401, 173, 174, 173, 200, 261, 262, - 201, 200, 130, 175, 201, 130, 132, 175, 400, 133, - 269, 270, 134, 135, 136, 176, 137, 395, 138, 176, - 186, 272, 273, 272, 187, 276, 277, 281, 282, 274, - 139, 132, 188, 280, 133, 394, 201, 134, 135, 136, - 198, 137, 198, 138, 189, 415, 275, 286, 415, 286, - 200, 297, 298, 201, 389, 139, 140, 141, 142, 141, - 140, 143, 144, 140, 145, 140, 140, 140, 140, 140, - 146, 140, 140, 140, 140, 140, 140, 147, 147, 147, - 147, 147, 148, 147, 147, 147, 147, 147, 147, 147, - - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 140, 149, 150, 151, 150, 152, - 153, 149, 154, 155, 149, 149, 149, 149, 149, 156, - 157, 158, 158, 159, 160, 161, 162, 162, 162, 162, - 162, 163, 162, 162, 162, 162, 164, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 165, 166, 167, 168, 167, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 169, 166, - 166, 166, 166, 166, 166, 170, 170, 170, 170, 170, - 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, - - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 166, 76, 77, 76, 306, 78, 306, 190, - 186, 190, 300, 301, 191, 302, 303, 177, 177, 177, - 200, 388, 188, 201, 308, 309, 311, 312, 82, 76, - 77, 76, 372, 78, 189, 310, 200, 310, 387, 201, - 313, 313, 313, 177, 177, 177, 314, 200, 314, 385, - 201, 317, 318, 372, 82, 178, 179, 180, 179, 178, - 178, 178, 178, 178, 181, 181, 178, 178, 178, 182, - 178, 178, 178, 178, 178, 178, 183, 183, 183, 183, - 183, 184, 183, 183, 183, 183, 183, 183, 183, 183, - - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 178, 50, 192, 193, 192, 50, 194, - 50, 50, 50, 50, 50, 50, 50, 384, 196, 294, - 294, 294, 50, 50, 50, 383, 200, 295, 296, 201, - 320, 321, 322, 323, 322, 323, 200, 206, 198, 325, - 198, 295, 415, 328, 415, 415, 205, 415, 205, 296, - 329, 206, 50, 50, 192, 193, 192, 50, 194, 50, - 50, 50, 50, 50, 50, 50, 246, 196, 333, 247, - 333, 50, 50, 50, 220, 223, 221, 224, 235, 222, - 235, 382, 248, 225, 248, 342, 257, 342, 257, 258, - - 415, 258, 344, 415, 344, 272, 273, 272, 334, 276, - 277, 50, 207, 274, 207, 415, 335, 415, 415, 286, - 415, 286, 349, 353, 306, 310, 306, 310, 381, 380, - 275, 313, 313, 313, 377, 376, 349, 353, 368, 208, - 208, 208, 209, 210, 208, 208, 208, 211, 212, 208, - 208, 208, 213, 208, 208, 208, 214, 215, 208, 415, - 290, 415, 289, 289, 290, 367, 345, 346, 371, 366, - 291, 292, 314, 322, 314, 322, 365, 323, 206, 323, - 345, 333, 371, 333, 291, 342, 372, 342, 346, 208, - 208, 344, 292, 344, 208, 208, 372, 347, 348, 208, - - 372, 364, 363, 208, 208, 266, 266, 362, 266, 266, - 372, 347, 266, 375, 266, 266, 266, 266, 266, 348, - 294, 294, 294, 266, 266, 266, 351, 352, 295, 296, - 369, 370, 266, 375, 375, 375, 361, 373, 374, 378, - 351, 378, 295, 379, 369, 379, 360, 375, 352, 375, - 296, 373, 370, 266, 263, 263, 390, 263, 263, 374, - 386, 263, 386, 263, 263, 263, 263, 263, 390, 390, - 391, 392, 263, 263, 263, 393, 378, 390, 378, 359, - 358, 271, 390, 390, 391, 379, 396, 379, 396, 393, - 405, 397, 392, 397, 398, 399, 398, 399, 386, 403, - - 386, 403, 263, 283, 357, 356, 285, 283, 320, 283, - 283, 405, 283, 283, 405, 283, 283, 405, 283, 283, - 283, 283, 283, 283, 407, 396, 407, 396, 405, 317, - 397, 405, 397, 398, 399, 398, 399, 408, 410, 408, - 410, 403, 407, 403, 407, 408, 413, 408, 413, 311, - 308, 283, 289, 289, 290, 410, 414, 410, 414, 354, - 291, 292, 293, 413, 414, 413, 414, 350, 302, 350, - 281, 276, 269, 261, 291, 343, 255, 251, 249, 240, - 236, 233, 292, 340, 293, 266, 266, 339, 266, 266, - 338, 337, 266, 336, 266, 266, 266, 266, 266, 332, - - 331, 330, 327, 266, 266, 266, 217, 229, 228, 227, - 226, 219, 266, 203, 305, 304, 299, 288, 287, 264, - 259, 249, 415, 229, 228, 227, 226, 219, 216, 415, - 415, 415, 415, 266, 326, 326, 415, 326, 326, 326, - 326, 326, 326, 326, 326, 326, 326, 415, 415, 415, - 415, 415, 326, 326, 326, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 326, 326, 326, 415, 326, 326, 326, 326, - 326, 326, 326, 326, 326, 326, 415, 415, 415, 415, - - 415, 326, 326, 326, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 326, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 83, + 71, 72, 65, 59, 74, 74, 95, 204, 416, 95, + 205, 207, 208, 221, 222, 96, 75, 75, 96, 209, + 420, 209, 204, 420, 210, 205, 237, 238, 76, 76, + 77, 78, 79, 78, 77, 80, 77, 77, 77, 77, + 77, 77, 77, 77, 81, 77, 77, 77, 82, 77, + 77, 83, 83, 83, 83, 83, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 83, 83, 83, 83, 83, 83, 83, 83, 77, 86, + 86, 86, 87, 87, 86, 414, 236, 90, 86, 86, + 90, 224, 227, 225, 228, 204, 226, 239, 205, 239, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 101, 101, 101, + 229, 240, 241, 88, 88, 91, 93, 93, 91, 252, + 236, 252, 91, 91, 97, 98, 99, 98, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 100, 97, + 97, 97, 97, 97, 97, 101, 101, 101, 101, 101, + 102, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 172, 172, + 101, 101, 97, 104, 104, 204, 105, 105, 205, 106, + 106, 244, 245, 411, 250, 107, 107, 251, 204, 255, + 256, 205, 204, 259, 260, 205, 409, 108, 108, 109, + 110, 111, 110, 109, 109, 109, 109, 109, 109, 112, + + 109, 113, 114, 115, 109, 109, 109, 109, 109, 109, + 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 109, 118, 118, + 119, 118, 118, 120, 121, 118, 122, 118, 118, 118, + 118, 118, 123, 124, 124, 124, 118, 118, 118, 125, + 125, 125, 125, 125, 126, 127, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 118, 129, 130, 129, + 129, 130, 129, 407, 261, 131, 261, 262, 131, 262, + + 177, 178, 177, 406, 177, 178, 177, 204, 265, 266, + 205, 204, 132, 179, 205, 132, 134, 179, 405, 135, + 273, 274, 136, 137, 138, 180, 139, 400, 140, 180, + 190, 276, 277, 276, 191, 280, 281, 285, 286, 278, + 141, 134, 192, 284, 135, 399, 205, 136, 137, 138, + 202, 139, 202, 140, 193, 420, 279, 290, 420, 290, + 204, 301, 302, 205, 394, 141, 142, 143, 144, 143, + 142, 145, 146, 142, 147, 142, 142, 142, 142, 142, + 148, 142, 142, 142, 142, 142, 142, 149, 149, 149, + 149, 149, 150, 149, 149, 149, 149, 149, 149, 149, + + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 142, 151, 152, 153, 152, 154, + 155, 151, 156, 157, 151, 151, 151, 151, 151, 158, + 159, 160, 160, 161, 162, 163, 164, 164, 164, 164, + 164, 165, 164, 164, 164, 164, 166, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 167, 168, 169, 170, 169, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 171, 168, + 168, 168, 168, 168, 168, 172, 172, 172, 172, 172, + 173, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 172, 172, 168, 78, 79, 78, 310, 80, 310, 194, + 190, 194, 304, 305, 195, 306, 307, 181, 181, 181, + 204, 393, 192, 205, 312, 313, 316, 317, 84, 78, + 79, 78, 377, 80, 193, 315, 204, 315, 392, 205, + 318, 318, 318, 181, 181, 181, 319, 204, 319, 390, + 205, 322, 323, 377, 84, 182, 183, 184, 183, 182, + 182, 182, 182, 182, 185, 185, 182, 182, 182, 186, + 182, 182, 182, 182, 182, 182, 187, 187, 187, 187, + 187, 188, 187, 187, 187, 187, 187, 187, 187, 187, - 75, 75, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 197, 415, 415, 415, - 415, 415, 197, 197, 197, 197, 415, 197, 197, 199, - 415, 415, 415, 199, 415, 199, 199, 199, 199, 199, - 199, 199, 202, 415, 202, 202, 415, 202, 230, 230, - 415, 230, 230, 230, 230, 230, 230, 230, 415, 230, - 230, 230, 230, 415, 230, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 182, 52, 196, 197, 196, 52, 198, + 52, 52, 52, 52, 52, 52, 52, 389, 200, 298, + 298, 298, 52, 52, 52, 388, 204, 299, 300, 205, + 325, 326, 327, 328, 327, 328, 204, 210, 202, 330, + 202, 299, 420, 333, 420, 420, 209, 420, 209, 300, + 334, 210, 52, 52, 196, 197, 196, 52, 198, 52, + 52, 52, 52, 52, 52, 52, 250, 200, 338, 251, + 338, 52, 52, 52, 224, 227, 225, 228, 239, 226, + 239, 387, 252, 229, 252, 347, 261, 347, 261, 262, - 231, 231, 238, 238, 415, 415, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 415, 238, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 242, 242, 415, 242, - 242, 415, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 415, 242, 243, 243, 415, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 415, 243, 243, 415, 243, - 244, 244, 415, 244, 244, 244, 244, 244, 415, 244, - 244, 244, 244, 244, 244, 244, 244, 245, 245, 415, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 420, 262, 349, 420, 349, 276, 277, 276, 339, 280, + 281, 52, 211, 278, 211, 420, 340, 420, 420, 290, + 420, 290, 354, 358, 310, 315, 310, 315, 386, 385, + 279, 318, 318, 318, 382, 381, 354, 358, 373, 212, + 212, 212, 213, 214, 212, 212, 212, 215, 216, 212, + 212, 212, 217, 212, 212, 212, 218, 219, 212, 420, + 294, 420, 293, 293, 294, 372, 350, 351, 376, 371, + 295, 296, 319, 327, 319, 327, 370, 328, 210, 328, + 350, 338, 376, 338, 295, 347, 377, 347, 351, 212, + 212, 349, 296, 349, 212, 212, 377, 352, 353, 212, - 245, 245, 245, 245, 250, 415, 415, 415, 415, 250, - 415, 250, 250, 415, 250, 253, 253, 415, 415, 253, - 415, 253, 253, 253, 253, 415, 253, 253, 253, 253, - 415, 253, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 260, - 415, 260, 260, 415, 260, 263, 263, 415, 415, 415, - 415, 263, 263, 263, 263, 415, 415, 263, 415, 415, - 415, 263, 265, 265, 415, 415, 415, 415, 265, 265, - 265, 265, 265, 265, 265, 265, 265, 415, 265, 267, - 267, 415, 415, 415, 415, 267, 267, 267, 267, 415, + 377, 369, 368, 212, 212, 270, 270, 367, 270, 270, + 377, 352, 270, 380, 270, 270, 270, 270, 270, 353, + 298, 298, 298, 270, 270, 270, 356, 357, 299, 300, + 374, 375, 270, 380, 380, 380, 366, 378, 379, 383, + 356, 383, 299, 384, 374, 384, 365, 380, 357, 380, + 300, 378, 375, 270, 267, 267, 395, 267, 267, 379, + 391, 267, 391, 267, 267, 267, 267, 267, 395, 395, + 396, 397, 267, 267, 267, 398, 383, 395, 383, 364, + 363, 275, 395, 395, 396, 384, 401, 384, 401, 398, + 410, 402, 397, 402, 403, 404, 403, 404, 391, 408, - 267, 267, 267, 267, 415, 267, 268, 415, 268, 268, - 415, 268, 278, 278, 415, 415, 278, 415, 415, 415, - 278, 278, 415, 278, 278, 278, 278, 415, 278, 279, - 279, 415, 415, 279, 415, 415, 415, 279, 279, 279, - 279, 279, 279, 279, 415, 279, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 307, 415, 307, 307, 415, 307, 315, - 415, 315, 315, 415, 315, 316, 316, 316, 316, 316, - 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, - 316, 316, 319, 319, 415, 319, 415, 319, 319, 319, + 391, 408, 267, 287, 362, 361, 289, 287, 325, 287, + 287, 410, 287, 287, 410, 287, 287, 410, 287, 287, + 287, 287, 287, 287, 412, 401, 412, 401, 410, 322, + 402, 410, 402, 403, 404, 403, 404, 413, 415, 413, + 415, 408, 412, 408, 412, 413, 418, 413, 418, 316, + 312, 287, 293, 293, 294, 415, 419, 415, 419, 359, + 295, 296, 297, 418, 419, 418, 419, 355, 306, 355, + 285, 280, 273, 265, 295, 348, 259, 255, 253, 244, + 240, 237, 296, 345, 297, 270, 270, 344, 270, 270, + 343, 342, 270, 341, 270, 270, 270, 270, 270, 337, - 319, 319, 415, 319, 319, 319, 319, 415, 319, 324, - 324, 324, 415, 324, 324, 324, 324, 326, 326, 415, - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 326, 326, 341, 341, 415, 341, 341, 341, - 341, 341, 415, 341, 415, 341, 341, 341, 341, 415, - 341, 266, 266, 415, 415, 415, 415, 266, 266, 266, - 266, 415, 415, 266, 415, 415, 415, 266, 355, 355, - 415, 355, 355, 355, 355, 355, 355, 355, 355, 355, - 355, 355, 355, 355, 355, 45, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 336, 335, 332, 270, 270, 270, 221, 233, 232, 231, + 230, 223, 270, 207, 309, 308, 303, 292, 291, 268, + 263, 253, 420, 233, 232, 231, 230, 223, 220, 420, + 175, 175, 420, 270, 331, 331, 420, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 420, 420, 420, + 420, 420, 331, 331, 331, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 331, 331, 331, 420, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 420, 420, 420, 420, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415 + 420, 331, 331, 331, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 331, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 103, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + + 176, 176, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 201, 420, 420, 420, 420, 420, 201, + 201, 201, 201, 420, 201, 201, 203, 420, 420, 420, + 203, 420, 203, 203, 203, 203, 203, 203, 203, 206, + 420, 206, 206, 420, 206, 234, 234, 420, 234, 234, + 234, 234, 234, 234, 234, 420, 234, 234, 234, 234, + + 420, 234, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 242, + 242, 420, 420, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 420, 242, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 246, 246, 420, 246, 246, 420, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 420, 246, + 247, 247, 420, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 420, 247, 247, 420, 247, 248, 248, 420, + 248, 248, 248, 248, 248, 420, 248, 248, 248, 248, + + 248, 248, 248, 248, 249, 249, 420, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 254, 420, 420, 420, 420, 254, 420, 254, 254, + 420, 254, 257, 257, 420, 420, 257, 420, 257, 257, + 257, 257, 420, 257, 257, 257, 257, 420, 257, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, + 258, 258, 258, 258, 258, 258, 264, 420, 264, 264, + 420, 264, 267, 267, 420, 420, 420, 420, 267, 267, + 267, 267, 420, 420, 267, 420, 420, 420, 267, 269, + 269, 420, 420, 420, 420, 269, 269, 269, 269, 269, + + 269, 269, 269, 269, 420, 269, 271, 271, 420, 420, + 420, 420, 271, 271, 271, 271, 420, 271, 271, 271, + 271, 420, 271, 272, 420, 272, 272, 420, 272, 282, + 282, 420, 420, 282, 420, 420, 420, 282, 282, 420, + 282, 282, 282, 282, 420, 282, 283, 283, 420, 420, + 283, 420, 420, 420, 283, 283, 283, 283, 283, 283, + 283, 420, 283, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, + 311, 420, 311, 311, 420, 311, 314, 314, 420, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + + 314, 314, 314, 320, 420, 320, 320, 420, 320, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 324, 324, 420, 324, + 420, 324, 324, 324, 324, 324, 420, 324, 324, 324, + 324, 420, 324, 329, 329, 329, 420, 329, 329, 329, + 329, 331, 331, 420, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 346, 346, + 420, 346, 346, 346, 346, 346, 420, 346, 420, 346, + 346, 346, 346, 420, 346, 270, 270, 420, 420, 420, + 420, 270, 270, 270, 270, 420, 420, 270, 420, 420, + + 420, 270, 360, 360, 420, 360, 360, 360, 360, 360, + 360, 360, 360, 360, 360, 360, 360, 360, 360, 47, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420 } ; -static const flex_int16_t yy_chk[1936] = +static const flex_int16_t yy_chk[1970] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 47, 2, 47, 406, 2, 3, 3, 3, 3, 3, + 49, 2, 49, 411, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 5, 6, 15, 52, 404, 16, - 52, 54, 54, 62, 62, 15, 5, 6, 16, 55, - 54, 55, 61, 54, 55, 61, 74, 74, 5, 6, + 3, 3, 3, 3, 5, 6, 15, 54, 409, 16, + 54, 56, 56, 64, 64, 15, 5, 6, 16, 57, + 56, 57, 63, 56, 57, 63, 76, 76, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, - 10, 11, 9, 10, 12, 401, 73, 11, 13, 14, - 12, 65, 66, 65, 66, 73, 65, 76, 73, 76, + 10, 11, 9, 10, 12, 406, 75, 11, 13, 14, + 12, 67, 68, 67, 68, 75, 67, 78, 75, 78, - 66, 82, 82, 9, 10, 11, 13, 14, 12, 96, - 73, 96, 13, 14, 17, 17, 17, 17, 17, 17, + 68, 84, 84, 9, 10, 11, 13, 14, 12, 98, + 75, 98, 13, 14, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 19, 20, 79, 19, 20, 79, 19, - 20, 86, 86, 394, 94, 19, 20, 94, 98, 100, - 100, 98, 105, 106, 106, 105, 389, 19, 20, 21, + 17, 17, 17, 19, 20, 81, 19, 20, 81, 19, + 20, 88, 88, 399, 96, 19, 20, 96, 100, 102, + 102, 100, 107, 108, 108, 107, 394, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, @@ -1082,15 +1087,15 @@ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 25, 25, - 26, 26, 26, 387, 108, 25, 108, 110, 26, 110, + 26, 26, 26, 392, 110, 25, 110, 112, 26, 112, - 35, 35, 35, 385, 36, 36, 36, 113, 115, 115, - 113, 121, 25, 35, 121, 26, 27, 36, 384, 27, - 124, 124, 27, 27, 27, 35, 27, 377, 27, 36, - 41, 127, 127, 127, 41, 130, 130, 139, 139, 127, - 27, 28, 41, 138, 28, 376, 138, 28, 28, 28, - 141, 28, 141, 28, 41, 146, 127, 150, 146, 150, - 156, 159, 159, 156, 368, 28, 29, 29, 29, 29, + 37, 37, 37, 390, 38, 38, 38, 115, 117, 117, + 115, 123, 25, 37, 123, 26, 27, 38, 389, 27, + 126, 126, 27, 27, 27, 37, 27, 382, 27, 38, + 43, 129, 129, 129, 43, 132, 132, 141, 141, 129, + 27, 28, 43, 140, 28, 381, 140, 28, 28, 28, + 143, 28, 143, 28, 43, 148, 129, 152, 148, 152, + 158, 161, 161, 158, 373, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, @@ -1107,152 +1112,155 @@ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 37, 37, 37, 167, 37, 167, 42, - 42, 42, 161, 161, 42, 163, 163, 37, 37, 37, - 169, 367, 42, 169, 171, 171, 176, 176, 37, 38, - 38, 38, 347, 38, 42, 173, 175, 173, 366, 175, - 177, 177, 177, 38, 38, 38, 179, 182, 179, 364, - 182, 184, 184, 347, 38, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 33, 33, 33, 39, 39, 39, 169, 39, 169, 44, + 44, 44, 163, 163, 44, 165, 165, 39, 39, 39, + 171, 372, 44, 171, 173, 173, 180, 180, 39, 40, + 40, 40, 352, 40, 44, 177, 179, 177, 371, 179, + 181, 181, 181, 40, 40, 40, 183, 186, 183, 369, + 186, 188, 188, 352, 40, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 363, 43, 158, - 158, 158, 43, 43, 43, 362, 188, 158, 158, 188, - 189, 189, 190, 192, 190, 192, 196, 190, 198, 196, - 198, 158, 199, 220, 245, 199, 205, 245, 205, 158, - 220, 205, 43, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 246, 44, 224, 246, - 224, 44, 44, 44, 210, 211, 210, 211, 235, 210, - 235, 361, 248, 211, 248, 255, 257, 255, 257, 258, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 368, 45, 160, + 160, 160, 45, 45, 45, 367, 192, 160, 160, 192, + 193, 193, 194, 196, 194, 196, 200, 194, 202, 200, + 202, 160, 203, 224, 249, 203, 209, 249, 209, 160, + 224, 209, 45, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 250, 46, 228, 250, + 228, 46, 46, 46, 214, 215, 214, 215, 239, 214, + 239, 366, 252, 215, 252, 259, 261, 259, 261, 262, - 265, 258, 269, 265, 269, 272, 272, 272, 224, 275, - 275, 44, 58, 272, 58, 279, 224, 283, 279, 286, - 283, 286, 292, 296, 306, 310, 306, 310, 360, 359, - 272, 313, 313, 313, 356, 354, 292, 296, 340, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 63, - 290, 63, 289, 289, 289, 339, 290, 290, 346, 338, - 289, 289, 314, 322, 314, 322, 337, 323, 322, 323, - 290, 333, 346, 333, 289, 342, 348, 342, 290, 63, - 63, 344, 289, 344, 63, 63, 349, 291, 291, 63, + 269, 262, 273, 269, 273, 276, 276, 276, 228, 279, + 279, 46, 60, 276, 60, 283, 228, 287, 283, 290, + 287, 290, 296, 300, 310, 315, 310, 315, 365, 364, + 276, 318, 318, 318, 361, 359, 296, 300, 345, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 65, + 294, 65, 293, 293, 293, 344, 294, 294, 351, 343, + 293, 293, 319, 327, 319, 327, 342, 328, 327, 328, + 294, 338, 351, 338, 293, 347, 353, 347, 294, 65, + 65, 349, 293, 349, 65, 65, 354, 295, 295, 65, - 348, 336, 335, 63, 63, 122, 122, 334, 122, 122, - 349, 291, 122, 351, 122, 122, 122, 122, 122, 291, - 294, 294, 294, 122, 122, 122, 295, 295, 294, 294, - 345, 345, 122, 352, 351, 353, 332, 350, 350, 357, - 295, 357, 294, 358, 345, 358, 331, 352, 295, 353, - 294, 350, 345, 122, 125, 125, 369, 125, 125, 350, - 365, 125, 365, 125, 125, 125, 125, 125, 370, 371, - 373, 373, 125, 125, 125, 374, 378, 369, 378, 330, - 329, 125, 370, 371, 373, 379, 380, 379, 380, 374, - 391, 381, 373, 381, 382, 383, 382, 383, 386, 388, + 353, 341, 340, 65, 65, 124, 124, 339, 124, 124, + 354, 295, 124, 356, 124, 124, 124, 124, 124, 295, + 298, 298, 298, 124, 124, 124, 299, 299, 298, 298, + 350, 350, 124, 357, 356, 358, 337, 355, 355, 362, + 299, 362, 298, 363, 350, 363, 336, 357, 299, 358, + 298, 355, 350, 124, 127, 127, 374, 127, 127, 355, + 370, 127, 370, 127, 127, 127, 127, 127, 375, 376, + 378, 378, 127, 127, 127, 379, 383, 374, 383, 335, + 334, 127, 375, 376, 378, 384, 385, 384, 385, 379, + 396, 386, 378, 386, 387, 388, 387, 388, 391, 393, - 386, 388, 125, 148, 328, 327, 148, 148, 321, 148, - 148, 391, 148, 148, 392, 148, 148, 393, 148, 148, - 148, 148, 148, 148, 395, 396, 395, 396, 392, 318, - 397, 393, 397, 398, 399, 398, 399, 400, 402, 400, - 402, 403, 407, 403, 407, 408, 409, 408, 409, 312, - 309, 148, 157, 157, 157, 410, 411, 410, 411, 304, - 157, 157, 157, 413, 414, 413, 414, 458, 303, 458, - 282, 277, 270, 262, 157, 259, 256, 252, 250, 241, - 237, 234, 157, 229, 157, 267, 267, 228, 267, 267, - 227, 226, 267, 225, 267, 267, 267, 267, 267, 223, + 391, 393, 127, 150, 333, 332, 150, 150, 326, 150, + 150, 396, 150, 150, 397, 150, 150, 398, 150, 150, + 150, 150, 150, 150, 400, 401, 400, 401, 397, 323, + 402, 398, 402, 403, 404, 403, 404, 405, 407, 405, + 407, 408, 412, 408, 412, 413, 414, 413, 414, 317, + 313, 150, 159, 159, 159, 415, 416, 415, 416, 308, + 159, 159, 159, 418, 419, 418, 419, 465, 307, 465, + 286, 281, 274, 266, 159, 263, 260, 256, 254, 245, + 241, 238, 159, 233, 159, 271, 271, 232, 271, 271, + 231, 230, 271, 229, 271, 271, 271, 271, 271, 227, - 222, 221, 219, 267, 267, 267, 218, 215, 214, 213, - 212, 209, 267, 204, 165, 164, 160, 154, 152, 119, - 112, 99, 89, 70, 69, 68, 67, 64, 60, 45, - 0, 0, 0, 267, 325, 325, 0, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 325, 0, 0, 0, - 0, 0, 325, 325, 325, 0, 0, 0, 0, 0, + 226, 225, 223, 271, 271, 271, 222, 219, 218, 217, + 216, 213, 271, 208, 167, 166, 162, 156, 154, 121, + 114, 101, 91, 72, 71, 70, 69, 66, 62, 47, + 36, 35, 0, 271, 330, 330, 0, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 0, 0, 0, + 0, 0, 330, 330, 330, 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, 325, 355, 355, 0, 355, 355, 355, 355, - 355, 355, 355, 355, 355, 355, 0, 0, 0, 0, + 0, 0, 330, 360, 360, 0, 360, 360, 360, 360, + 360, 360, 360, 360, 360, 360, 0, 0, 0, 0, - 0, 355, 355, 355, 0, 0, 0, 0, 0, 0, + 0, 360, 360, 360, 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, 355, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 417, - 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, - 417, 417, 417, 417, 417, 417, 418, 418, 418, 418, - 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 418, 418, 419, 419, 419, 419, 419, 419, 419, - 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, - - 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, - 420, 420, 420, 420, 420, 420, 420, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 422, 422, 422, 422, 422, 422, + 0, 360, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 421, 421, 421, 421, 421, 421, 421, 421, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, - 422, 423, 423, 423, 423, 423, 423, 423, 423, 423, - 423, 423, 423, 423, 423, 423, 423, 423, 424, 424, + 422, 422, 422, 422, 422, 422, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, - 424, 424, 424, 424, 424, 425, 425, 425, 425, 425, + 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, - - 425, 425, 426, 426, 426, 426, 426, 426, 426, 426, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 427, + 425, 425, 425, 425, 425, 425, 425, 426, 426, 426, + 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, + 426, 426, 426, 426, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, - 427, 427, 427, 427, 427, 427, 428, 0, 0, 0, - 0, 0, 428, 428, 428, 428, 0, 428, 428, 429, - 0, 0, 0, 429, 0, 429, 429, 429, 429, 429, - 429, 429, 430, 0, 430, 430, 0, 430, 431, 431, - 0, 431, 431, 431, 431, 431, 431, 431, 0, 431, - 431, 431, 431, 0, 431, 432, 432, 432, 432, 432, + 427, 428, 428, 428, 428, 428, 428, 428, 428, 428, + 428, 428, 428, 428, 428, 428, 428, 428, 429, 429, + 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, + 429, 429, 429, 429, 429, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + + 430, 430, 431, 431, 431, 431, 431, 431, 431, 431, + 431, 431, 431, 431, 431, 431, 431, 431, 431, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, + 432, 432, 432, 432, 432, 432, 433, 433, 433, 433, + 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, + 433, 433, 433, 434, 0, 0, 0, 0, 0, 434, + 434, 434, 434, 0, 434, 434, 435, 0, 0, 0, + 435, 0, 435, 435, 435, 435, 435, 435, 435, 436, + 0, 436, 436, 0, 436, 437, 437, 0, 437, 437, + 437, 437, 437, 437, 437, 0, 437, 437, 437, 437, - 432, 432, 433, 433, 0, 0, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 0, 433, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 435, 435, 0, 435, - 435, 0, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 0, 435, 436, 436, 0, 436, 436, 436, 436, - 436, 436, 436, 436, 436, 0, 436, 436, 0, 436, - 437, 437, 0, 437, 437, 437, 437, 437, 0, 437, - 437, 437, 437, 437, 437, 437, 437, 438, 438, 0, - 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, + 0, 437, 438, 438, 438, 438, 438, 438, 438, 438, + 438, 438, 438, 438, 438, 438, 438, 438, 438, 439, + 439, 0, 0, 439, 439, 439, 439, 439, 439, 439, + 439, 439, 439, 439, 0, 439, 440, 440, 440, 440, + 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, + 440, 440, 440, 441, 441, 0, 441, 441, 0, 441, + 441, 441, 441, 441, 441, 441, 441, 441, 0, 441, + 442, 442, 0, 442, 442, 442, 442, 442, 442, 442, + 442, 442, 0, 442, 442, 0, 442, 443, 443, 0, + 443, 443, 443, 443, 443, 0, 443, 443, 443, 443, - 438, 438, 438, 438, 439, 0, 0, 0, 0, 439, - 0, 439, 439, 0, 439, 440, 440, 0, 0, 440, - 0, 440, 440, 440, 440, 0, 440, 440, 440, 440, - 0, 440, 441, 441, 441, 441, 441, 441, 441, 441, - 441, 441, 441, 441, 441, 441, 441, 441, 441, 442, - 0, 442, 442, 0, 442, 443, 443, 0, 0, 0, - 0, 443, 443, 443, 443, 0, 0, 443, 0, 0, - 0, 443, 444, 444, 0, 0, 0, 0, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 0, 444, 445, - 445, 0, 0, 0, 0, 445, 445, 445, 445, 0, + 443, 443, 443, 443, 444, 444, 0, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 445, 0, 0, 0, 0, 445, 0, 445, 445, + 0, 445, 446, 446, 0, 0, 446, 0, 446, 446, + 446, 446, 0, 446, 446, 446, 446, 0, 446, 447, + 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, + 447, 447, 447, 447, 447, 447, 448, 0, 448, 448, + 0, 448, 449, 449, 0, 0, 0, 0, 449, 449, + 449, 449, 0, 0, 449, 0, 0, 0, 449, 450, + 450, 0, 0, 0, 0, 450, 450, 450, 450, 450, - 445, 445, 445, 445, 0, 445, 446, 0, 446, 446, - 0, 446, 447, 447, 0, 0, 447, 0, 0, 0, - 447, 447, 0, 447, 447, 447, 447, 0, 447, 448, - 448, 0, 0, 448, 0, 0, 0, 448, 448, 448, - 448, 448, 448, 448, 0, 448, 449, 449, 449, 449, - 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, - 449, 449, 449, 450, 0, 450, 450, 0, 450, 451, - 0, 451, 451, 0, 451, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 453, 453, 0, 453, 0, 453, 453, 453, - - 453, 453, 0, 453, 453, 453, 453, 0, 453, 454, - 454, 454, 0, 454, 454, 454, 454, 455, 455, 0, + 450, 450, 450, 450, 0, 450, 451, 451, 0, 0, + 0, 0, 451, 451, 451, 451, 0, 451, 451, 451, + 451, 0, 451, 452, 0, 452, 452, 0, 452, 453, + 453, 0, 0, 453, 0, 0, 0, 453, 453, 0, + 453, 453, 453, 453, 0, 453, 454, 454, 0, 0, + 454, 0, 0, 0, 454, 454, 454, 454, 454, 454, + 454, 0, 454, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, - 455, 455, 455, 455, 456, 456, 0, 456, 456, 456, - 456, 456, 0, 456, 0, 456, 456, 456, 456, 0, - 456, 457, 457, 0, 0, 0, 0, 457, 457, 457, - 457, 0, 0, 457, 0, 0, 0, 457, 459, 459, - 0, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 456, 0, 456, 456, 0, 456, 457, 457, 0, 457, + 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415 + 457, 457, 457, 458, 0, 458, 458, 0, 458, 459, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 459, 460, 460, 0, 460, + 0, 460, 460, 460, 460, 460, 0, 460, 460, 460, + 460, 0, 460, 461, 461, 461, 0, 461, 461, 461, + 461, 462, 462, 0, 462, 462, 462, 462, 462, 462, + 462, 462, 462, 462, 462, 462, 462, 462, 463, 463, + 0, 463, 463, 463, 463, 463, 0, 463, 0, 463, + 463, 463, 463, 0, 463, 464, 464, 0, 0, 0, + 0, 464, 464, 464, 464, 0, 0, 464, 0, 0, + + 0, 464, 466, 466, 0, 466, 466, 466, 466, 466, + 466, 466, 466, 466, 466, 466, 466, 466, 466, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420 } ; static yy_state_type yy_last_accepting_state; @@ -1418,7 +1426,8 @@ -#line 164 "ppl.l" + +#line 165 "ppl.l" #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -1613,13 +1622,13 @@ wpp_callbacks->write(buffer, len); } -#line 1616 "ppl.yy.c" +#line 1625 "ppl.yy.c" /* ************************************************************************** * The scanner starts here ************************************************************************** */ -#line 1622 "ppl.yy.c" +#line 1631 "ppl.yy.c" #define INITIAL 0 #define pp_pp 1 @@ -1638,11 +1647,12 @@ #define pp_macexp 14 #define pp_if 15 #define pp_ifd 16 -#define pp_endif 17 -#define pp_line 18 -#define pp_defined 19 -#define pp_ignore 20 -#define RCINCL 21 +#define pp_ifignored 17 +#define pp_endif 18 +#define pp_line 19 +#define pp_defined 20 +#define pp_ignore 21 +#define RCINCL 22 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -1868,9 +1878,9 @@ } { -#line 366 "ppl.l" +#line 367 "ppl.l" -#line 368 "ppl.l" +#line 369 "ppl.l" /* * Catch line-continuations. * Note: Gcc keeps the line-continuations in, for example, strings @@ -1883,7 +1893,7 @@ /* * Detect the leading # of a preprocessor directive. */ -#line 1886 "ppl.yy.c" +#line 1896 "ppl.yy.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1911,13 +1921,13 @@ 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 >= 416 ) + if ( yy_current_state >= 421 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 415 ); + while ( yy_current_state != 420 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1939,7 +1949,7 @@ case 1: YY_RULE_SETUP -#line 380 "ppl.l" +#line 381 "ppl.l" pp_incl_state.seen_junk++; yy_push_state(pp_pp); YY_BREAK /* @@ -1947,104 +1957,104 @@ */ case 2: YY_RULE_SETUP -#line 385 "ppl.l" +#line 386 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE;} else {yy_pp_state(pp_eol);} YY_BREAK case 3: YY_RULE_SETUP -#line 386 "ppl.l" +#line 387 "ppl.l" yy_pp_state(yy_current_state() != pp_ignore ? pp_def : pp_eol); YY_BREAK case 4: YY_RULE_SETUP -#line 387 "ppl.l" +#line 388 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tERROR; YY_BREAK case 5: YY_RULE_SETUP -#line 388 "ppl.l" +#line 389 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tWARNING; YY_BREAK case 6: YY_RULE_SETUP -#line 389 "ppl.l" +#line 390 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tPRAGMA; YY_BREAK case 7: YY_RULE_SETUP -#line 390 "ppl.l" +#line 391 "ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tPPIDENT; YY_BREAK case 8: YY_RULE_SETUP -#line 391 "ppl.l" +#line 392 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_ifd); return tUNDEF;} else {yy_pp_state(pp_eol);} YY_BREAK case 9: YY_RULE_SETUP -#line 392 "ppl.l" +#line 393 "ppl.l" yy_pp_state(pp_ifd); return tIFDEF; YY_BREAK case 10: YY_RULE_SETUP -#line 393 "ppl.l" +#line 394 "ppl.l" pp_incl_state.seen_junk--; yy_pp_state(pp_ifd); return tIFNDEF; YY_BREAK case 11: YY_RULE_SETUP -#line 394 "ppl.l" -yy_pp_state(pp_if); return tIF; +#line 395 "ppl.l" +if(yy_top_state() != pp_ignore) {yy_pp_state(pp_if);} else {yy_pp_state(pp_ifignored);} return tIF; YY_BREAK case 12: YY_RULE_SETUP -#line 395 "ppl.l" +#line 396 "ppl.l" yy_pp_state(pp_if); return tELIF; YY_BREAK case 13: YY_RULE_SETUP -#line 396 "ppl.l" +#line 397 "ppl.l" yy_pp_state(pp_endif); return tELSE; YY_BREAK case 14: YY_RULE_SETUP -#line 397 "ppl.l" +#line 398 "ppl.l" yy_pp_state(pp_endif); return tENDIF; YY_BREAK case 15: YY_RULE_SETUP -#line 398 "ppl.l" +#line 399 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tLINE;} else {yy_pp_state(pp_eol);} YY_BREAK case 16: YY_RULE_SETUP -#line 399 "ppl.l" +#line 400 "ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tGCCLINE;} else {yy_pp_state(pp_eol);} YY_BREAK case 17: YY_RULE_SETUP -#line 400 "ppl.l" +#line 401 "ppl.l" ppy_error("Invalid preprocessor token '%s'", ppy_text); YY_BREAK case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 401 "ppl.l" +#line 402 "ppl.l" newline(1); yy_pop_state(); return tNL; /* This could be the null-token */ YY_BREAK case 19: /* rule 19 can match eol */ YY_RULE_SETUP -#line 402 "ppl.l" +#line 403 "ppl.l" newline(0); YY_BREAK case 20: YY_RULE_SETUP -#line 403 "ppl.l" +#line 404 "ppl.l" ppy_error("Preprocessor junk '%s'", ppy_text); YY_BREAK case 21: YY_RULE_SETUP -#line 404 "ppl.l" +#line 405 "ppl.l" return *ppy_text; YY_BREAK /* @@ -2052,39 +2062,39 @@ */ case 22: YY_RULE_SETUP -#line 409 "ppl.l" +#line 410 "ppl.l" return make_number(10, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 23: YY_RULE_SETUP -#line 410 "ppl.l" +#line 411 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_iqs); YY_BREAK case 24: YY_RULE_SETUP -#line 411 "ppl.l" +#line 412 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK case 25: YY_RULE_SETUP -#line 412 "ppl.l" +#line 413 "ppl.l" ; YY_BREAK case 26: /* rule 26 can match eol */ YY_RULE_SETUP -#line 413 "ppl.l" +#line 414 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 27: /* rule 27 can match eol */ YY_RULE_SETUP -#line 414 "ppl.l" +#line 415 "ppl.l" newline(0); YY_BREAK case 28: YY_RULE_SETUP -#line 415 "ppl.l" +#line 416 "ppl.l" ppy_error(yy_current_state() == pp_inc ? "Trailing junk in #include" : "Trailing junk in #line"); YY_BREAK /* @@ -2092,24 +2102,24 @@ */ case 29: YY_RULE_SETUP -#line 420 "ppl.l" +#line 421 "ppl.l" ; YY_BREAK case 30: /* rule 30 can match eol */ YY_RULE_SETUP -#line 421 "ppl.l" +#line 422 "ppl.l" newline(1); YY_BREAK case 31: /* rule 31 can match eol */ YY_RULE_SETUP -#line 422 "ppl.l" +#line 423 "ppl.l" newline(0); YY_BREAK case 32: YY_RULE_SETUP -#line 423 "ppl.l" +#line 424 "ppl.l" ; YY_BREAK /* @@ -2120,165 +2130,176 @@ */ case 33: YY_RULE_SETUP -#line 432 "ppl.l" +#line 433 "ppl.l" return make_number(8, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 34: YY_RULE_SETUP -#line 433 "ppl.l" +#line 434 "ppl.l" ppy_error("Invalid octal digit"); YY_BREAK case 35: YY_RULE_SETUP -#line 434 "ppl.l" +#line 435 "ppl.l" return make_number(10, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 36: YY_RULE_SETUP -#line 435 "ppl.l" +#line 436 "ppl.l" return make_number(16, &ppy_lval, ppy_text, ppy_leng); YY_BREAK case 37: YY_RULE_SETUP -#line 436 "ppl.l" +#line 437 "ppl.l" ppy_error("Invalid hex number"); YY_BREAK case 38: YY_RULE_SETUP -#line 437 "ppl.l" +#line 438 "ppl.l" yy_push_state(pp_defined); return tDEFINED; YY_BREAK case 39: YY_RULE_SETUP -#line 438 "ppl.l" +#line 439 "ppl.l" return tLSHIFT; YY_BREAK case 40: YY_RULE_SETUP -#line 439 "ppl.l" +#line 440 "ppl.l" return tRSHIFT; YY_BREAK case 41: YY_RULE_SETUP -#line 440 "ppl.l" +#line 441 "ppl.l" return tLOGAND; YY_BREAK case 42: YY_RULE_SETUP -#line 441 "ppl.l" +#line 442 "ppl.l" return tLOGOR; YY_BREAK case 43: YY_RULE_SETUP -#line 442 "ppl.l" +#line 443 "ppl.l" return tEQ; YY_BREAK case 44: YY_RULE_SETUP -#line 443 "ppl.l" +#line 444 "ppl.l" return tNE; YY_BREAK case 45: YY_RULE_SETUP -#line 444 "ppl.l" +#line 445 "ppl.l" return tLTE; YY_BREAK case 46: YY_RULE_SETUP -#line 445 "ppl.l" +#line 446 "ppl.l" return tGTE; YY_BREAK case 47: /* rule 47 can match eol */ YY_RULE_SETUP -#line 446 "ppl.l" +#line 447 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 48: /* rule 48 can match eol */ YY_RULE_SETUP -#line 447 "ppl.l" +#line 448 "ppl.l" newline(0); YY_BREAK case 49: YY_RULE_SETUP -#line 448 "ppl.l" +#line 449 "ppl.l" ppy_error("Junk in conditional expression"); YY_BREAK case 50: YY_RULE_SETUP -#line 449 "ppl.l" +#line 450 "ppl.l" ; YY_BREAK case 51: YY_RULE_SETUP -#line 450 "ppl.l" +#line 451 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 52: YY_RULE_SETUP -#line 451 "ppl.l" +#line 452 "ppl.l" ppy_error("String constants not allowed in conditionals"); YY_BREAK case 53: YY_RULE_SETUP -#line 452 "ppl.l" +#line 453 "ppl.l" return *ppy_text; YY_BREAK +case 54: +YY_RULE_SETUP +#line 455 "ppl.l" +ppy_lval.sint = 0; return tSINT; + YY_BREAK +case 55: +/* rule 55 can match eol */ +YY_RULE_SETUP +#line 456 "ppl.l" +newline(1); yy_pop_state(); return tNL; + YY_BREAK /* * Handle #ifdef, #ifndef and #undef * to get only an untranslated/unexpanded identifier */ -case 54: -YY_RULE_SETUP -#line 458 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; - YY_BREAK -case 55: -YY_RULE_SETUP -#line 459 "ppl.l" -; - YY_BREAK case 56: -/* rule 56 can match eol */ -YY_RULE_SETUP -#line 460 "ppl.l" -newline(1); yy_pop_state(); return tNL; - YY_BREAK -case 57: -/* rule 57 can match eol */ -YY_RULE_SETUP -#line 461 "ppl.l" -newline(0); - YY_BREAK -case 58: YY_RULE_SETUP #line 462 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; + YY_BREAK +case 57: +YY_RULE_SETUP +#line 463 "ppl.l" +; + YY_BREAK +case 58: +/* rule 58 can match eol */ +YY_RULE_SETUP +#line 464 "ppl.l" +newline(1); yy_pop_state(); return tNL; + YY_BREAK +case 59: +/* rule 59 can match eol */ +YY_RULE_SETUP +#line 465 "ppl.l" +newline(0); + YY_BREAK +case 60: +YY_RULE_SETUP +#line 466 "ppl.l" ppy_error("Identifier expected"); YY_BREAK /* * Handle #else and #endif. */ -case 59: +case 61: YY_RULE_SETUP -#line 467 "ppl.l" +#line 471 "ppl.l" ; YY_BREAK -case 60: -/* rule 60 can match eol */ +case 62: +/* rule 62 can match eol */ YY_RULE_SETUP -#line 468 "ppl.l" +#line 472 "ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK -case 61: -/* rule 61 can match eol */ +case 63: +/* rule 63 can match eol */ YY_RULE_SETUP -#line 469 "ppl.l" +#line 473 "ppl.l" newline(0); YY_BREAK -case 62: +case 64: YY_RULE_SETUP -#line 470 "ppl.l" +#line 474 "ppl.l" ppy_error("Garbage after #else or #endif."); YY_BREAK /* @@ -2286,31 +2307,31 @@ * This is necessary to get the identifier prior to any * substitutions. */ -case 63: -YY_RULE_SETUP -#line 477 "ppl.l" -yy_pop_state(); ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; - YY_BREAK -case 64: -YY_RULE_SETUP -#line 478 "ppl.l" -; - YY_BREAK case 65: YY_RULE_SETUP -#line 479 "ppl.l" -return *ppy_text; +#line 481 "ppl.l" +yy_pop_state(); ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK case 66: -/* rule 66 can match eol */ YY_RULE_SETUP -#line 480 "ppl.l" -newline(0); +#line 482 "ppl.l" +; YY_BREAK case 67: -/* rule 67 can match eol */ YY_RULE_SETUP -#line 481 "ppl.l" +#line 483 "ppl.l" +return *ppy_text; + YY_BREAK +case 68: +/* rule 68 can match eol */ +YY_RULE_SETUP +#line 484 "ppl.l" +newline(0); + YY_BREAK +case 69: +/* rule 69 can match eol */ +YY_RULE_SETUP +#line 485 "ppl.l" ppy_error("Identifier expected"); YY_BREAK /* @@ -2319,205 +2340,205 @@ * will act appropriately. * Comments are stripped from the literal text. */ -case 68: -YY_RULE_SETUP -#line 489 "ppl.l" -if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } - YY_BREAK -case 69: -YY_RULE_SETUP -#line 490 "ppl.l" -if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } - YY_BREAK case 70: -/* rule 70 can match eol */ YY_RULE_SETUP -#line 491 "ppl.l" +#line 493 "ppl.l" if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } YY_BREAK case 71: -/* rule 71 can match eol */ YY_RULE_SETUP -#line 492 "ppl.l" -newline(1); yy_pop_state(); if(yy_current_state() != pp_ignore) { return tNL; } +#line 494 "ppl.l" +if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } YY_BREAK case 72: /* rule 72 can match eol */ YY_RULE_SETUP -#line 493 "ppl.l" +#line 495 "ppl.l" +if(yy_top_state() != pp_ignore) { ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; } + YY_BREAK +case 73: +/* rule 73 can match eol */ +YY_RULE_SETUP +#line 496 "ppl.l" +newline(1); yy_pop_state(); if(yy_current_state() != pp_ignore) { return tNL; } + YY_BREAK +case 74: +/* rule 74 can match eol */ +YY_RULE_SETUP +#line 497 "ppl.l" newline(0); YY_BREAK /* * Handle left side of #define */ -case 73: -YY_RULE_SETUP -#line 498 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); if(ppy_lval.cptr) ppy_lval.cptr[ppy_leng-1] = '\0'; yy_pp_state(pp_macro); return tMACRO; - YY_BREAK -case 74: -YY_RULE_SETUP -#line 499 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); yy_pp_state(pp_define); return tDEFINE; - YY_BREAK case 75: YY_RULE_SETUP -#line 500 "ppl.l" -; +#line 502 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); if(ppy_lval.cptr) ppy_lval.cptr[ppy_leng-1] = '\0'; yy_pp_state(pp_macro); return tMACRO; YY_BREAK case 76: -/* rule 76 can match eol */ YY_RULE_SETUP -#line 501 "ppl.l" -newline(0); +#line 503 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); yy_pp_state(pp_define); return tDEFINE; YY_BREAK case 77: -/* rule 77 can match eol */ YY_RULE_SETUP -#line 502 "ppl.l" +#line 504 "ppl.l" +; + YY_BREAK +case 78: +/* rule 78 can match eol */ +YY_RULE_SETUP +#line 505 "ppl.l" +newline(0); + YY_BREAK +case 79: +/* rule 79 can match eol */ +YY_RULE_SETUP +#line 506 "ppl.l" perror("Identifier expected"); YY_BREAK /* * Scan the substitution of a define */ -case 78: -YY_RULE_SETUP -#line 507 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; - YY_BREAK -case 79: -/* rule 79 can match eol */ -YY_RULE_SETUP -#line 508 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; - YY_BREAK case 80: -/* rule 80 can match eol */ YY_RULE_SETUP -#line 509 "ppl.l" -newline(0); ppy_lval.cptr = pp_xstrdup(" "); return tLITERAL; +#line 511 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 81: /* rule 81 can match eol */ YY_RULE_SETUP -#line 510 "ppl.l" -newline(0); +#line 512 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 82: /* rule 82 can match eol */ YY_RULE_SETUP -#line 511 "ppl.l" -newline(1); yy_pop_state(); return tNL; +#line 513 "ppl.l" +newline(0); ppy_lval.cptr = pp_xstrdup(" "); return tLITERAL; YY_BREAK case 83: +/* rule 83 can match eol */ YY_RULE_SETUP -#line 512 "ppl.l" -new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); +#line 514 "ppl.l" +newline(0); YY_BREAK case 84: +/* rule 84 can match eol */ YY_RULE_SETUP -#line 513 "ppl.l" +#line 515 "ppl.l" +newline(1); yy_pop_state(); return tNL; + YY_BREAK +case 85: +YY_RULE_SETUP +#line 516 "ppl.l" +new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); + YY_BREAK +case 86: +YY_RULE_SETUP +#line 517 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK /* * Scan the definition macro arguments */ -case 85: -YY_RULE_SETUP -#line 518 "ppl.l" -yy_pp_state(pp_mbody); return tMACROEND; - YY_BREAK -case 86: -YY_RULE_SETUP -#line 519 "ppl.l" -; - YY_BREAK case 87: YY_RULE_SETUP -#line 520 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; +#line 522 "ppl.l" +yy_pp_state(pp_mbody); return tMACROEND; YY_BREAK case 88: YY_RULE_SETUP -#line 521 "ppl.l" -return ','; +#line 523 "ppl.l" +; YY_BREAK case 89: YY_RULE_SETUP -#line 522 "ppl.l" -return tELIPSIS; +#line 524 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK case 90: -/* rule 90 can match eol */ YY_RULE_SETUP -#line 523 "ppl.l" -ppy_error("Argument identifier expected"); +#line 525 "ppl.l" +return ','; YY_BREAK case 91: -/* rule 91 can match eol */ YY_RULE_SETUP -#line 524 "ppl.l" +#line 526 "ppl.l" +return tELIPSIS; + YY_BREAK +case 92: +/* rule 92 can match eol */ +YY_RULE_SETUP +#line 527 "ppl.l" +ppy_error("Argument identifier expected"); + YY_BREAK +case 93: +/* rule 93 can match eol */ +YY_RULE_SETUP +#line 528 "ppl.l" newline(0); YY_BREAK /* * Scan the substitution of a macro */ -case 92: -YY_RULE_SETUP -#line 529 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; - YY_BREAK -case 93: -YY_RULE_SETUP -#line 530 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; - YY_BREAK case 94: YY_RULE_SETUP -#line 531 "ppl.l" -return tCONCAT; - YY_BREAK -case 95: -YY_RULE_SETUP -#line 532 "ppl.l" -return tSTRINGIZE; - YY_BREAK -case 96: -YY_RULE_SETUP #line 533 "ppl.l" ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK -case 97: +case 95: YY_RULE_SETUP #line 534 "ppl.l" -ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; +ppy_lval.cptr = pp_xstrdup(ppy_text); return tIDENT; YY_BREAK -case 98: -/* rule 98 can match eol */ +case 96: YY_RULE_SETUP #line 535 "ppl.l" -newline(0); ppy_lval.cptr = pp_xstrdup(" "); return tLITERAL; +return tCONCAT; YY_BREAK -case 99: -/* rule 99 can match eol */ +case 97: YY_RULE_SETUP #line 536 "ppl.l" -newline(0); +return tSTRINGIZE; + YY_BREAK +case 98: +YY_RULE_SETUP +#line 537 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; + YY_BREAK +case 99: +YY_RULE_SETUP +#line 538 "ppl.l" +ppy_lval.cptr = pp_xstrdup(ppy_text); return tLITERAL; YY_BREAK case 100: /* rule 100 can match eol */ YY_RULE_SETUP -#line 537 "ppl.l" -newline(1); yy_pop_state(); return tNL; +#line 539 "ppl.l" +newline(0); ppy_lval.cptr = pp_xstrdup(" "); return tLITERAL; YY_BREAK case 101: +/* rule 101 can match eol */ YY_RULE_SETUP -#line 538 "ppl.l" -new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); +#line 540 "ppl.l" +newline(0); YY_BREAK case 102: +/* rule 102 can match eol */ YY_RULE_SETUP -#line 539 "ppl.l" +#line 541 "ppl.l" +newline(1); yy_pop_state(); return tNL; + YY_BREAK +case 103: +YY_RULE_SETUP +#line 542 "ppl.l" +new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); + YY_BREAK +case 104: +YY_RULE_SETUP +#line 543 "ppl.l" new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK /* @@ -2529,32 +2550,32 @@ * If we do not see a '(' as next trailing token, then we have * a false alarm. We just continue with a nose-bleed... */ -case 103: +case 105: *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 550 "ppl.l" +#line 554 "ppl.l" yy_pp_state(pp_macscan); YY_BREAK -case 104: -/* rule 104 can match eol */ +case 106: +/* rule 106 can match eol */ YY_RULE_SETUP -#line 551 "ppl.l" +#line 555 "ppl.l" { if(yy_top_state() != pp_macscan) newline(0); } YY_BREAK -case 105: -/* rule 105 can match eol */ +case 107: +/* rule 107 can match eol */ YY_RULE_SETUP -#line 555 "ppl.l" +#line 559 "ppl.l" newline(0); YY_BREAK -case 106: +case 108: YY_RULE_SETUP -#line 556 "ppl.l" +#line 560 "ppl.l" { macexpstackentry_t *mac = pop_macro(); yy_pop_state(); @@ -2567,17 +2588,17 @@ * Macro expansion argument text scanning. * This state is active when a macro's arguments are being read for expansion. */ -case 107: +case 109: YY_RULE_SETUP -#line 568 "ppl.l" +#line 572 "ppl.l" { if(++MACROPARENTHESES() > 1) add_text_to_macro(ppy_text, ppy_leng); } YY_BREAK -case 108: +case 110: YY_RULE_SETUP -#line 572 "ppl.l" +#line 576 "ppl.l" { if(--MACROPARENTHESES() == 0) { @@ -2588,9 +2609,9 @@ add_text_to_macro(ppy_text, ppy_leng); } YY_BREAK -case 109: +case 111: YY_RULE_SETUP -#line 581 "ppl.l" +#line 585 "ppl.l" { if(MACROPARENTHESES() > 1) add_text_to_macro(ppy_text, ppy_leng); @@ -2598,68 +2619,68 @@ macro_add_arg(0); } YY_BREAK -case 110: -YY_RULE_SETUP -#line 587 "ppl.l" -new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); - YY_BREAK -case 111: -YY_RULE_SETUP -#line 588 "ppl.l" -new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); - YY_BREAK case 112: YY_RULE_SETUP -#line 589 "ppl.l" -yy_push_state(pp_comment); add_text_to_macro(" ", 1); +#line 591 "ppl.l" +new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK case 113: -/* rule 113 can match eol */ YY_RULE_SETUP -#line 590 "ppl.l" -pp_status.line_number++; pp_status.char_number = 1; add_text_to_macro(ppy_text, ppy_leng); +#line 592 "ppl.l" +new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); YY_BREAK case 114: YY_RULE_SETUP -#line 591 "ppl.l" -add_text_to_macro(ppy_text, ppy_leng); +#line 593 "ppl.l" +yy_push_state(pp_comment); add_text_to_macro(" ", 1); YY_BREAK case 115: /* rule 115 can match eol */ YY_RULE_SETUP -#line 592 "ppl.l" +#line 594 "ppl.l" +pp_status.line_number++; pp_status.char_number = 1; add_text_to_macro(ppy_text, ppy_leng); + YY_BREAK +case 116: +YY_RULE_SETUP +#line 595 "ppl.l" +add_text_to_macro(ppy_text, ppy_leng); + YY_BREAK +case 117: +/* rule 117 can match eol */ +YY_RULE_SETUP +#line 596 "ppl.l" newline(0); YY_BREAK /* * Comment handling (almost all start-conditions) */ -case 116: -YY_RULE_SETUP -#line 597 "ppl.l" -yy_push_state(pp_comment); - YY_BREAK -case 117: -YY_RULE_SETUP -#line 598 "ppl.l" -; - YY_BREAK case 118: -/* rule 118 can match eol */ YY_RULE_SETUP -#line 599 "ppl.l" -newline(0); +#line 601 "ppl.l" +yy_push_state(pp_comment); YY_BREAK case 119: YY_RULE_SETUP -#line 600 "ppl.l" +#line 602 "ppl.l" +; + YY_BREAK +case 120: +/* rule 120 can match eol */ +YY_RULE_SETUP +#line 603 "ppl.l" +newline(0); + YY_BREAK +case 121: +YY_RULE_SETUP +#line 604 "ppl.l" yy_pop_state(); YY_BREAK /* * Remove C++ style comment (almost all start-conditions) */ -case 120: +case 122: YY_RULE_SETUP -#line 605 "ppl.l" +#line 609 "ppl.l" { if(ppy_text[ppy_leng-1] == '\\') ppy_warning("C++ style comment ends with an escaped newline (escape ignored)"); @@ -2668,24 +2689,24 @@ /* * Single, double and <> quoted constants */ -case 121: -YY_RULE_SETUP -#line 613 "ppl.l" -pp_incl_state.seen_junk++; new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); - YY_BREAK -case 122: -YY_RULE_SETUP -#line 614 "ppl.l" -pp_incl_state.seen_junk++; new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); - YY_BREAK case 123: YY_RULE_SETUP -#line 615 "ppl.l" -add_string(ppy_text, ppy_leng); +#line 617 "ppl.l" +pp_incl_state.seen_junk++; new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_dqs); YY_BREAK case 124: YY_RULE_SETUP -#line 616 "ppl.l" +#line 618 "ppl.l" +pp_incl_state.seen_junk++; new_string(); add_string(ppy_text, ppy_leng); yy_push_state(pp_sqs); + YY_BREAK +case 125: +YY_RULE_SETUP +#line 619 "ppl.l" +add_string(ppy_text, ppy_leng); + YY_BREAK +case 126: +YY_RULE_SETUP +#line 620 "ppl.l" { add_string(ppy_text, ppy_leng); yy_pop_state(); @@ -2707,14 +2728,14 @@ } } YY_BREAK -case 125: +case 127: YY_RULE_SETUP -#line 636 "ppl.l" +#line 640 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK -case 126: +case 128: YY_RULE_SETUP -#line 637 "ppl.l" +#line 641 "ppl.l" { add_string(ppy_text, ppy_leng); yy_pop_state(); @@ -2730,14 +2751,14 @@ } } YY_BREAK -case 127: +case 129: YY_RULE_SETUP -#line 651 "ppl.l" +#line 655 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK -case 128: +case 130: YY_RULE_SETUP -#line 652 "ppl.l" +#line 656 "ppl.l" { add_string(ppy_text, ppy_leng); yy_pop_state(); @@ -2745,10 +2766,10 @@ return tIQSTRING; } YY_BREAK -case 129: -/* rule 129 can match eol */ +case 131: +/* rule 131 can match eol */ YY_RULE_SETUP -#line 658 "ppl.l" +#line 662 "ppl.l" { /* * This is tricky; we need to remove the line-continuation @@ -2774,15 +2795,15 @@ } } YY_BREAK -case 130: +case 132: YY_RULE_SETUP -#line 682 "ppl.l" +#line 686 "ppl.l" add_string(ppy_text, ppy_leng); YY_BREAK -case 131: -/* rule 131 can match eol */ +case 133: +/* rule 133 can match eol */ YY_RULE_SETUP -#line 683 "ppl.l" +#line 687 "ppl.l" { newline(1); add_string(ppy_text, ppy_leng); @@ -2792,9 +2813,9 @@ /* * Identifier scanning */ -case 132: +case 134: YY_RULE_SETUP -#line 692 "ppl.l" +#line 696 "ppl.l" { pp_entry_t *ppp; pp_incl_state.seen_junk++; @@ -2841,60 +2862,60 @@ * Everything else that needs to be passed and * newline and continuation handling */ -case 133: -YY_RULE_SETUP -#line 738 "ppl.l" -pp_incl_state.seen_junk++; put_buffer(ppy_text, ppy_leng); - YY_BREAK -case 134: -YY_RULE_SETUP -#line 739 "ppl.l" -put_buffer(ppy_text, ppy_leng); - YY_BREAK case 135: -/* rule 135 can match eol */ -YY_RULE_SETUP -#line 740 "ppl.l" -newline(1); - YY_BREAK -case 136: -/* rule 136 can match eol */ -YY_RULE_SETUP -#line 741 "ppl.l" -newline(0); - YY_BREAK -case 137: YY_RULE_SETUP #line 742 "ppl.l" pp_incl_state.seen_junk++; put_buffer(ppy_text, ppy_leng); YY_BREAK +case 136: +YY_RULE_SETUP +#line 743 "ppl.l" +put_buffer(ppy_text, ppy_leng); + YY_BREAK +case 137: +/* rule 137 can match eol */ +YY_RULE_SETUP +#line 744 "ppl.l" +newline(1); + YY_BREAK +case 138: +/* rule 138 can match eol */ +YY_RULE_SETUP +#line 745 "ppl.l" +newline(0); + YY_BREAK +case 139: +YY_RULE_SETUP +#line 746 "ppl.l" +pp_incl_state.seen_junk++; put_buffer(ppy_text, ppy_leng); + YY_BREAK /* * Special catcher for macro argmument expansion to prevent * newlines to propagate to the output or admin. */ -case 138: -/* rule 138 can match eol */ +case 140: +/* rule 140 can match eol */ YY_RULE_SETUP -#line 748 "ppl.l" +#line 752 "ppl.l" put_buffer(ppy_text, ppy_leng); YY_BREAK -case 139: +case 141: YY_RULE_SETUP -#line 750 "ppl.l" +#line 754 "ppl.l" { ppy_lval.cptr=pp_xstrdup(ppy_text); yy_pop_state(); return tRCINCLUDEPATH; } YY_BREAK -case 140: +case 142: YY_RULE_SETUP -#line 756 "ppl.l" +#line 760 "ppl.l" ; YY_BREAK -case 141: +case 143: YY_RULE_SETUP -#line 758 "ppl.l" +#line 762 "ppl.l" { new_string(); add_string(ppy_text,ppy_leng);yy_push_state(pp_dqs); } @@ -2903,9 +2924,9 @@ * This is a 'catch-all' rule to discover errors in the scanner * in an orderly manner. */ -case 142: +case 144: YY_RULE_SETUP -#line 766 "ppl.l" +#line 770 "ppl.l" pp_incl_state.seen_junk++; ppy_warning("Unmatched text '%c' (0x%02x); please report\n", isprint(*ppy_text & 0xff) ? *ppy_text : ' ', *ppy_text); YY_BREAK case YY_STATE_EOF(INITIAL): @@ -2925,12 +2946,13 @@ case YY_STATE_EOF(pp_macexp): case YY_STATE_EOF(pp_if): case YY_STATE_EOF(pp_ifd): +case YY_STATE_EOF(pp_ifignored): case YY_STATE_EOF(pp_endif): case YY_STATE_EOF(pp_line): case YY_STATE_EOF(pp_defined): case YY_STATE_EOF(pp_ignore): case YY_STATE_EOF(RCINCL): -#line 768 "ppl.l" +#line 772 "ppl.l" { YY_BUFFER_STATE b = YY_CURRENT_BUFFER; bufferstackentry_t *bep = pop_buffer(); @@ -2956,12 +2978,12 @@ ppy__delete_buffer(b); } YY_BREAK -case 143: +case 145: YY_RULE_SETUP -#line 793 "ppl.l" +#line 797 "ppl.l" ECHO; YY_BREAK -#line 2964 "ppl.yy.c" +#line 2986 "ppl.yy.c" case YY_END_OF_BUFFER: { @@ -3258,7 +3280,7 @@ 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 >= 416 ) + if ( yy_current_state >= 421 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -3286,11 +3308,11 @@ 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 >= 416 ) + if ( yy_current_state >= 421 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 415); + yy_is_jam = (yy_current_state == 420); return yy_is_jam ? 0 : yy_current_state; } @@ -3977,7 +3999,7 @@ #define YYTABLES_NAME "yytables" -#line 793 "ppl.l" +#line 797 "ppl.l" /* **************************************************************************