From fafa8e33e468a7092f91e57e4d6e148811760ccc Mon Sep 17 00:00:00 2001 From: dshaligram Date: Thu, 5 Jul 2007 06:15:55 +0000 Subject: Update canned level compiler. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1753 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/prebuilt/levcomp.lex.cc | 1359 ++++++++++++++++-------------- crawl-ref/source/prebuilt/levcomp.tab.cc | 721 ++++++++++------ crawl-ref/source/prebuilt/levcomp.tab.h | 126 ++- 3 files changed, 1238 insertions(+), 968 deletions(-) (limited to 'crawl-ref/source/prebuilt') diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 69fb633c87..7556be1db3 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -377,8 +377,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 59 -#define YY_END_OF_BUFFER 60 +#define YY_NUM_RULES 58 +#define YY_END_OF_BUFFER 59 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -386,79 +386,90 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[647] = +static yyconst flex_int16_t yy_accept[745] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 60, 58, 52, 53, - 58, 56, 54, 55, 50, 49, 51, 57, 57, 57, + 0, 0, 0, 0, 0, 0, 59, 57, 55, 56, + 57, 53, 54, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 55, 27, 29, 57, + 57, 57, 57, 57, 57, 58, 6, 58, 58, 4, + 2, 3, 58, 58, 2, 2, 2, 9, 10, 58, + 9, 9, 58, 12, 58, 57, 26, 57, 53, 54, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 52, 27, 29, 57, 57, 57, 57, 58, 59, - 6, 59, 59, 4, 2, 3, 59, 59, 2, 2, - 2, 9, 10, 59, 9, 9, 59, 12, 59, 58, - 26, 58, 56, 54, 55, 50, 49, 51, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 27, 29, 57, 57, 57, 57, 58, 58, + 57, 57, 57, 27, 29, 57, 57, 57, 57, 57, + 57, 57, 24, 21, 24, 23, 54, 57, 57, 57, - 24, 21, 24, 56, 54, 55, 23, 49, 51, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 24, 27, 29, 57, 57, 57, 57, - 58, 14, 15, 58, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 14, 13, 13, 13, 13, 17, 19, 20, 59, 18, - 52, 53, 51, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 52, 27, 0, 27, 57, 57, 57, 57, 57, 32, - 6, 5, 0, 0, 2, 3, 0, 0, 2, 2, - - 2, 9, 9, 10, 9, 9, 9, 0, 11, 12, - 25, 0, 26, 25, 25, 25, 25, 25, 25, 25, + 24, 27, 29, 57, 57, 57, 57, 57, 57, 14, + 15, 57, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 14, 13, 13, + 13, 13, 13, 17, 19, 20, 58, 18, 55, 56, + 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 27, 29, 0, 0, 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 32, 6, 5, 0, 0, 2, + 3, 0, 0, 2, 2, 2, 9, 9, 10, 9, + + 9, 9, 0, 11, 12, 25, 0, 26, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 27, 25, 25, 25, 25, 25, 25, 0, - 24, 21, 24, 21, 51, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 24, 27, 57, 57, 57, 57, 57, 32, - 14, 15, 0, 15, 13, 13, 13, 13, 13, 13, + 25, 25, 25, 25, 25, 25, 25, 25, 27, 25, + 25, 25, 25, 25, 25, 25, 25, 0, 24, 21, + 24, 21, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 24, 27, 0, 0, 0, 0, 0, 0, 0, + 32, 14, 15, 0, 15, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 14, 13, 13, 13, 13, 13, 16, + 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, - 0, 19, 20, 0, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 28, 57, 57, 2, 9, 9, 9, 7, 25, 25, + 13, 13, 13, 16, 0, 19, 20, 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, 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, + 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, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 0, 0, - 57, 2, 9, 8, 9, 7, 25, 25, 25, 25, + 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, 28, 0, 0, 0, 0, 0, 2, + 9, 8, 9, 7, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 0, 25, 25, 22, 22, 22, 22, 22, + 25, 25, 0, 0, 25, 25, 25, 25, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 0, 22, 22, 13, 13, 13, 13, 13, 13, + 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, 57, 57, 57, 44, 57, 57, 57, 43, 33, - 57, 57, 57, 57, 41, 57, 57, 31, 57, 2, + 13, 13, 13, 0, 0, 0, 47, 0, 0, 0, + 0, 46, 35, 0, 0, 0, 0, 0, 43, 0, + 0, 31, 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, 0, 25, + 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, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, - 25, 25, 25, 25, 25, 25, 25, 25, 22, 22, + 37, 42, 50, 51, 52, 0, 0, 0, 39, 0, + 44, 0, 0, 0, 0, 34, 1, 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, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 57, - 35, 40, 46, 47, 48, 57, 37, 57, 42, 57, - 57, 57, 1, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, - 13, 13, 13, 13, 13, 38, 36, 57, 39, 57, - 57, 25, 25, 25, 25, 25, 25, 22, 22, 22, - - 22, 22, 22, 13, 13, 13, 45, 0, 0, 0, - 25, 25, 0, 25, 22, 22, 0, 22, 13, 0, - 30, 25, 25, 22, 22, 13, 0, 25, 22, 13, - 0, 25, 22, 13, 0, 25, 22, 13, 0, 25, - 22, 13, 34, 25, 22, 0 + 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 40, 48, 45, 38, 0, 41, 0, 0, 0, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 13, 13, 13, + 13, 49, 0, 0, 0, 0, 25, 25, 0, 25, + + 25, 22, 22, 0, 22, 22, 13, 13, 0, 30, + 0, 0, 25, 25, 0, 25, 22, 22, 0, 22, + 13, 0, 33, 25, 25, 22, 22, 13, 0, 25, + 22, 13, 0, 25, 22, 13, 0, 25, 22, 13, + 36, 25, 22, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -466,17 +477,17 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 1, 6, 7, 1, 1, 1, 1, 8, - 9, 1, 1, 10, 11, 1, 1, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 13, 1, 1, - 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 23, 30, 31, 32, 33, 23, 34, 23, 23, 23, - 1, 1, 1, 1, 23, 1, 35, 23, 23, 36, - - 37, 38, 23, 39, 23, 23, 23, 40, 23, 23, - 23, 41, 23, 42, 43, 44, 45, 23, 23, 23, - 23, 23, 46, 1, 47, 1, 1, 1, 1, 1, + 1, 5, 1, 1, 6, 1, 1, 1, 1, 1, + 1, 1, 1, 7, 8, 1, 1, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 10, 1, 1, + 1, 1, 1, 1, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 20, 27, 28, 29, 30, 20, 31, 20, 20, 20, + 1, 1, 1, 1, 20, 1, 32, 20, 20, 33, + + 34, 35, 20, 36, 37, 20, 20, 38, 20, 20, + 39, 40, 20, 41, 42, 43, 44, 45, 20, 20, + 20, 20, 46, 1, 47, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -495,536 +506,629 @@ static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_meta[48] = { 0, - 1, 2, 3, 4, 2, 1, 1, 1, 1, 5, - 6, 7, 1, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 1, 1 + 1, 2, 3, 4, 2, 1, 5, 6, 6, 1, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 1, 1 } ; -static yyconst flex_int16_t yy_base[670] = +static yyconst flex_int16_t yy_base[763] = { 0, - 0, 46, 51, 58, 63, 65, 46, 67, 112, 158, - 204, 250, 296, 342, 75, 92, 1556, 1557, 79, 1557, - 1552, 1557, 1557, 1557, 1557, 1557, 1542, 0, 1532, 1534, - 1526, 1518, 81, 1521, 1534, 1517, 1521, 31, 1531, 1526, - 1506, 343, 0, 1557, 60, 1497, 1499, 47, 1494, 1557, - 1557, 1536, 163, 1557, 0, 1557, 1535, 169, 0, 1510, - 39, 1489, 1557, 1532, 62, 1487, 1530, 1557, 1529, 173, - 1557, 1528, 177, 181, 185, 189, 198, 254, 389, 436, - 143, 155, 72, 243, 70, 148, 167, 171, 78, 239, - 249, 240, 269, 276, 254, 325, 330, 331, 357, 0, - - 281, 1557, 361, 0, 0, 0, 1557, 0, 1518, 483, - 530, 271, 333, 335, 354, 251, 273, 339, 356, 371, - 274, 366, 380, 404, 406, 0, 391, 394, 392, 405, - 1483, 418, 1557, 1525, 0, 1515, 1515, 403, 360, 407, - 419, 441, 442, 414, 443, 444, 445, 447, 368, 422, - 472, 484, 454, 451, 460, 495, 502, 1557, 1522, 1557, - 506, 1557, 1512, 0, 1509, 1493, 1507, 1502, 1501, 1486, - 1489, 1489, 1489, 1492, 1499, 1479, 1496, 1490, 1487, 1470, - 508, 0, 1461, 0, 1477, 1470, 1467, 1489, 438, 1557, - 1557, 1557, 1499, 516, 0, 1557, 1498, 519, 1483, 1472, - - 152, 1451, 1450, 1557, 425, 1449, 523, 1492, 1557, 1557, - 512, 540, 1557, 544, 1473, 466, 54, 488, 529, 534, - 532, 506, 536, 539, 537, 519, 540, 547, 546, 550, - 548, 576, 580, 554, 553, 558, 573, 570, 588, 595, - 599, 1557, 603, 1557, 607, 619, 666, 585, 1479, 597, - 604, 584, 603, 596, 615, 620, 1478, 619, 621, 623, - 624, 625, 646, 652, 626, 646, 633, 1477, 650, 656, - 680, 1557, 1487, 1557, 0, 1477, 1477, 675, 658, 677, - 679, 683, 667, 687, 684, 633, 685, 689, 691, 693, - 694, 695, 698, 716, 699, 705, 711, 715, 716, 728, - - 729, 741, 1557, 1484, 1459, 1453, 1464, 1457, 1468, 1463, - 1453, 1448, 1460, 1459, 1460, 1456, 1443, 1442, 1452, 1436, - 0, 730, 1430, 1439, 736, 747, 751, 1557, 730, 726, - 740, 742, 750, 748, 746, 734, 754, 756, 763, 408, - 749, 757, 761, 764, 1439, 784, 766, 788, 790, 1445, - 777, 782, 783, 711, 1444, 793, 786, 787, 794, 801, - 806, 802, 795, 796, 803, 810, 827, 1439, 833, 811, - 814, 1438, 820, 822, 825, 828, 829, 830, 841, 831, - 839, 842, 843, 851, 845, 854, 855, 857, 858, 1440, - 869, 861, 1430, 1424, 1413, 1420, 1396, 1401, 1395, 1408, - - 1407, 1392, 1394, 1386, 1366, 1379, 1364, 1339, 871, 1332, - 1332, 1362, 879, 1557, 885, 1557, 862, 1342, 868, 879, - 870, 877, 873, 884, 893, 886, 890, 891, 888, 903, - 1303, 874, 923, 929, 897, 907, 908, 916, 922, 923, - 924, 925, 927, 930, 931, 934, 932, 935, 940, 943, - 945, 958, 960, 947, 955, 957, 962, 959, 864, 963, - 965, 966, 969, 970, 973, 975, 976, 972, 977, 984, - 988, 1305, 1309, 1308, 1557, 1307, 1304, 1303, 1557, 1557, - 1283, 1300, 1287, 1298, 1557, 1278, 1267, 1557, 1262, 1265, - 982, 988, 989, 1009, 994, 999, 1003, 1017, 1021, 996, - - 1014, 1009, 1018, 1036, 1011, 997, 1040, 1015, 1032, 1034, - 1039, 1052, 1042, 1045, 1047, 1060, 1061, 1035, 1055, 1050, - 1057, 1071, 1058, 1060, 1075, 1065, 1067, 1070, 1071, 1075, - 1076, 1080, 1081, 1083, 1084, 1086, 1087, 1091, 1092, 1273, - 1557, 1557, 1557, 1557, 1557, 1268, 1557, 1262, 1557, 1258, - 1221, 1222, 0, 1091, 1103, 1112, 1116, 1120, 1125, 1102, - 1130, 1115, 1135, 1125, 1105, 1120, 1097, 1140, 1142, 1146, - 1148, 1150, 1145, 1158, 1147, 1162, 1155, 1129, 1140, 1159, - 1163, 1160, 1168, 1145, 1151, 1557, 1557, 1245, 1557, 1239, - 1178, 1180, 1188, 1173, 1193, 1180, 1194, 1198, 1200, 1193, - - 1206, 1198, 1208, 1203, 1227, 1215, 1557, 1194, 1216, 1177, - 1223, 1227, 1231, 1237, 1232, 1242, 1241, 1243, 1183, 1167, - 1557, 1247, 1251, 1255, 1262, 1150, 1134, 1264, 1268, 1125, - 1062, 1270, 1274, 961, 606, 1286, 1280, 550, 488, 1291, - 1295, 340, 1557, 1297, 1301, 1557, 1325, 1332, 1339, 1346, - 1353, 247, 1360, 1367, 1374, 1381, 1388, 1395, 1402, 1409, - 1416, 1423, 1430, 1432, 1434, 1441, 1448, 1455, 1462 + 0, 46, 54, 59, 51, 63, 46, 67, 110, 156, + 202, 248, 294, 340, 73, 92, 1884, 1885, 77, 1885, + 1880, 1885, 1873, 1863, 1865, 1857, 1849, 84, 62, 57, + 1850, 1854, 72, 1864, 1859, 1839, 385, 0, 1885, 148, + 1828, 1830, 30, 49, 1824, 1885, 1885, 1866, 160, 1885, + 0, 1885, 1865, 164, 0, 1843, 145, 1819, 1885, 1862, + 62, 1817, 1860, 1885, 1859, 170, 1885, 1858, 176, 180, + 255, 259, 263, 347, 351, 364, 360, 356, 392, 397, + 186, 274, 401, 278, 405, 415, 432, 437, 441, 445, + 449, 0, 453, 1885, 457, 1885, 1851, 1841, 1843, 1835, + + 1827, 176, 175, 78, 1828, 1832, 153, 1842, 1837, 1817, + 463, 248, 0, 245, 1806, 1808, 239, 243, 1802, 467, + 1885, 1844, 0, 1837, 1827, 1829, 1821, 1813, 268, 332, + 165, 1814, 1818, 329, 1828, 1823, 1803, 482, 368, 1792, + 1794, 331, 366, 264, 486, 1885, 1831, 1885, 379, 1885, + 1821, 1815, 1799, 1813, 1805, 1804, 1789, 1787, 1781, 1783, + 1783, 1770, 1775, 1778, 1753, 1770, 1760, 1757, 1740, 0, + 0, 1885, 1720, 1686, 379, 1680, 0, 395, 1693, 1690, + 1712, 406, 1683, 1677, 1885, 1885, 1885, 1716, 470, 0, + 1885, 1713, 477, 1687, 1676, 362, 1639, 1631, 1885, 386, + + 1623, 491, 1665, 1885, 1885, 495, 499, 1885, 503, 509, + 513, 517, 521, 525, 529, 539, 543, 547, 551, 555, + 561, 571, 579, 584, 588, 593, 597, 602, 606, 611, + 615, 619, 623, 631, 637, 641, 646, 504, 653, 1885, + 657, 1885, 661, 567, 662, 589, 663, 667, 647, 669, + 675, 530, 681, 685, 687, 694, 693, 695, 707, 706, + 708, 0, 712, 724, 716, 725, 726, 730, 731, 736, + 624, 742, 1885, 1661, 1885, 0, 1645, 1629, 1609, 1622, + 1613, 1602, 1584, 1574, 1555, 1540, 1536, 1528, 1533, 1539, + 1512, 1526, 1517, 1511, 1491, 0, 535, 1483, 1463, 1474, + + 421, 1438, 1429, 737, 747, 752, 1885, 1460, 1435, 1426, + 1433, 1423, 1430, 1425, 1412, 1411, 1400, 1398, 1395, 1375, + 1367, 1356, 1339, 1332, 1333, 1317, 758, 760, 1300, 1304, + 1289, 1283, 1295, 765, 771, 775, 1885, 779, 784, 788, + 792, 796, 806, 812, 821, 825, 829, 833, 844, 850, + 856, 860, 864, 869, 873, 877, 885, 889, 893, 897, + 902, 780, 838, 898, 906, 907, 797, 865, 908, 912, + 916, 923, 924, 928, 940, 941, 942, 947, 948, 954, + 955, 959, 965, 960, 967, 972, 977, 976, 978, 984, + 1281, 1275, 1281, 1270, 1281, 1273, 1260, 1259, 1248, 1257, + + 1255, 1245, 1243, 1234, 1217, 1211, 1221, 1201, 988, 990, + 1190, 1198, 1169, 1155, 1175, 1160, 1148, 1147, 1119, 1121, + 1112, 1115, 1119, 1111, 1089, 1088, 1096, 1086, 1064, 1078, + 1066, 1039, 998, 1885, 992, 1028, 1029, 1035, 1002, 1049, + 1006, 1885, 1011, 1885, 1015, 1022, 1027, 1037, 1041, 1052, + 1057, 1061, 1067, 1076, 1085, 1090, 1094, 1099, 1103, 1114, + 1118, 1047, 1123, 1129, 1133, 1137, 1141, 1145, 1020, 1032, + 1149, 1150, 1077, 1157, 1156, 1095, 1161, 1162, 1168, 1163, + 1180, 1181, 1187, 1188, 1151, 1197, 1198, 1202, 1203, 1207, + 1209, 1208, 1031, 1017, 1002, 1011, 983, 987, 974, 981, + + 975, 974, 945, 924, 923, 916, 891, 906, 897, 852, + 841, 851, 1213, 868, 847, 846, 1885, 841, 840, 831, + 812, 1885, 1885, 803, 799, 814, 797, 799, 1885, 775, + 757, 1885, 758, 755, 1215, 729, 745, 1217, 1221, 1225, + 1232, 1242, 1253, 1260, 1264, 1269, 1273, 1277, 1281, 1285, + 1292, 1297, 1307, 1311, 1315, 1319, 1323, 1327, 1331, 1337, + 1238, 1298, 1341, 1062, 1342, 1352, 1353, 1343, 1332, 1359, + 1363, 1364, 1369, 1373, 1371, 1380, 1382, 1384, 1386, 1392, + 1394, 1396, 1398, 751, 754, 748, 730, 724, 712, 693, + 674, 672, 683, 669, 675, 652, 641, 611, 608, 621, + + 1885, 1885, 1885, 1885, 1885, 620, 612, 608, 1885, 599, + 1885, 593, 544, 545, 534, 1885, 0, 1400, 1404, 1410, + 1414, 1419, 1425, 1429, 1433, 1443, 1447, 1452, 1456, 1460, + 1464, 1469, 1473, 1477, 1478, 1415, 1482, 1484, 1488, 1489, + 1490, 1494, 1496, 1500, 1506, 1507, 1508, 1512, 1517, 1518, + 1522, 558, 557, 540, 536, 527, 527, 481, 482, 467, + 1885, 1885, 1885, 1885, 492, 1885, 490, 1523, 458, 1527, + 1531, 1535, 1539, 1543, 1552, 1558, 1563, 1568, 1544, 1569, + 1573, 1574, 1575, 1579, 1581, 1585, 1586, 442, 430, 1590, + 398, 1885, 391, 1591, 372, 1592, 1596, 1601, 1606, 1610, + + 1614, 1602, 1620, 1619, 1621, 1625, 383, 1627, 378, 1885, + 1637, 362, 1641, 1645, 1653, 1657, 1646, 1639, 1661, 1667, + 358, 332, 1885, 1672, 1677, 1682, 1683, 308, 301, 1687, + 1688, 249, 236, 1692, 1693, 215, 167, 1700, 1704, 160, + 1885, 1713, 1706, 1885, 1731, 1737, 1743, 1749, 1755, 1761, + 1767, 1773, 1779, 1785, 1791, 1797, 1803, 1809, 102, 1815, + 1821, 1827 } ; -static yyconst flex_int16_t yy_def[670] = +static yyconst flex_int16_t yy_def[763] = { 0, - 646, 1, 647, 648, 649, 649, 650, 650, 646, 9, - 646, 11, 646, 13, 651, 651, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, - 652, 646, 653, 646, 652, 652, 652, 652, 646, 646, - 646, 646, 654, 646, 655, 646, 646, 654, 655, 655, - 655, 656, 646, 646, 656, 656, 657, 646, 646, 658, - 646, 646, 658, 658, 658, 658, 658, 658, 659, 659, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 660, 658, 80, 80, 80, 80, 658, 661, - - 646, 646, 646, 661, 661, 661, 646, 661, 661, 662, - 662, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 646, 663, 661, 111, 111, 111, 111, - 661, 646, 646, 646, 664, 664, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 646, 665, 665, 665, 665, 666, 646, 646, 646, 646, - 646, 646, 646, 652, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, - 646, 653, 646, 653, 652, 652, 652, 652, 652, 646, - 646, 646, 646, 646, 655, 646, 646, 646, 655, 655, - - 655, 656, 656, 646, 656, 656, 656, 657, 646, 646, - 658, 658, 646, 658, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 660, 660, 80, 80, 80, 80, 80, 658, 667, - 646, 646, 646, 646, 667, 668, 668, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 646, 669, 247, 247, 247, 247, 247, 667, - 646, 646, 646, 646, 664, 664, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 665, 665, 665, 646, 665, 665, 665, 665, 665, 666, - - 666, 646, 646, 646, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 655, 656, 656, 656, 646, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 667, 667, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 669, 247, 247, 247, - 247, 247, 247, 665, 665, 665, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 665, 665, 652, 652, 652, 652, 652, 652, 652, 652, - - 652, 652, 652, 652, 652, 652, 652, 652, 646, 646, - 652, 655, 656, 646, 656, 646, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 658, 658, 80, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 667, 667, 247, 665, 665, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 665, 652, 652, 652, 646, 652, 652, 652, 646, 646, - 652, 652, 652, 652, 646, 652, 652, 646, 652, 655, - 80, 80, 80, 658, 80, 80, 80, 658, 658, 80, - - 80, 80, 80, 658, 80, 80, 658, 80, 247, 247, - 247, 667, 247, 247, 247, 667, 667, 247, 247, 247, - 247, 667, 247, 247, 667, 247, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 652, - 646, 646, 646, 646, 646, 652, 646, 652, 646, 652, - 652, 652, 655, 80, 658, 658, 658, 658, 658, 80, - 658, 80, 658, 80, 80, 80, 247, 667, 667, 667, - 667, 667, 247, 667, 247, 667, 247, 247, 247, 665, - 665, 665, 665, 665, 665, 646, 646, 652, 646, 652, - 652, 658, 658, 80, 658, 80, 80, 667, 667, 247, - - 667, 247, 247, 665, 665, 665, 646, 646, 646, 646, - 658, 658, 658, 658, 667, 667, 667, 667, 664, 646, - 646, 658, 658, 667, 667, 664, 646, 658, 667, 664, - 646, 658, 667, 664, 646, 658, 667, 664, 646, 658, - 667, 664, 646, 658, 667, 0, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646 + 744, 1, 745, 746, 747, 747, 748, 748, 744, 9, + 744, 11, 744, 13, 749, 749, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 750, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 751, 744, + 752, 744, 744, 751, 752, 752, 752, 753, 744, 744, + 753, 753, 754, 744, 744, 755, 744, 744, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 756, 755, 755, 755, 755, 755, 755, + 755, 757, 744, 744, 744, 744, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 37, 758, 757, 757, 757, 757, 757, 757, 757, 744, + 744, 744, 759, 759, 759, 759, 759, 759, 759, 759, + 759, 759, 759, 759, 759, 759, 759, 37, 759, 759, + 759, 759, 759, 760, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 37, + 750, 744, 744, 744, 744, 744, 750, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 752, + 744, 744, 744, 752, 752, 752, 753, 753, 744, 753, + + 753, 753, 754, 744, 744, 755, 755, 744, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 756, 756, 755, + 755, 755, 755, 755, 755, 755, 755, 761, 744, 744, + 744, 744, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 111, 762, 761, 761, 761, 761, 761, 761, 761, + 761, 744, 744, 744, 744, 759, 759, 759, 759, 759, + 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, + 759, 759, 759, 759, 759, 138, 759, 759, 759, 759, + + 759, 759, 759, 760, 760, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 752, 753, 753, 753, 744, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 762, 761, 761, 761, 761, 761, 761, 761, 761, + 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, + + 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, + 759, 759, 759, 759, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 752, + 753, 744, 753, 744, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 761, 759, 759, 759, 759, 759, 759, 759, 759, + + 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, + 759, 759, 759, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 752, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 761, 761, 759, 759, 759, 759, 759, 759, 759, + 759, 759, 759, 759, 759, 759, 759, 759, 759, 744, + + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 752, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 761, 761, 761, 761, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, + 761, 759, 759, 759, 759, 759, 759, 759, 759, 759, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 761, 761, + 761, 761, 761, 761, 761, 761, 761, 759, 759, 759, + 759, 744, 744, 744, 744, 744, 755, 755, 755, 755, + + 755, 761, 761, 761, 761, 761, 759, 759, 744, 744, + 744, 744, 755, 755, 755, 755, 761, 761, 761, 761, + 759, 744, 744, 755, 755, 761, 761, 759, 744, 755, + 761, 759, 744, 755, 761, 759, 744, 755, 761, 759, + 744, 755, 761, 0, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744 } ; -static yyconst flex_int16_t yy_nxt[1605] = +static yyconst flex_int16_t yy_nxt[1933] = { 0, - 18, 19, 20, 21, 19, 22, 18, 23, 24, 25, - 26, 27, 18, 28, 28, 29, 30, 28, 31, 28, - 28, 32, 28, 33, 28, 34, 35, 36, 37, 28, - 38, 39, 28, 40, 28, 41, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 18, 18, 42, 68, 69, - 42, 176, 43, 51, 52, 53, 200, 54, 44, 50, - 56, 57, 58, 177, 59, 63, 64, 63, 64, 68, - 69, 45, 188, 185, 215, 60, 157, 158, 159, 157, - 161, 201, 330, 161, 160, 46, 47, 172, 48, 189, - 215, 49, 215, 157, 158, 159, 157, 223, 227, 169, - - 61, 160, 170, 219, 205, 65, 171, 65, 206, 66, - 228, 66, 70, 19, 71, 72, 19, 73, 70, 74, - 75, 76, 77, 78, 70, 79, 79, 80, 81, 79, - 82, 79, 79, 83, 79, 84, 79, 85, 86, 87, - 88, 79, 89, 90, 79, 91, 79, 92, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 70, 70, 42, - 217, 224, 42, 215, 93, 191, 193, 194, 215, 200, - 94, 196, 197, 198, 212, 215, 212, 212, 212, 218, - 212, 212, 212, 95, 212, 212, 212, 215, 212, 212, - 212, 215, 212, 212, 201, 226, 225, 96, 97, 212, - - 98, 212, 212, 99, 100, 101, 102, 103, 101, 104, - 100, 105, 106, 107, 108, 109, 100, 110, 110, 111, - 112, 110, 113, 110, 110, 114, 110, 115, 110, 116, - 117, 118, 119, 110, 120, 121, 110, 122, 110, 123, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 100, - 100, 124, 229, 164, 124, 212, 125, 212, 212, 215, - 215, 220, 126, 215, 221, 214, 230, 234, 222, 215, - 233, 246, 233, 233, 215, 127, 231, 212, 254, 212, - 212, 223, 241, 242, 243, 241, 255, 260, 248, 128, - 129, 246, 130, 246, 246, 131, 18, 132, 133, 134, - - 132, 22, 18, 23, 24, 25, 135, 136, 18, 137, - 137, 138, 139, 137, 140, 137, 137, 141, 137, 142, - 137, 143, 144, 145, 146, 137, 147, 148, 137, 149, - 137, 150, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 18, 18, 151, 181, 215, 151, 181, 43, 182, - 215, 215, 643, 246, 44, 246, 237, 249, 212, 246, - 212, 212, 243, 244, 243, 243, 250, 152, 256, 235, - 275, 236, 251, 238, 246, 252, 246, 279, 275, 253, - 257, 153, 154, 261, 155, 292, 246, 49, 183, 211, - 212, 258, 212, 212, 211, 211, 211, 211, 211, 211, - - 246, 211, 239, 259, 265, 263, 242, 243, 263, 184, - 182, 246, 246, 275, 246, 184, 262, 275, 254, 271, - 272, 273, 271, 278, 275, 246, 428, 286, 215, 275, - 268, 280, 275, 267, 211, 211, 211, 212, 266, 212, - 212, 211, 211, 211, 211, 211, 211, 269, 211, 183, - 281, 275, 275, 275, 275, 275, 216, 275, 293, 282, - 291, 275, 283, 188, 275, 289, 284, 205, 288, 285, - 275, 206, 287, 294, 272, 273, 294, 290, 182, 329, - 189, 211, 211, 240, 240, 298, 215, 240, 240, 240, - 240, 240, 297, 240, 275, 240, 301, 295, 296, 301, - - 643, 331, 299, 302, 303, 304, 302, 161, 215, 181, - 161, 285, 181, 212, 182, 212, 212, 183, 191, 193, - 194, 196, 197, 198, 327, 328, 215, 327, 240, 240, - 240, 240, 339, 335, 240, 240, 240, 240, 240, 215, - 240, 212, 240, 212, 212, 212, 332, 212, 212, 215, - 247, 333, 215, 183, 215, 214, 215, 215, 338, 215, - 215, 341, 336, 334, 337, 342, 215, 215, 215, 325, - 215, 343, 340, 215, 215, 240, 240, 233, 215, 233, - 233, 233, 345, 233, 233, 344, 234, 346, 642, 212, - 215, 212, 212, 215, 347, 237, 240, 350, 350, 240, - - 241, 242, 243, 241, 243, 242, 243, 243, 240, 350, - 350, 240, 238, 352, 354, 356, 350, 350, 349, 348, - 240, 355, 358, 240, 348, 348, 348, 348, 350, 348, - 357, 348, 350, 350, 350, 363, 350, 350, 350, 350, - 359, 360, 364, 275, 639, 365, 350, 263, 242, 243, - 263, 362, 182, 264, 368, 184, 264, 240, 382, 350, - 240, 184, 366, 350, 348, 348, 348, 240, 275, 370, - 240, 348, 348, 348, 348, 372, 348, 275, 348, 351, - 369, 271, 272, 273, 271, 275, 375, 275, 374, 275, - 376, 183, 373, 275, 275, 275, 377, 275, 379, 275, - - 378, 275, 384, 275, 275, 275, 383, 386, 275, 275, - 381, 348, 348, 387, 380, 275, 388, 294, 272, 273, - 294, 275, 182, 385, 350, 275, 275, 390, 295, 301, - 301, 409, 301, 301, 409, 389, 439, 413, 414, 391, - 413, 298, 302, 303, 304, 302, 215, 392, 415, 416, - 215, 415, 327, 328, 215, 327, 417, 418, 299, 419, - 215, 183, 215, 421, 424, 422, 215, 420, 215, 215, - 215, 425, 423, 426, 215, 410, 215, 215, 427, 429, - 431, 215, 325, 215, 215, 433, 215, 430, 433, 240, - 350, 240, 240, 325, 240, 350, 350, 203, 432, 350, - - 350, 349, 438, 436, 215, 435, 350, 350, 350, 350, - 441, 444, 442, 437, 350, 350, 350, 443, 445, 350, - 447, 446, 450, 350, 350, 448, 449, 350, 264, 434, - 184, 264, 275, 350, 452, 275, 184, 452, 275, 275, - 275, 275, 368, 459, 451, 372, 350, 457, 455, 275, - 454, 275, 275, 275, 458, 275, 456, 461, 460, 463, - 464, 275, 373, 466, 275, 275, 465, 275, 275, 462, - 409, 275, 409, 409, 275, 409, 469, 491, 453, 275, - 413, 414, 215, 413, 467, 468, 415, 416, 215, 415, - 215, 494, 470, 215, 215, 530, 498, 215, 493, 215, - - 471, 495, 496, 497, 215, 499, 215, 501, 215, 502, - 215, 215, 500, 215, 410, 504, 410, 215, 506, 503, - 350, 350, 509, 215, 433, 203, 212, 433, 510, 350, - 212, 203, 212, 212, 512, 350, 350, 350, 350, 516, - 350, 508, 517, 350, 350, 350, 511, 350, 350, 514, - 520, 519, 522, 350, 513, 515, 350, 518, 350, 452, - 350, 240, 452, 523, 240, 275, 521, 275, 434, 275, - 527, 475, 275, 275, 507, 275, 275, 528, 479, 275, - 275, 480, 275, 275, 485, 275, 275, 275, 531, 524, - 534, 526, 529, 535, 275, 532, 533, 537, 275, 554, - - 555, 556, 215, 453, 638, 525, 557, 536, 215, 215, - 212, 558, 212, 212, 215, 559, 215, 215, 212, 215, - 212, 212, 212, 215, 212, 212, 561, 560, 538, 215, - 563, 215, 539, 562, 215, 215, 565, 212, 215, 212, - 212, 212, 564, 212, 212, 350, 568, 350, 350, 567, - 566, 569, 350, 240, 570, 350, 240, 571, 350, 572, - 350, 240, 240, 350, 240, 240, 573, 574, 350, 576, - 350, 350, 240, 350, 575, 240, 240, 275, 350, 240, - 275, 275, 541, 542, 580, 275, 275, 543, 544, 577, - 275, 275, 545, 275, 275, 547, 275, 275, 549, 578, - - 579, 275, 275, 592, 212, 635, 212, 212, 582, 598, - 350, 215, 581, 212, 593, 212, 212, 212, 583, 212, - 212, 212, 215, 212, 212, 215, 212, 585, 212, 212, - 584, 212, 594, 212, 212, 215, 212, 595, 212, 212, - 215, 240, 350, 240, 240, 215, 240, 240, 596, 240, - 240, 240, 240, 350, 240, 275, 597, 599, 350, 240, - 350, 275, 240, 240, 600, 634, 240, 601, 350, 275, - 275, 586, 602, 275, 631, 587, 603, 604, 275, 609, - 589, 212, 609, 212, 212, 611, 630, 606, 605, 212, - 612, 212, 212, 215, 212, 613, 212, 212, 613, 240, - - 215, 240, 240, 627, 240, 615, 350, 240, 616, 617, - 240, 350, 617, 275, 215, 607, 609, 609, 626, 609, - 609, 350, 621, 610, 212, 275, 212, 212, 212, 620, - 212, 212, 613, 240, 212, 613, 240, 619, 212, 614, - 212, 212, 617, 240, 240, 617, 240, 240, 212, 608, - 212, 212, 212, 618, 212, 212, 240, 607, 591, 240, - 610, 610, 622, 240, 590, 212, 240, 212, 212, 240, - 589, 212, 240, 212, 212, 240, 614, 624, 240, 588, - 587, 240, 623, 628, 240, 586, 618, 212, 625, 212, - 212, 629, 212, 553, 212, 212, 240, 552, 212, 240, - - 212, 212, 240, 644, 632, 240, 551, 645, 633, 550, - 549, 548, 547, 636, 546, 545, 544, 637, 641, 543, - 542, 541, 540, 505, 640, 50, 50, 50, 50, 50, - 50, 50, 55, 55, 55, 55, 55, 55, 55, 62, - 62, 62, 62, 62, 62, 62, 67, 67, 67, 67, - 67, 67, 67, 156, 156, 156, 156, 156, 156, 156, - 184, 184, 492, 184, 184, 184, 184, 192, 192, 192, - 192, 192, 192, 192, 195, 490, 489, 488, 195, 195, - 195, 202, 202, 487, 486, 202, 202, 202, 208, 208, - 208, 485, 208, 208, 208, 211, 211, 484, 211, 211, - - 211, 211, 215, 215, 483, 215, 215, 215, 215, 232, - 232, 482, 232, 232, 232, 232, 240, 240, 481, 480, - 479, 240, 240, 246, 246, 478, 477, 476, 246, 246, - 264, 264, 475, 264, 264, 264, 264, 275, 275, 277, - 277, 300, 300, 474, 473, 472, 300, 300, 348, 348, - 275, 371, 350, 348, 348, 350, 350, 440, 350, 215, - 350, 350, 367, 367, 412, 367, 367, 367, 367, 411, - 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, - 398, 397, 396, 395, 394, 393, 303, 275, 276, 272, - 371, 361, 353, 215, 209, 326, 325, 203, 199, 324, - - 196, 191, 185, 323, 322, 321, 190, 320, 319, 318, - 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, - 307, 306, 305, 163, 303, 275, 276, 274, 270, 245, - 213, 210, 209, 207, 204, 203, 199, 196, 191, 190, - 187, 186, 180, 179, 178, 175, 174, 173, 172, 168, - 167, 166, 165, 163, 162, 646, 17, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - - 646, 646, 646, 646 + 18, 19, 20, 21, 19, 18, 22, 18, 23, 18, + 18, 18, 24, 25, 18, 26, 18, 18, 27, 18, + 28, 18, 29, 30, 31, 32, 18, 33, 34, 18, + 35, 18, 36, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 37, 64, 65, + 37, 38, 181, 59, 60, 39, 47, 48, 49, 50, + 46, 52, 53, 54, 55, 59, 60, 161, 40, 64, + 65, 182, 159, 56, 145, 146, 147, 145, 149, 148, + 183, 149, 184, 41, 162, 42, 160, 43, 253, 165, + 44, 45, 61, 145, 146, 147, 145, 62, 148, 156, + + 57, 166, 157, 200, 61, 254, 158, 276, 201, 62, + 66, 19, 67, 68, 19, 66, 69, 66, 70, 66, + 66, 66, 71, 72, 66, 73, 66, 66, 74, 66, + 75, 66, 76, 77, 78, 79, 66, 80, 81, 66, + 82, 66, 83, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 37, 178, 195, + 37, 84, 186, 188, 189, 85, 191, 192, 193, 741, + 257, 207, 160, 207, 207, 287, 741, 207, 86, 207, + 207, 207, 258, 207, 207, 251, 196, 207, 209, 207, + 207, 248, 288, 87, 249, 88, 225, 89, 250, 252, + + 90, 91, 92, 93, 94, 95, 93, 92, 96, 92, + 97, 92, 92, 92, 98, 99, 92, 100, 92, 92, + 101, 92, 102, 92, 103, 104, 105, 106, 92, 107, + 108, 92, 109, 92, 110, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 111, + 740, 177, 111, 112, 177, 264, 207, 113, 207, 207, + 207, 267, 207, 207, 207, 305, 207, 207, 305, 252, + 114, 737, 210, 211, 269, 207, 270, 207, 207, 229, + 268, 229, 229, 282, 212, 115, 283, 116, 226, 117, + 284, 736, 118, 119, 18, 120, 121, 122, 120, 18, + + 22, 123, 124, 18, 123, 123, 125, 126, 123, 127, + 123, 123, 128, 123, 129, 123, 130, 131, 132, 133, + 123, 134, 135, 123, 136, 123, 137, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 18, + 18, 138, 285, 733, 138, 38, 291, 732, 207, 39, + 207, 207, 207, 300, 207, 207, 286, 207, 292, 207, + 207, 207, 139, 207, 207, 207, 214, 207, 207, 215, + 219, 729, 301, 216, 217, 213, 195, 140, 297, 141, + 149, 142, 221, 149, 143, 45, 170, 220, 218, 170, + 171, 728, 286, 207, 172, 207, 207, 302, 207, 303, + + 207, 207, 207, 196, 207, 207, 207, 723, 207, 207, + 183, 722, 184, 222, 223, 721, 207, 710, 207, 207, + 327, 316, 173, 709, 174, 230, 224, 200, 181, 175, + 176, 708, 201, 207, 227, 207, 207, 707, 207, 218, + 207, 207, 207, 300, 207, 207, 207, 182, 207, 207, + 207, 692, 207, 207, 239, 240, 241, 239, 241, 242, + 241, 241, 301, 233, 262, 240, 241, 262, 272, 273, + 274, 272, 186, 188, 189, 231, 235, 232, 236, 191, + 192, 193, 234, 296, 273, 274, 296, 306, 307, 308, + 306, 696, 336, 337, 237, 336, 207, 693, 207, 207, + + 207, 692, 207, 207, 207, 238, 207, 207, 238, 691, + 207, 209, 207, 207, 207, 690, 207, 207, 207, 338, + 207, 207, 207, 689, 207, 207, 207, 340, 207, 207, + 207, 238, 207, 207, 238, 341, 666, 334, 339, 342, + 207, 688, 207, 207, 207, 664, 207, 207, 207, 663, + 207, 207, 207, 372, 207, 207, 207, 343, 207, 207, + 409, 398, 207, 344, 207, 207, 662, 661, 238, 345, + 346, 238, 207, 347, 207, 207, 669, 364, 668, 349, + 207, 350, 207, 207, 348, 207, 667, 207, 207, 207, + 238, 207, 207, 238, 207, 352, 207, 207, 207, 366, + + 207, 207, 666, 229, 353, 229, 229, 229, 351, 229, + 229, 354, 207, 665, 207, 207, 207, 664, 207, 207, + 207, 663, 207, 207, 207, 238, 207, 207, 238, 662, + 661, 355, 207, 359, 207, 207, 356, 345, 207, 660, + 207, 207, 207, 659, 207, 207, 357, 207, 238, 207, + 207, 238, 358, 233, 239, 240, 241, 239, 241, 240, + 241, 241, 238, 238, 238, 238, 238, 238, 238, 363, + 238, 238, 234, 238, 360, 369, 238, 367, 658, 238, + 657, 368, 238, 361, 611, 238, 238, 365, 238, 238, + 656, 238, 609, 370, 238, 238, 238, 238, 238, 238, + + 655, 371, 654, 373, 376, 375, 378, 238, 238, 238, + 238, 238, 238, 263, 374, 177, 263, 238, 177, 653, + 238, 605, 377, 379, 380, 238, 238, 238, 238, 238, + 238, 238, 238, 604, 238, 238, 386, 238, 305, 603, + 238, 305, 381, 272, 273, 274, 272, 384, 305, 383, + 371, 305, 387, 306, 307, 308, 306, 602, 385, 433, + 434, 435, 433, 601, 435, 652, 441, 442, 389, 441, + 617, 388, 443, 444, 616, 443, 336, 337, 390, 336, + 207, 238, 207, 207, 238, 207, 615, 207, 207, 207, + 614, 207, 207, 207, 613, 207, 207, 207, 238, 207, + + 207, 238, 445, 612, 447, 436, 449, 207, 611, 207, + 207, 334, 446, 207, 448, 207, 207, 334, 610, 472, + 450, 198, 207, 609, 207, 207, 207, 608, 207, 207, + 207, 607, 207, 207, 207, 451, 207, 207, 606, 238, + 605, 452, 238, 454, 455, 207, 363, 207, 207, 604, + 603, 207, 453, 207, 207, 602, 601, 207, 456, 207, + 207, 207, 457, 207, 207, 207, 238, 207, 207, 238, + 207, 458, 207, 207, 207, 473, 207, 207, 463, 434, + 207, 463, 600, 599, 598, 461, 464, 459, 207, 464, + 207, 460, 207, 207, 207, 597, 207, 207, 207, 238, + + 207, 207, 238, 207, 462, 207, 207, 238, 238, 238, + 238, 238, 238, 238, 596, 529, 238, 238, 356, 595, + 238, 469, 474, 471, 238, 238, 466, 238, 238, 238, + 465, 594, 238, 467, 470, 475, 476, 593, 478, 479, + 468, 238, 238, 238, 238, 238, 238, 592, 238, 238, + 477, 238, 238, 481, 480, 238, 238, 482, 238, 238, + 263, 488, 177, 263, 488, 177, 487, 434, 238, 487, + 485, 238, 591, 238, 483, 484, 238, 238, 238, 238, + 238, 238, 238, 523, 522, 238, 486, 386, 238, 433, + 434, 435, 433, 435, 435, 590, 435, 383, 387, 433, + + 434, 589, 433, 535, 490, 489, 535, 441, 442, 588, + 441, 587, 443, 444, 491, 443, 207, 388, 207, 207, + 517, 238, 492, 207, 238, 207, 207, 538, 207, 586, + 207, 207, 561, 238, 585, 436, 238, 436, 207, 539, + 207, 207, 207, 584, 207, 207, 541, 536, 207, 562, + 207, 207, 198, 207, 540, 207, 207, 198, 207, 537, + 207, 207, 207, 238, 207, 207, 238, 534, 207, 542, + 207, 207, 533, 532, 543, 545, 546, 207, 238, 207, + 207, 238, 531, 530, 544, 547, 207, 529, 207, 207, + 555, 207, 528, 207, 207, 207, 238, 207, 207, 238, + + 207, 527, 207, 207, 207, 565, 207, 207, 550, 568, + 526, 525, 548, 549, 551, 207, 524, 207, 207, 207, + 523, 207, 207, 553, 463, 434, 207, 463, 522, 521, + 464, 552, 207, 464, 207, 554, 207, 207, 207, 520, + 207, 207, 207, 519, 207, 207, 559, 518, 207, 559, + 238, 238, 238, 238, 238, 238, 517, 238, 238, 564, + 238, 238, 238, 238, 238, 238, 238, 238, 577, 238, + 569, 570, 238, 558, 465, 516, 563, 515, 556, 566, + 557, 238, 238, 567, 238, 238, 572, 514, 238, 238, + 560, 238, 238, 513, 573, 571, 574, 576, 238, 487, + + 434, 238, 487, 488, 238, 512, 488, 238, 238, 582, + 238, 238, 582, 238, 535, 575, 535, 535, 207, 535, + 207, 207, 207, 409, 207, 207, 207, 511, 207, 207, + 619, 618, 510, 207, 620, 207, 207, 509, 508, 238, + 578, 581, 238, 207, 507, 207, 207, 489, 579, 506, + 580, 621, 635, 583, 207, 505, 207, 207, 536, 504, + 536, 207, 622, 207, 207, 207, 503, 207, 207, 623, + 207, 502, 207, 207, 207, 501, 207, 207, 207, 500, + 207, 207, 207, 499, 207, 207, 207, 498, 207, 207, + 624, 497, 496, 207, 627, 207, 207, 495, 207, 238, + + 207, 207, 238, 494, 493, 625, 629, 636, 207, 626, + 207, 207, 207, 628, 207, 207, 207, 440, 207, 207, + 207, 439, 207, 207, 207, 438, 207, 207, 207, 327, + 207, 207, 559, 238, 207, 559, 238, 437, 207, 630, + 207, 207, 238, 238, 238, 238, 238, 238, 432, 431, + 637, 638, 631, 238, 238, 632, 238, 238, 633, 430, + 238, 639, 640, 238, 238, 238, 429, 238, 238, 641, + 238, 428, 238, 238, 238, 238, 560, 238, 644, 427, + 646, 238, 634, 238, 238, 238, 238, 238, 238, 426, + 238, 642, 643, 238, 645, 238, 238, 582, 238, 238, + + 582, 207, 238, 207, 207, 207, 425, 207, 207, 670, + 647, 207, 424, 207, 207, 207, 238, 207, 207, 238, + 207, 648, 207, 207, 649, 650, 207, 423, 207, 207, + 207, 422, 207, 207, 207, 421, 207, 207, 671, 420, + 419, 583, 672, 651, 207, 418, 207, 207, 207, 417, + 207, 207, 673, 207, 416, 207, 207, 207, 415, 207, + 207, 207, 307, 207, 207, 207, 674, 207, 207, 675, + 207, 414, 207, 207, 207, 413, 207, 207, 207, 238, + 207, 207, 238, 238, 412, 238, 238, 679, 238, 238, + 238, 238, 238, 238, 238, 238, 411, 238, 238, 680, + + 238, 238, 677, 681, 238, 682, 676, 238, 238, 238, + 238, 238, 238, 238, 410, 678, 238, 684, 238, 238, + 683, 238, 238, 238, 694, 408, 238, 694, 207, 407, + 207, 207, 207, 406, 207, 207, 207, 405, 207, 207, + 207, 404, 207, 207, 207, 238, 207, 207, 238, 403, + 686, 402, 697, 207, 685, 207, 207, 401, 400, 207, + 687, 207, 207, 399, 699, 698, 207, 699, 695, 207, + 238, 207, 207, 238, 238, 238, 238, 238, 238, 238, + 238, 398, 238, 238, 702, 238, 704, 238, 703, 704, + 238, 694, 694, 711, 694, 694, 711, 207, 397, 207, + + 207, 701, 207, 238, 207, 207, 238, 699, 700, 207, + 699, 207, 396, 207, 207, 715, 395, 207, 715, 706, + 704, 238, 238, 704, 238, 238, 719, 394, 711, 719, + 705, 711, 393, 713, 392, 695, 695, 712, 711, 391, + 238, 711, 207, 238, 207, 207, 207, 238, 207, 207, + 238, 700, 717, 277, 715, 714, 207, 715, 207, 716, + 207, 207, 719, 273, 705, 719, 718, 204, 238, 335, + 720, 238, 712, 207, 724, 207, 207, 334, 207, 726, + 207, 207, 712, 238, 238, 198, 238, 238, 207, 238, + 207, 207, 238, 207, 238, 207, 207, 238, 716, 194, + + 333, 207, 725, 207, 207, 238, 720, 238, 238, 742, + 238, 730, 727, 743, 207, 191, 207, 207, 186, 332, + 331, 731, 330, 329, 328, 185, 180, 738, 739, 734, + 735, 46, 46, 46, 46, 46, 46, 51, 51, 51, + 51, 51, 51, 58, 58, 58, 58, 58, 58, 63, + 63, 63, 63, 63, 63, 144, 144, 144, 144, 144, + 144, 177, 177, 179, 177, 177, 177, 187, 187, 187, + 187, 187, 187, 190, 326, 325, 324, 190, 190, 197, + 197, 323, 322, 197, 197, 203, 203, 203, 321, 203, + 203, 206, 206, 320, 206, 206, 206, 228, 228, 319, + + 228, 228, 228, 238, 238, 318, 317, 316, 238, 263, + 263, 315, 263, 263, 263, 304, 304, 314, 313, 312, + 304, 362, 362, 311, 310, 309, 362, 382, 382, 151, + 382, 382, 382, 307, 299, 298, 295, 294, 293, 290, + 289, 281, 280, 279, 278, 277, 275, 271, 266, 265, + 261, 260, 259, 256, 255, 247, 246, 245, 244, 243, + 208, 205, 204, 202, 199, 198, 194, 191, 186, 185, + 180, 179, 169, 168, 167, 164, 163, 155, 154, 153, + 152, 151, 150, 744, 17, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744 } ; -static yyconst flex_int16_t yy_chk[1605] = +static yyconst flex_int16_t yy_chk[1933] = { 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, 2, 7, 7, - 2, 38, 2, 3, 3, 3, 61, 3, 2, 4, - 4, 4, 4, 38, 4, 5, 5, 6, 6, 8, - 8, 2, 48, 45, 217, 4, 15, 15, 15, 15, - 19, 61, 217, 19, 15, 2, 2, 45, 2, 48, - 85, 2, 83, 16, 16, 16, 16, 85, 89, 33, - - 4, 16, 33, 83, 65, 5, 33, 6, 65, 5, - 89, 6, 9, 9, 9, 9, 9, 9, 9, 9, + 2, 2, 43, 5, 5, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 6, 6, 30, 2, 8, + 8, 43, 29, 4, 15, 15, 15, 15, 19, 15, + 44, 19, 44, 2, 30, 2, 29, 2, 104, 33, + 2, 2, 5, 16, 16, 16, 16, 5, 16, 28, + + 4, 33, 28, 61, 6, 104, 28, 759, 61, 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, 9, 10, - 81, 86, 10, 81, 10, 53, 53, 53, 86, 201, - 10, 58, 58, 58, 70, 82, 70, 70, 73, 82, - 73, 73, 74, 10, 74, 74, 75, 87, 75, 75, - 76, 88, 76, 76, 201, 88, 87, 10, 10, 77, + 9, 9, 9, 9, 9, 9, 9, 10, 40, 57, + 10, 10, 49, 49, 49, 10, 54, 54, 54, 740, + 107, 66, 40, 66, 66, 131, 737, 69, 10, 69, + 69, 70, 107, 70, 70, 103, 57, 81, 70, 81, + 81, 102, 131, 10, 102, 10, 81, 10, 102, 103, - 10, 77, 77, 10, 11, 11, 11, 11, 11, 11, + 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, - 11, 12, 90, 652, 12, 78, 12, 78, 78, 90, - 92, 84, 12, 84, 84, 78, 91, 95, 84, 91, - 93, 116, 93, 93, 95, 12, 92, 94, 116, 94, - 94, 95, 101, 101, 101, 101, 117, 121, 112, 12, - 12, 112, 12, 117, 121, 12, 13, 13, 13, 13, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, + 736, 112, 12, 12, 112, 114, 71, 12, 71, 71, + 72, 117, 72, 72, 73, 144, 73, 73, 144, 114, + 12, 733, 71, 72, 118, 82, 118, 82, 82, 84, + 117, 84, 84, 129, 73, 12, 129, 12, 82, 12, + 129, 732, 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, 13, 14, 42, 96, 14, 42, 14, 42, - 97, 98, 642, 113, 14, 114, 98, 113, 99, 118, - 99, 99, 103, 103, 103, 103, 114, 14, 118, 96, - 139, 97, 115, 98, 115, 115, 119, 139, 149, 115, - 119, 14, 14, 122, 14, 149, 122, 14, 42, 79, - 79, 120, 79, 79, 79, 79, 79, 79, 79, 79, - - 123, 79, 99, 120, 127, 124, 124, 124, 124, 125, - 124, 127, 129, 138, 128, 125, 123, 140, 127, 132, - 132, 132, 132, 138, 144, 130, 340, 144, 340, 141, - 130, 140, 150, 129, 79, 79, 80, 80, 128, 80, - 80, 80, 80, 80, 80, 80, 80, 130, 80, 124, - 141, 142, 143, 145, 146, 147, 80, 148, 150, 142, - 148, 154, 142, 189, 153, 147, 142, 205, 146, 143, - 155, 205, 145, 151, 151, 151, 151, 147, 151, 216, - 189, 80, 80, 110, 110, 155, 216, 110, 110, 110, - 110, 110, 154, 110, 152, 110, 156, 152, 153, 156, - - 639, 218, 155, 157, 157, 157, 157, 161, 218, 181, - 161, 152, 181, 211, 181, 211, 211, 151, 194, 194, - 194, 198, 198, 198, 207, 207, 222, 207, 110, 110, - 111, 111, 226, 222, 111, 111, 111, 111, 111, 226, - 111, 212, 111, 212, 212, 214, 219, 214, 214, 219, - 111, 220, 221, 181, 220, 214, 223, 225, 225, 224, - 227, 228, 223, 221, 224, 229, 229, 228, 231, 207, - 230, 230, 227, 235, 234, 111, 111, 232, 236, 232, - 232, 233, 234, 233, 233, 231, 237, 235, 638, 239, - 238, 239, 239, 237, 236, 238, 240, 252, 248, 240, - - 241, 241, 241, 241, 243, 243, 243, 243, 245, 254, - 250, 245, 238, 248, 250, 252, 253, 251, 245, 246, - 246, 251, 254, 246, 246, 246, 246, 246, 255, 246, - 253, 246, 258, 256, 259, 259, 260, 261, 262, 265, - 255, 256, 260, 286, 635, 261, 267, 263, 263, 263, - 263, 258, 263, 264, 265, 264, 264, 270, 286, 266, - 270, 264, 262, 269, 246, 246, 247, 247, 279, 267, - 247, 247, 247, 247, 247, 269, 247, 283, 247, 247, - 266, 271, 271, 271, 271, 278, 279, 280, 278, 281, - 280, 263, 269, 282, 285, 287, 281, 284, 283, 288, - - 282, 289, 288, 290, 291, 292, 287, 290, 293, 295, - 285, 247, 247, 291, 284, 296, 292, 294, 294, 294, - 294, 297, 294, 289, 354, 298, 299, 295, 298, 300, - 301, 322, 300, 301, 322, 293, 354, 325, 325, 296, - 325, 299, 302, 302, 302, 302, 330, 297, 326, 326, - 329, 326, 327, 327, 336, 327, 329, 330, 299, 331, - 331, 294, 332, 333, 336, 334, 335, 332, 334, 341, - 333, 337, 335, 338, 337, 322, 338, 342, 339, 341, - 343, 343, 325, 339, 344, 346, 347, 342, 346, 348, - 351, 349, 348, 326, 349, 352, 353, 327, 344, 357, - - 358, 349, 353, 351, 346, 347, 356, 359, 363, 364, - 356, 359, 357, 352, 360, 362, 365, 358, 360, 361, - 362, 361, 365, 366, 370, 363, 364, 371, 367, 346, - 367, 367, 374, 373, 369, 375, 367, 369, 376, 377, - 378, 380, 371, 378, 366, 373, 369, 376, 374, 381, - 370, 379, 382, 383, 377, 385, 375, 380, 379, 382, - 383, 384, 373, 385, 386, 387, 384, 388, 389, 381, - 391, 392, 409, 391, 459, 409, 388, 417, 369, 391, - 413, 413, 417, 413, 386, 387, 415, 415, 419, 415, - 421, 420, 389, 423, 432, 459, 424, 422, 419, 420, - - 392, 421, 422, 423, 424, 425, 426, 427, 429, 428, - 427, 428, 426, 425, 391, 430, 409, 435, 432, 429, - 436, 437, 436, 430, 433, 413, 433, 433, 437, 438, - 434, 415, 434, 434, 439, 439, 440, 441, 442, 443, - 443, 435, 444, 444, 445, 447, 438, 446, 448, 441, - 447, 446, 449, 449, 440, 442, 450, 445, 451, 452, - 454, 453, 452, 450, 453, 455, 448, 456, 433, 458, - 455, 458, 457, 460, 434, 461, 462, 456, 462, 463, - 464, 463, 468, 465, 468, 466, 467, 469, 460, 451, - 465, 454, 457, 466, 470, 461, 464, 469, 471, 491, - - 492, 493, 491, 452, 634, 453, 495, 467, 492, 493, - 494, 496, 494, 494, 495, 497, 500, 506, 498, 496, - 498, 498, 499, 497, 499, 499, 501, 500, 470, 502, - 503, 505, 471, 502, 501, 508, 506, 504, 503, 504, - 504, 507, 505, 507, 507, 509, 510, 510, 518, 509, - 508, 511, 511, 512, 513, 513, 512, 514, 514, 515, - 515, 516, 517, 520, 516, 517, 518, 519, 519, 521, - 521, 523, 522, 524, 520, 522, 525, 527, 526, 525, - 528, 529, 528, 529, 527, 530, 531, 530, 531, 523, - 532, 533, 532, 534, 535, 534, 536, 537, 536, 524, - - 526, 538, 539, 554, 555, 631, 555, 555, 535, 567, - 567, 554, 533, 556, 560, 556, 556, 557, 537, 557, - 557, 558, 560, 558, 558, 565, 559, 539, 559, 559, - 538, 561, 562, 561, 561, 562, 563, 564, 563, 563, - 566, 568, 578, 569, 568, 564, 569, 570, 565, 571, - 570, 572, 571, 579, 572, 584, 566, 573, 573, 574, - 575, 585, 574, 576, 575, 630, 576, 577, 577, 580, - 582, 580, 578, 581, 627, 581, 579, 582, 583, 591, - 583, 592, 591, 592, 592, 594, 626, 585, 584, 593, - 596, 593, 593, 594, 595, 597, 595, 595, 597, 598, - - 596, 599, 598, 620, 599, 600, 600, 601, 602, 603, - 601, 602, 603, 604, 597, 604, 606, 609, 619, 606, - 609, 603, 610, 591, 611, 606, 611, 611, 612, 608, - 612, 612, 613, 615, 613, 613, 615, 605, 614, 597, - 614, 614, 617, 616, 618, 617, 616, 618, 622, 590, - 622, 622, 623, 603, 623, 623, 624, 588, 552, 624, - 606, 609, 612, 625, 551, 628, 625, 628, 628, 629, - 550, 632, 629, 632, 632, 633, 613, 616, 633, 548, - 546, 637, 614, 622, 637, 540, 617, 636, 618, 636, - 636, 624, 640, 490, 640, 640, 641, 489, 644, 641, - - 644, 644, 645, 640, 628, 645, 487, 641, 629, 486, - 484, 483, 482, 632, 481, 478, 477, 633, 637, 476, - 474, 473, 472, 431, 636, 647, 647, 647, 647, 647, - 647, 647, 648, 648, 648, 648, 648, 648, 648, 649, - 649, 649, 649, 649, 649, 649, 650, 650, 650, 650, - 650, 650, 650, 651, 651, 651, 651, 651, 651, 651, - 653, 653, 418, 653, 653, 653, 653, 654, 654, 654, - 654, 654, 654, 654, 655, 412, 411, 410, 655, 655, - 655, 656, 656, 408, 407, 656, 656, 656, 657, 657, - 657, 406, 657, 657, 657, 658, 658, 405, 658, 658, - - 658, 658, 659, 659, 404, 659, 659, 659, 659, 660, - 660, 403, 660, 660, 660, 660, 661, 661, 402, 401, - 400, 661, 661, 662, 662, 399, 398, 397, 662, 662, - 663, 663, 396, 663, 663, 663, 663, 664, 664, 665, - 665, 666, 666, 395, 394, 393, 666, 666, 667, 667, - 390, 372, 368, 667, 667, 668, 668, 355, 350, 345, - 668, 668, 669, 669, 324, 669, 669, 669, 669, 323, - 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, - 310, 309, 308, 307, 306, 305, 304, 277, 276, 273, - 268, 257, 249, 215, 208, 206, 203, 202, 200, 199, - - 197, 193, 188, 187, 186, 185, 183, 180, 179, 178, - 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, - 167, 166, 165, 163, 159, 137, 136, 134, 131, 109, - 72, 69, 67, 66, 64, 62, 60, 57, 52, 49, - 47, 46, 41, 40, 39, 37, 36, 35, 34, 32, - 31, 30, 29, 27, 21, 17, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - - 646, 646, 646, 646 + 13, 14, 130, 729, 14, 14, 134, 728, 74, 14, + 74, 74, 75, 142, 75, 75, 130, 78, 134, 78, + 78, 77, 14, 77, 77, 76, 75, 76, 76, 75, + 77, 722, 142, 75, 76, 74, 196, 14, 139, 14, + 149, 14, 78, 149, 14, 14, 37, 77, 76, 37, + 37, 721, 139, 79, 37, 79, 79, 143, 80, 143, + + 80, 80, 83, 196, 83, 83, 85, 712, 85, 85, + 175, 709, 175, 79, 80, 707, 86, 695, 86, 86, + 178, 178, 37, 693, 37, 86, 80, 200, 182, 37, + 37, 691, 200, 87, 83, 87, 87, 689, 88, 86, + 88, 88, 89, 301, 89, 89, 90, 182, 90, 90, + 91, 688, 91, 91, 93, 93, 93, 93, 95, 95, + 95, 95, 301, 89, 111, 111, 111, 111, 120, 120, + 120, 120, 189, 189, 189, 87, 90, 88, 90, 193, + 193, 193, 89, 138, 138, 138, 138, 145, 145, 145, + 145, 669, 202, 202, 91, 202, 206, 667, 206, 206, + + 207, 665, 207, 207, 209, 238, 209, 209, 238, 660, + 210, 209, 210, 210, 211, 659, 211, 211, 212, 210, + 212, 212, 213, 658, 213, 213, 214, 212, 214, 214, + 215, 252, 215, 215, 252, 213, 657, 202, 211, 214, + 216, 656, 216, 216, 217, 655, 217, 217, 218, 654, + 218, 218, 219, 252, 219, 219, 220, 215, 220, 220, + 297, 297, 221, 216, 221, 221, 653, 652, 244, 217, + 218, 244, 222, 219, 222, 222, 615, 244, 614, 221, + 223, 222, 223, 223, 220, 224, 613, 224, 224, 225, + 246, 225, 225, 246, 226, 224, 226, 226, 227, 246, + + 227, 227, 612, 228, 225, 228, 228, 229, 223, 229, + 229, 226, 230, 610, 230, 230, 231, 608, 231, 231, + 232, 607, 232, 232, 233, 271, 233, 233, 271, 606, + 600, 227, 234, 233, 234, 234, 230, 230, 235, 599, + 235, 235, 236, 598, 236, 236, 231, 237, 249, 237, + 237, 249, 232, 234, 239, 239, 239, 239, 241, 241, + 241, 241, 243, 245, 247, 243, 245, 247, 248, 243, + 250, 248, 234, 250, 235, 249, 251, 247, 597, 251, + 596, 248, 253, 236, 595, 253, 254, 245, 255, 254, + 594, 255, 593, 250, 257, 256, 258, 257, 256, 258, + + 592, 251, 591, 253, 256, 255, 258, 260, 259, 261, + 260, 259, 261, 263, 254, 263, 263, 265, 263, 590, + 265, 589, 257, 259, 260, 264, 266, 267, 264, 266, + 267, 268, 269, 588, 268, 269, 267, 270, 304, 587, + 270, 304, 261, 272, 272, 272, 272, 265, 305, 264, + 264, 305, 268, 306, 306, 306, 306, 586, 266, 327, + 327, 328, 327, 585, 328, 584, 334, 334, 269, 334, + 537, 268, 335, 335, 536, 335, 336, 336, 270, 336, + 338, 362, 338, 338, 362, 339, 534, 339, 339, 340, + 533, 340, 340, 341, 531, 341, 341, 342, 367, 342, + + 342, 367, 338, 530, 340, 328, 342, 343, 528, 343, + 343, 334, 339, 344, 341, 344, 344, 335, 527, 367, + 343, 336, 345, 526, 345, 345, 346, 525, 346, 346, + 347, 524, 347, 347, 348, 344, 348, 348, 521, 363, + 520, 345, 363, 347, 348, 349, 363, 349, 349, 519, + 518, 350, 346, 350, 350, 516, 515, 351, 349, 351, + 351, 352, 350, 352, 352, 353, 368, 353, 353, 368, + 354, 351, 354, 354, 355, 368, 355, 355, 356, 356, + 356, 356, 514, 512, 511, 354, 357, 352, 357, 357, + 358, 353, 358, 358, 359, 510, 359, 359, 360, 364, + + 360, 360, 364, 361, 355, 361, 361, 365, 366, 369, + 365, 366, 369, 370, 509, 508, 370, 371, 359, 507, + 371, 364, 369, 366, 372, 373, 358, 372, 373, 374, + 357, 506, 374, 360, 365, 370, 371, 505, 373, 374, + 361, 375, 376, 377, 375, 376, 377, 504, 378, 379, + 372, 378, 379, 376, 375, 380, 381, 377, 380, 381, + 382, 384, 382, 382, 384, 382, 383, 383, 385, 383, + 380, 385, 503, 386, 378, 379, 386, 388, 387, 389, + 388, 387, 389, 502, 501, 390, 381, 387, 390, 409, + 409, 410, 409, 435, 410, 500, 435, 386, 388, 433, + + 433, 499, 433, 439, 385, 384, 439, 441, 441, 498, + 441, 497, 443, 443, 389, 443, 445, 388, 445, 445, + 496, 469, 390, 446, 469, 446, 446, 445, 447, 495, + 447, 447, 469, 470, 494, 410, 470, 435, 448, 446, + 448, 448, 449, 493, 449, 449, 448, 439, 462, 470, + 462, 462, 441, 450, 447, 450, 450, 443, 451, 440, + 451, 451, 452, 564, 452, 452, 564, 438, 453, 449, + 453, 453, 437, 436, 450, 452, 453, 454, 473, 454, + 454, 473, 432, 431, 451, 454, 455, 430, 455, 455, + 462, 456, 429, 456, 456, 457, 476, 457, 457, 476, + + 458, 428, 458, 458, 459, 473, 459, 459, 457, 476, + 427, 426, 455, 456, 458, 460, 425, 460, 460, 461, + 424, 461, 461, 460, 463, 463, 463, 463, 423, 422, + 464, 459, 464, 464, 465, 461, 465, 465, 466, 421, + 466, 466, 467, 420, 467, 467, 468, 419, 468, 468, + 471, 472, 485, 471, 472, 485, 418, 475, 474, 472, + 475, 474, 477, 478, 480, 477, 478, 480, 485, 479, + 477, 478, 479, 467, 464, 417, 471, 416, 465, 474, + 466, 481, 482, 475, 481, 482, 480, 415, 483, 484, + 468, 483, 484, 414, 481, 479, 482, 484, 486, 487, + + 487, 486, 487, 488, 489, 413, 488, 489, 490, 492, + 491, 490, 492, 491, 513, 483, 535, 513, 538, 535, + 538, 538, 539, 412, 539, 539, 540, 411, 540, 540, + 539, 538, 408, 541, 540, 541, 541, 407, 406, 561, + 486, 491, 561, 542, 405, 542, 542, 488, 489, 404, + 490, 542, 561, 492, 543, 403, 543, 543, 513, 402, + 535, 544, 543, 544, 544, 545, 401, 545, 545, 544, + 546, 400, 546, 546, 547, 399, 547, 547, 548, 398, + 548, 548, 549, 397, 549, 549, 550, 396, 550, 550, + 545, 395, 394, 551, 550, 551, 551, 393, 552, 562, + + 552, 552, 562, 392, 391, 548, 552, 562, 553, 549, + 553, 553, 554, 551, 554, 554, 555, 333, 555, 555, + 556, 332, 556, 556, 557, 331, 557, 557, 558, 330, + 558, 558, 559, 569, 559, 559, 569, 329, 560, 554, + 560, 560, 563, 565, 568, 563, 565, 568, 326, 325, + 563, 565, 555, 566, 567, 557, 566, 567, 558, 324, + 570, 566, 567, 570, 571, 572, 323, 571, 572, 568, + 573, 322, 575, 573, 574, 575, 559, 574, 573, 321, + 575, 576, 560, 577, 576, 578, 577, 579, 578, 320, + 579, 571, 572, 580, 574, 581, 580, 582, 581, 583, + + 582, 618, 583, 618, 618, 619, 319, 619, 619, 618, + 577, 620, 318, 620, 620, 621, 636, 621, 621, 636, + 622, 578, 622, 622, 580, 581, 623, 317, 623, 623, + 624, 316, 624, 624, 625, 315, 625, 625, 624, 314, + 313, 582, 625, 583, 626, 312, 626, 626, 627, 311, + 627, 627, 626, 628, 310, 628, 628, 629, 309, 629, + 629, 630, 308, 630, 630, 631, 628, 631, 631, 630, + 632, 303, 632, 632, 633, 302, 633, 633, 634, 635, + 634, 634, 635, 637, 300, 638, 637, 635, 638, 639, + 640, 641, 639, 640, 641, 642, 299, 643, 642, 641, + + 643, 644, 632, 642, 644, 643, 631, 645, 646, 647, + 645, 646, 647, 648, 298, 633, 648, 647, 649, 650, + 645, 649, 650, 651, 668, 295, 651, 668, 670, 294, + 670, 670, 671, 293, 671, 671, 672, 292, 672, 672, + 673, 291, 673, 673, 674, 679, 674, 674, 679, 290, + 649, 289, 674, 675, 648, 675, 675, 288, 287, 676, + 650, 676, 676, 286, 677, 676, 677, 677, 668, 678, + 680, 678, 678, 680, 681, 682, 683, 681, 682, 683, + 684, 285, 685, 684, 683, 685, 686, 687, 685, 686, + 687, 690, 694, 696, 690, 694, 696, 697, 284, 697, + + 697, 678, 698, 702, 698, 698, 702, 699, 677, 699, + 699, 700, 283, 700, 700, 701, 282, 701, 701, 687, + 704, 703, 705, 704, 703, 705, 706, 281, 708, 706, + 686, 708, 280, 698, 279, 690, 694, 696, 711, 278, + 718, 711, 713, 718, 713, 713, 714, 717, 714, 714, + 717, 699, 703, 277, 715, 700, 715, 715, 716, 701, + 716, 716, 719, 274, 704, 719, 705, 203, 720, 201, + 706, 720, 708, 724, 713, 724, 724, 198, 725, 717, + 725, 725, 711, 726, 727, 197, 726, 727, 730, 731, + 730, 730, 731, 734, 735, 734, 734, 735, 715, 195, + + 194, 738, 716, 738, 738, 739, 719, 743, 739, 738, + 743, 724, 720, 739, 742, 192, 742, 742, 188, 184, + 183, 726, 181, 180, 179, 176, 174, 734, 735, 730, + 731, 745, 745, 745, 745, 745, 745, 746, 746, 746, + 746, 746, 746, 747, 747, 747, 747, 747, 747, 748, + 748, 748, 748, 748, 748, 749, 749, 749, 749, 749, + 749, 750, 750, 173, 750, 750, 750, 751, 751, 751, + 751, 751, 751, 752, 169, 168, 167, 752, 752, 753, + 753, 166, 165, 753, 753, 754, 754, 754, 164, 754, + 754, 755, 755, 163, 755, 755, 755, 756, 756, 162, + + 756, 756, 756, 757, 757, 161, 160, 159, 757, 758, + 758, 158, 758, 758, 758, 760, 760, 157, 156, 155, + 760, 761, 761, 154, 153, 152, 761, 762, 762, 151, + 762, 762, 762, 147, 141, 140, 137, 136, 135, 133, + 132, 128, 127, 126, 125, 124, 122, 119, 116, 115, + 110, 109, 108, 106, 105, 101, 100, 99, 98, 97, + 68, 65, 63, 62, 60, 58, 56, 53, 48, 45, + 42, 41, 36, 35, 34, 32, 31, 27, 26, 25, + 24, 23, 21, 17, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[60] = +static yyconst flex_int32_t yy_rule_can_match_eol[59] = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - }; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1114,7 +1218,7 @@ static void settext(bool trim_right = false, int strip_trailing = 0) -#line 1118 "levcomp.lex.cc" +#line 1222 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -1280,7 +1384,7 @@ YY_DECL #line 82 "levcomp.lpp" -#line 1284 "levcomp.lex.cc" +#line 1388 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -1334,13 +1438,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 >= 647 ) + if ( yy_current_state >= 745 ) 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 != 646 ); + while ( yy_current_state != 744 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1552,6 +1656,9 @@ YY_RULE_SETUP ; 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 157 "levcomp.lpp" { BEGIN(MAPDEF); } @@ -1579,147 +1686,139 @@ YY_RULE_SETUP case 33: YY_RULE_SETUP #line 164 "levcomp.lpp" -{ BEGIN(ARGUMENT); return NAME; } +{ BEGIN(LUA); return VALIDATE; } YY_BREAK case 34: YY_RULE_SETUP #line 165 "levcomp.lpp" -{ BEGIN(ARGUMENT); return DEFAULT_DEPTH; } +{ BEGIN(LUA); return VETO; } YY_BREAK case 35: YY_RULE_SETUP -#line 166 "levcomp.lpp" -{ BEGIN(ARGUMENT); return DEPTH; } +#line 168 "levcomp.lpp" +{ BEGIN(ARGUMENT); return NAME; } YY_BREAK case 36: YY_RULE_SETUP -#line 167 "levcomp.lpp" -{ BEGIN(ARGUMENT); return ORIENT; } +#line 169 "levcomp.lpp" +{ BEGIN(ARGUMENT); return DEFAULT_DEPTH; } YY_BREAK case 37: YY_RULE_SETUP -#line 168 "levcomp.lpp" -{ BEGIN(ARGUMENT); return PLACE; } +#line 170 "levcomp.lpp" +{ BEGIN(ARGUMENT); return DEPTH; } YY_BREAK case 38: YY_RULE_SETUP -#line 169 "levcomp.lpp" -return CHANCE; +#line 171 "levcomp.lpp" +{ BEGIN(ARGUMENT); return ORIENT; } YY_BREAK case 39: YY_RULE_SETUP -#line 170 "levcomp.lpp" -return CHANCE; +#line 172 "levcomp.lpp" +{ BEGIN(ARGUMENT); return PLACE; } YY_BREAK case 40: YY_RULE_SETUP -#line 171 "levcomp.lpp" -{ BEGIN(KEYWORDS); return TAGS; } +#line 173 "levcomp.lpp" +return CHANCE; YY_BREAK case 41: YY_RULE_SETUP -#line 172 "levcomp.lpp" -{ BEGIN(KEYWORDS); return TAGS; } +#line 174 "levcomp.lpp" +return CHANCE; YY_BREAK case 42: YY_RULE_SETUP -#line 173 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return SUBST; } +#line 175 "levcomp.lpp" +{ BEGIN(KEYWORDS); return TAGS; } YY_BREAK case 43: YY_RULE_SETUP -#line 174 "levcomp.lpp" -{ BEGIN(MNAME); return MONS; } +#line 176 "levcomp.lpp" +{ BEGIN(KEYWORDS); return TAGS; } YY_BREAK case 44: YY_RULE_SETUP -#line 175 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return ITEM; } +#line 177 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return SUBST; } YY_BREAK case 45: YY_RULE_SETUP -#line 176 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return SHUFFLE; } +#line 178 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return NSUBST; } YY_BREAK case 46: YY_RULE_SETUP -#line 178 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KFEAT; } +#line 179 "levcomp.lpp" +{ BEGIN(MNAME); return MONS; } YY_BREAK case 47: YY_RULE_SETUP -#line 179 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KITEM; } +#line 180 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return ITEM; } YY_BREAK case 48: YY_RULE_SETUP -#line 180 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KMONS; } +#line 181 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return MARKER; } YY_BREAK case 49: YY_RULE_SETUP #line 182 "levcomp.lpp" -return DASH; +{ BEGIN(ITEM_LIST); return SHUFFLE; } YY_BREAK case 50: YY_RULE_SETUP -#line 183 "levcomp.lpp" -return COMMA; +#line 184 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KFEAT; } YY_BREAK case 51: YY_RULE_SETUP #line 185 "levcomp.lpp" -{ - clean(); - yylval.i = atoi(yytext); - return INTEGER; - } +{ BEGIN(ARGUMENT); return KITEM; } YY_BREAK case 52: YY_RULE_SETUP -#line 191 "levcomp.lpp" -; +#line 186 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KMONS; } YY_BREAK case 53: -/* rule 53 can match eol */ YY_RULE_SETUP -#line 192 "levcomp.lpp" -; +#line 188 "levcomp.lpp" +return COMMA; YY_BREAK case 54: YY_RULE_SETUP -#line 194 "levcomp.lpp" -return OPAREN; +#line 190 "levcomp.lpp" +{ + clean(); + yylval.i = atoi(yytext); + return INTEGER; + } YY_BREAK case 55: YY_RULE_SETUP -#line 195 "levcomp.lpp" -return CPAREN; +#line 196 "levcomp.lpp" +; YY_BREAK case 56: +/* rule 56 can match eol */ YY_RULE_SETUP #line 197 "levcomp.lpp" -return QUOTE; +; YY_BREAK case 57: YY_RULE_SETUP -#line 199 "levcomp.lpp" -{ - settext(); - return IDENTIFIER; - } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 204 "levcomp.lpp" +#line 198 "levcomp.lpp" return CHARACTER; YY_BREAK -case 59: +case 58: YY_RULE_SETUP -#line 206 "levcomp.lpp" +#line 200 "levcomp.lpp" ECHO; YY_BREAK -#line 1723 "levcomp.lex.cc" +#line 1822 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(LUA): @@ -2012,7 +2111,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 >= 647 ) + if ( yy_current_state >= 745 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2040,11 +2139,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 >= 647 ) + if ( yy_current_state >= 745 ) 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 == 646); + yy_is_jam = (yy_current_state == 744); return yy_is_jam ? 0 : yy_current_state; } @@ -2723,7 +2822,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 206 "levcomp.lpp" +#line 200 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index 15175e94b3..0e8048e900 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -66,75 +66,65 @@ /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { - BRANCHDEF = 258, - BRANCH = 259, - DESC = 260, - DEFAULT = 261, - DEFAULT_DEPTH = 262, - SHUFFLE = 263, - SUBST = 264, - TAGS = 265, - KFEAT = 266, - KITEM = 267, - KMONS = 268, - NAME = 269, - DEPTH = 270, - ORIENT = 271, - PLACE = 272, - CHANCE = 273, - MONS = 274, - ITEM = 275, - PRELUDE = 276, - MAIN = 277, - CHARACTER = 278, - DASH = 279, - COMMA = 280, - QUOTE = 281, - OPAREN = 282, - CPAREN = 283, - INTEGER = 284, - STRING = 285, - MAP_LINE = 286, - MONSTER_NAME = 287, - ITEM_INFO = 288, - IDENTIFIER = 289, - LUA_LINE = 290 + DEFAULT_DEPTH = 258, + SHUFFLE = 259, + SUBST = 260, + TAGS = 261, + KFEAT = 262, + KITEM = 263, + KMONS = 264, + NAME = 265, + DEPTH = 266, + ORIENT = 267, + PLACE = 268, + CHANCE = 269, + MONS = 270, + ITEM = 271, + MARKER = 272, + PRELUDE = 273, + MAIN = 274, + VALIDATE = 275, + VETO = 276, + NSUBST = 277, + COMMA = 278, + INTEGER = 279, + CHARACTER = 280, + STRING = 281, + MAP_LINE = 282, + MONSTER_NAME = 283, + ITEM_INFO = 284, + LUA_LINE = 285 }; #endif /* Tokens. */ -#define BRANCHDEF 258 -#define BRANCH 259 -#define DESC 260 -#define DEFAULT 261 -#define DEFAULT_DEPTH 262 -#define SHUFFLE 263 -#define SUBST 264 -#define TAGS 265 -#define KFEAT 266 -#define KITEM 267 -#define KMONS 268 -#define NAME 269 -#define DEPTH 270 -#define ORIENT 271 -#define PLACE 272 -#define CHANCE 273 -#define MONS 274 -#define ITEM 275 -#define PRELUDE 276 -#define MAIN 277 -#define CHARACTER 278 -#define DASH 279 -#define COMMA 280 -#define QUOTE 281 -#define OPAREN 282 -#define CPAREN 283 -#define INTEGER 284 -#define STRING 285 -#define MAP_LINE 286 -#define MONSTER_NAME 287 -#define ITEM_INFO 288 -#define IDENTIFIER 289 -#define LUA_LINE 290 +#define DEFAULT_DEPTH 258 +#define SHUFFLE 259 +#define SUBST 260 +#define TAGS 261 +#define KFEAT 262 +#define KITEM 263 +#define KMONS 264 +#define NAME 265 +#define DEPTH 266 +#define ORIENT 267 +#define PLACE 268 +#define CHANCE 269 +#define MONS 270 +#define ITEM 271 +#define MARKER 272 +#define PRELUDE 273 +#define MAIN 274 +#define VALIDATE 275 +#define VETO 276 +#define NSUBST 277 +#define COMMA 278 +#define INTEGER 279 +#define CHARACTER 280 +#define STRING 281 +#define MAP_LINE 282 +#define MONSTER_NAME 283 +#define ITEM_INFO 284 +#define LUA_LINE 285 @@ -175,7 +165,10 @@ static map_load_info_t loaded_maps; void yyerror(const char *e) { - fprintf(stderr, "%s:%d: %s\n", lc_desfile.c_str(), yylineno, e); + if (strstr(e, lc_desfile.c_str()) == e) + fprintf(stderr, "%s\n", e); + else + fprintf(stderr, "%s:%d: %s\n", lc_desfile.c_str(), yylineno, e); // Bail bail bail. end(1); } @@ -215,14 +208,14 @@ level_range set_range(const char *s, int start, int end) #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 56 "levcomp.ypp" +#line 59 "levcomp.ypp" { int i; const char *text; raw_range range; } /* Line 193 of yacc.c. */ -#line 226 "levcomp.tab.c" +#line 219 "levcomp.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -235,7 +228,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 239 "levcomp.tab.c" +#line 232 "levcomp.tab.c" #ifdef short # undef short @@ -450,20 +443,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 45 +#define YYLAST 63 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 36 +#define YYNTOKENS 31 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 41 +#define YYNNTS 58 /* YYNRULES -- Number of rules. */ -#define YYNRULES 72 +#define YYNRULES 101 /* YYNRULES -- Number of states. */ -#define YYNSTATES 86 +#define YYNSTATES 116 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 290 +#define YYMAXUTOK 285 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -499,8 +492,7 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35 + 25, 26, 27, 28, 29, 30 }; #if YYDEBUG @@ -508,50 +500,62 @@ static const yytype_uint8 yytranslate[] = YYRHS. */ static const yytype_uint8 yyprhs[] = { - 0, 0, 3, 5, 6, 9, 11, 13, 15, 18, - 23, 26, 27, 30, 32, 34, 36, 38, 40, 42, - 44, 46, 48, 50, 52, 54, 56, 58, 61, 62, - 65, 67, 70, 71, 74, 76, 78, 81, 83, 86, - 88, 91, 94, 96, 100, 102, 105, 106, 109, 111, - 114, 116, 120, 122, 124, 127, 131, 133, 135, 137, - 140, 144, 146, 148, 151, 153, 156, 159, 161, 164, - 166, 168, 171 + 0, 0, 3, 5, 6, 9, 11, 13, 15, 17, + 19, 22, 25, 26, 29, 31, 33, 36, 38, 40, + 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, + 62, 64, 66, 68, 70, 72, 74, 77, 78, 81, + 83, 86, 87, 90, 92, 95, 96, 99, 101, 104, + 105, 108, 110, 113, 114, 117, 119, 121, 124, 126, + 129, 131, 134, 137, 139, 143, 145, 148, 149, 152, + 154, 157, 159, 163, 165, 168, 170, 174, 176, 179, + 181, 185, 187, 189, 192, 196, 198, 200, 202, 205, + 209, 211, 213, 216, 218, 221, 224, 226, 229, 231, + 234, 236 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 37, 0, -1, 38, -1, -1, 38, 39, -1, 40, - -1, 42, -1, 41, -1, 7, 30, -1, 43, 44, - 74, 44, -1, 14, 30, -1, -1, 45, 44, -1, - 70, -1, 71, -1, 72, -1, 73, -1, 67, -1, - 64, -1, 61, -1, 58, -1, 55, -1, 52, -1, - 54, -1, 53, -1, 46, -1, 49, -1, 22, 47, - -1, -1, 47, 48, -1, 35, -1, 21, 50, -1, - -1, 50, 51, -1, 35, -1, 11, -1, 11, 30, - -1, 13, -1, 13, 30, -1, 12, -1, 12, 30, - -1, 8, 56, -1, 57, -1, 56, 25, 57, -1, - 33, -1, 10, 59, -1, -1, 59, 60, -1, 30, - -1, 9, 62, -1, 63, -1, 63, 25, 62, -1, - 33, -1, 20, -1, 20, 65, -1, 66, 25, 65, - -1, 66, -1, 33, -1, 19, -1, 19, 68, -1, - 69, 25, 68, -1, 69, -1, 32, -1, 17, 30, - -1, 15, -1, 15, 30, -1, 18, 29, -1, 16, - -1, 16, 30, -1, 75, -1, 76, -1, 76, 75, - -1, 31, -1 + 32, 0, -1, 33, -1, -1, 33, 34, -1, 36, + -1, 38, -1, 25, -1, 37, -1, 43, -1, 3, + 26, -1, 41, 39, -1, -1, 39, 40, -1, 42, + -1, 86, -1, 10, 26, -1, 82, -1, 83, -1, + 84, -1, 85, -1, 79, -1, 76, -1, 67, -1, + 73, -1, 70, -1, 61, -1, 64, -1, 58, -1, + 60, -1, 59, -1, 46, -1, 55, -1, 49, -1, + 52, -1, 35, -1, 19, 44, -1, -1, 44, 45, + -1, 30, -1, 19, 47, -1, -1, 47, 48, -1, + 30, -1, 20, 50, -1, -1, 50, 51, -1, 30, + -1, 21, 53, -1, -1, 53, 54, -1, 30, -1, + 18, 56, -1, -1, 56, 57, -1, 30, -1, 7, + -1, 7, 26, -1, 9, -1, 9, 26, -1, 8, + -1, 8, 26, -1, 4, 62, -1, 63, -1, 62, + 23, 63, -1, 29, -1, 6, 65, -1, -1, 65, + 66, -1, 26, -1, 17, 68, -1, 69, -1, 68, + 23, 69, -1, 29, -1, 22, 71, -1, 72, -1, + 71, 23, 72, -1, 29, -1, 5, 74, -1, 75, + -1, 75, 23, 74, -1, 29, -1, 16, -1, 16, + 77, -1, 77, 23, 78, -1, 78, -1, 29, -1, + 15, -1, 15, 80, -1, 81, 23, 80, -1, 81, + -1, 28, -1, 13, 26, -1, 11, -1, 11, 26, + -1, 14, 24, -1, 12, -1, 12, 26, -1, 87, + -1, 87, 88, -1, 88, -1, 27, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 77, 77, 80, 81, 84, 85, 88, 91, 101, - 114, 136, 137, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 156, 158, 159, - 162, 167, 169, 170, 173, 178, 179, 187, 188, 196, - 197, 205, 208, 209, 212, 220, 223, 224, 227, 236, - 239, 240, 243, 252, 253, 256, 257, 260, 268, 269, - 272, 273, 276, 285, 294, 295, 304, 312, 313, 322, - 325, 326, 329 + 0, 79, 79, 82, 83, 86, 87, 90, 96, 97, + 100, 110, 132, 133, 136, 137, 140, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 183, 185, 186, 189, + 194, 196, 197, 200, 205, 207, 208, 211, 216, 218, + 219, 222, 227, 229, 230, 233, 238, 239, 247, 248, + 256, 257, 265, 268, 269, 272, 280, 283, 284, 287, + 296, 299, 300, 303, 312, 315, 316, 319, 328, 331, + 332, 335, 344, 345, 348, 349, 352, 360, 361, 364, + 365, 368, 377, 386, 387, 396, 404, 405, 414, 417, + 418, 421 }; #endif @@ -560,17 +564,21 @@ static const yytype_uint16 yyrline[] = First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "BRANCHDEF", "BRANCH", "DESC", "DEFAULT", - "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "KFEAT", "KITEM", "KMONS", - "NAME", "DEPTH", "ORIENT", "PLACE", "CHANCE", "MONS", "ITEM", "PRELUDE", - "MAIN", "CHARACTER", "DASH", "COMMA", "QUOTE", "OPAREN", "CPAREN", - "INTEGER", "STRING", "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", - "IDENTIFIER", "LUA_LINE", "$accept", "file", "definitions", "definition", - "def", "defdepth", "level", "name", "metalines", "metaline", "main_lua", - "main_lua_lines", "main_lua_line", "prelude_lua", "prelude_lua_lines", - "prelude_lua_line", "kfeat", "kmons", "kitem", "shuffle", - "shuffle_specifiers", "shuffle_spec", "tags", "tagstrings", "tagstring", - "subst", "subst_specifiers", "subst_spec", "items", "item_specifiers", + "$end", "error", "$undefined", "DEFAULT_DEPTH", "SHUFFLE", "SUBST", + "TAGS", "KFEAT", "KITEM", "KMONS", "NAME", "DEPTH", "ORIENT", "PLACE", + "CHANCE", "MONS", "ITEM", "MARKER", "PRELUDE", "MAIN", "VALIDATE", + "VETO", "NSUBST", "COMMA", "INTEGER", "CHARACTER", "STRING", "MAP_LINE", + "MONSTER_NAME", "ITEM_INFO", "LUA_LINE", "$accept", "file", + "definitions", "definition", "error_seq", "def", "defdepth", "level", + "map_specs", "map_spec", "name", "metaline", "global_lua", + "global_lua_lines", "global_lua_line", "main_lua", "main_lua_lines", + "main_lua_line", "validate_lua", "validate_lua_lines", + "validate_lua_line", "veto_lua", "veto_lua_lines", "veto_lua_line", + "prelude_lua", "prelude_lua_lines", "prelude_lua_line", "kfeat", "kmons", + "kitem", "shuffle", "shuffle_specifiers", "shuffle_spec", "tags", + "tagstrings", "tagstring", "marker", "marker_specs", "marker_spec", + "nsubst", "nsubst_specifiers", "nsubst_spec", "subst", + "subst_specifiers", "subst_spec", "items", "item_specifiers", "item_specifier", "mons", "mnames", "mname", "place", "depth", "chance", "orientation", "map_def", "map_lines", "map_line", 0 }; @@ -584,34 +592,40 @@ static const yytype_uint16 yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290 + 285 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 36, 37, 38, 38, 39, 39, 40, 41, 42, - 43, 44, 44, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 46, 47, 47, - 48, 49, 50, 50, 51, 52, 52, 53, 53, 54, - 54, 55, 56, 56, 57, 58, 59, 59, 60, 61, - 62, 62, 63, 64, 64, 65, 65, 66, 67, 67, - 68, 68, 69, 70, 71, 71, 72, 73, 73, 74, - 75, 75, 76 + 0, 31, 32, 33, 33, 34, 34, 35, 36, 36, + 37, 38, 39, 39, 40, 40, 41, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 43, 44, 44, 45, + 46, 47, 47, 48, 49, 50, 50, 51, 52, 53, + 53, 54, 55, 56, 56, 57, 58, 58, 59, 59, + 60, 60, 61, 62, 62, 63, 64, 65, 65, 66, + 67, 68, 68, 69, 70, 71, 71, 72, 73, 74, + 74, 75, 76, 76, 77, 77, 78, 79, 79, 80, + 80, 81, 82, 83, 83, 84, 85, 85, 86, 87, + 87, 88 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { - 0, 2, 1, 0, 2, 1, 1, 1, 2, 4, - 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, - 1, 2, 0, 2, 1, 1, 2, 1, 2, 1, - 2, 2, 1, 3, 1, 2, 0, 2, 1, 2, - 1, 3, 1, 1, 2, 3, 1, 1, 1, 2, - 3, 1, 1, 2, 1, 2, 2, 1, 2, 1, - 1, 2, 1 + 0, 2, 1, 0, 2, 1, 1, 1, 1, 1, + 2, 2, 0, 2, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 0, 2, 1, + 2, 0, 2, 1, 2, 0, 2, 1, 2, 0, + 2, 1, 2, 0, 2, 1, 1, 2, 1, 2, + 1, 2, 2, 1, 3, 1, 2, 0, 2, 1, + 2, 1, 3, 1, 2, 1, 3, 1, 2, 1, + 3, 1, 1, 2, 3, 1, 1, 1, 2, 3, + 1, 1, 2, 1, 2, 2, 1, 2, 1, 2, + 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -619,51 +633,59 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 3, 0, 2, 1, 0, 0, 4, 5, 7, 6, - 11, 8, 10, 0, 0, 46, 35, 39, 37, 64, - 67, 0, 0, 58, 53, 32, 28, 0, 11, 25, - 26, 22, 24, 23, 21, 20, 19, 18, 17, 13, - 14, 15, 16, 44, 41, 42, 52, 49, 50, 45, - 36, 40, 38, 65, 68, 63, 66, 62, 59, 61, - 57, 54, 56, 31, 27, 72, 11, 69, 70, 12, - 0, 0, 48, 47, 0, 0, 34, 33, 30, 29, - 9, 71, 43, 51, 60, 55 + 3, 0, 2, 1, 0, 0, 37, 4, 5, 8, + 6, 12, 9, 10, 16, 36, 11, 39, 38, 0, + 0, 67, 56, 60, 58, 93, 96, 0, 0, 87, + 82, 0, 53, 41, 45, 49, 0, 7, 101, 35, + 13, 14, 31, 33, 34, 32, 28, 30, 29, 26, + 27, 23, 25, 24, 22, 21, 17, 18, 19, 20, + 15, 98, 100, 65, 62, 63, 81, 78, 79, 66, + 57, 61, 59, 94, 97, 92, 95, 91, 88, 90, + 86, 83, 85, 73, 70, 71, 52, 40, 44, 48, + 77, 74, 75, 99, 0, 0, 69, 68, 0, 0, + 0, 55, 54, 43, 42, 47, 46, 51, 50, 0, + 64, 80, 89, 84, 72, 76 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 1, 2, 6, 7, 8, 9, 10, 27, 28, - 29, 64, 79, 30, 63, 77, 31, 32, 33, 34, - 44, 45, 35, 49, 73, 36, 47, 48, 37, 61, - 62, 38, 58, 59, 39, 40, 41, 42, 66, 67, - 68 + -1, 1, 2, 7, 39, 8, 9, 10, 16, 40, + 11, 41, 12, 15, 18, 42, 87, 104, 43, 88, + 106, 44, 89, 108, 45, 86, 102, 46, 47, 48, + 49, 64, 65, 50, 69, 97, 51, 84, 85, 52, + 91, 92, 53, 67, 68, 54, 81, 82, 55, 78, + 79, 56, 57, 58, 59, 60, 61, 62 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -37 +#define YYPACT_NINF -61 static const yytype_int8 yypact[] = { - -37, 7, 9, -37, -13, -12, -37, -37, -37, -37, - -7, -37, -37, -14, -11, -37, -10, -9, -6, -5, - -4, -3, -1, -2, 0, -37, -37, 1, -7, -37, - -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, 4, -37, -37, -37, 6, 5, - -37, -37, -37, -37, -37, -37, -37, -37, -37, 11, - -37, -37, 12, 8, 10, -37, -7, -37, 1, -37, - -14, -11, -37, -37, -2, 0, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37 + -61, 6, 16, -61, -6, -2, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -8, -4, -61, -61, -1, + 0, -61, 1, 4, 5, 7, 8, 10, 13, -3, + 3, 9, -61, -61, -61, -61, 11, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, 12, -61, -61, 18, -61, -61, -61, 19, 17, + -61, -61, -61, -61, -61, -61, -61, -61, -61, 21, + -61, 22, -61, -61, 23, -61, 20, 24, 25, 26, + -61, 28, -61, -61, -1, 0, -61, -61, -3, 3, + 9, -61, -61, -61, -61, -61, -61, -61, -61, 11, + -61, -61, -61, -61, -61, -61 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -37, -37, -37, -37, -37, -37, -37, -37, -28, -37, - -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -36, -37, -37, -37, -37, -32, -37, -37, -35, - -37, -37, -33, -37, -37, -37, -37, -37, -37, -26, - -37 + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, -61, -47, -61, -61, -61, -61, -61, -52, -61, + -61, -60, -61, -43, -61, -61, -61, -46, -61, -41, + -61, -61, -61, -61, -61, -61, -61, 2 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -673,35 +695,42 @@ static const yytype_int8 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { - 69, 13, 14, 15, 16, 17, 18, 3, 19, 20, - 21, 22, 23, 24, 25, 26, 4, 11, 12, 43, - 50, 51, 46, 5, 52, 53, 54, 55, 56, 70, - 57, 71, 65, 60, 82, 72, 74, 75, 80, 83, - 85, 84, 81, 76, 0, 78 + 19, 20, 21, 22, 23, 24, 3, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 4, + 13, 37, 17, 38, 14, 77, 5, 70, 63, 66, + 71, 72, 80, 73, 74, 6, 75, 76, 83, 38, + 90, 94, 95, 96, 98, 99, 100, 110, 114, 115, + 101, 109, 111, 113, 103, 105, 107, 112, 0, 0, + 0, 0, 0, 93 }; static const yytype_int8 yycheck[] = { - 28, 8, 9, 10, 11, 12, 13, 0, 15, 16, - 17, 18, 19, 20, 21, 22, 7, 30, 30, 33, - 30, 30, 33, 14, 30, 30, 30, 30, 29, 25, - 32, 25, 31, 33, 70, 30, 25, 25, 66, 71, - 75, 74, 68, 35, -1, 35 + 4, 5, 6, 7, 8, 9, 0, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 3, + 26, 25, 30, 27, 26, 28, 10, 26, 29, 29, + 26, 26, 29, 26, 26, 19, 26, 24, 29, 27, + 29, 23, 23, 26, 23, 23, 23, 94, 100, 109, + 30, 23, 95, 99, 30, 30, 30, 98, -1, -1, + -1, -1, -1, 61 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 37, 38, 0, 7, 14, 39, 40, 41, 42, - 43, 30, 30, 8, 9, 10, 11, 12, 13, 15, - 16, 17, 18, 19, 20, 21, 22, 44, 45, 46, - 49, 52, 53, 54, 55, 58, 61, 64, 67, 70, - 71, 72, 73, 33, 56, 57, 33, 62, 63, 59, - 30, 30, 30, 30, 30, 30, 29, 32, 68, 69, - 33, 65, 66, 50, 47, 31, 74, 75, 76, 44, - 25, 25, 30, 60, 25, 25, 35, 51, 35, 48, - 44, 75, 57, 62, 68, 65 + 0, 32, 33, 0, 3, 10, 19, 34, 36, 37, + 38, 41, 43, 26, 26, 44, 39, 30, 45, 4, + 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 25, 27, 35, + 40, 42, 46, 49, 52, 55, 58, 59, 60, 61, + 64, 67, 70, 73, 76, 79, 82, 83, 84, 85, + 86, 87, 88, 29, 62, 63, 29, 74, 75, 65, + 26, 26, 26, 26, 26, 26, 24, 28, 80, 81, + 29, 77, 78, 29, 68, 69, 56, 47, 50, 53, + 29, 71, 72, 88, 23, 23, 26, 66, 23, 23, + 23, 30, 57, 30, 48, 30, 51, 30, 54, 23, + 63, 74, 80, 78, 69, 72 }; #define yyerrok (yyerrstatus = 0) @@ -1516,37 +1545,49 @@ yyreduce: switch (yyn) { case 2: -#line 77 "levcomp.ypp" +#line 79 "levcomp.ypp" { } break; case 3: -#line 80 "levcomp.ypp" +#line 82 "levcomp.ypp" {} break; case 4: -#line 81 "levcomp.ypp" +#line 83 "levcomp.ypp" {} break; case 5: -#line 84 "levcomp.ypp" +#line 86 "levcomp.ypp" {} break; case 6: -#line 85 "levcomp.ypp" +#line 87 "levcomp.ypp" {} break; case 7: -#line 88 "levcomp.ypp" - {} +#line 91 "levcomp.ypp" + { + yyerror("Unexpected character sequence."); + } break; case 8: -#line 92 "levcomp.ypp" +#line 96 "levcomp.ypp" + {} + break; + + case 9: +#line 97 "levcomp.ypp" + {} + break; + + case 10: +#line 101 "levcomp.ypp" { dgn_reset_default_depth(); std::string err = dgn_set_default_depth((yyvsp[(2) - (2)].text)); @@ -1556,22 +1597,51 @@ yyreduce: } break; - case 9: -#line 102 "levcomp.ypp" + case 11: +#line 111 "levcomp.ypp" { - std::string err = lc_map.validate(); + lc_map.set_file(lc_desfile); + + if (lc_run_global_prelude && !lc_global_prelude.empty()) + { + lc_global_prelude.set_file(lc_desfile); + lc_run_global_prelude = false; + if (lc_global_prelude.load_call(dlua, NULL)) + yyerror( lc_global_prelude.orig_error().c_str() ); + } + + std::string err = lc_map.validate_map_def(); if (!err.empty()) yyerror(err.c_str()); if (!lc_map.has_depth() && !lc_default_depths.empty()) lc_map.add_depths(lc_default_depths.begin(), lc_default_depths.end()); - lc_map.set_file(lc_desfile); add_parsed_map(lc_map); } break; - case 10: -#line 115 "levcomp.ypp" + case 12: +#line 132 "levcomp.ypp" + { } + break; + + case 13: +#line 133 "levcomp.ypp" + { } + break; + + case 14: +#line 136 "levcomp.ypp" + { } + break; + + case 15: +#line 137 "levcomp.ypp" + { } + break; + + case 16: +#line 141 "levcomp.ypp" { lc_map.init(); lc_map.name = (yyvsp[(2) - (2)].text); @@ -1593,57 +1663,128 @@ yyreduce: } break; - case 27: -#line 156 "levcomp.ypp" + case 35: +#line 180 "levcomp.ypp" + {} + break; + + case 36: +#line 183 "levcomp.ypp" { } break; - case 28: -#line 158 "levcomp.ypp" + case 37: +#line 185 "levcomp.ypp" { } break; - case 29: -#line 159 "levcomp.ypp" + case 38: +#line 186 "levcomp.ypp" { } break; - case 30: -#line 163 "levcomp.ypp" + case 39: +#line 190 "levcomp.ypp" + { + lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); + } + break; + + case 40: +#line 194 "levcomp.ypp" + { } + break; + + case 41: +#line 196 "levcomp.ypp" + { } + break; + + case 42: +#line 197 "levcomp.ypp" + { } + break; + + case 43: +#line 201 "levcomp.ypp" { lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); } break; - case 31: -#line 167 "levcomp.ypp" + case 44: +#line 205 "levcomp.ypp" { } break; - case 32: -#line 169 "levcomp.ypp" + case 45: +#line 207 "levcomp.ypp" + { } + break; + + case 46: +#line 208 "levcomp.ypp" + { } + break; + + case 47: +#line 212 "levcomp.ypp" + { + lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); + } + break; + + case 48: +#line 216 "levcomp.ypp" { } break; - case 33: -#line 170 "levcomp.ypp" + case 49: +#line 218 "levcomp.ypp" { } break; - case 34: -#line 174 "levcomp.ypp" + case 50: +#line 219 "levcomp.ypp" + { } + break; + + case 51: +#line 223 "levcomp.ypp" + { + lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); + } + break; + + case 52: +#line 227 "levcomp.ypp" + { } + break; + + case 53: +#line 229 "levcomp.ypp" + { } + break; + + case 54: +#line 230 "levcomp.ypp" + { } + break; + + case 55: +#line 234 "levcomp.ypp" { lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; - case 35: -#line 178 "levcomp.ypp" + case 56: +#line 238 "levcomp.ypp" { } break; - case 36: -#line 180 "levcomp.ypp" + case 57: +#line 240 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1652,13 +1793,13 @@ yyreduce: } break; - case 37: -#line 187 "levcomp.ypp" + case 58: +#line 247 "levcomp.ypp" { } break; - case 38: -#line 189 "levcomp.ypp" + case 59: +#line 249 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1667,13 +1808,13 @@ yyreduce: } break; - case 39: -#line 196 "levcomp.ypp" + case 60: +#line 256 "levcomp.ypp" { } break; - case 40: -#line 198 "levcomp.ypp" + case 61: +#line 258 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1682,13 +1823,13 @@ yyreduce: } break; - case 41: -#line 205 "levcomp.ypp" + case 62: +#line 265 "levcomp.ypp" {} break; - case 44: -#line 213 "levcomp.ypp" + case 65: +#line 273 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1697,13 +1838,13 @@ yyreduce: } break; - case 45: -#line 220 "levcomp.ypp" + case 66: +#line 280 "levcomp.ypp" {} break; - case 48: -#line 228 "levcomp.ypp" + case 69: +#line 288 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1712,13 +1853,53 @@ yyreduce: } break; - case 49: -#line 236 "levcomp.ypp" + case 70: +#line 296 "levcomp.ypp" { } break; - case 52: -#line 244 "levcomp.ypp" + case 71: +#line 299 "levcomp.ypp" + { } + break; + + case 72: +#line 300 "levcomp.ypp" + { } + break; + + case 73: +#line 304 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("marker(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); + } + break; + + case 74: +#line 312 "levcomp.ypp" + { } + break; + + case 77: +#line 320 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("nsubst(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); + } + break; + + case 78: +#line 328 "levcomp.ypp" + { } + break; + + case 81: +#line 336 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1727,18 +1908,18 @@ yyreduce: } break; - case 53: -#line 252 "levcomp.ypp" + case 82: +#line 344 "levcomp.ypp" {} break; - case 54: -#line 253 "levcomp.ypp" + case 83: +#line 345 "levcomp.ypp" {} break; - case 57: -#line 261 "levcomp.ypp" + case 86: +#line 353 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1747,18 +1928,18 @@ yyreduce: } break; - case 58: -#line 268 "levcomp.ypp" + case 87: +#line 360 "levcomp.ypp" {} break; - case 59: -#line 269 "levcomp.ypp" + case 88: +#line 361 "levcomp.ypp" {} break; - case 62: -#line 277 "levcomp.ypp" + case 91: +#line 369 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1767,8 +1948,8 @@ yyreduce: } break; - case 63: -#line 286 "levcomp.ypp" + case 92: +#line 378 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1777,13 +1958,13 @@ yyreduce: } break; - case 64: -#line 294 "levcomp.ypp" + case 93: +#line 386 "levcomp.ypp" {} break; - case 65: -#line 296 "levcomp.ypp" + case 94: +#line 388 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1792,8 +1973,8 @@ yyreduce: } break; - case 66: -#line 305 "levcomp.ypp" + case 95: +#line 397 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1801,13 +1982,13 @@ yyreduce: } break; - case 67: -#line 312 "levcomp.ypp" + case 96: +#line 404 "levcomp.ypp" {} break; - case 68: -#line 314 "levcomp.ypp" + case 97: +#line 406 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1816,8 +1997,8 @@ yyreduce: } break; - case 72: -#line 330 "levcomp.ypp" + case 101: +#line 422 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1828,7 +2009,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 1832 "levcomp.tab.c" +#line 2013 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2042,6 +2223,6 @@ yyreturn: } -#line 338 "levcomp.ypp" +#line 430 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index 8bbb920d51..96f7ea0a86 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -39,89 +39,79 @@ /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { - BRANCHDEF = 258, - BRANCH = 259, - DESC = 260, - DEFAULT = 261, - DEFAULT_DEPTH = 262, - SHUFFLE = 263, - SUBST = 264, - TAGS = 265, - KFEAT = 266, - KITEM = 267, - KMONS = 268, - NAME = 269, - DEPTH = 270, - ORIENT = 271, - PLACE = 272, - CHANCE = 273, - MONS = 274, - ITEM = 275, - PRELUDE = 276, - MAIN = 277, - CHARACTER = 278, - DASH = 279, - COMMA = 280, - QUOTE = 281, - OPAREN = 282, - CPAREN = 283, - INTEGER = 284, - STRING = 285, - MAP_LINE = 286, - MONSTER_NAME = 287, - ITEM_INFO = 288, - IDENTIFIER = 289, - LUA_LINE = 290 + DEFAULT_DEPTH = 258, + SHUFFLE = 259, + SUBST = 260, + TAGS = 261, + KFEAT = 262, + KITEM = 263, + KMONS = 264, + NAME = 265, + DEPTH = 266, + ORIENT = 267, + PLACE = 268, + CHANCE = 269, + MONS = 270, + ITEM = 271, + MARKER = 272, + PRELUDE = 273, + MAIN = 274, + VALIDATE = 275, + VETO = 276, + NSUBST = 277, + COMMA = 278, + INTEGER = 279, + CHARACTER = 280, + STRING = 281, + MAP_LINE = 282, + MONSTER_NAME = 283, + ITEM_INFO = 284, + LUA_LINE = 285 }; #endif /* Tokens. */ -#define BRANCHDEF 258 -#define BRANCH 259 -#define DESC 260 -#define DEFAULT 261 -#define DEFAULT_DEPTH 262 -#define SHUFFLE 263 -#define SUBST 264 -#define TAGS 265 -#define KFEAT 266 -#define KITEM 267 -#define KMONS 268 -#define NAME 269 -#define DEPTH 270 -#define ORIENT 271 -#define PLACE 272 -#define CHANCE 273 -#define MONS 274 -#define ITEM 275 -#define PRELUDE 276 -#define MAIN 277 -#define CHARACTER 278 -#define DASH 279 -#define COMMA 280 -#define QUOTE 281 -#define OPAREN 282 -#define CPAREN 283 -#define INTEGER 284 -#define STRING 285 -#define MAP_LINE 286 -#define MONSTER_NAME 287 -#define ITEM_INFO 288 -#define IDENTIFIER 289 -#define LUA_LINE 290 +#define DEFAULT_DEPTH 258 +#define SHUFFLE 259 +#define SUBST 260 +#define TAGS 261 +#define KFEAT 262 +#define KITEM 263 +#define KMONS 264 +#define NAME 265 +#define DEPTH 266 +#define ORIENT 267 +#define PLACE 268 +#define CHANCE 269 +#define MONS 270 +#define ITEM 271 +#define MARKER 272 +#define PRELUDE 273 +#define MAIN 274 +#define VALIDATE 275 +#define VETO 276 +#define NSUBST 277 +#define COMMA 278 +#define INTEGER 279 +#define CHARACTER 280 +#define STRING 281 +#define MAP_LINE 282 +#define MONSTER_NAME 283 +#define ITEM_INFO 284 +#define LUA_LINE 285 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 56 "levcomp.ypp" +#line 59 "levcomp.ypp" { int i; const char *text; raw_range range; } /* Line 1529 of yacc.c. */ -#line 125 "levcomp.tab.h" +#line 115 "levcomp.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -- cgit v1.2.3-54-g00ecf