diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index 5104ea976d..fb978119c5 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -414,44 +414,45 @@ static const short _eo_tokenizer_key_offsets[] = { 99, 100, 101, 104, 107, 109, 112, 123, 125, 128, 129, 133, 140, 147, 159, 170, 182, 194, 206, 218, 229, 237, 245, 257, - 269, 281, 293, 304, 312, 328, 345, 349, - 350, 351, 361, 363, 366, 368, 371, 372, - 386, 390, 391, 392, 402, 404, 407, 409, - 412, 413, 414, 418, 419, 420, 424, 425, - 429, 430, 431, 432, 433, 437, 439, 442, - 443, 447, 458, 468, 480, 492, 504, 516, - 528, 540, 552, 562, 572, 585, 597, 609, - 621, 633, 645, 657, 669, 676, 688, 700, - 712, 724, 736, 748, 760, 772, 775, 777, - 780, 791, 793, 796, 797, 798, 799, 800, - 801, 802, 803, 804, 805, 808, 815, 823, - 824, 825, 826, 827, 831, 832, 833, 834, - 835, 838, 845, 861, 878, 882, 883, 884, - 894, 896, 899, 901, 904, 905, 909, 920, - 930, 942, 954, 966, 978, 990, 1002, 1014, - 1024, 1034, 1047, 1059, 1071, 1083, 1095, 1107, - 1119, 1131, 1138, 1150, 1162, 1174, 1186, 1198, - 1210, 1222, 1234, 1237, 1239, 1242, 1253, 1255, - 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1268, 1269, 1273, 1274, 1275, 1279, - 1286, 1294, 1295, 1296, 1297, 1298, 1299, 1300, - 1301, 1305, 1312, 1320, 1321, 1322, 1323, 1324, - 1328, 1336, 1352, 1356, 1368, 1369, 1370, 1380, - 1382, 1385, 1393, 1401, 1409, 1421, 1425, 1426, - 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1437, - 1445, 1457, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1477, - 1484, 1492, 1493, 1494, 1495, 1496, 1497, 1501, - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, - 1513, 1521, 1524, 1526, 1527, 1528, 1529, 1530, - 1541, 1544, 1546, 1557, 1569, 1581, 1585, 1585, - 1586, 1595, 1598, 1600, 1613, 1617, 1617, 1618, - 1627, 1630, 1632, 1633, 1634, 1635, 1636, 1637, - 1649, 1652, 1654, 1665, 1678, 1679, 1688, 1691, - 1693, 1694, 1695, 1696, 1697, 1701, 1701, 1702, - 1714, 1717, 1719, 1730, 1743, 1744, 1756, 1759, - 1761, 1762, 1763, 1766, 1768, 1771, 1772, 1773, - 1774, 1775, 1778, 1779, 1780 + 269, 281, 293, 304, 321, 338, 355, 372, + 376, 377, 378, 388, 390, 393, 409, 411, + 414, 415, 429, 433, 434, 435, 445, 447, + 450, 452, 455, 456, 457, 461, 462, 463, + 467, 468, 472, 473, 474, 475, 476, 480, + 482, 485, 486, 490, 501, 511, 523, 535, + 547, 559, 571, 583, 595, 605, 615, 628, + 640, 652, 664, 676, 688, 700, 712, 719, + 731, 743, 755, 767, 779, 791, 803, 815, + 818, 820, 823, 834, 836, 839, 840, 841, + 842, 843, 844, 845, 846, 847, 848, 851, + 858, 866, 867, 868, 869, 870, 874, 875, + 876, 877, 878, 881, 897, 913, 930, 947, + 951, 952, 953, 963, 965, 968, 984, 986, + 989, 990, 994, 1005, 1015, 1027, 1039, 1051, + 1063, 1075, 1087, 1099, 1109, 1119, 1132, 1144, + 1156, 1168, 1180, 1192, 1204, 1216, 1223, 1235, + 1247, 1259, 1271, 1283, 1295, 1307, 1319, 1322, + 1324, 1327, 1338, 1340, 1343, 1344, 1345, 1346, + 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, + 1358, 1359, 1360, 1364, 1371, 1379, 1380, 1381, + 1382, 1383, 1384, 1385, 1386, 1390, 1397, 1405, + 1406, 1407, 1408, 1409, 1413, 1421, 1437, 1441, + 1453, 1454, 1455, 1465, 1467, 1470, 1478, 1486, + 1494, 1506, 1510, 1511, 1512, 1513, 1514, 1515, + 1516, 1517, 1518, 1522, 1530, 1542, 1546, 1547, + 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, + 1556, 1557, 1558, 1562, 1569, 1577, 1578, 1579, + 1580, 1581, 1582, 1586, 1587, 1588, 1589, 1590, + 1591, 1592, 1593, 1594, 1598, 1606, 1609, 1611, + 1612, 1613, 1614, 1615, 1626, 1629, 1631, 1642, + 1654, 1666, 1670, 1670, 1671, 1680, 1683, 1685, + 1698, 1702, 1702, 1703, 1712, 1715, 1717, 1718, + 1719, 1720, 1721, 1722, 1734, 1737, 1739, 1750, + 1763, 1764, 1773, 1776, 1778, 1779, 1780, 1781, + 1782, 1786, 1786, 1787, 1799, 1802, 1804, 1815, + 1828, 1829, 1841, 1844, 1846, 1847, 1848, 1851, + 1853, 1856, 1857, 1858, 1859, 1860, 1863, 1864, + 1865 }; static const char _eo_tokenizer_trans_keys[] = { @@ -493,98 +494,31 @@ static const char _eo_tokenizer_trans_keys[] = { 122, 9, 13, 32, 58, 95, 110, 48, 57, 65, 90, 97, 122, 9, 13, 32, 58, 95, 48, 57, 65, 90, 97, 122, - 9, 13, 32, 58, 65, 90, 97, 122, - 9, 13, 32, 60, 62, 95, 40, 42, - 45, 46, 48, 57, 64, 90, 97, 122, - 9, 13, 32, 59, 60, 62, 95, 40, + 9, 13, 32, 58, 60, 62, 95, 40, 42, 45, 46, 48, 57, 64, 90, 97, - 122, 9, 13, 32, 47, 42, 64, 10, - 95, 0, 32, 48, 57, 64, 90, 97, - 122, 10, 42, 10, 42, 47, 10, 42, - 10, 42, 47, 10, 9, 13, 32, 42, - 59, 60, 62, 95, 48, 57, 64, 90, - 97, 122, 9, 13, 32, 47, 42, 64, - 10, 95, 0, 32, 48, 57, 64, 90, - 97, 122, 10, 42, 10, 42, 47, 10, - 42, 10, 42, 47, 10, 116, 10, 123, - 0, 32, 121, 115, 10, 123, 0, 32, - 116, 10, 123, 0, 32, 108, 117, 101, - 115, 10, 123, 0, 32, 10, 42, 10, - 42, 47, 10, 10, 123, 0, 32, 10, - 95, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 111, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 116, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 101, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 99, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 116, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 101, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 100, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 9, 13, 32, 95, 48, 57, 65, 90, - 97, 122, 9, 13, 32, 112, 48, 57, - 65, 90, 97, 122, 10, 95, 114, 117, - 123, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 95, 111, 123, 0, 32, 48, - 57, 65, 90, 97, 122, 10, 95, 116, - 123, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 95, 101, 123, 0, 32, 48, - 57, 65, 90, 97, 122, 10, 95, 99, - 123, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 95, 116, 123, 0, 32, 48, - 57, 65, 90, 97, 122, 10, 95, 101, - 123, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 95, 100, 123, 0, 32, 48, - 57, 65, 90, 97, 122, 95, 48, 57, - 65, 90, 97, 122, 10, 95, 98, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 108, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 105, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 99, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 98, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 108, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 95, 105, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 95, 99, 123, 0, 32, 48, 57, - 65, 90, 97, 122, 10, 42, 64, 10, - 42, 10, 42, 47, 10, 42, 95, 0, - 32, 48, 57, 64, 90, 97, 122, 10, - 42, 10, 42, 47, 10, 110, 115, 116, - 59, 103, 97, 99, 121, 9, 13, 32, - 9, 13, 32, 65, 90, 97, 122, 59, - 95, 48, 57, 65, 90, 97, 122, 114, - 97, 109, 115, 10, 123, 0, 32, 116, - 117, 114, 110, 9, 13, 32, 9, 13, - 32, 65, 90, 97, 122, 9, 13, 32, - 60, 62, 95, 40, 42, 45, 46, 48, + 122, 9, 13, 32, 58, 60, 62, 95, + 40, 42, 45, 46, 48, 57, 64, 90, + 97, 122, 9, 13, 32, 58, 59, 62, + 95, 40, 42, 45, 46, 48, 60, 64, + 90, 97, 122, 9, 13, 32, 59, 60, + 62, 95, 40, 42, 45, 46, 48, 57, + 64, 90, 97, 122, 9, 13, 32, 47, + 42, 64, 10, 95, 0, 32, 48, 57, + 64, 90, 97, 122, 10, 42, 10, 42, + 47, 9, 13, 32, 60, 62, 95, 40, + 42, 45, 46, 48, 57, 64, 90, 97, + 122, 10, 42, 10, 42, 47, 10, 9, + 13, 32, 42, 59, 60, 62, 95, 48, 57, 64, 90, 97, 122, 9, 13, 32, - 59, 60, 62, 95, 40, 42, 45, 46, - 48, 57, 64, 90, 97, 122, 9, 13, - 32, 47, 42, 64, 10, 95, 0, 32, - 48, 57, 64, 90, 97, 122, 10, 42, - 10, 42, 47, 10, 42, 10, 42, 47, - 10, 10, 123, 0, 32, 10, 95, 123, - 0, 32, 48, 57, 65, 90, 97, 122, - 10, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 111, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 116, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 101, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 99, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 116, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 101, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 100, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 9, 13, - 32, 95, 48, 57, 65, 90, 97, 122, - 9, 13, 32, 112, 48, 57, 65, 90, - 97, 122, 10, 95, 114, 117, 123, 0, + 47, 42, 64, 10, 95, 0, 32, 48, + 57, 64, 90, 97, 122, 10, 42, 10, + 42, 47, 10, 42, 10, 42, 47, 10, + 116, 10, 123, 0, 32, 121, 115, 10, + 123, 0, 32, 116, 10, 123, 0, 32, + 108, 117, 101, 115, 10, 123, 0, 32, + 10, 42, 10, 42, 47, 10, 10, 123, + 0, 32, 10, 95, 123, 0, 32, 48, + 57, 65, 90, 97, 122, 10, 123, 0, 32, 48, 57, 65, 90, 97, 122, 10, 95, 111, 123, 0, 32, 48, 57, 65, 90, 97, 122, 10, 95, 116, 123, 0, @@ -596,88 +530,166 @@ static const char _eo_tokenizer_trans_keys[] = { 90, 97, 122, 10, 95, 101, 123, 0, 32, 48, 57, 65, 90, 97, 122, 10, 95, 100, 123, 0, 32, 48, 57, 65, - 90, 97, 122, 95, 48, 57, 65, 90, - 97, 122, 10, 95, 98, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 108, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 105, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 99, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 98, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 108, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 105, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 99, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 42, 64, 10, 42, 10, - 42, 47, 10, 42, 95, 0, 32, 48, - 57, 64, 90, 97, 122, 10, 42, 10, - 42, 47, 10, 110, 115, 116, 114, 117, - 99, 116, 111, 114, 115, 10, 123, 0, - 32, 116, 97, 10, 58, 0, 32, 10, - 0, 32, 65, 90, 97, 122, 59, 95, - 48, 57, 65, 90, 97, 122, 95, 112, - 114, 101, 102, 105, 120, 10, 58, 0, - 32, 10, 0, 32, 65, 90, 97, 122, - 59, 95, 48, 57, 65, 90, 97, 122, - 101, 110, 116, 115, 10, 123, 0, 32, - 10, 125, 0, 32, 65, 90, 97, 122, - 9, 10, 13, 32, 40, 44, 59, 95, - 0, 31, 48, 57, 65, 90, 97, 122, - 10, 59, 0, 32, 9, 10, 13, 32, - 47, 125, 0, 31, 65, 90, 97, 122, - 42, 64, 10, 95, 0, 32, 48, 57, - 64, 90, 97, 122, 10, 42, 10, 42, - 47, 10, 125, 0, 32, 65, 90, 97, - 122, 9, 10, 13, 32, 40, 59, 0, - 31, 9, 13, 32, 95, 65, 90, 97, - 122, 9, 13, 32, 41, 42, 95, 48, - 57, 65, 90, 97, 122, 10, 59, 0, - 32, 112, 108, 101, 109, 101, 110, 116, + 90, 97, 122, 9, 13, 32, 95, 48, + 57, 65, 90, 97, 122, 9, 13, 32, + 112, 48, 57, 65, 90, 97, 122, 10, + 95, 114, 117, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 111, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 10, 95, 116, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 101, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 10, 95, 99, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 116, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 10, 95, 101, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 100, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 95, 48, 57, 65, 90, 97, 122, 10, + 95, 98, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 108, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 105, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 99, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 98, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 108, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 105, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 99, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 42, 64, 10, 42, 10, 42, 47, 10, + 42, 95, 0, 32, 48, 57, 64, 90, + 97, 122, 10, 42, 10, 42, 47, 10, + 110, 115, 116, 59, 103, 97, 99, 121, + 9, 13, 32, 9, 13, 32, 65, 90, + 97, 122, 59, 95, 48, 57, 65, 90, + 97, 122, 114, 97, 109, 115, 10, 123, + 0, 32, 116, 117, 114, 110, 9, 13, + 32, 9, 13, 32, 60, 62, 95, 40, + 42, 45, 46, 48, 57, 64, 90, 97, + 122, 9, 13, 32, 60, 62, 95, 40, + 42, 45, 46, 48, 57, 64, 90, 97, + 122, 9, 13, 32, 59, 60, 62, 95, + 40, 42, 45, 46, 48, 57, 64, 90, + 97, 122, 9, 13, 32, 59, 60, 62, + 95, 40, 42, 45, 46, 48, 57, 64, + 90, 97, 122, 9, 13, 32, 47, 42, + 64, 10, 95, 0, 32, 48, 57, 64, + 90, 97, 122, 10, 42, 10, 42, 47, + 9, 13, 32, 60, 62, 95, 40, 42, + 45, 46, 48, 57, 64, 90, 97, 122, + 10, 42, 10, 42, 47, 10, 10, 123, + 0, 32, 10, 95, 123, 0, 32, 48, + 57, 65, 90, 97, 122, 10, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 111, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 116, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 101, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 99, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 116, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 101, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 100, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 9, 13, 32, 95, 48, + 57, 65, 90, 97, 122, 9, 13, 32, + 112, 48, 57, 65, 90, 97, 122, 10, + 95, 114, 117, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 111, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 10, 95, 116, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 101, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 10, 95, 99, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 116, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 10, 95, 101, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 100, 123, + 0, 32, 48, 57, 65, 90, 97, 122, + 95, 48, 57, 65, 90, 97, 122, 10, + 95, 98, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 108, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 105, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 99, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 98, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 108, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 105, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 10, 95, 99, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 42, 64, 10, 42, 10, 42, 47, 10, + 42, 95, 0, 32, 48, 57, 64, 90, + 97, 122, 10, 42, 10, 42, 47, 10, + 110, 115, 116, 114, 117, 99, 116, 111, + 114, 115, 10, 123, 0, 32, 116, 97, + 10, 58, 0, 32, 10, 0, 32, 65, + 90, 97, 122, 59, 95, 48, 57, 65, + 90, 97, 122, 95, 112, 114, 101, 102, + 105, 120, 10, 58, 0, 32, 10, 0, + 32, 65, 90, 97, 122, 59, 95, 48, + 57, 65, 90, 97, 122, 101, 110, 116, 115, 10, 123, 0, 32, 10, 125, 0, - 32, 65, 90, 97, 122, 10, 58, 59, - 95, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 59, 0, 32, 58, 103, 97, - 99, 121, 95, 112, 114, 101, 102, 105, - 120, 10, 58, 0, 32, 10, 0, 32, - 65, 90, 97, 122, 59, 95, 48, 57, - 65, 90, 97, 122, 116, 104, 111, 100, - 115, 10, 123, 0, 32, 111, 112, 101, - 114, 116, 105, 101, 115, 10, 123, 0, - 32, 10, 47, 97, 99, 105, 109, 0, - 32, 10, 0, 32, 42, 47, 98, 108, - 110, 105, 10, 47, 108, 114, 125, 0, - 32, 65, 90, 97, 122, 10, 0, 32, - 42, 47, 9, 13, 32, 58, 95, 48, - 57, 65, 90, 97, 122, 9, 13, 32, - 58, 95, 101, 48, 57, 65, 90, 97, - 122, 9, 13, 32, 58, 95, 101, 48, - 57, 65, 90, 97, 122, 9, 13, 32, - 47, 59, 10, 47, 125, 0, 32, 64, - 90, 97, 122, 10, 0, 32, 42, 47, - 9, 13, 32, 42, 60, 62, 95, 48, - 57, 64, 90, 97, 122, 9, 13, 32, - 47, 59, 10, 47, 103, 107, 115, 118, - 125, 0, 32, 10, 0, 32, 42, 47, - 101, 101, 101, 97, 59, 10, 47, 112, - 125, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 0, 32, 42, 47, 10, 95, - 123, 0, 32, 48, 57, 65, 90, 97, - 122, 10, 95, 114, 117, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 59, 10, - 47, 99, 108, 112, 114, 125, 0, 32, - 10, 0, 32, 42, 47, 111, 101, 97, - 101, 9, 13, 32, 47, 59, 10, 47, - 112, 125, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 0, 32, 42, 47, 10, - 95, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 10, 95, 114, 117, 123, 0, - 32, 48, 57, 65, 90, 97, 122, 59, - 10, 47, 99, 100, 101, 105, 108, 109, - 112, 125, 0, 32, 10, 0, 32, 42, - 47, 111, 97, 10, 0, 32, 111, 118, - 10, 0, 32, 59, 109, 59, 101, 10, - 0, 32, 101, 114, 59, 0 + 32, 65, 90, 97, 122, 9, 10, 13, + 32, 40, 44, 59, 95, 0, 31, 48, + 57, 65, 90, 97, 122, 10, 59, 0, + 32, 9, 10, 13, 32, 47, 125, 0, + 31, 65, 90, 97, 122, 42, 64, 10, + 95, 0, 32, 48, 57, 64, 90, 97, + 122, 10, 42, 10, 42, 47, 10, 125, + 0, 32, 65, 90, 97, 122, 9, 10, + 13, 32, 40, 59, 0, 31, 9, 13, + 32, 95, 65, 90, 97, 122, 9, 13, + 32, 41, 42, 95, 48, 57, 65, 90, + 97, 122, 10, 59, 0, 32, 112, 108, + 101, 109, 101, 110, 116, 115, 10, 123, + 0, 32, 10, 125, 0, 32, 65, 90, + 97, 122, 10, 58, 59, 95, 0, 32, + 48, 57, 65, 90, 97, 122, 10, 59, + 0, 32, 58, 103, 97, 99, 121, 95, + 112, 114, 101, 102, 105, 120, 10, 58, + 0, 32, 10, 0, 32, 65, 90, 97, + 122, 59, 95, 48, 57, 65, 90, 97, + 122, 116, 104, 111, 100, 115, 10, 123, + 0, 32, 111, 112, 101, 114, 116, 105, + 101, 115, 10, 123, 0, 32, 10, 47, + 97, 99, 105, 109, 0, 32, 10, 0, + 32, 42, 47, 98, 108, 110, 105, 10, + 47, 108, 114, 125, 0, 32, 65, 90, + 97, 122, 10, 0, 32, 42, 47, 9, + 13, 32, 58, 95, 48, 57, 65, 90, + 97, 122, 9, 13, 32, 58, 95, 101, + 48, 57, 65, 90, 97, 122, 9, 13, + 32, 58, 95, 101, 48, 57, 65, 90, + 97, 122, 9, 13, 32, 47, 59, 10, + 47, 125, 0, 32, 64, 90, 97, 122, + 10, 0, 32, 42, 47, 9, 13, 32, + 42, 60, 62, 95, 48, 57, 64, 90, + 97, 122, 9, 13, 32, 47, 59, 10, + 47, 103, 107, 115, 118, 125, 0, 32, + 10, 0, 32, 42, 47, 101, 101, 101, + 97, 59, 10, 47, 112, 125, 0, 32, + 48, 57, 65, 90, 97, 122, 10, 0, + 32, 42, 47, 10, 95, 123, 0, 32, + 48, 57, 65, 90, 97, 122, 10, 95, + 114, 117, 123, 0, 32, 48, 57, 65, + 90, 97, 122, 59, 10, 47, 99, 108, + 112, 114, 125, 0, 32, 10, 0, 32, + 42, 47, 111, 101, 97, 101, 9, 13, + 32, 47, 59, 10, 47, 112, 125, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 0, 32, 42, 47, 10, 95, 123, 0, + 32, 48, 57, 65, 90, 97, 122, 10, + 95, 114, 117, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 59, 10, 47, 99, + 100, 101, 105, 108, 109, 112, 125, 0, + 32, 10, 0, 32, 42, 47, 111, 97, + 10, 0, 32, 111, 118, 10, 0, 32, + 59, 109, 59, 101, 10, 0, 32, 101, + 114, 59, 0 }; static const char _eo_tokenizer_single_lengths[] = { @@ -688,44 +700,45 @@ static const char _eo_tokenizer_single_lengths[] = { 1, 1, 3, 3, 2, 3, 3, 2, 3, 1, 4, 3, 3, 6, 5, 6, 6, 6, 6, 5, 4, 2, 6, 6, - 6, 6, 5, 4, 6, 7, 4, 1, - 1, 2, 2, 3, 2, 3, 1, 8, - 4, 1, 1, 2, 2, 3, 2, 3, - 1, 1, 2, 1, 1, 2, 1, 2, - 1, 1, 1, 1, 2, 2, 3, 1, - 2, 3, 2, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 5, 4, 4, 4, - 4, 4, 4, 4, 1, 4, 4, 4, - 4, 4, 4, 4, 4, 3, 2, 3, - 3, 2, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 2, 1, - 1, 1, 1, 2, 1, 1, 1, 1, - 3, 3, 6, 7, 4, 1, 1, 2, - 2, 3, 2, 3, 1, 2, 3, 2, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 5, 4, 4, 4, 4, 4, 4, - 4, 1, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 2, 3, 3, 2, 3, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 1, - 2, 1, 2, 1, 1, 1, 1, 2, - 2, 8, 2, 6, 1, 1, 2, 2, - 3, 2, 6, 4, 6, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, - 4, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 1, - 2, 1, 1, 1, 1, 1, 2, 1, + 6, 6, 5, 7, 7, 7, 7, 4, + 1, 1, 2, 2, 3, 6, 2, 3, + 1, 8, 4, 1, 1, 2, 2, 3, + 2, 3, 1, 1, 2, 1, 1, 2, + 1, 2, 1, 1, 1, 1, 2, 2, + 3, 1, 2, 3, 2, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 5, 4, + 4, 4, 4, 4, 4, 4, 1, 4, + 4, 4, 4, 4, 4, 4, 4, 3, + 2, 3, 3, 2, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 3, + 2, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 3, 6, 6, 7, 7, 4, + 1, 1, 2, 2, 3, 6, 2, 3, + 1, 2, 3, 2, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 5, 4, 4, + 4, 4, 4, 4, 4, 1, 4, 4, + 4, 4, 4, 4, 4, 4, 3, 2, + 3, 3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 6, 1, 2, 1, 1, 1, 1, 5, - 1, 2, 5, 6, 6, 4, 0, 1, - 3, 1, 2, 7, 4, 0, 1, 7, - 1, 2, 1, 1, 1, 1, 1, 4, - 1, 2, 3, 5, 1, 7, 1, 2, - 1, 1, 1, 1, 4, 0, 1, 4, - 1, 2, 3, 5, 1, 10, 1, 2, - 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1 + 1, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 2, 1, + 1, 1, 1, 2, 2, 8, 2, 6, + 1, 1, 2, 2, 3, 2, 6, 4, + 6, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 4, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 6, 1, 2, 1, + 1, 1, 1, 5, 1, 2, 5, 6, + 6, 4, 0, 1, 3, 1, 2, 7, + 4, 0, 1, 7, 1, 2, 1, 1, + 1, 1, 1, 4, 1, 2, 3, 5, + 1, 7, 1, 2, 1, 1, 1, 1, + 4, 0, 1, 4, 1, 2, 3, 5, + 1, 10, 1, 2, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, + 1 }; static const char _eo_tokenizer_range_lengths[] = { @@ -736,44 +749,45 @@ static const char _eo_tokenizer_range_lengths[] = { 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, - 3, 3, 3, 2, 5, 5, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 4, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 1, 0, 1, - 0, 0, 0, 0, 1, 0, 0, 0, - 1, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 3, 4, 4, 4, 4, - 4, 4, 4, 4, 3, 4, 4, 4, - 4, 4, 4, 4, 4, 0, 0, 0, - 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, - 0, 0, 0, 1, 0, 0, 0, 0, - 0, 2, 5, 5, 0, 0, 0, 4, - 0, 0, 0, 0, 0, 1, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 3, - 3, 4, 4, 4, 4, 4, 4, 4, - 4, 3, 4, 4, 4, 4, 4, 4, - 4, 4, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 1, 3, - 3, 0, 0, 0, 0, 0, 0, 0, - 1, 3, 3, 0, 0, 0, 0, 1, - 3, 4, 1, 3, 0, 0, 4, 0, - 0, 3, 1, 2, 3, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 3, - 4, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 3, - 3, 0, 0, 0, 0, 0, 1, 0, + 3, 3, 3, 5, 5, 5, 5, 0, + 0, 0, 4, 0, 0, 5, 0, 0, + 0, 3, 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 1, + 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 3, 3, 4, 4, + 4, 4, 4, 4, 4, 4, 3, 4, + 4, 4, 4, 4, 4, 4, 4, 0, + 0, 0, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, + 3, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 5, 5, 5, 5, 0, + 0, 0, 4, 0, 0, 5, 0, 0, + 0, 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 3, 3, 4, 4, 4, + 4, 4, 4, 4, 4, 3, 4, 4, + 4, 4, 4, 4, 4, 4, 0, 0, + 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 1, 0, 0, 0, 0, 0, 3, - 1, 0, 3, 3, 3, 0, 0, 0, - 3, 1, 0, 3, 0, 0, 0, 1, - 1, 0, 0, 0, 0, 0, 0, 4, - 1, 0, 4, 4, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 4, - 1, 0, 4, 4, 0, 1, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 0, - 0, 1, 0, 0, 0 + 0, 0, 1, 3, 3, 0, 0, 0, + 0, 0, 0, 0, 1, 3, 3, 0, + 0, 0, 0, 1, 3, 4, 1, 3, + 0, 0, 4, 0, 0, 3, 1, 2, + 3, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 4, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 3, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 0, 0, + 0, 0, 0, 3, 1, 0, 3, 3, + 3, 0, 0, 0, 3, 1, 0, 3, + 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 4, 1, 0, 4, 4, + 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 1, 0, 4, 4, + 0, 1, 1, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 1, 0, 0, + 0 }; static const short _eo_tokenizer_index_offsets[] = { @@ -784,44 +798,45 @@ static const short _eo_tokenizer_index_offsets[] = { 112, 114, 116, 120, 124, 127, 131, 139, 142, 146, 148, 153, 159, 165, 175, 184, 194, 204, 214, 224, 233, 240, 246, 256, - 266, 276, 286, 295, 302, 314, 327, 332, - 334, 336, 343, 346, 350, 353, 357, 359, - 371, 376, 378, 380, 387, 390, 394, 397, - 401, 403, 405, 409, 411, 413, 417, 419, - 423, 425, 427, 429, 431, 435, 438, 442, - 444, 448, 456, 463, 472, 481, 490, 499, - 508, 517, 526, 534, 542, 552, 561, 570, - 579, 588, 597, 606, 615, 620, 629, 638, - 647, 656, 665, 674, 683, 692, 696, 699, - 703, 711, 714, 718, 720, 722, 724, 726, - 728, 730, 732, 734, 736, 740, 746, 752, - 754, 756, 758, 760, 764, 766, 768, 770, - 772, 776, 782, 794, 807, 812, 814, 816, - 823, 826, 830, 833, 837, 839, 843, 851, - 858, 867, 876, 885, 894, 903, 912, 921, - 929, 937, 947, 956, 965, 974, 983, 992, - 1001, 1010, 1015, 1024, 1033, 1042, 1051, 1060, - 1069, 1078, 1087, 1091, 1094, 1098, 1106, 1109, - 1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127, - 1129, 1131, 1133, 1135, 1139, 1141, 1143, 1147, - 1152, 1158, 1160, 1162, 1164, 1166, 1168, 1170, - 1172, 1176, 1181, 1187, 1189, 1191, 1193, 1195, - 1199, 1205, 1218, 1222, 1232, 1234, 1236, 1243, - 1246, 1250, 1256, 1264, 1271, 1281, 1285, 1287, - 1289, 1291, 1293, 1295, 1297, 1299, 1301, 1305, - 1311, 1320, 1324, 1326, 1328, 1330, 1332, 1334, - 1336, 1338, 1340, 1342, 1344, 1346, 1348, 1352, - 1357, 1363, 1365, 1367, 1369, 1371, 1373, 1377, - 1379, 1381, 1383, 1385, 1387, 1389, 1391, 1393, - 1397, 1405, 1408, 1411, 1413, 1415, 1417, 1419, - 1428, 1431, 1434, 1443, 1453, 1463, 1468, 1469, - 1471, 1478, 1481, 1484, 1495, 1500, 1501, 1503, - 1512, 1515, 1518, 1520, 1522, 1524, 1526, 1528, - 1537, 1540, 1543, 1551, 1561, 1563, 1572, 1575, - 1578, 1580, 1582, 1584, 1586, 1591, 1592, 1594, - 1603, 1606, 1609, 1617, 1627, 1629, 1641, 1644, - 1647, 1649, 1651, 1654, 1657, 1660, 1662, 1664, - 1666, 1668, 1671, 1673, 1675 + 266, 276, 286, 295, 308, 321, 334, 347, + 352, 354, 356, 363, 366, 370, 382, 385, + 389, 391, 403, 408, 410, 412, 419, 422, + 426, 429, 433, 435, 437, 441, 443, 445, + 449, 451, 455, 457, 459, 461, 463, 467, + 470, 474, 476, 480, 488, 495, 504, 513, + 522, 531, 540, 549, 558, 566, 574, 584, + 593, 602, 611, 620, 629, 638, 647, 652, + 661, 670, 679, 688, 697, 706, 715, 724, + 728, 731, 735, 743, 746, 750, 752, 754, + 756, 758, 760, 762, 764, 766, 768, 772, + 778, 784, 786, 788, 790, 792, 796, 798, + 800, 802, 804, 808, 820, 832, 845, 858, + 863, 865, 867, 874, 877, 881, 893, 896, + 900, 902, 906, 914, 921, 930, 939, 948, + 957, 966, 975, 984, 992, 1000, 1010, 1019, + 1028, 1037, 1046, 1055, 1064, 1073, 1078, 1087, + 1096, 1105, 1114, 1123, 1132, 1141, 1150, 1154, + 1157, 1161, 1169, 1172, 1176, 1178, 1180, 1182, + 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198, + 1202, 1204, 1206, 1210, 1215, 1221, 1223, 1225, + 1227, 1229, 1231, 1233, 1235, 1239, 1244, 1250, + 1252, 1254, 1256, 1258, 1262, 1268, 1281, 1285, + 1295, 1297, 1299, 1306, 1309, 1313, 1319, 1327, + 1334, 1344, 1348, 1350, 1352, 1354, 1356, 1358, + 1360, 1362, 1364, 1368, 1374, 1383, 1387, 1389, + 1391, 1393, 1395, 1397, 1399, 1401, 1403, 1405, + 1407, 1409, 1411, 1415, 1420, 1426, 1428, 1430, + 1432, 1434, 1436, 1440, 1442, 1444, 1446, 1448, + 1450, 1452, 1454, 1456, 1460, 1468, 1471, 1474, + 1476, 1478, 1480, 1482, 1491, 1494, 1497, 1506, + 1516, 1526, 1531, 1532, 1534, 1541, 1544, 1547, + 1558, 1563, 1564, 1566, 1575, 1578, 1581, 1583, + 1585, 1587, 1589, 1591, 1600, 1603, 1606, 1614, + 1624, 1626, 1635, 1638, 1641, 1643, 1645, 1647, + 1649, 1654, 1655, 1657, 1666, 1669, 1672, 1680, + 1690, 1692, 1704, 1707, 1710, 1712, 1714, 1717, + 1720, 1723, 1725, 1727, 1729, 1731, 1734, 1736, + 1738 }; static const short _eo_tokenizer_indicies[] = { @@ -861,254 +876,263 @@ static const short _eo_tokenizer_indicies[] = { 79, 57, 71, 71, 71, 72, 79, 90, 79, 79, 79, 57, 71, 71, 71, 72, 79, 91, 79, 79, 79, 57, 92, 92, - 92, 72, 79, 79, 79, 79, 57, 92, - 92, 92, 72, 93, 93, 57, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, - 94, 57, 94, 94, 94, 95, 94, 94, - 94, 94, 94, 94, 94, 94, 57, 97, - 97, 97, 98, 96, 99, 96, 100, 96, - 101, 102, 100, 102, 102, 102, 96, 104, - 105, 103, 104, 105, 106, 103, 109, 110, - 108, 109, 110, 111, 108, 113, 112, 114, - 114, 114, 114, 115, 114, 114, 114, 114, - 114, 114, 107, 117, 117, 117, 118, 116, - 119, 116, 120, 116, 121, 122, 120, 122, - 122, 122, 116, 124, 125, 123, 124, 125, - 126, 123, 129, 130, 128, 129, 130, 131, - 128, 133, 132, 134, 127, 135, 136, 134, - 127, 137, 127, 138, 127, 139, 140, 138, - 127, 141, 127, 142, 143, 141, 127, 144, - 127, 145, 127, 146, 127, 147, 127, 148, - 149, 147, 127, 152, 153, 151, 152, 153, - 154, 151, 156, 155, 158, 159, 157, 150, - 161, 163, 164, 160, 162, 162, 162, 150, - 161, 164, 160, 162, 162, 162, 150, 161, - 163, 165, 164, 160, 162, 162, 162, 150, - 161, 163, 166, 164, 160, 162, 162, 162, - 150, 161, 163, 167, 164, 160, 162, 162, - 162, 150, 161, 163, 168, 164, 160, 162, - 162, 162, 150, 161, 163, 169, 164, 160, - 162, 162, 162, 150, 161, 163, 170, 164, - 160, 162, 162, 162, 150, 161, 163, 171, - 164, 160, 162, 162, 162, 150, 172, 172, - 172, 163, 162, 162, 162, 150, 172, 172, - 172, 174, 173, 173, 173, 150, 161, 163, - 175, 176, 164, 160, 162, 162, 162, 150, - 161, 163, 177, 164, 160, 162, 162, 162, - 150, 161, 163, 178, 164, 160, 162, 162, - 162, 150, 161, 163, 179, 164, 160, 162, - 162, 162, 150, 161, 163, 180, 164, 160, - 162, 162, 162, 150, 161, 163, 181, 164, - 160, 162, 162, 162, 150, 161, 163, 182, - 164, 160, 162, 162, 162, 150, 161, 163, - 183, 164, 160, 162, 162, 162, 150, 163, - 162, 162, 162, 150, 161, 163, 184, 164, - 160, 162, 162, 162, 150, 161, 163, 185, - 164, 160, 162, 162, 162, 150, 161, 163, - 186, 164, 160, 162, 162, 162, 150, 161, - 163, 183, 164, 160, 162, 162, 162, 150, - 161, 163, 187, 164, 160, 162, 162, 162, - 150, 161, 163, 188, 164, 160, 162, 162, - 162, 150, 161, 163, 189, 164, 160, 162, - 162, 162, 150, 161, 163, 171, 164, 160, - 162, 162, 162, 150, 192, 193, 194, 191, - 192, 193, 191, 192, 193, 195, 191, 196, - 193, 197, 194, 197, 197, 197, 191, 199, - 200, 198, 199, 200, 201, 198, 203, 202, - 204, 190, 205, 190, 206, 190, 207, 190, - 208, 190, 209, 190, 210, 190, 211, 190, - 212, 212, 212, 190, 212, 212, 212, 213, - 213, 190, 215, 214, 214, 214, 214, 190, - 216, 190, 217, 190, 218, 190, 219, 190, - 220, 221, 219, 190, 222, 190, 223, 190, - 224, 190, 225, 190, 226, 226, 226, 190, - 226, 226, 226, 227, 227, 190, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, - 228, 190, 228, 228, 228, 229, 228, 228, - 228, 228, 228, 228, 228, 228, 190, 231, - 231, 231, 232, 230, 233, 230, 234, 230, - 235, 236, 234, 236, 236, 236, 230, 238, - 239, 237, 238, 239, 240, 237, 243, 244, - 242, 243, 244, 245, 242, 247, 246, 249, - 250, 248, 241, 252, 254, 255, 251, 253, - 253, 253, 241, 252, 255, 251, 253, 253, - 253, 241, 252, 254, 256, 255, 251, 253, - 253, 253, 241, 252, 254, 257, 255, 251, - 253, 253, 253, 241, 252, 254, 258, 255, - 251, 253, 253, 253, 241, 252, 254, 259, - 255, 251, 253, 253, 253, 241, 252, 254, - 260, 255, 251, 253, 253, 253, 241, 252, - 254, 261, 255, 251, 253, 253, 253, 241, - 252, 254, 262, 255, 251, 253, 253, 253, - 241, 263, 263, 263, 254, 253, 253, 253, - 241, 263, 263, 263, 265, 264, 264, 264, - 241, 252, 254, 266, 267, 255, 251, 253, - 253, 253, 241, 252, 254, 268, 255, 251, - 253, 253, 253, 241, 252, 254, 269, 255, - 251, 253, 253, 253, 241, 252, 254, 270, - 255, 251, 253, 253, 253, 241, 252, 254, - 271, 255, 251, 253, 253, 253, 241, 252, - 254, 272, 255, 251, 253, 253, 253, 241, - 252, 254, 273, 255, 251, 253, 253, 253, - 241, 252, 254, 274, 255, 251, 253, 253, - 253, 241, 254, 253, 253, 253, 241, 252, - 254, 275, 255, 251, 253, 253, 253, 241, - 252, 254, 276, 255, 251, 253, 253, 253, - 241, 252, 254, 277, 255, 251, 253, 253, - 253, 241, 252, 254, 274, 255, 251, 253, - 253, 253, 241, 252, 254, 278, 255, 251, - 253, 253, 253, 241, 252, 254, 279, 255, - 251, 253, 253, 253, 241, 252, 254, 280, - 255, 251, 253, 253, 253, 241, 252, 254, - 262, 255, 251, 253, 253, 253, 241, 283, - 284, 285, 282, 283, 284, 282, 283, 284, - 286, 282, 287, 284, 288, 285, 288, 288, - 288, 282, 290, 291, 289, 290, 291, 292, - 289, 294, 293, 295, 281, 296, 281, 297, - 281, 298, 281, 299, 281, 300, 281, 301, - 281, 302, 281, 303, 281, 304, 281, 305, - 306, 304, 281, 307, 281, 308, 281, 309, - 310, 308, 281, 311, 310, 312, 312, 281, - 314, 313, 313, 313, 313, 281, 315, 281, - 316, 281, 317, 281, 318, 281, 319, 281, - 320, 281, 321, 281, 322, 323, 321, 281, - 324, 323, 325, 325, 281, 327, 326, 326, - 326, 326, 281, 328, 281, 329, 281, 330, - 281, 331, 281, 332, 333, 331, 281, 334, - 336, 333, 335, 335, 281, 338, 339, 338, - 338, 340, 341, 342, 341, 337, 341, 341, - 341, 281, 344, 345, 343, 281, 345, 334, - 345, 345, 346, 336, 333, 335, 335, 281, - 347, 281, 348, 281, 349, 350, 348, 350, - 350, 350, 281, 352, 353, 351, 352, 353, - 354, 351, 356, 358, 355, 357, 357, 281, - 359, 344, 359, 359, 360, 345, 343, 281, - 360, 360, 360, 361, 361, 361, 281, 362, - 362, 362, 363, 362, 362, 362, 362, 362, - 281, 365, 366, 364, 281, 367, 281, 368, - 281, 369, 281, 370, 281, 371, 281, 372, - 281, 373, 281, 374, 281, 375, 376, 374, - 281, 377, 379, 376, 378, 378, 281, 381, - 383, 384, 382, 380, 382, 382, 382, 281, - 386, 376, 385, 281, 382, 281, 387, 281, - 388, 281, 389, 281, 390, 281, 391, 281, - 392, 281, 393, 281, 394, 281, 395, 281, - 396, 281, 397, 281, 398, 399, 397, 281, - 400, 399, 401, 401, 281, 403, 402, 402, - 402, 402, 281, 404, 281, 405, 281, 406, - 281, 407, 281, 408, 281, 409, 410, 408, - 281, 411, 281, 412, 281, 413, 281, 414, - 281, 415, 281, 416, 281, 417, 281, 418, - 281, 419, 420, 418, 281, 423, 424, 425, - 426, 427, 428, 422, 421, 423, 422, 429, - 1, 5, 430, 431, 430, 432, 430, 433, - 430, 434, 430, 437, 438, 440, 441, 442, - 436, 439, 439, 435, 437, 436, 443, 445, - 69, 444, 71, 71, 71, 72, 79, 79, - 79, 79, 444, 71, 71, 71, 72, 79, - 446, 79, 79, 79, 444, 71, 71, 71, - 72, 79, 447, 79, 79, 79, 444, 97, - 97, 97, 98, 448, 449, 451, 450, 454, - 455, 457, 453, 456, 456, 452, 454, 453, - 458, 108, 112, 459, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 459, 117, - 117, 117, 118, 460, 461, 463, 462, 466, - 467, 468, 469, 470, 471, 472, 465, 464, - 466, 465, 473, 128, 132, 474, 475, 474, - 476, 474, 477, 474, 478, 474, 480, 479, - 483, 484, 486, 487, 482, 485, 485, 485, - 481, 483, 482, 488, 151, 155, 489, 161, - 163, 164, 160, 162, 162, 162, 489, 161, - 163, 490, 491, 164, 160, 162, 162, 162, - 489, 493, 492, 496, 497, 498, 499, 500, - 501, 502, 495, 494, 496, 495, 503, 505, - 202, 504, 506, 504, 507, 504, 508, 504, - 509, 504, 231, 231, 231, 232, 510, 511, - 513, 512, 516, 517, 519, 520, 515, 518, - 518, 518, 514, 516, 515, 521, 242, 246, - 522, 252, 254, 255, 251, 253, 253, 253, - 522, 252, 254, 523, 524, 255, 251, 253, - 253, 253, 522, 526, 525, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 528, - 527, 529, 528, 539, 541, 293, 540, 542, - 540, 543, 540, 546, 545, 544, 547, 548, - 540, 551, 550, 549, 553, 552, 554, 540, - 556, 555, 557, 540, 560, 559, 558, 561, - 540, 562, 540, 564, 563, 0 + 92, 72, 79, 79, 79, 79, 57, 93, + 93, 93, 72, 94, 94, 94, 94, 94, + 94, 94, 94, 57, 95, 95, 95, 72, + 96, 96, 96, 96, 96, 96, 96, 96, + 57, 95, 95, 95, 72, 97, 96, 96, + 96, 96, 96, 96, 96, 57, 98, 98, + 98, 97, 98, 98, 98, 98, 98, 98, + 98, 98, 57, 100, 100, 100, 101, 99, + 102, 99, 103, 99, 104, 105, 103, 105, + 105, 105, 99, 107, 108, 106, 107, 108, + 109, 106, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 57, 112, 113, + 111, 112, 113, 114, 111, 116, 115, 117, + 117, 117, 117, 118, 117, 117, 117, 117, + 117, 117, 110, 120, 120, 120, 121, 119, + 122, 119, 123, 119, 124, 125, 123, 125, + 125, 125, 119, 127, 128, 126, 127, 128, + 129, 126, 132, 133, 131, 132, 133, 134, + 131, 136, 135, 137, 130, 138, 139, 137, + 130, 140, 130, 141, 130, 142, 143, 141, + 130, 144, 130, 145, 146, 144, 130, 147, + 130, 148, 130, 149, 130, 150, 130, 151, + 152, 150, 130, 155, 156, 154, 155, 156, + 157, 154, 159, 158, 161, 162, 160, 153, + 164, 166, 167, 163, 165, 165, 165, 153, + 164, 167, 163, 165, 165, 165, 153, 164, + 166, 168, 167, 163, 165, 165, 165, 153, + 164, 166, 169, 167, 163, 165, 165, 165, + 153, 164, 166, 170, 167, 163, 165, 165, + 165, 153, 164, 166, 171, 167, 163, 165, + 165, 165, 153, 164, 166, 172, 167, 163, + 165, 165, 165, 153, 164, 166, 173, 167, + 163, 165, 165, 165, 153, 164, 166, 174, + 167, 163, 165, 165, 165, 153, 175, 175, + 175, 166, 165, 165, 165, 153, 175, 175, + 175, 177, 176, 176, 176, 153, 164, 166, + 178, 179, 167, 163, 165, 165, 165, 153, + 164, 166, 180, 167, 163, 165, 165, 165, + 153, 164, 166, 181, 167, 163, 165, 165, + 165, 153, 164, 166, 182, 167, 163, 165, + 165, 165, 153, 164, 166, 183, 167, 163, + 165, 165, 165, 153, 164, 166, 184, 167, + 163, 165, 165, 165, 153, 164, 166, 185, + 167, 163, 165, 165, 165, 153, 164, 166, + 186, 167, 163, 165, 165, 165, 153, 166, + 165, 165, 165, 153, 164, 166, 187, 167, + 163, 165, 165, 165, 153, 164, 166, 188, + 167, 163, 165, 165, 165, 153, 164, 166, + 189, 167, 163, 165, 165, 165, 153, 164, + 166, 186, 167, 163, 165, 165, 165, 153, + 164, 166, 190, 167, 163, 165, 165, 165, + 153, 164, 166, 191, 167, 163, 165, 165, + 165, 153, 164, 166, 192, 167, 163, 165, + 165, 165, 153, 164, 166, 174, 167, 163, + 165, 165, 165, 153, 195, 196, 197, 194, + 195, 196, 194, 195, 196, 198, 194, 199, + 196, 200, 197, 200, 200, 200, 194, 202, + 203, 201, 202, 203, 204, 201, 206, 205, + 207, 193, 208, 193, 209, 193, 210, 193, + 211, 193, 212, 193, 213, 193, 214, 193, + 215, 215, 215, 193, 215, 215, 215, 216, + 216, 193, 218, 217, 217, 217, 217, 193, + 219, 193, 220, 193, 221, 193, 222, 193, + 223, 224, 222, 193, 225, 193, 226, 193, + 227, 193, 228, 193, 229, 229, 229, 193, + 230, 230, 230, 231, 231, 231, 231, 231, + 231, 231, 231, 193, 232, 232, 232, 233, + 233, 233, 233, 233, 233, 233, 233, 193, + 232, 232, 232, 234, 233, 233, 233, 233, + 233, 233, 233, 233, 193, 235, 235, 235, + 234, 235, 235, 235, 235, 235, 235, 235, + 235, 193, 237, 237, 237, 238, 236, 239, + 236, 240, 236, 241, 242, 240, 242, 242, + 242, 236, 244, 245, 243, 244, 245, 246, + 243, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 193, 249, 250, 248, + 249, 250, 251, 248, 253, 252, 255, 256, + 254, 247, 258, 260, 261, 257, 259, 259, + 259, 247, 258, 261, 257, 259, 259, 259, + 247, 258, 260, 262, 261, 257, 259, 259, + 259, 247, 258, 260, 263, 261, 257, 259, + 259, 259, 247, 258, 260, 264, 261, 257, + 259, 259, 259, 247, 258, 260, 265, 261, + 257, 259, 259, 259, 247, 258, 260, 266, + 261, 257, 259, 259, 259, 247, 258, 260, + 267, 261, 257, 259, 259, 259, 247, 258, + 260, 268, 261, 257, 259, 259, 259, 247, + 269, 269, 269, 260, 259, 259, 259, 247, + 269, 269, 269, 271, 270, 270, 270, 247, + 258, 260, 272, 273, 261, 257, 259, 259, + 259, 247, 258, 260, 274, 261, 257, 259, + 259, 259, 247, 258, 260, 275, 261, 257, + 259, 259, 259, 247, 258, 260, 276, 261, + 257, 259, 259, 259, 247, 258, 260, 277, + 261, 257, 259, 259, 259, 247, 258, 260, + 278, 261, 257, 259, 259, 259, 247, 258, + 260, 279, 261, 257, 259, 259, 259, 247, + 258, 260, 280, 261, 257, 259, 259, 259, + 247, 260, 259, 259, 259, 247, 258, 260, + 281, 261, 257, 259, 259, 259, 247, 258, + 260, 282, 261, 257, 259, 259, 259, 247, + 258, 260, 283, 261, 257, 259, 259, 259, + 247, 258, 260, 280, 261, 257, 259, 259, + 259, 247, 258, 260, 284, 261, 257, 259, + 259, 259, 247, 258, 260, 285, 261, 257, + 259, 259, 259, 247, 258, 260, 286, 261, + 257, 259, 259, 259, 247, 258, 260, 268, + 261, 257, 259, 259, 259, 247, 289, 290, + 291, 288, 289, 290, 288, 289, 290, 292, + 288, 293, 290, 294, 291, 294, 294, 294, + 288, 296, 297, 295, 296, 297, 298, 295, + 300, 299, 301, 287, 302, 287, 303, 287, + 304, 287, 305, 287, 306, 287, 307, 287, + 308, 287, 309, 287, 310, 287, 311, 312, + 310, 287, 313, 287, 314, 287, 315, 316, + 314, 287, 317, 316, 318, 318, 287, 320, + 319, 319, 319, 319, 287, 321, 287, 322, + 287, 323, 287, 324, 287, 325, 287, 326, + 287, 327, 287, 328, 329, 327, 287, 330, + 329, 331, 331, 287, 333, 332, 332, 332, + 332, 287, 334, 287, 335, 287, 336, 287, + 337, 287, 338, 339, 337, 287, 340, 342, + 339, 341, 341, 287, 344, 345, 344, 344, + 346, 347, 348, 347, 343, 347, 347, 347, + 287, 350, 351, 349, 287, 351, 340, 351, + 351, 352, 342, 339, 341, 341, 287, 353, + 287, 354, 287, 355, 356, 354, 356, 356, + 356, 287, 358, 359, 357, 358, 359, 360, + 357, 362, 364, 361, 363, 363, 287, 365, + 350, 365, 365, 366, 351, 349, 287, 366, + 366, 366, 367, 367, 367, 287, 368, 368, + 368, 369, 368, 368, 368, 368, 368, 287, + 371, 372, 370, 287, 373, 287, 374, 287, + 375, 287, 376, 287, 377, 287, 378, 287, + 379, 287, 380, 287, 381, 382, 380, 287, + 383, 385, 382, 384, 384, 287, 387, 389, + 390, 388, 386, 388, 388, 388, 287, 392, + 382, 391, 287, 388, 287, 393, 287, 394, + 287, 395, 287, 396, 287, 397, 287, 398, + 287, 399, 287, 400, 287, 401, 287, 402, + 287, 403, 287, 404, 405, 403, 287, 406, + 405, 407, 407, 287, 409, 408, 408, 408, + 408, 287, 410, 287, 411, 287, 412, 287, + 413, 287, 414, 287, 415, 416, 414, 287, + 417, 287, 418, 287, 419, 287, 420, 287, + 421, 287, 422, 287, 423, 287, 424, 287, + 425, 426, 424, 287, 429, 430, 431, 432, + 433, 434, 428, 427, 429, 428, 435, 1, + 5, 436, 437, 436, 438, 436, 439, 436, + 440, 436, 443, 444, 446, 447, 448, 442, + 445, 445, 441, 443, 442, 449, 451, 69, + 450, 71, 71, 71, 72, 79, 79, 79, + 79, 450, 71, 71, 71, 72, 79, 452, + 79, 79, 79, 450, 71, 71, 71, 72, + 79, 453, 79, 79, 79, 450, 100, 100, + 100, 101, 454, 455, 457, 456, 460, 461, + 463, 459, 462, 462, 458, 460, 459, 464, + 111, 115, 465, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 465, 120, 120, + 120, 121, 466, 467, 469, 468, 472, 473, + 474, 475, 476, 477, 478, 471, 470, 472, + 471, 479, 131, 135, 480, 481, 480, 482, + 480, 483, 480, 484, 480, 486, 485, 489, + 490, 492, 493, 488, 491, 491, 491, 487, + 489, 488, 494, 154, 158, 495, 164, 166, + 167, 163, 165, 165, 165, 495, 164, 166, + 496, 497, 167, 163, 165, 165, 165, 495, + 499, 498, 502, 503, 504, 505, 506, 507, + 508, 501, 500, 502, 501, 509, 511, 205, + 510, 512, 510, 513, 510, 514, 510, 515, + 510, 237, 237, 237, 238, 516, 517, 519, + 518, 522, 523, 525, 526, 521, 524, 524, + 524, 520, 522, 521, 527, 248, 252, 528, + 258, 260, 261, 257, 259, 259, 259, 528, + 258, 260, 529, 530, 261, 257, 259, 259, + 259, 528, 532, 531, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 534, 533, + 535, 534, 545, 547, 299, 546, 548, 546, + 549, 546, 552, 551, 550, 553, 554, 546, + 557, 556, 555, 559, 558, 560, 546, 562, + 561, 563, 546, 566, 565, 564, 567, 546, + 568, 546, 570, 569, 0 }; static const short _eo_tokenizer_trans_targs[] = { - 288, 0, 0, 1, 288, 2, 288, 4, + 292, 0, 0, 1, 292, 2, 292, 4, 5, 6, 7, 8, 9, 10, 10, 11, - 12, 13, 12, 14, 11, 288, 12, 12, - 288, 13, 14, 15, 16, 12, 12, 288, + 12, 13, 12, 14, 11, 292, 12, 12, + 292, 13, 14, 15, 16, 12, 12, 292, 17, 17, 15, 18, 16, 17, 17, 18, 18, 20, 21, 22, 10, 24, 25, 26, 27, 28, 29, 30, 10, 32, 33, 34, - 10, 295, 36, 36, 37, 38, 295, 38, - 39, 39, 39, 40, 295, 41, 295, 42, - 43, 44, 45, 44, 45, 45, 295, 46, - 48, 49, 50, 51, 52, 53, 53, 295, - 55, 56, 57, 58, 59, 60, 61, 301, - 295, 62, 63, 64, 65, 65, 66, 66, - 66, 67, 302, 304, 68, 68, 69, 304, - 70, 304, 71, 308, 304, 72, 73, 74, - 75, 75, 76, 76, 76, 77, 309, 311, - 78, 78, 79, 311, 80, 311, 82, 82, - 311, 84, 85, 85, 311, 87, 87, 311, - 89, 90, 91, 92, 92, 311, 319, 93, - 93, 94, 319, 95, 319, 96, 96, 319, - 96, 96, 97, 98, 319, 100, 101, 102, - 103, 104, 105, 106, 107, 97, 108, 109, - 117, 110, 111, 112, 113, 114, 115, 116, - 118, 119, 120, 122, 123, 124, 325, 126, - 126, 127, 128, 325, 128, 129, 129, 129, - 130, 325, 131, 325, 133, 134, 135, 325, - 137, 138, 139, 140, 141, 142, 142, 325, - 144, 145, 146, 147, 147, 325, 149, 150, - 151, 152, 153, 154, 155, 332, 325, 156, - 157, 158, 159, 159, 160, 160, 160, 161, - 333, 335, 162, 162, 163, 335, 164, 335, - 165, 165, 335, 165, 165, 166, 167, 335, - 169, 170, 171, 172, 173, 174, 175, 176, - 166, 177, 178, 186, 179, 180, 181, 182, - 183, 184, 185, 187, 188, 189, 191, 192, - 193, 341, 195, 195, 196, 197, 341, 197, - 198, 198, 198, 199, 341, 200, 341, 202, - 203, 204, 205, 206, 207, 208, 209, 210, - 211, 211, 341, 213, 214, 214, 215, 215, - 216, 216, 346, 218, 219, 220, 221, 222, - 223, 224, 224, 225, 225, 226, 226, 348, - 228, 229, 230, 231, 231, 232, 232, 233, - 349, 234, 242, 234, 243, 233, 235, 234, - 234, 235, 236, 237, 238, 238, 239, 239, - 239, 240, 241, 232, 232, 233, 349, 242, - 243, 244, 244, 245, 234, 234, 235, 247, - 248, 249, 250, 251, 252, 253, 254, 254, - 255, 255, 256, 351, 257, 257, 256, 258, - 255, 257, 257, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 270, 271, - 271, 272, 272, 353, 274, 275, 276, 277, - 278, 278, 341, 280, 281, 282, 283, 284, - 285, 286, 287, 287, 341, 288, 289, 289, - 290, 291, 292, 293, 294, 288, 288, 3, - 19, 23, 31, 295, 296, 296, 297, 298, - 299, 300, 303, 295, 295, 35, 47, 54, - 295, 295, 295, 295, 304, 305, 305, 306, - 307, 310, 304, 304, 304, 304, 304, 304, - 311, 312, 312, 313, 314, 315, 316, 317, - 318, 311, 311, 81, 83, 86, 88, 311, - 311, 319, 320, 320, 321, 322, 323, 324, - 319, 319, 99, 121, 319, 319, 325, 326, - 326, 327, 328, 329, 330, 331, 334, 325, - 325, 125, 132, 136, 143, 148, 325, 325, - 325, 325, 335, 336, 336, 337, 338, 339, - 340, 335, 335, 168, 190, 335, 335, 341, - 342, 342, 343, 344, 345, 347, 350, 352, - 354, 355, 356, 341, 341, 194, 201, 212, - 341, 346, 346, 217, 227, 341, 348, 348, - 341, 341, 246, 341, 341, 259, 341, 353, - 353, 273, 279, 341, 341 + 10, 299, 36, 36, 37, 38, 299, 38, + 39, 39, 39, 40, 299, 41, 299, 42, + 43, 44, 45, 44, 45, 45, 299, 46, + 48, 49, 50, 51, 52, 53, 53, 299, + 55, 56, 57, 58, 59, 60, 69, 61, + 62, 305, 62, 299, 63, 64, 65, 66, + 66, 67, 67, 67, 68, 306, 308, 70, + 70, 71, 308, 72, 308, 73, 312, 308, + 74, 75, 76, 77, 77, 78, 78, 78, + 79, 313, 315, 80, 80, 81, 315, 82, + 315, 84, 84, 315, 86, 87, 87, 315, + 89, 89, 315, 91, 92, 93, 94, 94, + 315, 323, 95, 95, 96, 323, 97, 323, + 98, 98, 323, 98, 98, 99, 100, 323, + 102, 103, 104, 105, 106, 107, 108, 109, + 99, 110, 111, 119, 112, 113, 114, 115, + 116, 117, 118, 120, 121, 122, 124, 125, + 126, 329, 128, 128, 129, 130, 329, 130, + 131, 131, 131, 132, 329, 133, 329, 135, + 136, 137, 329, 139, 140, 141, 142, 143, + 144, 144, 329, 146, 147, 148, 149, 149, + 329, 151, 152, 153, 154, 155, 156, 165, + 157, 158, 336, 158, 329, 159, 160, 161, + 162, 162, 163, 163, 163, 164, 337, 339, + 166, 166, 167, 339, 168, 339, 169, 169, + 339, 169, 169, 170, 171, 339, 173, 174, + 175, 176, 177, 178, 179, 180, 170, 181, + 182, 190, 183, 184, 185, 186, 187, 188, + 189, 191, 192, 193, 195, 196, 197, 345, + 199, 199, 200, 201, 345, 201, 202, 202, + 202, 203, 345, 204, 345, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 215, + 345, 217, 218, 218, 219, 219, 220, 220, + 350, 222, 223, 224, 225, 226, 227, 228, + 228, 229, 229, 230, 230, 352, 232, 233, + 234, 235, 235, 236, 236, 237, 353, 238, + 246, 238, 247, 237, 239, 238, 238, 239, + 240, 241, 242, 242, 243, 243, 243, 244, + 245, 236, 236, 237, 353, 246, 247, 248, + 248, 249, 238, 238, 239, 251, 252, 253, + 254, 255, 256, 257, 258, 258, 259, 259, + 260, 355, 261, 261, 260, 262, 259, 261, + 261, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 274, 275, 275, 276, + 276, 357, 278, 279, 280, 281, 282, 282, + 345, 284, 285, 286, 287, 288, 289, 290, + 291, 291, 345, 292, 293, 293, 294, 295, + 296, 297, 298, 292, 292, 3, 19, 23, + 31, 299, 300, 300, 301, 302, 303, 304, + 307, 299, 299, 35, 47, 54, 299, 299, + 299, 299, 308, 309, 309, 310, 311, 314, + 308, 308, 308, 308, 308, 308, 315, 316, + 316, 317, 318, 319, 320, 321, 322, 315, + 315, 83, 85, 88, 90, 315, 315, 323, + 324, 324, 325, 326, 327, 328, 323, 323, + 101, 123, 323, 323, 329, 330, 330, 331, + 332, 333, 334, 335, 338, 329, 329, 127, + 134, 138, 145, 150, 329, 329, 329, 329, + 339, 340, 340, 341, 342, 343, 344, 339, + 339, 172, 194, 339, 339, 345, 346, 346, + 347, 348, 349, 351, 354, 356, 358, 359, + 360, 345, 345, 198, 205, 216, 345, 350, + 350, 221, 231, 345, 352, 352, 345, 345, + 250, 345, 345, 263, 345, 357, 357, 277, + 283, 345, 345 }; static const short _eo_tokenizer_trans_actions[] = { @@ -1123,66 +1147,67 @@ static const short _eo_tokenizer_trans_actions[] = { 3, 0, 1, 0, 45, 0, 207, 0, 0, 5, 237, 0, 3, 0, 240, 0, 0, 0, 0, 0, 0, 3, 0, 234, - 0, 0, 0, 0, 0, 3, 0, 303, - 61, 0, 0, 0, 0, 1, 3, 0, - 1, 0, 0, 81, 0, 1, 0, 65, - 0, 210, 0, 306, 79, 0, 0, 0, - 0, 1, 3, 0, 1, 0, 0, 103, - 0, 1, 0, 83, 0, 213, 0, 1, - 85, 0, 0, 1, 89, 0, 1, 87, - 0, 0, 0, 0, 1, 91, 119, 0, - 1, 0, 105, 0, 216, 0, 1, 107, - 7, 246, 0, 0, 249, 0, 0, 0, - 0, 0, 0, 0, 0, 312, 312, 0, + 0, 0, 0, 0, 0, 3, 3, 3, + 3, 303, 0, 61, 0, 0, 0, 0, + 1, 3, 0, 1, 0, 0, 81, 0, + 1, 0, 65, 0, 210, 0, 306, 79, + 0, 0, 0, 0, 1, 3, 0, 1, + 0, 0, 103, 0, 1, 0, 83, 0, + 213, 0, 1, 85, 0, 0, 1, 89, + 0, 1, 87, 0, 0, 0, 0, 1, + 91, 119, 0, 1, 0, 105, 0, 216, + 0, 1, 107, 7, 246, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 0, - 1, 0, 0, 123, 1, 3, 0, 1, - 0, 121, 0, 219, 0, 0, 0, 258, - 0, 0, 0, 0, 0, 3, 0, 255, - 0, 0, 0, 0, 1, 125, 0, 0, - 0, 0, 0, 3, 0, 309, 139, 0, - 0, 0, 0, 1, 3, 0, 1, 0, - 0, 157, 0, 1, 0, 143, 0, 222, - 0, 1, 145, 9, 261, 0, 0, 264, + 312, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 316, 316, 0, 0, 0, 0, 0, 0, + 0, 141, 0, 1, 0, 0, 123, 1, + 3, 0, 1, 0, 121, 0, 219, 0, + 0, 0, 258, 0, 0, 0, 0, 0, + 3, 0, 255, 0, 0, 0, 0, 1, + 125, 0, 0, 0, 0, 0, 3, 3, + 3, 3, 309, 0, 139, 0, 0, 0, + 0, 1, 3, 0, 1, 0, 0, 157, + 0, 1, 0, 143, 0, 222, 0, 1, + 145, 9, 261, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 0, 0, 316, 316, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 0, 1, 0, 0, 161, 1, - 3, 0, 1, 0, 159, 0, 225, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 167, 0, 0, 1, 0, 1, - 3, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 1, 3, 0, 23, - 0, 0, 0, 0, 1, 0, 1, 3, - 0, 15, 15, 276, 15, 0, 15, 0, - 1, 0, 0, 0, 0, 1, 3, 0, - 1, 0, 0, 19, 282, 285, 19, 0, - 0, 3, 0, 0, 17, 279, 17, 0, + 0, 0, 0, 0, 0, 0, 0, 193, + 0, 1, 0, 0, 161, 1, 3, 0, + 1, 0, 159, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 1, 3, 0, 27, 288, 0, 0, - 27, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, - 1, 3, 0, 21, 0, 0, 0, 0, - 0, 1, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 169, 199, 0, 1, - 297, 43, 43, 43, 43, 201, 203, 0, - 0, 0, 0, 51, 0, 1, 297, 300, - 300, 300, 0, 53, 59, 0, 0, 0, - 55, 231, 57, 49, 69, 0, 1, 297, - 300, 0, 71, 77, 73, 243, 75, 67, - 95, 0, 1, 297, 43, 43, 43, 43, - 0, 97, 101, 0, 0, 0, 0, 99, - 93, 111, 0, 1, 297, 300, 300, 0, - 113, 117, 0, 0, 115, 109, 129, 0, - 1, 297, 43, 43, 43, 43, 0, 131, - 137, 0, 0, 0, 0, 0, 133, 252, - 135, 127, 149, 0, 1, 297, 300, 300, - 0, 151, 155, 0, 0, 153, 147, 175, - 0, 1, 297, 43, 43, 43, 43, 43, - 43, 43, 0, 177, 191, 0, 0, 0, - 183, 0, 1, 0, 0, 181, 0, 1, - 187, 165, 0, 185, 163, 0, 179, 0, - 1, 0, 0, 189, 173 + 167, 0, 0, 1, 0, 1, 3, 0, + 25, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 3, 0, 23, 0, 0, + 0, 0, 1, 0, 1, 3, 0, 15, + 15, 276, 15, 0, 15, 0, 1, 0, + 0, 0, 0, 1, 3, 0, 1, 0, + 0, 19, 282, 285, 19, 0, 0, 3, + 0, 0, 17, 279, 17, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 1, + 3, 0, 27, 288, 0, 0, 27, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 3, + 0, 21, 0, 0, 0, 0, 0, 1, + 171, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 169, 199, 0, 1, 297, 43, + 43, 43, 43, 201, 203, 0, 0, 0, + 0, 51, 0, 1, 297, 300, 300, 300, + 0, 53, 59, 0, 0, 0, 55, 231, + 57, 49, 69, 0, 1, 297, 300, 0, + 71, 77, 73, 243, 75, 67, 95, 0, + 1, 297, 43, 43, 43, 43, 0, 97, + 101, 0, 0, 0, 0, 99, 93, 111, + 0, 1, 297, 300, 300, 0, 113, 117, + 0, 0, 115, 109, 129, 0, 1, 297, + 43, 43, 43, 43, 0, 131, 137, 0, + 0, 0, 0, 0, 133, 252, 135, 127, + 149, 0, 1, 297, 300, 300, 0, 151, + 155, 0, 0, 153, 147, 175, 0, 1, + 297, 43, 43, 43, 43, 43, 43, 43, + 0, 177, 191, 0, 0, 0, 183, 0, + 1, 0, 0, 181, 0, 1, 187, 165, + 0, 185, 163, 0, 179, 0, 1, 0, + 0, 189, 173 }; static const short _eo_tokenizer_to_state_actions[] = { @@ -1222,15 +1247,16 @@ static const short _eo_tokenizer_to_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 39, + 0, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 0, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 0, 39, 0, 0, 0, 0, + 0, 0, 0, 39, 0, 0, 0, 0, + 0, 39, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 39, 0, 0, 0, 0, + 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 39, - 0, 0, 0, 0, 0, 0, 0, 39, - 0, 0, 0, 0, 0, 39, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 39, - 0, 0, 0, 0, 0, 39, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 + 0 }; static const short _eo_tokenizer_from_state_actions[] = { @@ -1270,15 +1296,16 @@ static const short _eo_tokenizer_from_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 41, 0, 0, 0, 0, 0, 0, 41, + 0, 0, 0, 0, 41, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 41, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 0, 0, + 0, 41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 0, 0, + 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 41, 0, 0, 0, 0, 0, 0, 41, - 0, 0, 0, 0, 0, 0, 0, 41, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 41, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 + 0 }; static const short _eo_tokenizer_eof_trans[] = { @@ -1289,58 +1316,59 @@ static const short _eo_tokenizer_eof_trans[] = { 1, 1, 1, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 97, 97, - 97, 97, 97, 97, 108, 108, 108, 108, - 117, 117, 117, 117, 117, 117, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 231, 231, 231, 231, - 231, 231, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 282, 282, 282, 282, 282, 282, 282, 282, - 0, 430, 431, 431, 431, 431, 431, 0, - 444, 445, 445, 445, 445, 449, 450, 451, - 0, 459, 460, 460, 461, 462, 463, 0, - 474, 475, 475, 475, 475, 475, 480, 0, - 489, 490, 490, 490, 493, 0, 504, 505, - 505, 505, 505, 505, 511, 512, 513, 0, - 522, 523, 523, 523, 526, 0, 540, 541, - 541, 541, 545, 541, 550, 553, 541, 556, - 541, 559, 541, 541, 564 + 58, 58, 58, 58, 58, 58, 58, 100, + 100, 100, 100, 100, 100, 58, 111, 111, + 111, 111, 120, 120, 120, 120, 120, 120, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 154, + 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 194, + 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 237, + 237, 237, 237, 237, 237, 194, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 0, 436, 437, 437, + 437, 437, 437, 0, 450, 451, 451, 451, + 451, 455, 456, 457, 0, 465, 466, 466, + 467, 468, 469, 0, 480, 481, 481, 481, + 481, 481, 486, 0, 495, 496, 496, 496, + 499, 0, 510, 511, 511, 511, 511, 511, + 517, 518, 519, 0, 528, 529, 529, 529, + 532, 0, 546, 547, 547, 547, 551, 547, + 556, 559, 547, 562, 547, 565, 547, 547, + 570 }; -static const int eo_tokenizer_start = 288; -static const int eo_tokenizer_first_final = 288; +static const int eo_tokenizer_start = 292; +static const int eo_tokenizer_first_final = 292; static const int eo_tokenizer_error = -1; -static const int eo_tokenizer_en_tokenize_accessor = 295; -static const int eo_tokenizer_en_tokenize_params = 304; -static const int eo_tokenizer_en_tokenize_property = 311; -static const int eo_tokenizer_en_tokenize_properties = 319; -static const int eo_tokenizer_en_tokenize_method = 325; -static const int eo_tokenizer_en_tokenize_methods = 335; -static const int eo_tokenizer_en_tokenize_class = 341; -static const int eo_tokenizer_en_main = 288; +static const int eo_tokenizer_en_tokenize_accessor = 299; +static const int eo_tokenizer_en_tokenize_params = 308; +static const int eo_tokenizer_en_tokenize_property = 315; +static const int eo_tokenizer_en_tokenize_properties = 323; +static const int eo_tokenizer_en_tokenize_method = 329; +static const int eo_tokenizer_en_tokenize_methods = 339; +static const int eo_tokenizer_en_tokenize_class = 345; +static const int eo_tokenizer_en_main = 292; #line 967 "lib/eolian/eo_lexer.rl" @@ -1367,7 +1395,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source) } -#line 1371 "lib/eolian/eo_lexer.c" +#line 1399 "lib/eolian/eo_lexer.c" { toknz->cs = eo_tokenizer_start; toknz->ts = 0; @@ -1402,7 +1430,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source) } -#line 1406 "lib/eolian/eo_lexer.c" +#line 1434 "lib/eolian/eo_lexer.c" { int _klen; unsigned int _trans; @@ -1421,7 +1449,7 @@ _resume: #line 1 "NONE" { toknz->ts = ( toknz->p);} break; -#line 1425 "lib/eolian/eo_lexer.c" +#line 1453 "lib/eolian/eo_lexer.c" } } @@ -1790,7 +1818,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 41: @@ -1828,7 +1856,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 45: @@ -1887,9 +1915,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 325; goto _again;} + { toknz->cs = 329; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -1928,9 +1956,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 325; goto _again;} + { toknz->cs = 329; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -1990,7 +2018,7 @@ _eof_trans: INF(" get {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER); toknz->current_nesting++; - { toknz->cs = 295; goto _again;} + { toknz->cs = 299; goto _again;} }} break; case 59: @@ -1999,7 +2027,7 @@ _eof_trans: INF(" set {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER); toknz->current_nesting++; - { toknz->cs = 295; goto _again;} + { toknz->cs = 299; goto _again;} }} break; case 60: @@ -2008,7 +2036,7 @@ _eof_trans: INF(" keys {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->keys); - { toknz->cs = 304; goto _again;} + { toknz->cs = 308; goto _again;} }} break; case 61: @@ -2017,7 +2045,7 @@ _eof_trans: INF(" values {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->values); - { toknz->cs = 304; goto _again;} + { toknz->cs = 308; goto _again;} }} break; case 62: @@ -2031,7 +2059,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 319; goto _again;} + { toknz->cs = 323; goto _again;} }} break; case 63: @@ -2068,7 +2096,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 319; goto _again;} + { toknz->cs = 323; goto _again;} }} break; case 66: @@ -2122,7 +2150,7 @@ _eof_trans: if (!toknz->tmp.prop) ABORT(toknz, "No property!!!"); INF(" %s {", toknz->tmp.prop->name); toknz->current_nesting++; - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 70: @@ -2130,7 +2158,7 @@ _eof_trans: { toknz->te = ( toknz->p)+1;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 71: @@ -2161,7 +2189,7 @@ _eof_trans: { toknz->te = ( toknz->p);( toknz->p)--;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 74: @@ -2226,7 +2254,7 @@ _eof_trans: INF(" params {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.meth->params); - { toknz->cs = 304; goto _again;} + { toknz->cs = 308; goto _again;} }} break; case 79: @@ -2258,7 +2286,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 82: @@ -2309,7 +2337,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 86: @@ -2367,7 +2395,7 @@ _eof_trans: if (!toknz->tmp.meth) ABORT(toknz, "No method!!!"); INF(" %s {", toknz->tmp.meth->name); toknz->current_nesting++; - { toknz->cs = 325; goto _again;} + { toknz->cs = 329; goto _again;} }} break; case 91: @@ -2376,7 +2404,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 92: @@ -2408,7 +2436,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 95: @@ -2482,7 +2510,7 @@ _eof_trans: toknz->current_methods_type = METH_CONSTRUCTOR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 102: @@ -2491,7 +2519,7 @@ _eof_trans: INF(" properties {"); toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 319; goto _again;} + { toknz->cs = 323; goto _again;} }} break; case 103: @@ -2501,7 +2529,7 @@ _eof_trans: toknz->current_methods_type = METH_REGULAR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 104: @@ -2512,7 +2540,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 288; goto _again;} + { toknz->cs = 292; goto _again;} }} break; case 105: @@ -2568,7 +2596,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 288; goto _again;} + { toknz->cs = 292; goto _again;} }} break; case 113: @@ -2622,7 +2650,7 @@ _eof_trans: if (!toknz->tmp.kls) ABORT(toknz, "No class!!!"); INF("begin class: %s", toknz->tmp.kls->name); toknz->current_nesting++; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 117: @@ -2686,7 +2714,7 @@ _eof_trans: {( toknz->p)++; goto _out; } /* necessary to stop scanners */ }} break; -#line 2690 "lib/eolian/eo_lexer.c" +#line 2718 "lib/eolian/eo_lexer.c" } } @@ -2699,7 +2727,7 @@ _again: #line 1 "NONE" { toknz->ts = 0;} break; -#line 2703 "lib/eolian/eo_lexer.c" +#line 2731 "lib/eolian/eo_lexer.c" } } @@ -2720,7 +2748,7 @@ _again: #line 1016 "lib/eolian/eo_lexer.rl" if ( toknz->cs == -#line 2724 "lib/eolian/eo_lexer.c" +#line 2752 "lib/eolian/eo_lexer.c" -1 #line 1017 "lib/eolian/eo_lexer.rl" ) @@ -2768,7 +2796,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns Eina_Bool ret = EINA_TRUE; -#line 2772 "lib/eolian/eo_lexer.c" +#line 2800 "lib/eolian/eo_lexer.c" { toknz->cs = eo_tokenizer_start; toknz->ts = 0; @@ -2785,7 +2813,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns toknz->eof = toknz->pe; -#line 2789 "lib/eolian/eo_lexer.c" +#line 2817 "lib/eolian/eo_lexer.c" { int _klen; unsigned int _trans; @@ -2804,7 +2832,7 @@ _resume: #line 1 "NONE" { toknz->ts = ( toknz->p);} break; -#line 2808 "lib/eolian/eo_lexer.c" +#line 2836 "lib/eolian/eo_lexer.c" } } @@ -3173,7 +3201,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 41: @@ -3211,7 +3239,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 45: @@ -3270,9 +3298,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 325; goto _again;} + { toknz->cs = 329; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -3311,9 +3339,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 325; goto _again;} + { toknz->cs = 329; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -3373,7 +3401,7 @@ _eof_trans: INF(" get {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER); toknz->current_nesting++; - { toknz->cs = 295; goto _again;} + { toknz->cs = 299; goto _again;} }} break; case 59: @@ -3382,7 +3410,7 @@ _eof_trans: INF(" set {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER); toknz->current_nesting++; - { toknz->cs = 295; goto _again;} + { toknz->cs = 299; goto _again;} }} break; case 60: @@ -3391,7 +3419,7 @@ _eof_trans: INF(" keys {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->keys); - { toknz->cs = 304; goto _again;} + { toknz->cs = 308; goto _again;} }} break; case 61: @@ -3400,7 +3428,7 @@ _eof_trans: INF(" values {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->values); - { toknz->cs = 304; goto _again;} + { toknz->cs = 308; goto _again;} }} break; case 62: @@ -3414,7 +3442,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 319; goto _again;} + { toknz->cs = 323; goto _again;} }} break; case 63: @@ -3451,7 +3479,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 319; goto _again;} + { toknz->cs = 323; goto _again;} }} break; case 66: @@ -3505,7 +3533,7 @@ _eof_trans: if (!toknz->tmp.prop) ABORT(toknz, "No property!!!"); INF(" %s {", toknz->tmp.prop->name); toknz->current_nesting++; - { toknz->cs = 311; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 70: @@ -3513,7 +3541,7 @@ _eof_trans: { toknz->te = ( toknz->p)+1;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 71: @@ -3544,7 +3572,7 @@ _eof_trans: { toknz->te = ( toknz->p);( toknz->p)--;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 74: @@ -3609,7 +3637,7 @@ _eof_trans: INF(" params {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.meth->params); - { toknz->cs = 304; goto _again;} + { toknz->cs = 308; goto _again;} }} break; case 79: @@ -3641,7 +3669,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 82: @@ -3692,7 +3720,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 86: @@ -3750,7 +3778,7 @@ _eof_trans: if (!toknz->tmp.meth) ABORT(toknz, "No method!!!"); INF(" %s {", toknz->tmp.meth->name); toknz->current_nesting++; - { toknz->cs = 325; goto _again;} + { toknz->cs = 329; goto _again;} }} break; case 91: @@ -3759,7 +3787,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 92: @@ -3791,7 +3819,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 95: @@ -3865,7 +3893,7 @@ _eof_trans: toknz->current_methods_type = METH_CONSTRUCTOR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 102: @@ -3874,7 +3902,7 @@ _eof_trans: INF(" properties {"); toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 319; goto _again;} + { toknz->cs = 323; goto _again;} }} break; case 103: @@ -3884,7 +3912,7 @@ _eof_trans: toknz->current_methods_type = METH_REGULAR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 335; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 104: @@ -3895,7 +3923,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 288; goto _again;} + { toknz->cs = 292; goto _again;} }} break; case 105: @@ -3951,7 +3979,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 288; goto _again;} + { toknz->cs = 292; goto _again;} }} break; case 113: @@ -4005,7 +4033,7 @@ _eof_trans: if (!toknz->tmp.kls) ABORT(toknz, "No class!!!"); INF("begin class: %s", toknz->tmp.kls->name); toknz->current_nesting++; - { toknz->cs = 341; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 117: @@ -4069,7 +4097,7 @@ _eof_trans: {( toknz->p)++; goto _out; } /* necessary to stop scanners */ }} break; -#line 4073 "lib/eolian/eo_lexer.c" +#line 4101 "lib/eolian/eo_lexer.c" } } @@ -4082,7 +4110,7 @@ _again: #line 1 "NONE" { toknz->ts = 0;} break; -#line 4086 "lib/eolian/eo_lexer.c" +#line 4114 "lib/eolian/eo_lexer.c" } } @@ -4103,7 +4131,7 @@ _again: #line 1070 "lib/eolian/eo_lexer.rl" if ( toknz->cs == -#line 4107 "lib/eolian/eo_lexer.c" +#line 4135 "lib/eolian/eo_lexer.c" -1 #line 1071 "lib/eolian/eo_lexer.rl" ) @@ -4247,10 +4275,10 @@ _types_extract(const char *buf, int len) /* @own */ case '@': { - if (!strncmp(buf, "own", 3)) + if (!strncmp(buf, "own ", 4)) { is_own = EINA_TRUE; - buf += 3; len -= 3; + buf += 4; len -= 4; } break; } @@ -4293,7 +4321,7 @@ _types_extract(const char *buf, int len) ERR("%s: Too much >", save_buf); goto error; } - if (d == tmp_type) + if (depth > 0 && d == tmp_type) { ERR("%s: empty type inside <>", save_buf); goto error; diff --git a/src/lib/eolian/eo_lexer.rl b/src/lib/eolian/eo_lexer.rl index 475c315590..cf1d82e3ba 100644 --- a/src/lib/eolian/eo_lexer.rl +++ b/src/lib/eolian/eo_lexer.rl @@ -500,7 +500,7 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p) } rettype_comment = ws* eo_comment %end_accessor_rettype_comment; - rettype = 'return' ws+ alpha+ >save_fpc return_char+ %end_accessor_return end_statement rettype_comment?; + rettype = 'return' ws+ return_char >save_fpc return_char+ %end_accessor_return end_statement rettype_comment?; legacy = 'legacy' ws+ ident %end_accessor_legacy end_statement; @@ -724,7 +724,7 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p) meth_legacy = 'legacy' ws+ ident %end_method_legacy end_statement; meth_rettype_comment = ws* eo_comment %end_method_rettype_comment; - meth_rettype = 'return' ws+ alpha+ >save_fpc return_char+ %end_method_rettype end_statement meth_rettype_comment?; + meth_rettype = 'return' ws+ return_char >save_fpc return_char+ %end_method_rettype end_statement meth_rettype_comment?; meth_obj_const = 'const' %end_method_obj_const end_statement; @@ -1209,10 +1209,10 @@ _types_extract(const char *buf, int len) /* @own */ case '@': { - if (!strncmp(buf, "own", 3)) + if (!strncmp(buf, "own ", 4)) { is_own = EINA_TRUE; - buf += 3; len -= 3; + buf += 4; len -= 4; } break; } @@ -1255,7 +1255,7 @@ _types_extract(const char *buf, int len) ERR("%s: Too much >", save_buf); goto error; } - if (d == tmp_type) + if (depth > 0 && d == tmp_type) { ERR("%s: empty type inside <>", save_buf); goto error; diff --git a/src/tests/eolian/data/complex_type.eo b/src/tests/eolian/data/complex_type.eo new file mode 100644 index 0000000000..341091afbb --- /dev/null +++ b/src/tests/eolian/data/complex_type.eo @@ -0,0 +1,22 @@ +class Complex_Type { + properties { + a { + set { + return @own Eina_List * >; + } + get { + } + values { + @own Eina_List * value; + } + } + } + methods { + foo { + params { + @own char *buf; + } + return @own Eina_List *; /*@ comment for method return */ + } + } +} diff --git a/src/tests/eolian/eolian_suite.c b/src/tests/eolian/eolian_suite.c index a3241998c8..a9e4e772e2 100644 --- a/src/tests/eolian/eolian_suite.c +++ b/src/tests/eolian/eolian_suite.c @@ -52,6 +52,68 @@ START_TEST(eolian_ctor_dtor) } END_TEST +START_TEST(eolian_complex_type) +{ + Eolian_Function fid = NULL; + Eolian_Function_Parameter param = NULL; + const Eina_List *params_list = NULL; + const char *class_name = "Complex_Type"; + Eolian_Type types_list = NULL; + const char *type_name = NULL; + Eina_Bool own = EINA_FALSE; + + eolian_init(); + /* Parsing */ + fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/complex_type.eo")); + + /* Properties return type */ + fail_if(!(fid = eolian_class_function_find_by_name(class_name, "a", EOLIAN_PROPERTY))); + fail_if(!(types_list = eolian_function_return_types_list_get(fid, EOLIAN_PROP_SET))); + fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, &own))); + fail_if(strcmp(type_name, "Eina_List *")); + fail_if(own != EINA_TRUE); + fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, &own))); + fail_if(strcmp(type_name, "Eina_Array *")); + fail_if(own != EINA_FALSE); + fail_if(eolian_type_information_get(types_list, &type_name, &own)); + fail_if(strcmp(type_name, "Eo **")); + fail_if(own != EINA_TRUE); + /* Properties parameter type */ + fail_if(!(params_list = eolian_parameters_list_get(fid))); + fail_if(eina_list_count(params_list) != 1); + fail_if(!(param = eina_list_nth(params_list, 0))); + fail_if(strcmp(eolian_parameter_name_get(param), "value")); + fail_if(!(types_list = eolian_parameter_types_list_get(param))); + fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, &own))); + fail_if(strcmp(type_name, "Eina_List *")); + fail_if(own != EINA_TRUE); + fail_if(eolian_type_information_get(types_list, &type_name, &own)); + fail_if(strcmp(type_name, "int")); + fail_if(own != EINA_FALSE); + + /* Methods return type */ + fail_if(!(fid = eolian_class_function_find_by_name(class_name, "foo", EOLIAN_METHOD))); + fail_if(!(types_list = eolian_function_return_types_list_get(fid, EOLIAN_METHOD))); + fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, &own))); + fail_if(strcmp(type_name, "Eina_List *")); + fail_if(own != EINA_TRUE); + fail_if(eolian_type_information_get(types_list, &type_name, &own)); + fail_if(strcmp(type_name, "Eina_Stringshare *")); + fail_if(own != EINA_FALSE); + /* Methods parameter type */ + fail_if(!(params_list = eolian_parameters_list_get(fid))); + fail_if(eina_list_count(params_list) != 1); + fail_if(!(param = eina_list_nth(params_list, 0))); + fail_if(strcmp(eolian_parameter_name_get(param), "buf")); + fail_if(!(types_list = eolian_parameter_types_list_get(param))); + fail_if(eolian_type_information_get(types_list, &type_name, &own)); + fail_if(strcmp(type_name, "char *")); + fail_if(own != EINA_TRUE); + + eolian_shutdown(); +} +END_TEST + START_TEST(eolian_scope) { Eolian_Function fid = NULL; @@ -187,6 +249,7 @@ static void eolian_parsing_test(TCase *tc) tcase_add_test(tc, eolian_simple_parsing); tcase_add_test(tc, eolian_ctor_dtor); tcase_add_test(tc, eolian_scope); + tcase_add_test(tc, eolian_complex_type); } static const Eolian_Test_Case etc[] = {