summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2014-04-30 12:03:09 +0300
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-05-26 08:40:58 +0300
commit6269502a00c34329d2451631eb4605f98ad52084 (patch)
tree59f48b66294f4318a3b0d1ec8900142f92e8fce2
parent58bdac7977af96f88469c091856921aa2645b945 (diff)
downloadefl-6269502a00c34329d2451631eb4605f98ad52084.tar.gz
Eolian: add support for typedefs.
It includes parser updates, database fill and tests on basic and complex types. One can define types in this way: type Evas_Coord: int; /* Simple type definition */ type List_Objects: Eina_List * <Eo *>; @feature
-rw-r--r--src/Makefile_Eolian.am3
-rw-r--r--src/lib/eolian/Eolian.h11
-rw-r--r--src/lib/eolian/eo_definitions.c11
-rw-r--r--src/lib/eolian/eo_definitions.h9
-rw-r--r--src/lib/eolian/eo_lexer.c2629
-rw-r--r--src/lib/eolian/eo_lexer.h3
-rw-r--r--src/lib/eolian/eo_lexer.rl39
-rw-r--r--src/lib/eolian/eolian_database.c45
-rw-r--r--src/lib/eolian/eolian_database.h3
-rw-r--r--src/tests/eolian/data/typedef.eo13
-rw-r--r--src/tests/eolian/eolian_suite.c33
11 files changed, 1526 insertions, 1273 deletions
diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index fa9111a4c0..a9baa38155 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -83,5 +83,6 @@ tests/eolian/data/base.eo \
tests/eolian/data/class_simple.eo \
tests/eolian/data/scope.eo \
tests/eolian/data/ctor_dtor.eo \
-tests/eolian/data/complex_type.eo
+tests/eolian/data/complex_type.eo \
+tests/eolian/data/typedef.eo
diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 63bfa65d36..8bb777020f 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -638,6 +638,17 @@ EAPI Eina_Bool eolian_class_ctor_enable_get(const char *class_name);
*/
EAPI Eina_Bool eolian_class_dtor_enable_get(const char *class_name);
+/*
+ * @brief Find the type for a certain alias
+ *
+ * @param[in] alias alias of the type definition
+ * @return real type of the type definition
+ *
+ * @ingroup Eolian
+ */
+EAPI Eolian_Type
+eolian_type_find_by_alias(const char *alias);
+
#endif
#ifdef __cplusplus
diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c
index 2072807b08..a5423b18c0 100644
--- a/src/lib/eolian/eo_definitions.c
+++ b/src/lib/eolian/eo_definitions.c
@@ -113,6 +113,17 @@ eo_definitions_impl_def_free(Eo_Implement_Def *impl)
}
void
+eo_definitions_type_def_free(Eo_Type_Def *type)
+{
+ if (type->alias)
+ eina_stringshare_del(type->alias);
+ if (type->type)
+ eina_stringshare_del(type->type);
+
+ free(type);
+}
+
+void
eo_definitions_class_def_free(Eo_Class_Def *kls)
{
const char *s;
diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h
index c535aa7e04..56f7401a89 100644
--- a/src/lib/eolian/eo_definitions.h
+++ b/src/lib/eolian/eo_definitions.h
@@ -130,6 +130,15 @@ typedef struct _eo_class_def
Eina_List *methods;
} Eo_Class_Def;
+/* TYPE */
+
+typedef struct _eo_type_def
+{
+ const char *alias;
+ const char *type;
+} Eo_Type_Def;
+
void eo_definitions_class_def_free(Eo_Class_Def *kls);
+void eo_definitions_type_def_free(Eo_Type_Def *type);
#endif /* __EO_DEFINITIONS_H__ */
diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
index 56919c34b8..36141dbbf7 100644
--- a/src/lib/eolian/eo_lexer.c
+++ b/src/lib/eolian/eo_lexer.c
@@ -156,6 +156,17 @@ _eo_tokenizer_class_get(Eo_Tokenizer *toknz, char *p)
return kls;
}
+static Eo_Type_Def*
+_eo_tokenizer_type_get(Eo_Tokenizer *toknz, char *p)
+{
+ Eo_Type_Def *def = calloc(1, sizeof(Eo_Type_Def));
+ if (def == NULL) ABORT(toknz, "calloc Eo_Type_Def failure");
+
+ def->type = _eo_tokenizer_token_get(toknz, p);
+
+ return def;
+}
+
static Eo_Property_Def*
_eo_tokenizer_property_get(Eo_Tokenizer *toknz, char *p)
{
@@ -358,53 +369,53 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
}
-#line 442 "lib/eolian/eo_lexer.rl"
+#line 453 "lib/eolian/eo_lexer.rl"
-#line 366 "lib/eolian/eo_lexer.c"
+#line 377 "lib/eolian/eo_lexer.c"
static const char _eo_tokenizer_actions[] = {
0, 1, 0, 1, 2, 1, 7, 1,
11, 1, 17, 1, 19, 1, 20, 1,
21, 1, 22, 1, 23, 1, 24, 1,
25, 1, 26, 1, 27, 1, 28, 1,
29, 1, 30, 1, 31, 1, 32, 1,
- 33, 1, 34, 1, 35, 1, 36, 1,
- 37, 1, 40, 1, 41, 1, 42, 1,
- 43, 1, 44, 1, 45, 1, 46, 1,
- 47, 1, 48, 1, 49, 1, 50, 1,
- 51, 1, 52, 1, 53, 1, 54, 1,
- 55, 1, 56, 1, 57, 1, 58, 1,
- 59, 1, 60, 1, 61, 1, 62, 1,
- 63, 1, 64, 1, 65, 1, 66, 1,
- 67, 1, 68, 1, 69, 1, 70, 1,
- 71, 1, 72, 1, 73, 1, 74, 1,
- 75, 1, 76, 1, 77, 1, 78, 1,
- 81, 1, 82, 1, 83, 1, 84, 1,
- 85, 1, 86, 1, 87, 1, 88, 1,
- 89, 1, 90, 1, 91, 1, 92, 1,
- 93, 1, 94, 1, 95, 1, 96, 1,
- 97, 1, 98, 1, 99, 1, 100, 1,
- 101, 1, 102, 1, 103, 1, 104, 1,
- 105, 1, 106, 1, 107, 1, 108, 1,
- 109, 1, 110, 1, 111, 1, 112, 1,
- 113, 1, 114, 1, 115, 1, 116, 1,
- 117, 1, 118, 1, 119, 1, 120, 2,
- 0, 37, 2, 0, 48, 2, 0, 57,
- 2, 0, 68, 2, 0, 77, 2, 0,
- 89, 2, 0, 98, 2, 0, 115, 2,
- 5, 43, 2, 6, 38, 2, 7, 2,
- 2, 8, 39, 2, 9, 52, 2, 11,
- 0, 2, 11, 69, 2, 14, 84, 2,
- 15, 79, 2, 16, 80, 2, 17, 0,
- 2, 17, 90, 2, 19, 0, 2, 20,
- 0, 2, 20, 116, 2, 21, 0, 2,
- 22, 0, 2, 23, 0, 2, 23, 2,
- 2, 27, 0, 2, 32, 0, 2, 32,
- 116, 2, 35, 1, 2, 35, 2, 2,
- 35, 4, 2, 35, 10, 2, 35, 13,
- 3, 3, 12, 2, 3, 3, 18, 2
-
+ 33, 1, 35, 1, 36, 1, 37, 1,
+ 38, 1, 39, 1, 42, 1, 43, 1,
+ 44, 1, 45, 1, 46, 1, 47, 1,
+ 48, 1, 49, 1, 50, 1, 51, 1,
+ 52, 1, 53, 1, 54, 1, 55, 1,
+ 56, 1, 57, 1, 58, 1, 59, 1,
+ 60, 1, 61, 1, 62, 1, 63, 1,
+ 64, 1, 65, 1, 66, 1, 67, 1,
+ 68, 1, 69, 1, 70, 1, 71, 1,
+ 72, 1, 73, 1, 74, 1, 75, 1,
+ 76, 1, 77, 1, 78, 1, 79, 1,
+ 80, 1, 83, 1, 84, 1, 85, 1,
+ 86, 1, 87, 1, 88, 1, 89, 1,
+ 90, 1, 91, 1, 92, 1, 93, 1,
+ 94, 1, 95, 1, 96, 1, 97, 1,
+ 98, 1, 99, 1, 100, 1, 101, 1,
+ 102, 1, 103, 1, 104, 1, 105, 1,
+ 106, 1, 107, 1, 108, 1, 109, 1,
+ 110, 1, 111, 1, 112, 1, 113, 1,
+ 114, 1, 115, 1, 116, 1, 117, 1,
+ 118, 1, 120, 1, 121, 1, 122, 1,
+ 123, 2, 0, 39, 2, 0, 50, 2,
+ 0, 59, 2, 0, 70, 2, 0, 79,
+ 2, 0, 91, 2, 0, 100, 2, 0,
+ 117, 2, 5, 45, 2, 6, 40, 2,
+ 7, 2, 2, 8, 41, 2, 9, 54,
+ 2, 11, 0, 2, 11, 71, 2, 14,
+ 86, 2, 15, 81, 2, 16, 82, 2,
+ 17, 0, 2, 17, 92, 2, 19, 0,
+ 2, 20, 0, 2, 20, 118, 2, 21,
+ 0, 2, 22, 0, 2, 23, 0, 2,
+ 23, 2, 2, 27, 0, 2, 32, 0,
+ 2, 32, 118, 2, 34, 119, 2, 37,
+ 1, 2, 37, 2, 2, 37, 4, 2,
+ 37, 10, 2, 37, 13, 3, 3, 12,
+ 2, 3, 3, 18, 2
};
static const short _eo_tokenizer_key_offsets[] = {
@@ -412,48 +423,49 @@ static const short _eo_tokenizer_key_offsets[] = {
11, 12, 15, 22, 37, 41, 49, 54,
58, 70, 75, 82, 83, 84, 85, 88,
89, 90, 91, 92, 93, 94, 95, 98,
- 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, 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
+ 99, 100, 101, 104, 105, 106, 109, 116,
+ 127, 131, 138, 151, 165, 168, 170, 173,
+ 184, 186, 189, 190, 194, 201, 208, 220,
+ 231, 243, 255, 267, 279, 290, 298, 306,
+ 318, 330, 342, 354, 365, 382, 399, 416,
+ 433, 437, 438, 439, 449, 451, 454, 470,
+ 472, 475, 476, 490, 494, 495, 496, 506,
+ 508, 511, 513, 516, 517, 518, 522, 523,
+ 524, 528, 529, 533, 534, 535, 536, 537,
+ 541, 543, 546, 547, 551, 562, 572, 584,
+ 596, 608, 620, 632, 644, 656, 666, 676,
+ 689, 701, 713, 725, 737, 749, 761, 773,
+ 780, 792, 804, 816, 828, 840, 852, 864,
+ 876, 879, 881, 884, 895, 897, 900, 901,
+ 902, 903, 904, 905, 906, 907, 908, 909,
+ 912, 919, 927, 928, 929, 930, 931, 935,
+ 936, 937, 938, 939, 942, 958, 974, 991,
+ 1008, 1012, 1013, 1014, 1024, 1026, 1029, 1045,
+ 1047, 1050, 1051, 1055, 1066, 1076, 1088, 1100,
+ 1112, 1124, 1136, 1148, 1160, 1170, 1180, 1193,
+ 1205, 1217, 1229, 1241, 1253, 1265, 1277, 1284,
+ 1296, 1308, 1320, 1332, 1344, 1356, 1368, 1380,
+ 1383, 1385, 1388, 1399, 1401, 1404, 1405, 1406,
+ 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414,
+ 1415, 1419, 1420, 1421, 1425, 1432, 1440, 1441,
+ 1442, 1443, 1444, 1445, 1446, 1447, 1451, 1458,
+ 1466, 1467, 1468, 1469, 1470, 1474, 1482, 1498,
+ 1502, 1514, 1515, 1516, 1526, 1528, 1531, 1539,
+ 1547, 1555, 1567, 1571, 1572, 1573, 1574, 1575,
+ 1576, 1577, 1578, 1579, 1583, 1591, 1603, 1607,
+ 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
+ 1616, 1617, 1618, 1619, 1623, 1630, 1638, 1639,
+ 1640, 1641, 1642, 1643, 1647, 1648, 1649, 1650,
+ 1651, 1652, 1653, 1654, 1655, 1659, 1668, 1671,
+ 1673, 1674, 1675, 1676, 1677, 1678, 1689, 1692,
+ 1694, 1705, 1717, 1729, 1733, 1733, 1734, 1743,
+ 1746, 1748, 1761, 1765, 1765, 1766, 1775, 1778,
+ 1780, 1781, 1782, 1783, 1784, 1785, 1797, 1800,
+ 1802, 1813, 1826, 1827, 1836, 1839, 1841, 1842,
+ 1843, 1844, 1845, 1849, 1849, 1850, 1862, 1865,
+ 1867, 1878, 1891, 1892, 1904, 1907, 1909, 1910,
+ 1911, 1914, 1916, 1919, 1920, 1921, 1922, 1923,
+ 1926, 1927, 1928
};
static const char _eo_tokenizer_trans_keys[] = {
@@ -470,71 +482,64 @@ static const char _eo_tokenizer_trans_keys[] = {
97, 122, 97, 115, 115, 9, 13, 32,
116, 101, 114, 102, 97, 99, 101, 9,
13, 32, 120, 105, 110, 9, 13, 32,
- 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, 9, 13, 32, 58, 9, 13, 32,
- 65, 90, 97, 122, 9, 13, 32, 65,
- 90, 97, 122, 9, 13, 32, 44, 59,
+ 112, 101, 9, 13, 32, 9, 13, 32,
+ 65, 90, 97, 122, 9, 13, 32, 58,
+ 95, 48, 57, 65, 90, 97, 122, 9,
+ 13, 32, 58, 9, 13, 32, 64, 90,
+ 97, 122, 9, 13, 32, 42, 60, 62,
+ 95, 48, 57, 64, 90, 97, 122, 9,
+ 13, 32, 42, 59, 60, 62, 95, 48,
+ 57, 64, 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, 9, 13,
+ 32, 58, 9, 13, 32, 65, 90, 97,
+ 122, 9, 13, 32, 65, 90, 97, 122,
+ 9, 13, 32, 44, 59, 95, 48, 57,
+ 65, 90, 97, 122, 9, 13, 32, 58,
95, 48, 57, 65, 90, 97, 122, 9,
+ 13, 32, 58, 95, 103, 48, 57, 65,
+ 90, 97, 122, 9, 13, 32, 58, 95,
+ 97, 48, 57, 65, 90, 98, 122, 9,
+ 13, 32, 58, 95, 99, 48, 57, 65,
+ 90, 97, 122, 9, 13, 32, 58, 95,
+ 121, 48, 57, 65, 90, 97, 122, 9,
13, 32, 58, 95, 48, 57, 65, 90,
- 97, 122, 9, 13, 32, 58, 95, 103,
+ 97, 122, 9, 13, 32, 58, 65, 90,
+ 97, 122, 59, 95, 48, 57, 65, 90,
+ 97, 122, 9, 13, 32, 58, 95, 116,
48, 57, 65, 90, 97, 122, 9, 13,
- 32, 58, 95, 97, 48, 57, 65, 90,
- 98, 122, 9, 13, 32, 58, 95, 99,
+ 32, 58, 95, 117, 48, 57, 65, 90,
+ 97, 122, 9, 13, 32, 58, 95, 114,
48, 57, 65, 90, 97, 122, 9, 13,
- 32, 58, 95, 121, 48, 57, 65, 90,
+ 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, 59, 95, 48,
- 57, 65, 90, 97, 122, 9, 13, 32,
- 58, 95, 116, 48, 57, 65, 90, 97,
- 122, 9, 13, 32, 58, 95, 117, 48,
- 57, 65, 90, 97, 122, 9, 13, 32,
- 58, 95, 114, 48, 57, 65, 90, 97,
- 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, 60, 62, 95, 40,
- 42, 45, 46, 48, 57, 64, 90, 97,
- 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,
+ 58, 60, 62, 95, 40, 42, 45, 46,
+ 48, 57, 64, 90, 97, 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, 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,
+ 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, 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,
@@ -546,58 +551,58 @@ static const char _eo_tokenizer_trans_keys[] = {
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,
+ 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,
- 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,
+ 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,
@@ -609,88 +614,103 @@ static const char _eo_tokenizer_trans_keys[] = {
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, 115, 10, 123,
+ 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,
+ 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, 116, 0, 32, 10, 0, 32, 42,
+ 47, 98, 108, 110, 105, 121, 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, 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
+ 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[] = {
@@ -698,48 +718,49 @@ static const char _eo_tokenizer_single_lengths[] = {
1, 3, 3, 7, 2, 6, 1, 2,
4, 3, 1, 1, 1, 1, 3, 1,
1, 1, 1, 1, 1, 1, 3, 1,
- 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, 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,
+ 1, 1, 3, 1, 1, 3, 3, 5,
+ 4, 3, 7, 8, 3, 2, 3, 3,
+ 2, 3, 1, 4, 3, 3, 6, 5,
+ 6, 6, 6, 6, 5, 4, 2, 6,
+ 6, 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, 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,
- 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,
+ 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, 1, 2, 1, 2, 1, 1,
+ 1, 1, 1, 2, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 7, 1, 2,
+ 1, 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[] = {
@@ -747,48 +768,49 @@ static const char _eo_tokenizer_range_lengths[] = {
0, 0, 2, 4, 1, 1, 2, 1,
4, 1, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 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, 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, 0, 0, 0, 0, 2, 3,
+ 0, 2, 3, 3, 0, 0, 0, 4,
+ 0, 0, 0, 0, 2, 2, 3, 3,
+ 3, 3, 3, 3, 3, 2, 3, 3,
+ 3, 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, 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,
- 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
+ 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, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 1, 0,
+ 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[] = {
@@ -796,48 +818,49 @@ static const short _eo_tokenizer_index_offsets[] = {
19, 21, 25, 31, 43, 47, 55, 59,
63, 72, 77, 82, 84, 86, 88, 92,
94, 96, 98, 100, 102, 104, 106, 110,
- 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, 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
+ 112, 114, 116, 120, 122, 124, 128, 134,
+ 143, 148, 154, 165, 177, 181, 184, 188,
+ 196, 199, 203, 205, 210, 216, 222, 232,
+ 241, 251, 261, 271, 281, 290, 297, 303,
+ 313, 323, 333, 343, 352, 365, 378, 391,
+ 404, 409, 411, 413, 420, 423, 427, 439,
+ 442, 446, 448, 460, 465, 467, 469, 476,
+ 479, 483, 486, 490, 492, 494, 498, 500,
+ 502, 506, 508, 512, 514, 516, 518, 520,
+ 524, 527, 531, 533, 537, 545, 552, 561,
+ 570, 579, 588, 597, 606, 615, 623, 631,
+ 641, 650, 659, 668, 677, 686, 695, 704,
+ 709, 718, 727, 736, 745, 754, 763, 772,
+ 781, 785, 788, 792, 800, 803, 807, 809,
+ 811, 813, 815, 817, 819, 821, 823, 825,
+ 829, 835, 841, 843, 845, 847, 849, 853,
+ 855, 857, 859, 861, 865, 877, 889, 902,
+ 915, 920, 922, 924, 931, 934, 938, 950,
+ 953, 957, 959, 963, 971, 978, 987, 996,
+ 1005, 1014, 1023, 1032, 1041, 1049, 1057, 1067,
+ 1076, 1085, 1094, 1103, 1112, 1121, 1130, 1135,
+ 1144, 1153, 1162, 1171, 1180, 1189, 1198, 1207,
+ 1211, 1214, 1218, 1226, 1229, 1233, 1235, 1237,
+ 1239, 1241, 1243, 1245, 1247, 1249, 1251, 1253,
+ 1255, 1259, 1261, 1263, 1267, 1272, 1278, 1280,
+ 1282, 1284, 1286, 1288, 1290, 1292, 1296, 1301,
+ 1307, 1309, 1311, 1313, 1315, 1319, 1325, 1338,
+ 1342, 1352, 1354, 1356, 1363, 1366, 1370, 1376,
+ 1384, 1391, 1401, 1405, 1407, 1409, 1411, 1413,
+ 1415, 1417, 1419, 1421, 1425, 1431, 1440, 1444,
+ 1446, 1448, 1450, 1452, 1454, 1456, 1458, 1460,
+ 1462, 1464, 1466, 1468, 1472, 1477, 1483, 1485,
+ 1487, 1489, 1491, 1493, 1497, 1499, 1501, 1503,
+ 1505, 1507, 1509, 1511, 1513, 1517, 1526, 1529,
+ 1532, 1534, 1536, 1538, 1540, 1542, 1551, 1554,
+ 1557, 1566, 1576, 1586, 1591, 1592, 1594, 1601,
+ 1604, 1607, 1618, 1623, 1624, 1626, 1635, 1638,
+ 1641, 1643, 1645, 1647, 1649, 1651, 1660, 1663,
+ 1666, 1674, 1684, 1686, 1695, 1698, 1701, 1703,
+ 1705, 1707, 1709, 1714, 1715, 1717, 1726, 1729,
+ 1732, 1740, 1750, 1752, 1764, 1767, 1770, 1772,
+ 1774, 1777, 1780, 1783, 1785, 1787, 1789, 1791,
+ 1794, 1796, 1798
};
static const short _eo_tokenizer_indicies[] = {
@@ -856,359 +879,371 @@ static const short _eo_tokenizer_indicies[] = {
47, 0, 48, 0, 49, 0, 50, 0,
51, 0, 52, 52, 52, 0, 53, 0,
54, 0, 55, 0, 56, 56, 56, 0,
- 59, 60, 61, 58, 59, 60, 58, 59,
- 60, 62, 58, 63, 60, 64, 61, 64,
- 64, 64, 58, 66, 67, 65, 66, 67,
- 68, 65, 70, 69, 71, 71, 71, 72,
- 57, 73, 73, 73, 74, 74, 57, 75,
- 75, 75, 76, 76, 57, 77, 77, 77,
- 77, 78, 77, 77, 77, 77, 57, 71,
- 71, 71, 72, 79, 79, 79, 79, 57,
- 71, 71, 71, 72, 79, 80, 79, 79,
- 79, 57, 71, 71, 71, 72, 79, 81,
- 79, 79, 79, 57, 71, 71, 71, 72,
- 79, 82, 79, 79, 79, 57, 71, 71,
- 71, 72, 79, 83, 79, 79, 79, 57,
- 84, 84, 84, 72, 79, 79, 79, 79,
- 57, 84, 84, 84, 72, 85, 85, 57,
- 87, 86, 86, 86, 86, 57, 71, 71,
- 71, 72, 79, 88, 79, 79, 79, 57,
- 71, 71, 71, 72, 79, 89, 79, 79,
- 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, 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
+ 57, 0, 58, 0, 59, 59, 59, 0,
+ 59, 59, 59, 60, 60, 0, 61, 61,
+ 61, 63, 62, 62, 62, 62, 0, 64,
+ 64, 64, 65, 0, 65, 65, 65, 66,
+ 66, 0, 67, 67, 67, 67, 67, 67,
+ 67, 67, 67, 67, 0, 67, 67, 67,
+ 67, 68, 67, 67, 67, 67, 67, 67,
+ 0, 71, 72, 73, 70, 71, 72, 70,
+ 71, 72, 74, 70, 75, 72, 76, 73,
+ 76, 76, 76, 70, 78, 79, 77, 78,
+ 79, 80, 77, 82, 81, 83, 83, 83,
+ 84, 69, 85, 85, 85, 86, 86, 69,
+ 87, 87, 87, 88, 88, 69, 89, 89,
+ 89, 89, 90, 89, 89, 89, 89, 69,
+ 83, 83, 83, 84, 91, 91, 91, 91,
+ 69, 83, 83, 83, 84, 91, 92, 91,
+ 91, 91, 69, 83, 83, 83, 84, 91,
+ 93, 91, 91, 91, 69, 83, 83, 83,
+ 84, 91, 94, 91, 91, 91, 69, 83,
+ 83, 83, 84, 91, 95, 91, 91, 91,
+ 69, 96, 96, 96, 84, 91, 91, 91,
+ 91, 69, 96, 96, 96, 84, 97, 97,
+ 69, 99, 98, 98, 98, 98, 69, 83,
+ 83, 83, 84, 91, 100, 91, 91, 91,
+ 69, 83, 83, 83, 84, 91, 101, 91,
+ 91, 91, 69, 83, 83, 83, 84, 91,
+ 102, 91, 91, 91, 69, 83, 83, 83,
+ 84, 91, 103, 91, 91, 91, 69, 104,
+ 104, 104, 84, 91, 91, 91, 91, 69,
+ 105, 105, 105, 84, 106, 106, 106, 106,
+ 106, 106, 106, 106, 69, 107, 107, 107,
+ 84, 108, 108, 108, 108, 108, 108, 108,
+ 108, 69, 107, 107, 107, 84, 109, 108,
+ 108, 108, 108, 108, 108, 108, 69, 110,
+ 110, 110, 109, 110, 110, 110, 110, 110,
+ 110, 110, 110, 69, 112, 112, 112, 113,
+ 111, 114, 111, 115, 111, 116, 117, 115,
+ 117, 117, 117, 111, 119, 120, 118, 119,
+ 120, 121, 118, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 69, 124,
+ 125, 123, 124, 125, 126, 123, 128, 127,
+ 129, 129, 129, 129, 130, 129, 129, 129,
+ 129, 129, 129, 122, 132, 132, 132, 133,
+ 131, 134, 131, 135, 131, 136, 137, 135,
+ 137, 137, 137, 131, 139, 140, 138, 139,
+ 140, 141, 138, 144, 145, 143, 144, 145,
+ 146, 143, 148, 147, 149, 142, 150, 151,
+ 149, 142, 152, 142, 153, 142, 154, 155,
+ 153, 142, 156, 142, 157, 158, 156, 142,
+ 159, 142, 160, 142, 161, 142, 162, 142,
+ 163, 164, 162, 142, 167, 168, 166, 167,
+ 168, 169, 166, 171, 170, 173, 174, 172,
+ 165, 176, 178, 179, 175, 177, 177, 177,
+ 165, 176, 179, 175, 177, 177, 177, 165,
+ 176, 178, 180, 179, 175, 177, 177, 177,
+ 165, 176, 178, 181, 179, 175, 177, 177,
+ 177, 165, 176, 178, 182, 179, 175, 177,
+ 177, 177, 165, 176, 178, 183, 179, 175,
+ 177, 177, 177, 165, 176, 178, 184, 179,
+ 175, 177, 177, 177, 165, 176, 178, 185,
+ 179, 175, 177, 177, 177, 165, 176, 178,
+ 186, 179, 175, 177, 177, 177, 165, 187,
+ 187, 187, 178, 177, 177, 177, 165, 187,
+ 187, 187, 189, 188, 188, 188, 165, 176,
+ 178, 190, 191, 179, 175, 177, 177, 177,
+ 165, 176, 178, 192, 179, 175, 177, 177,
+ 177, 165, 176, 178, 193, 179, 175, 177,
+ 177, 177, 165, 176, 178, 194, 179, 175,
+ 177, 177, 177, 165, 176, 178, 195, 179,
+ 175, 177, 177, 177, 165, 176, 178, 196,
+ 179, 175, 177, 177, 177, 165, 176, 178,
+ 197, 179, 175, 177, 177, 177, 165, 176,
+ 178, 198, 179, 175, 177, 177, 177, 165,
+ 178, 177, 177, 177, 165, 176, 178, 199,
+ 179, 175, 177, 177, 177, 165, 176, 178,
+ 200, 179, 175, 177, 177, 177, 165, 176,
+ 178, 201, 179, 175, 177, 177, 177, 165,
+ 176, 178, 198, 179, 175, 177, 177, 177,
+ 165, 176, 178, 202, 179, 175, 177, 177,
+ 177, 165, 176, 178, 203, 179, 175, 177,
+ 177, 177, 165, 176, 178, 204, 179, 175,
+ 177, 177, 177, 165, 176, 178, 186, 179,
+ 175, 177, 177, 177, 165, 207, 208, 209,
+ 206, 207, 208, 206, 207, 208, 210, 206,
+ 211, 208, 212, 209, 212, 212, 212, 206,
+ 214, 215, 213, 214, 215, 216, 213, 218,
+ 217, 219, 205, 220, 205, 221, 205, 222,
+ 205, 223, 205, 224, 205, 225, 205, 226,
+ 205, 227, 227, 227, 205, 227, 227, 227,
+ 228, 228, 205, 230, 229, 229, 229, 229,
+ 205, 231, 205, 232, 205, 233, 205, 234,
+ 205, 235, 236, 234, 205, 237, 205, 238,
+ 205, 239, 205, 240, 205, 241, 241, 241,
+ 205, 242, 242, 242, 243, 243, 243, 243,
+ 243, 243, 243, 243, 205, 244, 244, 244,
+ 245, 245, 245, 245, 245, 245, 245, 245,
+ 205, 244, 244, 244, 246, 245, 245, 245,
+ 245, 245, 245, 245, 245, 205, 247, 247,
+ 247, 246, 247, 247, 247, 247, 247, 247,
+ 247, 247, 205, 249, 249, 249, 250, 248,
+ 251, 248, 252, 248, 253, 254, 252, 254,
+ 254, 254, 248, 256, 257, 255, 256, 257,
+ 258, 255, 247, 247, 247, 247, 247, 247,
+ 247, 247, 247, 247, 247, 205, 261, 262,
+ 260, 261, 262, 263, 260, 265, 264, 267,
+ 268, 266, 259, 270, 272, 273, 269, 271,
+ 271, 271, 259, 270, 273, 269, 271, 271,
+ 271, 259, 270, 272, 274, 273, 269, 271,
+ 271, 271, 259, 270, 272, 275, 273, 269,
+ 271, 271, 271, 259, 270, 272, 276, 273,
+ 269, 271, 271, 271, 259, 270, 272, 277,
+ 273, 269, 271, 271, 271, 259, 270, 272,
+ 278, 273, 269, 271, 271, 271, 259, 270,
+ 272, 279, 273, 269, 271, 271, 271, 259,
+ 270, 272, 280, 273, 269, 271, 271, 271,
+ 259, 281, 281, 281, 272, 271, 271, 271,
+ 259, 281, 281, 281, 283, 282, 282, 282,
+ 259, 270, 272, 284, 285, 273, 269, 271,
+ 271, 271, 259, 270, 272, 286, 273, 269,
+ 271, 271, 271, 259, 270, 272, 287, 273,
+ 269, 271, 271, 271, 259, 270, 272, 288,
+ 273, 269, 271, 271, 271, 259, 270, 272,
+ 289, 273, 269, 271, 271, 271, 259, 270,
+ 272, 290, 273, 269, 271, 271, 271, 259,
+ 270, 272, 291, 273, 269, 271, 271, 271,
+ 259, 270, 272, 292, 273, 269, 271, 271,
+ 271, 259, 272, 271, 271, 271, 259, 270,
+ 272, 293, 273, 269, 271, 271, 271, 259,
+ 270, 272, 294, 273, 269, 271, 271, 271,
+ 259, 270, 272, 295, 273, 269, 271, 271,
+ 271, 259, 270, 272, 292, 273, 269, 271,
+ 271, 271, 259, 270, 272, 296, 273, 269,
+ 271, 271, 271, 259, 270, 272, 297, 273,
+ 269, 271, 271, 271, 259, 270, 272, 298,
+ 273, 269, 271, 271, 271, 259, 270, 272,
+ 280, 273, 269, 271, 271, 271, 259, 301,
+ 302, 303, 300, 301, 302, 300, 301, 302,
+ 304, 300, 305, 302, 306, 303, 306, 306,
+ 306, 300, 308, 309, 307, 308, 309, 310,
+ 307, 312, 311, 313, 299, 314, 299, 315,
+ 299, 316, 299, 317, 299, 318, 299, 319,
+ 299, 320, 299, 321, 299, 322, 299, 323,
+ 324, 322, 299, 325, 299, 326, 299, 327,
+ 328, 326, 299, 329, 328, 330, 330, 299,
+ 332, 331, 331, 331, 331, 299, 333, 299,
+ 334, 299, 335, 299, 336, 299, 337, 299,
+ 338, 299, 339, 299, 340, 341, 339, 299,
+ 342, 341, 343, 343, 299, 345, 344, 344,
+ 344, 344, 299, 346, 299, 347, 299, 348,
+ 299, 349, 299, 350, 351, 349, 299, 352,
+ 354, 351, 353, 353, 299, 356, 357, 356,
+ 356, 358, 359, 360, 359, 355, 359, 359,
+ 359, 299, 362, 363, 361, 299, 363, 352,
+ 363, 363, 364, 354, 351, 353, 353, 299,
+ 365, 299, 366, 299, 367, 368, 366, 368,
+ 368, 368, 299, 370, 371, 369, 370, 371,
+ 372, 369, 374, 376, 373, 375, 375, 299,
+ 377, 362, 377, 377, 378, 363, 361, 299,
+ 378, 378, 378, 379, 379, 379, 299, 380,
+ 380, 380, 381, 380, 380, 380, 380, 380,
+ 299, 383, 384, 382, 299, 385, 299, 386,
+ 299, 387, 299, 388, 299, 389, 299, 390,
+ 299, 391, 299, 392, 299, 393, 394, 392,
+ 299, 395, 397, 394, 396, 396, 299, 399,
+ 401, 402, 400, 398, 400, 400, 400, 299,
+ 404, 394, 403, 299, 400, 299, 405, 299,
+ 406, 299, 407, 299, 408, 299, 409, 299,
+ 410, 299, 411, 299, 412, 299, 413, 299,
+ 414, 299, 415, 299, 416, 417, 415, 299,
+ 418, 417, 419, 419, 299, 421, 420, 420,
+ 420, 420, 299, 422, 299, 423, 299, 424,
+ 299, 425, 299, 426, 299, 427, 428, 426,
+ 299, 429, 299, 430, 299, 431, 299, 432,
+ 299, 433, 299, 434, 299, 435, 299, 436,
+ 299, 437, 438, 436, 299, 441, 442, 443,
+ 444, 445, 446, 447, 440, 439, 441, 440,
+ 448, 1, 5, 449, 450, 449, 451, 449,
+ 452, 449, 453, 449, 454, 449, 457, 458,
+ 460, 461, 462, 456, 459, 459, 455, 457,
+ 456, 463, 465, 81, 464, 83, 83, 83,
+ 84, 91, 91, 91, 91, 464, 83, 83,
+ 83, 84, 91, 466, 91, 91, 91, 464,
+ 83, 83, 83, 84, 91, 467, 91, 91,
+ 91, 464, 112, 112, 112, 113, 468, 469,
+ 471, 470, 474, 475, 477, 473, 476, 476,
+ 472, 474, 473, 478, 123, 127, 479, 129,
+ 129, 129, 129, 129, 129, 129, 129, 129,
+ 129, 479, 132, 132, 132, 133, 480, 481,
+ 483, 482, 486, 487, 488, 489, 490, 491,
+ 492, 485, 484, 486, 485, 493, 143, 147,
+ 494, 495, 494, 496, 494, 497, 494, 498,
+ 494, 500, 499, 503, 504, 506, 507, 502,
+ 505, 505, 505, 501, 503, 502, 508, 166,
+ 170, 509, 176, 178, 179, 175, 177, 177,
+ 177, 509, 176, 178, 510, 511, 179, 175,
+ 177, 177, 177, 509, 513, 512, 516, 517,
+ 518, 519, 520, 521, 522, 515, 514, 516,
+ 515, 523, 525, 217, 524, 526, 524, 527,
+ 524, 528, 524, 529, 524, 249, 249, 249,
+ 250, 530, 531, 533, 532, 536, 537, 539,
+ 540, 535, 538, 538, 538, 534, 536, 535,
+ 541, 260, 264, 542, 270, 272, 273, 269,
+ 271, 271, 271, 542, 270, 272, 543, 544,
+ 273, 269, 271, 271, 271, 542, 546, 545,
+ 549, 550, 551, 552, 553, 554, 555, 556,
+ 557, 558, 548, 547, 549, 548, 559, 561,
+ 311, 560, 562, 560, 563, 560, 566, 565,
+ 564, 567, 568, 560, 571, 570, 569, 573,
+ 572, 574, 560, 576, 575, 577, 560, 580,
+ 579, 578, 581, 560, 582, 560, 584, 583,
+ 0
};
static const short _eo_tokenizer_trans_targs[] = {
- 292, 0, 0, 1, 292, 2, 292, 4,
+ 301, 0, 0, 1, 301, 2, 301, 4,
5, 6, 7, 8, 9, 10, 10, 11,
- 12, 13, 12, 14, 11, 292, 12, 12,
- 292, 13, 14, 15, 16, 12, 12, 292,
+ 12, 13, 12, 14, 11, 301, 12, 12,
+ 301, 13, 14, 15, 16, 12, 12, 301,
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, 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
+ 10, 36, 37, 38, 39, 40, 39, 41,
+ 40, 41, 42, 43, 301, 309, 45, 45,
+ 46, 47, 309, 47, 48, 48, 48, 49,
+ 309, 50, 309, 51, 52, 53, 54, 53,
+ 54, 54, 309, 55, 57, 58, 59, 60,
+ 61, 62, 62, 309, 64, 65, 66, 67,
+ 68, 69, 78, 70, 71, 315, 71, 309,
+ 72, 73, 74, 75, 75, 76, 76, 76,
+ 77, 316, 318, 79, 79, 80, 318, 81,
+ 318, 82, 322, 318, 83, 84, 85, 86,
+ 86, 87, 87, 87, 88, 323, 325, 89,
+ 89, 90, 325, 91, 325, 93, 93, 325,
+ 95, 96, 96, 325, 98, 98, 325, 100,
+ 101, 102, 103, 103, 325, 333, 104, 104,
+ 105, 333, 106, 333, 107, 107, 333, 107,
+ 107, 108, 109, 333, 111, 112, 113, 114,
+ 115, 116, 117, 118, 108, 119, 120, 128,
+ 121, 122, 123, 124, 125, 126, 127, 129,
+ 130, 131, 133, 134, 135, 339, 137, 137,
+ 138, 139, 339, 139, 140, 140, 140, 141,
+ 339, 142, 339, 144, 145, 146, 339, 148,
+ 149, 150, 151, 152, 153, 153, 339, 155,
+ 156, 157, 158, 158, 339, 160, 161, 162,
+ 163, 164, 165, 174, 166, 167, 346, 167,
+ 339, 168, 169, 170, 171, 171, 172, 172,
+ 172, 173, 347, 349, 175, 175, 176, 349,
+ 177, 349, 178, 178, 349, 178, 178, 179,
+ 180, 349, 182, 183, 184, 185, 186, 187,
+ 188, 189, 179, 190, 191, 199, 192, 193,
+ 194, 195, 196, 197, 198, 200, 201, 202,
+ 204, 205, 206, 355, 208, 208, 209, 210,
+ 355, 210, 211, 211, 211, 212, 355, 213,
+ 355, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 224, 355, 226, 227, 227,
+ 228, 228, 229, 229, 360, 231, 232, 233,
+ 234, 235, 236, 237, 237, 238, 238, 239,
+ 239, 362, 241, 242, 243, 244, 244, 245,
+ 245, 246, 363, 247, 255, 247, 256, 246,
+ 248, 247, 247, 248, 249, 250, 251, 251,
+ 252, 252, 252, 253, 254, 245, 245, 246,
+ 363, 255, 256, 257, 257, 258, 247, 247,
+ 248, 260, 261, 262, 263, 264, 265, 266,
+ 267, 267, 268, 268, 269, 365, 270, 270,
+ 269, 271, 268, 270, 270, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283,
+ 283, 284, 284, 285, 285, 367, 287, 288,
+ 289, 290, 291, 291, 355, 293, 294, 295,
+ 296, 297, 298, 299, 300, 300, 355, 301,
+ 302, 302, 303, 304, 305, 306, 307, 308,
+ 301, 301, 3, 19, 23, 31, 35, 309,
+ 310, 310, 311, 312, 313, 314, 317, 309,
+ 309, 44, 56, 63, 309, 309, 309, 309,
+ 318, 319, 319, 320, 321, 324, 318, 318,
+ 318, 318, 318, 318, 325, 326, 326, 327,
+ 328, 329, 330, 331, 332, 325, 325, 92,
+ 94, 97, 99, 325, 325, 333, 334, 334,
+ 335, 336, 337, 338, 333, 333, 110, 132,
+ 333, 333, 339, 340, 340, 341, 342, 343,
+ 344, 345, 348, 339, 339, 136, 143, 147,
+ 154, 159, 339, 339, 339, 339, 349, 350,
+ 350, 351, 352, 353, 354, 349, 349, 181,
+ 203, 349, 349, 355, 356, 356, 357, 358,
+ 359, 361, 364, 366, 368, 369, 370, 355,
+ 355, 207, 214, 225, 355, 360, 360, 230,
+ 240, 355, 362, 362, 355, 355, 259, 355,
+ 355, 272, 355, 367, 367, 286, 292, 355,
+ 355
};
static const short _eo_tokenizer_trans_actions[] = {
- 205, 0, 1, 0, 195, 0, 228, 0,
+ 207, 0, 1, 0, 197, 0, 230, 0,
0, 0, 0, 0, 0, 31, 0, 3,
- 37, 37, 291, 37, 0, 294, 0, 1,
- 197, 0, 0, 0, 3, 13, 270, 273,
- 11, 267, 11, 11, 0, 0, 1, 0,
+ 37, 37, 293, 37, 0, 296, 0, 1,
+ 199, 0, 0, 0, 3, 13, 272, 275,
+ 11, 269, 11, 11, 0, 0, 1, 0,
1, 0, 0, 0, 29, 0, 0, 0,
0, 0, 0, 0, 35, 0, 0, 0,
- 33, 63, 0, 1, 0, 0, 47, 1,
- 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, 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,
+ 33, 0, 0, 0, 3, 39, 0, 39,
+ 0, 0, 3, 0, 299, 65, 0, 1,
+ 0, 0, 49, 1, 3, 0, 1, 0,
+ 47, 0, 209, 0, 0, 5, 239, 0,
+ 3, 0, 242, 0, 0, 0, 0, 0,
+ 0, 3, 0, 236, 0, 0, 0, 0,
+ 0, 3, 3, 3, 3, 308, 0, 63,
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, 83, 0, 1, 0, 67, 0,
+ 212, 0, 311, 81, 0, 0, 0, 0,
+ 1, 3, 0, 1, 0, 0, 105, 0,
+ 1, 0, 85, 0, 215, 0, 1, 87,
+ 0, 0, 1, 91, 0, 1, 89, 0,
+ 0, 0, 0, 1, 93, 121, 0, 1,
+ 0, 107, 0, 218, 0, 1, 109, 7,
+ 248, 0, 0, 251, 0, 0, 0, 0,
+ 0, 0, 0, 0, 317, 317, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 312, 312, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 143, 0, 1,
+ 0, 0, 125, 1, 3, 0, 1, 0,
+ 123, 0, 221, 0, 0, 0, 260, 0,
+ 0, 0, 0, 0, 3, 0, 257, 0,
+ 0, 0, 0, 1, 127, 0, 0, 0,
+ 0, 0, 3, 3, 3, 3, 314, 0,
+ 141, 0, 0, 0, 0, 1, 3, 0,
+ 1, 0, 0, 159, 0, 1, 0, 145,
+ 0, 224, 0, 1, 147, 9, 263, 0,
+ 0, 266, 0, 0, 0, 0, 0, 0,
+ 0, 0, 321, 321, 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, 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, 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, 1, 0, 1,
- 3, 0, 27, 288, 0, 0, 27, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 195, 0, 1, 0, 0,
+ 163, 1, 3, 0, 1, 0, 161, 0,
+ 227, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 169, 0, 0, 1,
+ 0, 1, 3, 0, 25, 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
+ 0, 23, 0, 0, 0, 0, 1, 0,
+ 1, 3, 0, 15, 15, 278, 15, 0,
+ 15, 0, 1, 0, 0, 0, 0, 1,
+ 3, 0, 1, 0, 0, 19, 284, 287,
+ 19, 0, 0, 3, 0, 0, 17, 281,
+ 17, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 3, 0, 27, 290,
+ 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, 173, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 171, 201,
+ 0, 1, 302, 45, 45, 45, 45, 45,
+ 203, 205, 0, 0, 0, 0, 0, 53,
+ 0, 1, 302, 305, 305, 305, 0, 55,
+ 61, 0, 0, 0, 57, 233, 59, 51,
+ 71, 0, 1, 302, 305, 0, 73, 79,
+ 75, 245, 77, 69, 97, 0, 1, 302,
+ 45, 45, 45, 45, 0, 99, 103, 0,
+ 0, 0, 0, 101, 95, 113, 0, 1,
+ 302, 305, 305, 0, 115, 119, 0, 0,
+ 117, 111, 131, 0, 1, 302, 45, 45,
+ 45, 45, 0, 133, 139, 0, 0, 0,
+ 0, 0, 135, 254, 137, 129, 151, 0,
+ 1, 302, 305, 305, 0, 153, 157, 0,
+ 0, 155, 149, 177, 0, 1, 302, 45,
+ 45, 45, 45, 45, 45, 45, 0, 179,
+ 193, 0, 0, 0, 185, 0, 1, 0,
+ 0, 183, 0, 1, 189, 167, 0, 187,
+ 165, 0, 181, 0, 1, 0, 0, 191,
+ 175
};
static const short _eo_tokenizer_to_state_actions[] = {
@@ -1248,16 +1283,17 @@ 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,
- 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,
- 0
+ 0, 0, 0, 0, 0, 41, 0, 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, 0
};
static const short _eo_tokenizer_from_state_actions[] = {
@@ -1297,16 +1333,17 @@ 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,
- 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,
- 0
+ 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 0, 0, 0, 43, 0,
+ 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 43, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 43, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0
};
static const short _eo_tokenizer_eof_trans[] = {
@@ -1314,65 +1351,66 @@ static const short _eo_tokenizer_eof_trans[] = {
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, 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, 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
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 70, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70,
+ 112, 112, 112, 112, 112, 112, 70, 123,
+ 123, 123, 123, 132, 132, 132, 132, 132,
+ 132, 143, 143, 143, 143, 143, 143, 143,
+ 143, 143, 143, 143, 143, 143, 143, 143,
+ 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166,
+ 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206,
+ 249, 249, 249, 249, 249, 249, 206, 260,
+ 260, 260, 260, 260, 260, 260, 260, 260,
+ 260, 260, 260, 260, 260, 260, 260, 260,
+ 260, 260, 260, 260, 260, 260, 260, 260,
+ 260, 260, 260, 260, 260, 260, 260, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 0, 449, 450,
+ 450, 450, 450, 450, 450, 0, 464, 465,
+ 465, 465, 465, 469, 470, 471, 0, 479,
+ 480, 480, 481, 482, 483, 0, 494, 495,
+ 495, 495, 495, 495, 500, 0, 509, 510,
+ 510, 510, 513, 0, 524, 525, 525, 525,
+ 525, 525, 531, 532, 533, 0, 542, 543,
+ 543, 543, 546, 0, 560, 561, 561, 561,
+ 565, 561, 570, 573, 561, 576, 561, 579,
+ 561, 561, 584
};
-static const int eo_tokenizer_start = 292;
-static const int eo_tokenizer_first_final = 292;
+static const int eo_tokenizer_start = 301;
+static const int eo_tokenizer_first_final = 301;
static const int eo_tokenizer_error = -1;
-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;
+static const int eo_tokenizer_en_tokenize_accessor = 309;
+static const int eo_tokenizer_en_tokenize_params = 318;
+static const int eo_tokenizer_en_tokenize_property = 325;
+static const int eo_tokenizer_en_tokenize_properties = 333;
+static const int eo_tokenizer_en_tokenize_method = 339;
+static const int eo_tokenizer_en_tokenize_methods = 349;
+static const int eo_tokenizer_en_tokenize_class = 355;
+static const int eo_tokenizer_en_main = 301;
-#line 968 "lib/eolian/eo_lexer.rl"
+#line 996 "lib/eolian/eo_lexer.rl"
Eina_Bool
@@ -1396,7 +1434,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
}
-#line 1400 "lib/eolian/eo_lexer.c"
+#line 1438 "lib/eolian/eo_lexer.c"
{
toknz->cs = eo_tokenizer_start;
toknz->ts = 0;
@@ -1404,7 +1442,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
toknz->act = 0;
}
-#line 991 "lib/eolian/eo_lexer.rl"
+#line 1019 "lib/eolian/eo_lexer.rl"
while (!done)
{
@@ -1431,7 +1469,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
}
-#line 1435 "lib/eolian/eo_lexer.c"
+#line 1473 "lib/eolian/eo_lexer.c"
{
int _klen;
unsigned int _trans;
@@ -1446,11 +1484,11 @@ _resume:
_nacts = (unsigned int) *_acts++;
while ( _nacts-- > 0 ) {
switch ( *_acts++ ) {
- case 34:
+ case 36:
#line 1 "NONE"
{ toknz->ts = ( toknz->p);}
break;
-#line 1454 "lib/eolian/eo_lexer.c"
+#line 1492 "lib/eolian/eo_lexer.c"
}
}
@@ -1517,35 +1555,35 @@ _eof_trans:
switch ( *_acts++ )
{
case 0:
-#line 366 "lib/eolian/eo_lexer.rl"
+#line 377 "lib/eolian/eo_lexer.rl"
{
toknz->current_line += 1;
DBG("inc[%d] %d", toknz->cs, toknz->current_line);
}
break;
case 1:
-#line 371 "lib/eolian/eo_lexer.rl"
+#line 382 "lib/eolian/eo_lexer.rl"
{
toknz->saved.line = toknz->current_line;
DBG("save line[%d] %d", toknz->cs, toknz->current_line);
}
break;
case 2:
-#line 376 "lib/eolian/eo_lexer.rl"
+#line 387 "lib/eolian/eo_lexer.rl"
{
toknz->saved.tok = ( toknz->p);
DBG("save token[%d] %p %c", toknz->cs, ( toknz->p), *( toknz->p));
}
break;
case 3:
-#line 381 "lib/eolian/eo_lexer.rl"
+#line 392 "lib/eolian/eo_lexer.rl"
{
DBG("move ts %d chars forward", (int)(( toknz->p) - toknz->ts));
toknz->ts = ( toknz->p);
}
break;
case 4:
-#line 460 "lib/eolian/eo_lexer.rl"
+#line 471 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
if (toknz->tmp.accessor->ret != NULL)
@@ -1554,7 +1592,7 @@ _eof_trans:
}
break;
case 5:
-#line 467 "lib/eolian/eo_lexer.rl"
+#line 478 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
if (!toknz->tmp.accessor->ret) ABORT(toknz, "No ret!!!");
@@ -1565,20 +1603,20 @@ _eof_trans:
}
break;
case 6:
-#line 476 "lib/eolian/eo_lexer.rl"
+#line 487 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
toknz->tmp.accessor->legacy = _eo_tokenizer_token_get(toknz, ( toknz->p));
}
break;
case 7:
-#line 490 "lib/eolian/eo_lexer.rl"
+#line 501 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.accessor_param = _eo_tokenizer_accessor_param_get(toknz, ( toknz->p));
}
break;
case 8:
-#line 494 "lib/eolian/eo_lexer.rl"
+#line 505 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor_param)
ABORT(toknz, "No accessor param!!!");
@@ -1589,7 +1627,7 @@ _eof_trans:
}
break;
case 9:
-#line 523 "lib/eolian/eo_lexer.rl"
+#line 534 "lib/eolian/eo_lexer.rl"
{
const char *c = _eo_tokenizer_token_get(toknz, ( toknz->p)-2);
if (toknz->tmp.param == NULL)
@@ -1599,7 +1637,7 @@ _eof_trans:
}
break;
case 10:
-#line 531 "lib/eolian/eo_lexer.rl"
+#line 542 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.param = _eo_tokenizer_param_get(toknz, ( toknz->p));
if (toknz->tmp.params)
@@ -1610,7 +1648,7 @@ _eof_trans:
}
break;
case 11:
-#line 630 "lib/eolian/eo_lexer.rl"
+#line 641 "lib/eolian/eo_lexer.rl"
{
if (toknz->tmp.prop != NULL)
ABORT(toknz, "there is a pending property definition %s", toknz->tmp.prop->name);
@@ -1618,13 +1656,13 @@ _eof_trans:
}
break;
case 12:
-#line 636 "lib/eolian/eo_lexer.rl"
+#line 647 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.fscope = _eo_tokenizer_scope_get(toknz, ( toknz->p));
}
break;
case 13:
-#line 674 "lib/eolian/eo_lexer.rl"
+#line 685 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
if (toknz->tmp.meth->ret != NULL)
@@ -1633,7 +1671,7 @@ _eof_trans:
}
break;
case 14:
-#line 681 "lib/eolian/eo_lexer.rl"
+#line 692 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
if (toknz->tmp.meth->ret == NULL) ABORT(toknz, "No ret!!!");
@@ -1644,14 +1682,14 @@ _eof_trans:
}
break;
case 15:
-#line 690 "lib/eolian/eo_lexer.rl"
+#line 701 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
toknz->tmp.meth->legacy = _eo_tokenizer_token_get(toknz, ( toknz->p));
}
break;
case 16:
-#line 695 "lib/eolian/eo_lexer.rl"
+#line 706 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
toknz->tmp.meth->obj_const = EINA_TRUE;
@@ -1659,7 +1697,7 @@ _eof_trans:
}
break;
case 17:
-#line 753 "lib/eolian/eo_lexer.rl"
+#line 764 "lib/eolian/eo_lexer.rl"
{
if (toknz->tmp.meth != NULL)
ABORT(toknz, "there is a pending method definition %s", toknz->tmp.meth->name);
@@ -1667,20 +1705,20 @@ _eof_trans:
}
break;
case 18:
-#line 759 "lib/eolian/eo_lexer.rl"
+#line 770 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.fscope = _eo_tokenizer_scope_get(toknz, ( toknz->p));
}
break;
case 19:
-#line 789 "lib/eolian/eo_lexer.rl"
+#line 800 "lib/eolian/eo_lexer.rl"
{
const char *base = _eo_tokenizer_token_get(toknz, ( toknz->p));
toknz->tmp.str_items = eina_list_append(toknz->tmp.str_items, base);
}
break;
case 20:
-#line 794 "lib/eolian/eo_lexer.rl"
+#line 805 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
toknz->tmp.kls->inherits = toknz->tmp.str_items;
@@ -1688,7 +1726,7 @@ _eof_trans:
}
break;
case 21:
-#line 838 "lib/eolian/eo_lexer.rl"
+#line 849 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
toknz->tmp.event = _eo_tokenizer_event_get(toknz, ( toknz->p));
@@ -1696,7 +1734,7 @@ _eof_trans:
}
break;
case 22:
-#line 844 "lib/eolian/eo_lexer.rl"
+#line 855 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
if (toknz->tmp.event->type != NULL)
@@ -1705,7 +1743,7 @@ _eof_trans:
}
break;
case 23:
-#line 851 "lib/eolian/eo_lexer.rl"
+#line 862 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
if (toknz->tmp.event->comment != NULL)
@@ -1715,7 +1753,7 @@ _eof_trans:
}
break;
case 24:
-#line 859 "lib/eolian/eo_lexer.rl"
+#line 870 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->legacy_prefix != NULL)
@@ -1724,7 +1762,7 @@ _eof_trans:
}
break;
case 25:
-#line 868 "lib/eolian/eo_lexer.rl"
+#line 879 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->eo_prefix != NULL)
@@ -1733,7 +1771,7 @@ _eof_trans:
}
break;
case 26:
-#line 877 "lib/eolian/eo_lexer.rl"
+#line 888 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->data_type != NULL)
@@ -1742,7 +1780,7 @@ _eof_trans:
}
break;
case 27:
-#line 890 "lib/eolian/eo_lexer.rl"
+#line 901 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
toknz->tmp.impl = _eo_tokenizer_implement_get(toknz, ( toknz->p));
@@ -1750,31 +1788,31 @@ _eof_trans:
}
break;
case 28:
-#line 934 "lib/eolian/eo_lexer.rl"
+#line 945 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_REGULAR;
}
break;
case 29:
-#line 937 "lib/eolian/eo_lexer.rl"
+#line 948 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_ABSTRACT;
}
break;
case 30:
-#line 940 "lib/eolian/eo_lexer.rl"
+#line 951 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_MIXIN;
}
break;
case 31:
-#line 943 "lib/eolian/eo_lexer.rl"
+#line 954 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_INTERFACE;
}
break;
case 32:
-#line 947 "lib/eolian/eo_lexer.rl"
+#line 958 "lib/eolian/eo_lexer.rl"
{
if (toknz->tmp.kls != NULL)
ABORT(toknz, "there is a pending class definition %s", toknz->tmp.kls->name);
@@ -1782,12 +1820,28 @@ _eof_trans:
toknz->tmp.kls->type = toknz->tmp.kls_type;
}
break;
- case 35:
+ case 33:
+#line 972 "lib/eolian/eo_lexer.rl"
+ {
+ toknz->tmp.typedef_alias = _eo_tokenizer_token_get(toknz, ( toknz->p));
+ }
+ break;
+ case 34:
+#line 976 "lib/eolian/eo_lexer.rl"
+ {
+ if (toknz->tmp.typedef_alias == NULL)
+ ABORT(toknz, "No typedef");
+ toknz->tmp.type_def = _eo_tokenizer_type_get(toknz, ( toknz->p));
+ toknz->tmp.type_def->alias = toknz->tmp.typedef_alias;
+ toknz->typedefs = eina_list_append(toknz->typedefs, toknz->tmp.type_def);
+ }
+ break;
+ case 37:
#line 1 "NONE"
{ toknz->te = ( toknz->p)+1;}
break;
- case 36:
-#line 452 "lib/eolian/eo_lexer.rl"
+ case 38:
+#line 463 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
if (toknz->tmp.accessor->comment != NULL)
@@ -1796,34 +1850,34 @@ _eof_trans:
INF(" %s", toknz->tmp.accessor->comment);
}}
break;
- case 37:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 39:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 38:
-#line 515 "lib/eolian/eo_lexer.rl"
+ case 40:
+#line 526 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 39:
-#line 516 "lib/eolian/eo_lexer.rl"
+ case 41:
+#line 527 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 40:
-#line 481 "lib/eolian/eo_lexer.rl"
+ case 42:
+#line 492 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
if (!toknz->tmp.prop) ABORT(toknz, "No prop!!!");
toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
toknz->tmp.accessor = NULL;
toknz->current_nesting--;
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
}}
break;
- case 41:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 43:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -1841,27 +1895,27 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 42:
-#line 511 "lib/eolian/eo_lexer.rl"
+ case 44:
+#line 522 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 43:
-#line 514 "lib/eolian/eo_lexer.rl"
+ case 45:
+#line 525 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 44:
-#line 481 "lib/eolian/eo_lexer.rl"
+ case 46:
+#line 492 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
if (!toknz->tmp.prop) ABORT(toknz, "No prop!!!");
toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
toknz->tmp.accessor = NULL;
toknz->current_nesting--;
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
}}
break;
- case 45:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 47:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -1879,12 +1933,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 46:
-#line 514 "lib/eolian/eo_lexer.rl"
+ case 48:
+#line 525 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}}
break;
- case 47:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 49:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -1902,29 +1956,29 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 48:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 50:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 49:
-#line 540 "lib/eolian/eo_lexer.rl"
+ case 51:
+#line 551 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
toknz->tmp.param = NULL;
toknz->current_nesting--;
if (toknz->tmp.prop)
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
else if (toknz->tmp.meth)
- { toknz->cs = 329; goto _again;}
+ { toknz->cs = 339; goto _again;}
else
ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
}}
break;
- case 50:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 52:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -1942,30 +1996,30 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 51:
-#line 556 "lib/eolian/eo_lexer.rl"
+ case 53:
+#line 567 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 52:
-#line 558 "lib/eolian/eo_lexer.rl"
+ case 54:
+#line 569 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 53:
-#line 540 "lib/eolian/eo_lexer.rl"
+ case 55:
+#line 551 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
toknz->tmp.param = NULL;
toknz->current_nesting--;
if (toknz->tmp.prop)
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
else if (toknz->tmp.meth)
- { toknz->cs = 329; goto _again;}
+ { toknz->cs = 339; goto _again;}
else
ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
}}
break;
- case 54:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 56:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -1983,12 +2037,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 55:
-#line 558 "lib/eolian/eo_lexer.rl"
+ case 57:
+#line 569 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}}
break;
- case 56:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 58:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2006,51 +2060,51 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 57:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 59:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 58:
-#line 565 "lib/eolian/eo_lexer.rl"
+ case 60:
+#line 576 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" get {");
toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER);
toknz->current_nesting++;
- { toknz->cs = 299; goto _again;}
+ { toknz->cs = 309; goto _again;}
}}
break;
- case 59:
-#line 572 "lib/eolian/eo_lexer.rl"
+ case 61:
+#line 583 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" set {");
toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER);
toknz->current_nesting++;
- { toknz->cs = 299; goto _again;}
+ { toknz->cs = 309; goto _again;}
}}
break;
- case 60:
-#line 579 "lib/eolian/eo_lexer.rl"
+ case 62:
+#line 590 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" keys {");
toknz->current_nesting++;
toknz->tmp.params = &(toknz->tmp.prop->keys);
- { toknz->cs = 308; goto _again;}
+ { toknz->cs = 318; goto _again;}
}}
break;
- case 61:
-#line 586 "lib/eolian/eo_lexer.rl"
+ case 63:
+#line 597 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" values {");
toknz->current_nesting++;
toknz->tmp.params = &(toknz->tmp.prop->values);
- { toknz->cs = 308; goto _again;}
+ { toknz->cs = 318; goto _again;}
}}
break;
- case 62:
-#line 593 "lib/eolian/eo_lexer.rl"
+ case 64:
+#line 604 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
if (eina_list_count(toknz->tmp.prop->accessors) == 0)
@@ -2060,11 +2114,11 @@ _eof_trans:
toknz->tmp.prop = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 323; goto _again;}
+ { toknz->cs = 333; goto _again;}
}}
break;
- case 63:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 65:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2082,12 +2136,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 64:
-#line 611 "lib/eolian/eo_lexer.rl"
+ case 66:
+#line 622 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 65:
-#line 593 "lib/eolian/eo_lexer.rl"
+ case 67:
+#line 604 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
if (eina_list_count(toknz->tmp.prop->accessors) == 0)
@@ -2097,11 +2151,11 @@ _eof_trans:
toknz->tmp.prop = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 323; goto _again;}
+ { toknz->cs = 333; goto _again;}
}}
break;
- case 66:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 68:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2119,8 +2173,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 67:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 69:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2138,32 +2192,32 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 68:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 70:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 69:
-#line 623 "lib/eolian/eo_lexer.rl"
+ case 71:
+#line 634 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
INF(" %s {", toknz->tmp.prop->name);
toknz->current_nesting++;
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
}}
break;
- case 70:
-#line 640 "lib/eolian/eo_lexer.rl"
+ case 72:
+#line 651 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 71:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 73:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2181,20 +2235,20 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 72:
-#line 649 "lib/eolian/eo_lexer.rl"
+ case 74:
+#line 660 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 73:
-#line 640 "lib/eolian/eo_lexer.rl"
+ case 75:
+#line 651 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 74:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 76:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2212,8 +2266,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 75:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 77:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2231,8 +2285,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 76:
-#line 658 "lib/eolian/eo_lexer.rl"
+ case 78:
+#line 669 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
if (toknz->tmp.meth->comment != NULL)
@@ -2241,33 +2295,33 @@ _eof_trans:
INF(" %s", toknz->tmp.meth->comment);
}}
break;
- case 77:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 79:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 78:
-#line 666 "lib/eolian/eo_lexer.rl"
+ case 80:
+#line 677 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
INF(" params {");
toknz->current_nesting++;
toknz->tmp.params = &(toknz->tmp.meth->params);
- { toknz->cs = 308; goto _again;}
+ { toknz->cs = 318; goto _again;}
}}
break;
- case 79:
-#line 738 "lib/eolian/eo_lexer.rl"
+ case 81:
+#line 749 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 80:
-#line 739 "lib/eolian/eo_lexer.rl"
+ case 82:
+#line 750 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 81:
-#line 701 "lib/eolian/eo_lexer.rl"
+ case 83:
+#line 712 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
Eina_List **l = NULL;
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
@@ -2287,11 +2341,11 @@ _eof_trans:
toknz->tmp.meth = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 82:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 84:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2309,16 +2363,16 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 83:
-#line 733 "lib/eolian/eo_lexer.rl"
+ case 85:
+#line 744 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 84:
-#line 737 "lib/eolian/eo_lexer.rl"
+ case 86:
+#line 748 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 85:
-#line 701 "lib/eolian/eo_lexer.rl"
+ case 87:
+#line 712 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
Eina_List **l = NULL;
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
@@ -2338,11 +2392,11 @@ _eof_trans:
toknz->tmp.meth = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 86:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 88:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2360,12 +2414,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 87:
-#line 737 "lib/eolian/eo_lexer.rl"
+ case 89:
+#line 748 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}}
break;
- case 88:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 90:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2383,33 +2437,33 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 89:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 91:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 90:
-#line 746 "lib/eolian/eo_lexer.rl"
+ case 92:
+#line 757 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
INF(" %s {", toknz->tmp.meth->name);
toknz->current_nesting++;
- { toknz->cs = 329; goto _again;}
+ { toknz->cs = 339; goto _again;}
}}
break;
- case 91:
-#line 763 "lib/eolian/eo_lexer.rl"
+ case 93:
+#line 774 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
toknz->current_methods_type = METH_TYPE_LAST;
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 92:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 94:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2427,21 +2481,21 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 93:
-#line 773 "lib/eolian/eo_lexer.rl"
+ case 95:
+#line 784 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 94:
-#line 763 "lib/eolian/eo_lexer.rl"
+ case 96:
+#line 774 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
toknz->current_methods_type = METH_TYPE_LAST;
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 95:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 97:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2459,8 +2513,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 96:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 98:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2478,8 +2532,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 97:
-#line 782 "lib/eolian/eo_lexer.rl"
+ case 99:
+#line 793 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->comment != NULL)
@@ -2487,65 +2541,65 @@ _eof_trans:
toknz->tmp.kls->comment = _eo_tokenizer_token_get(toknz, ( toknz->p)-1);
}}
break;
- case 98:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 100:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 99:
-#line 800 "lib/eolian/eo_lexer.rl"
+ case 101:
+#line 811 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
}}
break;
- case 100:
-#line 803 "lib/eolian/eo_lexer.rl"
+ case 102:
+#line 814 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
}}
break;
- case 101:
-#line 806 "lib/eolian/eo_lexer.rl"
+ case 103:
+#line 817 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" constructors {");
toknz->current_methods_type = METH_CONSTRUCTOR;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting++;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 102:
-#line 814 "lib/eolian/eo_lexer.rl"
+ case 104:
+#line 825 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" properties {");
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting++;
- { toknz->cs = 323; goto _again;}
+ { toknz->cs = 333; goto _again;}
}}
break;
- case 103:
-#line 821 "lib/eolian/eo_lexer.rl"
+ case 105:
+#line 832 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" begin methods");
toknz->current_methods_type = METH_REGULAR;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting++;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 104:
-#line 829 "lib/eolian/eo_lexer.rl"
+ case 106:
+#line 840 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
INF("end class: %s", toknz->tmp.kls->name);
toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
toknz->tmp.kls = NULL;
toknz->current_nesting--;
- { toknz->cs = 292; goto _again;}
+ { toknz->cs = 301; goto _again;}
}}
break;
- case 105:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 107:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2563,45 +2617,45 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 106:
-#line 910 "lib/eolian/eo_lexer.rl"
+ case 108:
+#line 921 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 107:
-#line 913 "lib/eolian/eo_lexer.rl"
+ case 109:
+#line 924 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 108:
-#line 914 "lib/eolian/eo_lexer.rl"
+ case 110:
+#line 925 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 109:
-#line 915 "lib/eolian/eo_lexer.rl"
+ case 111:
+#line 926 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 110:
-#line 800 "lib/eolian/eo_lexer.rl"
+ case 112:
+#line 811 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
}}
break;
- case 111:
-#line 803 "lib/eolian/eo_lexer.rl"
+ case 113:
+#line 814 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
}}
break;
- case 112:
-#line 829 "lib/eolian/eo_lexer.rl"
+ case 114:
+#line 840 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
INF("end class: %s", toknz->tmp.kls->name);
toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
toknz->tmp.kls = NULL;
toknz->current_nesting--;
- { toknz->cs = 292; goto _again;}
+ { toknz->cs = 301; goto _again;}
}}
break;
- case 113:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 115:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2619,8 +2673,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 114:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 116:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2638,24 +2692,28 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 115:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 117:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 116:
-#line 927 "lib/eolian/eo_lexer.rl"
+ case 118:
+#line 938 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
INF("begin class: %s", toknz->tmp.kls->name);
toknz->current_nesting++;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 117:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 119:
+#line 992 "lib/eolian/eo_lexer.rl"
+ { toknz->te = ( toknz->p)+1;}
+ break;
+ case 120:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2673,12 +2731,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 118:
-#line 962 "lib/eolian/eo_lexer.rl"
+ case 121:
+#line 989 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 119:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 122:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2696,8 +2754,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 120:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 123:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -2715,7 +2773,7 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
-#line 2719 "lib/eolian/eo_lexer.c"
+#line 2777 "lib/eolian/eo_lexer.c"
}
}
@@ -2724,11 +2782,11 @@ _again:
_nacts = (unsigned int) *_acts++;
while ( _nacts-- > 0 ) {
switch ( *_acts++ ) {
- case 33:
+ case 35:
#line 1 "NONE"
{ toknz->ts = 0;}
break;
-#line 2732 "lib/eolian/eo_lexer.c"
+#line 2790 "lib/eolian/eo_lexer.c"
}
}
@@ -2746,12 +2804,12 @@ _again:
_out: {}
}
-#line 1017 "lib/eolian/eo_lexer.rl"
+#line 1045 "lib/eolian/eo_lexer.rl"
if ( toknz->cs ==
-#line 2753 "lib/eolian/eo_lexer.c"
+#line 2811 "lib/eolian/eo_lexer.c"
-1
-#line 1018 "lib/eolian/eo_lexer.rl"
+#line 1046 "lib/eolian/eo_lexer.rl"
)
{
ERR("%s: wrong termination", source);
@@ -2797,7 +2855,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
Eina_Bool ret = EINA_TRUE;
-#line 2801 "lib/eolian/eo_lexer.c"
+#line 2859 "lib/eolian/eo_lexer.c"
{
toknz->cs = eo_tokenizer_start;
toknz->ts = 0;
@@ -2805,7 +2863,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
toknz->act = 0;
}
-#line 1063 "lib/eolian/eo_lexer.rl"
+#line 1091 "lib/eolian/eo_lexer.rl"
toknz->p = buffer;
@@ -2814,7 +2872,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
toknz->eof = toknz->pe;
-#line 2818 "lib/eolian/eo_lexer.c"
+#line 2876 "lib/eolian/eo_lexer.c"
{
int _klen;
unsigned int _trans;
@@ -2829,11 +2887,11 @@ _resume:
_nacts = (unsigned int) *_acts++;
while ( _nacts-- > 0 ) {
switch ( *_acts++ ) {
- case 34:
+ case 36:
#line 1 "NONE"
{ toknz->ts = ( toknz->p);}
break;
-#line 2837 "lib/eolian/eo_lexer.c"
+#line 2895 "lib/eolian/eo_lexer.c"
}
}
@@ -2900,35 +2958,35 @@ _eof_trans:
switch ( *_acts++ )
{
case 0:
-#line 366 "lib/eolian/eo_lexer.rl"
+#line 377 "lib/eolian/eo_lexer.rl"
{
toknz->current_line += 1;
DBG("inc[%d] %d", toknz->cs, toknz->current_line);
}
break;
case 1:
-#line 371 "lib/eolian/eo_lexer.rl"
+#line 382 "lib/eolian/eo_lexer.rl"
{
toknz->saved.line = toknz->current_line;
DBG("save line[%d] %d", toknz->cs, toknz->current_line);
}
break;
case 2:
-#line 376 "lib/eolian/eo_lexer.rl"
+#line 387 "lib/eolian/eo_lexer.rl"
{
toknz->saved.tok = ( toknz->p);
DBG("save token[%d] %p %c", toknz->cs, ( toknz->p), *( toknz->p));
}
break;
case 3:
-#line 381 "lib/eolian/eo_lexer.rl"
+#line 392 "lib/eolian/eo_lexer.rl"
{
DBG("move ts %d chars forward", (int)(( toknz->p) - toknz->ts));
toknz->ts = ( toknz->p);
}
break;
case 4:
-#line 460 "lib/eolian/eo_lexer.rl"
+#line 471 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
if (toknz->tmp.accessor->ret != NULL)
@@ -2937,7 +2995,7 @@ _eof_trans:
}
break;
case 5:
-#line 467 "lib/eolian/eo_lexer.rl"
+#line 478 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
if (!toknz->tmp.accessor->ret) ABORT(toknz, "No ret!!!");
@@ -2948,20 +3006,20 @@ _eof_trans:
}
break;
case 6:
-#line 476 "lib/eolian/eo_lexer.rl"
+#line 487 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
toknz->tmp.accessor->legacy = _eo_tokenizer_token_get(toknz, ( toknz->p));
}
break;
case 7:
-#line 490 "lib/eolian/eo_lexer.rl"
+#line 501 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.accessor_param = _eo_tokenizer_accessor_param_get(toknz, ( toknz->p));
}
break;
case 8:
-#line 494 "lib/eolian/eo_lexer.rl"
+#line 505 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.accessor_param)
ABORT(toknz, "No accessor param!!!");
@@ -2972,7 +3030,7 @@ _eof_trans:
}
break;
case 9:
-#line 523 "lib/eolian/eo_lexer.rl"
+#line 534 "lib/eolian/eo_lexer.rl"
{
const char *c = _eo_tokenizer_token_get(toknz, ( toknz->p)-2);
if (toknz->tmp.param == NULL)
@@ -2982,7 +3040,7 @@ _eof_trans:
}
break;
case 10:
-#line 531 "lib/eolian/eo_lexer.rl"
+#line 542 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.param = _eo_tokenizer_param_get(toknz, ( toknz->p));
if (toknz->tmp.params)
@@ -2993,7 +3051,7 @@ _eof_trans:
}
break;
case 11:
-#line 630 "lib/eolian/eo_lexer.rl"
+#line 641 "lib/eolian/eo_lexer.rl"
{
if (toknz->tmp.prop != NULL)
ABORT(toknz, "there is a pending property definition %s", toknz->tmp.prop->name);
@@ -3001,13 +3059,13 @@ _eof_trans:
}
break;
case 12:
-#line 636 "lib/eolian/eo_lexer.rl"
+#line 647 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.fscope = _eo_tokenizer_scope_get(toknz, ( toknz->p));
}
break;
case 13:
-#line 674 "lib/eolian/eo_lexer.rl"
+#line 685 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
if (toknz->tmp.meth->ret != NULL)
@@ -3016,7 +3074,7 @@ _eof_trans:
}
break;
case 14:
-#line 681 "lib/eolian/eo_lexer.rl"
+#line 692 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
if (toknz->tmp.meth->ret == NULL) ABORT(toknz, "No ret!!!");
@@ -3027,14 +3085,14 @@ _eof_trans:
}
break;
case 15:
-#line 690 "lib/eolian/eo_lexer.rl"
+#line 701 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
toknz->tmp.meth->legacy = _eo_tokenizer_token_get(toknz, ( toknz->p));
}
break;
case 16:
-#line 695 "lib/eolian/eo_lexer.rl"
+#line 706 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
toknz->tmp.meth->obj_const = EINA_TRUE;
@@ -3042,7 +3100,7 @@ _eof_trans:
}
break;
case 17:
-#line 753 "lib/eolian/eo_lexer.rl"
+#line 764 "lib/eolian/eo_lexer.rl"
{
if (toknz->tmp.meth != NULL)
ABORT(toknz, "there is a pending method definition %s", toknz->tmp.meth->name);
@@ -3050,20 +3108,20 @@ _eof_trans:
}
break;
case 18:
-#line 759 "lib/eolian/eo_lexer.rl"
+#line 770 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.fscope = _eo_tokenizer_scope_get(toknz, ( toknz->p));
}
break;
case 19:
-#line 789 "lib/eolian/eo_lexer.rl"
+#line 800 "lib/eolian/eo_lexer.rl"
{
const char *base = _eo_tokenizer_token_get(toknz, ( toknz->p));
toknz->tmp.str_items = eina_list_append(toknz->tmp.str_items, base);
}
break;
case 20:
-#line 794 "lib/eolian/eo_lexer.rl"
+#line 805 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
toknz->tmp.kls->inherits = toknz->tmp.str_items;
@@ -3071,7 +3129,7 @@ _eof_trans:
}
break;
case 21:
-#line 838 "lib/eolian/eo_lexer.rl"
+#line 849 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
toknz->tmp.event = _eo_tokenizer_event_get(toknz, ( toknz->p));
@@ -3079,7 +3137,7 @@ _eof_trans:
}
break;
case 22:
-#line 844 "lib/eolian/eo_lexer.rl"
+#line 855 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
if (toknz->tmp.event->type != NULL)
@@ -3088,7 +3146,7 @@ _eof_trans:
}
break;
case 23:
-#line 851 "lib/eolian/eo_lexer.rl"
+#line 862 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
if (toknz->tmp.event->comment != NULL)
@@ -3098,7 +3156,7 @@ _eof_trans:
}
break;
case 24:
-#line 859 "lib/eolian/eo_lexer.rl"
+#line 870 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->legacy_prefix != NULL)
@@ -3107,7 +3165,7 @@ _eof_trans:
}
break;
case 25:
-#line 868 "lib/eolian/eo_lexer.rl"
+#line 879 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->eo_prefix != NULL)
@@ -3116,7 +3174,7 @@ _eof_trans:
}
break;
case 26:
-#line 877 "lib/eolian/eo_lexer.rl"
+#line 888 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->data_type != NULL)
@@ -3125,7 +3183,7 @@ _eof_trans:
}
break;
case 27:
-#line 890 "lib/eolian/eo_lexer.rl"
+#line 901 "lib/eolian/eo_lexer.rl"
{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
toknz->tmp.impl = _eo_tokenizer_implement_get(toknz, ( toknz->p));
@@ -3133,31 +3191,31 @@ _eof_trans:
}
break;
case 28:
-#line 934 "lib/eolian/eo_lexer.rl"
+#line 945 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_REGULAR;
}
break;
case 29:
-#line 937 "lib/eolian/eo_lexer.rl"
+#line 948 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_ABSTRACT;
}
break;
case 30:
-#line 940 "lib/eolian/eo_lexer.rl"
+#line 951 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_MIXIN;
}
break;
case 31:
-#line 943 "lib/eolian/eo_lexer.rl"
+#line 954 "lib/eolian/eo_lexer.rl"
{
toknz->tmp.kls_type = EOLIAN_CLASS_INTERFACE;
}
break;
case 32:
-#line 947 "lib/eolian/eo_lexer.rl"
+#line 958 "lib/eolian/eo_lexer.rl"
{
if (toknz->tmp.kls != NULL)
ABORT(toknz, "there is a pending class definition %s", toknz->tmp.kls->name);
@@ -3165,12 +3223,28 @@ _eof_trans:
toknz->tmp.kls->type = toknz->tmp.kls_type;
}
break;
- case 35:
+ case 33:
+#line 972 "lib/eolian/eo_lexer.rl"
+ {
+ toknz->tmp.typedef_alias = _eo_tokenizer_token_get(toknz, ( toknz->p));
+ }
+ break;
+ case 34:
+#line 976 "lib/eolian/eo_lexer.rl"
+ {
+ if (toknz->tmp.typedef_alias == NULL)
+ ABORT(toknz, "No typedef");
+ toknz->tmp.type_def = _eo_tokenizer_type_get(toknz, ( toknz->p));
+ toknz->tmp.type_def->alias = toknz->tmp.typedef_alias;
+ toknz->typedefs = eina_list_append(toknz->typedefs, toknz->tmp.type_def);
+ }
+ break;
+ case 37:
#line 1 "NONE"
{ toknz->te = ( toknz->p)+1;}
break;
- case 36:
-#line 452 "lib/eolian/eo_lexer.rl"
+ case 38:
+#line 463 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
if (toknz->tmp.accessor->comment != NULL)
@@ -3179,34 +3253,34 @@ _eof_trans:
INF(" %s", toknz->tmp.accessor->comment);
}}
break;
- case 37:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 39:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 38:
-#line 515 "lib/eolian/eo_lexer.rl"
+ case 40:
+#line 526 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 39:
-#line 516 "lib/eolian/eo_lexer.rl"
+ case 41:
+#line 527 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 40:
-#line 481 "lib/eolian/eo_lexer.rl"
+ case 42:
+#line 492 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
if (!toknz->tmp.prop) ABORT(toknz, "No prop!!!");
toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
toknz->tmp.accessor = NULL;
toknz->current_nesting--;
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
}}
break;
- case 41:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 43:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3224,27 +3298,27 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 42:
-#line 511 "lib/eolian/eo_lexer.rl"
+ case 44:
+#line 522 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 43:
-#line 514 "lib/eolian/eo_lexer.rl"
+ case 45:
+#line 525 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 44:
-#line 481 "lib/eolian/eo_lexer.rl"
+ case 46:
+#line 492 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
if (!toknz->tmp.prop) ABORT(toknz, "No prop!!!");
toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
toknz->tmp.accessor = NULL;
toknz->current_nesting--;
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
}}
break;
- case 45:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 47:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3262,12 +3336,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 46:
-#line 514 "lib/eolian/eo_lexer.rl"
+ case 48:
+#line 525 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}}
break;
- case 47:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 49:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3285,29 +3359,29 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 48:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 50:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 49:
-#line 540 "lib/eolian/eo_lexer.rl"
+ case 51:
+#line 551 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
toknz->tmp.param = NULL;
toknz->current_nesting--;
if (toknz->tmp.prop)
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
else if (toknz->tmp.meth)
- { toknz->cs = 329; goto _again;}
+ { toknz->cs = 339; goto _again;}
else
ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
}}
break;
- case 50:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 52:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3325,30 +3399,30 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 51:
-#line 556 "lib/eolian/eo_lexer.rl"
+ case 53:
+#line 567 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 52:
-#line 558 "lib/eolian/eo_lexer.rl"
+ case 54:
+#line 569 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 53:
-#line 540 "lib/eolian/eo_lexer.rl"
+ case 55:
+#line 551 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
toknz->tmp.param = NULL;
toknz->current_nesting--;
if (toknz->tmp.prop)
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
else if (toknz->tmp.meth)
- { toknz->cs = 329; goto _again;}
+ { toknz->cs = 339; goto _again;}
else
ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
}}
break;
- case 54:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 56:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3366,12 +3440,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 55:
-#line 558 "lib/eolian/eo_lexer.rl"
+ case 57:
+#line 569 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}}
break;
- case 56:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 58:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3389,51 +3463,51 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 57:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 59:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 58:
-#line 565 "lib/eolian/eo_lexer.rl"
+ case 60:
+#line 576 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" get {");
toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER);
toknz->current_nesting++;
- { toknz->cs = 299; goto _again;}
+ { toknz->cs = 309; goto _again;}
}}
break;
- case 59:
-#line 572 "lib/eolian/eo_lexer.rl"
+ case 61:
+#line 583 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" set {");
toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER);
toknz->current_nesting++;
- { toknz->cs = 299; goto _again;}
+ { toknz->cs = 309; goto _again;}
}}
break;
- case 60:
-#line 579 "lib/eolian/eo_lexer.rl"
+ case 62:
+#line 590 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" keys {");
toknz->current_nesting++;
toknz->tmp.params = &(toknz->tmp.prop->keys);
- { toknz->cs = 308; goto _again;}
+ { toknz->cs = 318; goto _again;}
}}
break;
- case 61:
-#line 586 "lib/eolian/eo_lexer.rl"
+ case 63:
+#line 597 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" values {");
toknz->current_nesting++;
toknz->tmp.params = &(toknz->tmp.prop->values);
- { toknz->cs = 308; goto _again;}
+ { toknz->cs = 318; goto _again;}
}}
break;
- case 62:
-#line 593 "lib/eolian/eo_lexer.rl"
+ case 64:
+#line 604 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
if (eina_list_count(toknz->tmp.prop->accessors) == 0)
@@ -3443,11 +3517,11 @@ _eof_trans:
toknz->tmp.prop = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 323; goto _again;}
+ { toknz->cs = 333; goto _again;}
}}
break;
- case 63:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 65:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3465,12 +3539,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 64:
-#line 611 "lib/eolian/eo_lexer.rl"
+ case 66:
+#line 622 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 65:
-#line 593 "lib/eolian/eo_lexer.rl"
+ case 67:
+#line 604 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
if (eina_list_count(toknz->tmp.prop->accessors) == 0)
@@ -3480,11 +3554,11 @@ _eof_trans:
toknz->tmp.prop = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 323; goto _again;}
+ { toknz->cs = 333; goto _again;}
}}
break;
- case 66:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 68:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3502,8 +3576,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 67:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 69:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3521,32 +3595,32 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 68:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 70:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 69:
-#line 623 "lib/eolian/eo_lexer.rl"
+ case 71:
+#line 634 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
INF(" %s {", toknz->tmp.prop->name);
toknz->current_nesting++;
- { toknz->cs = 315; goto _again;}
+ { toknz->cs = 325; goto _again;}
}}
break;
- case 70:
-#line 640 "lib/eolian/eo_lexer.rl"
+ case 72:
+#line 651 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 71:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 73:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3564,20 +3638,20 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 72:
-#line 649 "lib/eolian/eo_lexer.rl"
+ case 74:
+#line 660 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 73:
-#line 640 "lib/eolian/eo_lexer.rl"
+ case 75:
+#line 651 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 74:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 76:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3595,8 +3669,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 75:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 77:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3614,8 +3688,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 76:
-#line 658 "lib/eolian/eo_lexer.rl"
+ case 78:
+#line 669 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
if (toknz->tmp.meth->comment != NULL)
@@ -3624,33 +3698,33 @@ _eof_trans:
INF(" %s", toknz->tmp.meth->comment);
}}
break;
- case 77:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 79:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 78:
-#line 666 "lib/eolian/eo_lexer.rl"
+ case 80:
+#line 677 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
INF(" params {");
toknz->current_nesting++;
toknz->tmp.params = &(toknz->tmp.meth->params);
- { toknz->cs = 308; goto _again;}
+ { toknz->cs = 318; goto _again;}
}}
break;
- case 79:
-#line 738 "lib/eolian/eo_lexer.rl"
+ case 81:
+#line 749 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 80:
-#line 739 "lib/eolian/eo_lexer.rl"
+ case 82:
+#line 750 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;}
break;
- case 81:
-#line 701 "lib/eolian/eo_lexer.rl"
+ case 83:
+#line 712 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
Eina_List **l = NULL;
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
@@ -3670,11 +3744,11 @@ _eof_trans:
toknz->tmp.meth = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 82:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 84:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3692,16 +3766,16 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 83:
-#line 733 "lib/eolian/eo_lexer.rl"
+ case 85:
+#line 744 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 84:
-#line 737 "lib/eolian/eo_lexer.rl"
+ case 86:
+#line 748 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 85:
-#line 701 "lib/eolian/eo_lexer.rl"
+ case 87:
+#line 712 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
Eina_List **l = NULL;
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
@@ -3721,11 +3795,11 @@ _eof_trans:
toknz->tmp.meth = NULL;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting--;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 86:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 88:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3743,12 +3817,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 87:
-#line 737 "lib/eolian/eo_lexer.rl"
+ case 89:
+#line 748 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}}
break;
- case 88:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 90:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3766,33 +3840,33 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 89:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 91:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 90:
-#line 746 "lib/eolian/eo_lexer.rl"
+ case 92:
+#line 757 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
INF(" %s {", toknz->tmp.meth->name);
toknz->current_nesting++;
- { toknz->cs = 329; goto _again;}
+ { toknz->cs = 339; goto _again;}
}}
break;
- case 91:
-#line 763 "lib/eolian/eo_lexer.rl"
+ case 93:
+#line 774 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" }");
toknz->current_methods_type = METH_TYPE_LAST;
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 92:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 94:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3810,21 +3884,21 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 93:
-#line 773 "lib/eolian/eo_lexer.rl"
+ case 95:
+#line 784 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 94:
-#line 763 "lib/eolian/eo_lexer.rl"
+ case 96:
+#line 774 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
INF(" }");
toknz->current_methods_type = METH_TYPE_LAST;
toknz->current_nesting--;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 95:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 97:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3842,8 +3916,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 96:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 98:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3861,8 +3935,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 97:
-#line 782 "lib/eolian/eo_lexer.rl"
+ case 99:
+#line 793 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
if (toknz->tmp.kls->comment != NULL)
@@ -3870,65 +3944,65 @@ _eof_trans:
toknz->tmp.kls->comment = _eo_tokenizer_token_get(toknz, ( toknz->p)-1);
}}
break;
- case 98:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 100:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 99:
-#line 800 "lib/eolian/eo_lexer.rl"
+ case 101:
+#line 811 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
}}
break;
- case 100:
-#line 803 "lib/eolian/eo_lexer.rl"
+ case 102:
+#line 814 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
}}
break;
- case 101:
-#line 806 "lib/eolian/eo_lexer.rl"
+ case 103:
+#line 817 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" constructors {");
toknz->current_methods_type = METH_CONSTRUCTOR;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting++;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 102:
-#line 814 "lib/eolian/eo_lexer.rl"
+ case 104:
+#line 825 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" properties {");
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting++;
- { toknz->cs = 323; goto _again;}
+ { toknz->cs = 333; goto _again;}
}}
break;
- case 103:
-#line 821 "lib/eolian/eo_lexer.rl"
+ case 105:
+#line 832 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
INF(" begin methods");
toknz->current_methods_type = METH_REGULAR;
toknz->tmp.fscope = FUNC_PUBLIC;
toknz->current_nesting++;
- { toknz->cs = 339; goto _again;}
+ { toknz->cs = 349; goto _again;}
}}
break;
- case 104:
-#line 829 "lib/eolian/eo_lexer.rl"
+ case 106:
+#line 840 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
INF("end class: %s", toknz->tmp.kls->name);
toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
toknz->tmp.kls = NULL;
toknz->current_nesting--;
- { toknz->cs = 292; goto _again;}
+ { toknz->cs = 301; goto _again;}
}}
break;
- case 105:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 107:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -3946,45 +4020,45 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 106:
-#line 910 "lib/eolian/eo_lexer.rl"
+ case 108:
+#line 921 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 107:
-#line 913 "lib/eolian/eo_lexer.rl"
+ case 109:
+#line 924 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 108:
-#line 914 "lib/eolian/eo_lexer.rl"
+ case 110:
+#line 925 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 109:
-#line 915 "lib/eolian/eo_lexer.rl"
+ case 111:
+#line 926 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 110:
-#line 800 "lib/eolian/eo_lexer.rl"
+ case 112:
+#line 811 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
}}
break;
- case 111:
-#line 803 "lib/eolian/eo_lexer.rl"
+ case 113:
+#line 814 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
}}
break;
- case 112:
-#line 829 "lib/eolian/eo_lexer.rl"
+ case 114:
+#line 840 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
INF("end class: %s", toknz->tmp.kls->name);
toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
toknz->tmp.kls = NULL;
toknz->current_nesting--;
- { toknz->cs = 292; goto _again;}
+ { toknz->cs = 301; goto _again;}
}}
break;
- case 113:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 115:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -4002,8 +4076,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 114:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 116:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -4021,24 +4095,28 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 115:
-#line 386 "lib/eolian/eo_lexer.rl"
+ case 117:
+#line 397 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("comment[%d] line%03d:%03d", toknz->cs,
toknz->saved.line, toknz->current_line);
}}
break;
- case 116:
-#line 927 "lib/eolian/eo_lexer.rl"
+ case 118:
+#line 938 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
INF("begin class: %s", toknz->tmp.kls->name);
toknz->current_nesting++;
- { toknz->cs = 345; goto _again;}
+ { toknz->cs = 355; goto _again;}
}}
break;
- case 117:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 119:
+#line 992 "lib/eolian/eo_lexer.rl"
+ { toknz->te = ( toknz->p)+1;}
+ break;
+ case 120:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p)+1;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -4056,12 +4134,12 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 118:
-#line 962 "lib/eolian/eo_lexer.rl"
+ case 121:
+#line 989 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;}
break;
- case 119:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 122:
+#line 406 "lib/eolian/eo_lexer.rl"
{ toknz->te = ( toknz->p);( toknz->p)--;{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -4079,8 +4157,8 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
- case 120:
-#line 395 "lib/eolian/eo_lexer.rl"
+ case 123:
+#line 406 "lib/eolian/eo_lexer.rl"
{{( toknz->p) = (( toknz->te))-1;}{
DBG("error[%d]", toknz->cs);
char *s, *d;
@@ -4098,7 +4176,7 @@ _eof_trans:
{( toknz->p)++; goto _out; } /* necessary to stop scanners */
}}
break;
-#line 4102 "lib/eolian/eo_lexer.c"
+#line 4180 "lib/eolian/eo_lexer.c"
}
}
@@ -4107,11 +4185,11 @@ _again:
_nacts = (unsigned int) *_acts++;
while ( _nacts-- > 0 ) {
switch ( *_acts++ ) {
- case 33:
+ case 35:
#line 1 "NONE"
{ toknz->ts = 0;}
break;
-#line 4115 "lib/eolian/eo_lexer.c"
+#line 4193 "lib/eolian/eo_lexer.c"
}
}
@@ -4129,12 +4207,12 @@ _again:
_out: {}
}
-#line 1071 "lib/eolian/eo_lexer.rl"
+#line 1099 "lib/eolian/eo_lexer.rl"
if ( toknz->cs ==
-#line 4136 "lib/eolian/eo_lexer.c"
+#line 4214 "lib/eolian/eo_lexer.c"
-1
-#line 1072 "lib/eolian/eo_lexer.rl"
+#line 1100 "lib/eolian/eo_lexer.rl"
)
{
ERR("%s: wrong termination", source);
@@ -4161,6 +4239,7 @@ eo_tokenizer_get(void)
toknz->saved.tok = NULL;
toknz->saved.line = 0;
toknz->classes = NULL;
+ toknz->typedefs = NULL;
return toknz;
}
@@ -4369,6 +4448,7 @@ eo_tokenizer_database_fill(const char *filename)
Eina_List *k, *l, *m;
Eo_Class_Def *kls;
+ Eo_Type_Def *type_def;
Eo_Property_Def *prop;
Eo_Method_Def *meth;
Eo_Param_Def *param;
@@ -4597,6 +4677,11 @@ eo_tokenizer_database_fill(const char *filename)
}
+ EINA_LIST_FOREACH(toknz->typedefs, k, type_def)
+ {
+ database_type_add(type_def->alias, _types_extract(type_def->type, strlen(type_def->type)));
+ }
+
ret = EINA_TRUE;
end:
if (buffer) free(buffer);
@@ -4609,6 +4694,7 @@ void
eo_tokenizer_free(Eo_Tokenizer *toknz)
{
Eo_Class_Def *kls;
+ Eo_Type_Def *type;
if (toknz->source)
eina_stringshare_del(toknz->source);
@@ -4616,6 +4702,9 @@ eo_tokenizer_free(Eo_Tokenizer *toknz)
EINA_LIST_FREE(toknz->classes, kls)
eo_definitions_class_def_free(kls);
+ EINA_LIST_FREE(toknz->typedefs, type)
+ eo_definitions_type_def_free(type);
+
free(toknz);
}
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index debd86e4ae..2e6bb116bf 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -34,10 +34,13 @@ typedef struct _eo_tokenizer
} saved;
Eina_List *classes;
+ Eina_List *typedefs;
struct {
Eina_List **params;
Eolian_Class_Type kls_type;
+ const char *typedef_alias;
Eo_Class_Def *kls;
+ Eo_Type_Def *type_def;
Eo_Property_Def *prop;
Eo_Method_Def *meth;
Eo_Param_Def *param;
diff --git a/src/lib/eolian/eo_lexer.rl b/src/lib/eolian/eo_lexer.rl
index 9f16984cb1..81a124aed1 100644
--- a/src/lib/eolian/eo_lexer.rl
+++ b/src/lib/eolian/eo_lexer.rl
@@ -154,6 +154,17 @@ _eo_tokenizer_class_get(Eo_Tokenizer *toknz, char *p)
return kls;
}
+static Eo_Type_Def*
+_eo_tokenizer_type_get(Eo_Tokenizer *toknz, char *p)
+{
+ Eo_Type_Def *def = calloc(1, sizeof(Eo_Type_Def));
+ if (def == NULL) ABORT(toknz, "calloc Eo_Type_Def failure");
+
+ def->type = _eo_tokenizer_token_get(toknz, p);
+
+ return def;
+}
+
static Eo_Property_Def*
_eo_tokenizer_property_get(Eo_Tokenizer *toknz, char *p)
{
@@ -958,10 +969,27 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
"abstract" %class_type_set_to_abstract |
"interface" %class_type_set_to_interface) ws+ class_name ws* inherits? ignore* begin_def;
+ action end_typedef_alias {
+ toknz->tmp.typedef_alias = _eo_tokenizer_token_get(toknz, fpc);
+ }
+
+ action end_typedef_type{
+ if (toknz->tmp.typedef_alias == NULL)
+ ABORT(toknz, "No typedef");
+ toknz->tmp.type_def = _eo_tokenizer_type_get(toknz, fpc);
+ toknz->tmp.type_def->alias = toknz->tmp.typedef_alias;
+ toknz->typedefs = eina_list_append(toknz->typedefs, toknz->tmp.type_def);
+ }
+
+ typedef_type = ('@'|alpha+) >save_fpc (alnum_u | '*' | '@' | '<' | '>' | ws )+;
+ typedef_alias = ident %end_typedef_alias;
+ begin_typedef = "type" ws+ typedef_alias ws* colon ws* typedef_type %end_typedef_type end_statement;
+
main := |*
ignore+; #=> show_ignore;
comment => show_comment;
begin_class => begin_class;
+ begin_typedef;
any => show_error;
*|;
@@ -1095,6 +1123,7 @@ eo_tokenizer_get(void)
toknz->saved.tok = NULL;
toknz->saved.line = 0;
toknz->classes = NULL;
+ toknz->typedefs = NULL;
return toknz;
}
@@ -1303,6 +1332,7 @@ eo_tokenizer_database_fill(const char *filename)
Eina_List *k, *l, *m;
Eo_Class_Def *kls;
+ Eo_Type_Def *type_def;
Eo_Property_Def *prop;
Eo_Method_Def *meth;
Eo_Param_Def *param;
@@ -1531,6 +1561,11 @@ eo_tokenizer_database_fill(const char *filename)
}
+ EINA_LIST_FOREACH(toknz->typedefs, k, type_def)
+ {
+ database_type_add(type_def->alias, _types_extract(type_def->type, strlen(type_def->type)));
+ }
+
ret = EINA_TRUE;
end:
if (buffer) free(buffer);
@@ -1543,6 +1578,7 @@ void
eo_tokenizer_free(Eo_Tokenizer *toknz)
{
Eo_Class_Def *kls;
+ Eo_Type_Def *type;
if (toknz->source)
eina_stringshare_del(toknz->source);
@@ -1550,6 +1586,9 @@ eo_tokenizer_free(Eo_Tokenizer *toknz)
EINA_LIST_FREE(toknz->classes, kls)
eo_definitions_class_def_free(kls);
+ EINA_LIST_FREE(toknz->typedefs, type)
+ eo_definitions_type_def_free(type);
+
free(toknz);
}
diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c
index 9bd7c612e0..789d6b416b 100644
--- a/src/lib/eolian/eolian_database.c
+++ b/src/lib/eolian/eolian_database.c
@@ -15,6 +15,7 @@
#define EOLIAN_PROP_SET_RETURN_COMMENT "property_set_return_comment"
static Eina_Hash *_classes = NULL;
+static Eina_Hash *_types = NULL;
static Eina_Hash *_filenames = NULL; /* Hash: filename without extension -> full path */
static int _database_init_count = 0;
@@ -39,6 +40,12 @@ typedef struct
typedef struct
{
+ Eina_Stringshare *alias;
+ Eolian_Type type;
+} Type_Desc;
+
+typedef struct
+{
Eina_Stringshare *name;
Eina_List *keys; /* list of _Parameter_Desc */
Eina_List *params; /* list of _Parameter_Desc */
@@ -171,12 +178,20 @@ _class_del(Class_desc *class)
free(class);
}
-void _hash_free_cb(void *data)
+static void _class_hash_free_cb(void *data)
{
Class_desc *cl = data;
_class_del(cl);
}
+static void _type_hash_free_cb(void *data)
+{
+ Type_Desc *type = data;
+ eina_stringshare_del(type->alias);
+ database_type_del(type->type);
+ free(type);
+}
+
static Class_desc *
_class_get(const char *class_name)
{
@@ -192,7 +207,8 @@ database_init()
{
if (_database_init_count > 0) return ++_database_init_count;
eina_init();
- _classes = eina_hash_stringshared_new(_hash_free_cb);
+ _classes = eina_hash_stringshared_new(_class_hash_free_cb);
+ _types = eina_hash_stringshared_new(_type_hash_free_cb);
_filenames = eina_hash_string_small_new(free);
return ++_database_init_count;
}
@@ -210,6 +226,7 @@ database_shutdown()
if (_database_init_count == 0)
{
eina_hash_free(_classes);
+ eina_hash_free(_types);
eina_hash_free(_filenames);
eina_shutdown();
}
@@ -217,6 +234,30 @@ database_shutdown()
}
Eina_Bool
+database_type_add(const char *alias, Eolian_Type type)
+{
+ if (_types)
+ {
+ Type_Desc *desc = calloc(1, sizeof(*desc));
+ desc->alias = eina_stringshare_add(alias);
+ desc->type = type;
+ eina_hash_set(_types, desc->alias, desc);
+ return EINA_TRUE;
+ }
+ return EINA_FALSE;
+}
+
+EAPI Eolian_Type
+eolian_type_find_by_alias(const char *alias)
+{
+ if (!_types) return NULL;
+ Eina_Stringshare *shr = eina_stringshare_add(alias);
+ Type_Desc *cl = eina_hash_find(_types, shr);
+ eina_stringshare_del(shr);
+ return cl->type;
+}
+
+Eina_Bool
database_class_add(const char *class_name, Eolian_Class_Type type)
{
if (_classes)
diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h
index cac78d2c6b..113d0de9c5 100644
--- a/src/lib/eolian/eolian_database.h
+++ b/src/lib/eolian/eolian_database.h
@@ -33,6 +33,9 @@ extern int _eolian_log_dom;
int database_init();
int database_shutdown();
+/* Add a type in the database */
+Eina_Bool database_type_add(const char *alias, Eolian_Type type);
+
/* Add a class in the database */
Eina_Bool database_class_add(const char *class_name, Eolian_Class_Type type);
diff --git a/src/tests/eolian/data/typedef.eo b/src/tests/eolian/data/typedef.eo
new file mode 100644
index 0000000000..e2dfbf4474
--- /dev/null
+++ b/src/tests/eolian/data/typedef.eo
@@ -0,0 +1,13 @@
+type Evas_Coord: int; /* Simple type definition */
+type List_Objects: @own Eina_List * < Eo *>; /* A little more complex */
+
+class Dummy {
+ methods {
+ foo {
+ params {
+ int idx;
+ }
+ return @own char *; /*@ comment for method return */
+ }
+ }
+}
diff --git a/src/tests/eolian/eolian_suite.c b/src/tests/eolian/eolian_suite.c
index e110fc5f87..648bd07453 100644
--- a/src/tests/eolian/eolian_suite.c
+++ b/src/tests/eolian/eolian_suite.c
@@ -52,6 +52,38 @@ START_TEST(eolian_ctor_dtor)
}
END_TEST
+START_TEST(eolian_typedef)
+{
+ 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/typedef.eo"));
+
+ /* Check that the class Dummy is still readable */
+ fail_if(!eolian_class_function_find_by_name("Dummy", "foo", EOLIAN_METHOD));
+
+ /* Basic type */
+ fail_if(!(types_list = eolian_type_find_by_alias("Evas_Coord")));
+ fail_if(eolian_type_information_get(types_list, &type_name, &own));
+ fail_if(strcmp(type_name, "int"));
+ fail_if(own != EINA_FALSE);
+
+ /* Complex type */
+ fail_if(!(types_list = eolian_type_find_by_alias("List_Objects")));
+ 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, "Eo *"));
+ fail_if(own != EINA_FALSE);
+
+ eolian_shutdown();
+}
+END_TEST
+
START_TEST(eolian_complex_type)
{
Eolian_Function fid = NULL;
@@ -251,6 +283,7 @@ static void eolian_parsing_test(TCase *tc)
tcase_add_test(tc, eolian_ctor_dtor);
tcase_add_test(tc, eolian_scope);
tcase_add_test(tc, eolian_complex_type);
+ tcase_add_test(tc, eolian_typedef);
}
static const Eolian_Test_Case etc[] = {