Eolian: Removal of the support for custom destructors.
authorDaniel Zaoui <daniel.zaoui@samsung.com>
Thu, 24 Apr 2014 13:30:40 +0000 (16:30 +0300)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Thu, 24 Apr 2014 13:30:40 +0000 (16:30 +0300)
For no reason, I added it a long time ago.

src/lib/eolian/Eolian.h
src/lib/eolian/eo_definitions.c
src/lib/eolian/eo_definitions.h
src/lib/eolian/eo_lexer.c
src/lib/eolian/eo_lexer.rl
src/lib/eolian/eolian_database.c

index 459682e..eebf6ed 100644 (file)
@@ -94,8 +94,7 @@ typedef enum
    EOLIAN_PROP_SET,
    EOLIAN_PROP_GET,
    EOLIAN_METHOD,
-   EOLIAN_CTOR,
-   EOLIAN_DTOR
+   EOLIAN_CTOR
 } Eolian_Function_Type;
 
 typedef enum
index 797de2f..15d30d4 100644 (file)
@@ -144,9 +144,6 @@ eo_definitions_class_def_free(Eo_Class_Def *kls)
    EINA_LIST_FREE(kls->constructors, meth)
       eo_definitions_method_def_free(meth);
 
-   EINA_LIST_FREE(kls->destructors, meth)
-      eo_definitions_method_def_free(meth);
-
    EINA_LIST_FREE(kls->properties, prop)
       eo_definitions_property_def_free(prop);
 
index 2b243f1..ec18937 100644 (file)
@@ -135,7 +135,6 @@ typedef struct _eo_class_def
    Eina_List *implements;
    Eina_List *events;
    Eina_List *constructors;
-   Eina_List *destructors;
    Eina_List *properties;
    Eina_List *methods;
 } Eo_Class_Def;
index 724e368..c9ec85a 100644 (file)
@@ -362,7 +362,7 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
 
 
 #line 365 "lib/eolian/eo_lexer.c"
-static const unsigned char _eo_tokenizer_actions[] = {
+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, 
@@ -390,24 +390,24 @@ static const unsigned char _eo_tokenizer_actions[] = {
        113, 1, 114, 1, 115, 1, 116, 1, 
        117, 1, 118, 1, 119, 1, 120, 1, 
        121, 1, 122, 1, 123, 1, 124, 1, 
-       125, 1, 126, 1, 127, 1, 128, 2
-       0, 44, 2, 0, 55, 2, 0, 64
-       2, 0, 75, 2, 0, 84, 2, 0
-       96, 2, 0, 105, 2, 0, 123, 2
-       5, 50, 2, 6, 45, 2, 7, 2
-       2, 8, 46, 2, 9, 59, 2, 11
-       0, 2, 11, 76, 2, 14, 91, 2
-       15, 86, 2, 16, 87, 2, 17, 0
-       2, 17, 97, 2, 19, 0, 2, 20
-       0, 2, 20, 124, 2, 21, 0, 2
-       22, 0, 2, 23, 0, 2, 23, 2
-       2, 27, 0, 2, 28, 0, 2, 28
-       2, 2, 29, 0, 2, 31, 0, 2
-       32, 0, 2, 32, 2, 2, 39, 0
-       2, 39, 124, 2, 42, 1, 2, 42, 
-       2, 2, 42, 4, 2, 42, 10, 2
-       42, 13, 3, 3, 12, 2, 3, 3, 
-       18, 2
+       125, 1, 126, 1, 127, 2, 0, 44
+       2, 0, 55, 2, 0, 64, 2, 0
+       75, 2, 0, 84, 2, 0, 96, 2
+       0, 105, 2, 0, 122, 2, 5, 50
+       2, 6, 45, 2, 7, 2, 2, 8
+       46, 2, 9, 59, 2, 11, 0, 2
+       11, 76, 2, 14, 91, 2, 15, 86
+       2, 16, 87, 2, 17, 0, 2, 17
+       97, 2, 19, 0, 2, 20, 0, 2
+       20, 123, 2, 21, 0, 2, 22, 0
+       2, 23, 0, 2, 23, 2, 2, 27
+       0, 2, 28, 0, 2, 28, 2, 2
+       29, 0, 2, 31, 0, 2, 32, 0
+       2, 32, 2, 2, 39, 0, 2, 39
+       123, 2, 42, 1, 2, 42, 2, 2, 
+       42, 4, 2, 42, 10, 2, 42, 13
+       3, 3, 12, 2, 3, 3, 18, 2
+       
 };
 
 static const short _eo_tokenizer_key_offsets[] = {
@@ -439,30 +439,29 @@ static const short _eo_tokenizer_key_offsets[] = {
        1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 
        1266, 1267, 1268, 1269, 1273, 1274, 1275, 1279, 
        1286, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 
-       1301, 1302, 1303, 1307, 1308, 1309, 1310, 1311, 
-       1312, 1313, 1314, 1318, 1325, 1333, 1334, 1335, 
-       1336, 1337, 1341, 1349, 1365, 1369, 1381, 1382, 
-       1383, 1393, 1395, 1398, 1406, 1414, 1422, 1434, 
-       1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 
-       1446, 1450, 1458, 1471, 1476, 1480, 1481, 1482, 
-       1483, 1484, 1485, 1497, 1502, 1506, 1515, 1519, 
-       1520, 1521, 1522, 1523, 1524, 1528, 1537, 1544, 
-       1555, 1559, 1573, 1583, 1595, 1600, 1606, 1611, 
-       1612, 1613, 1614, 1615, 1616, 1619, 1626, 1634, 
-       1635, 1639, 1647, 1651, 1656, 1657, 1658, 1668, 
-       1670, 1673, 1683, 1695, 1707, 1708, 1709, 1710, 
-       1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 
-       1719, 1723, 1730, 1738, 1739, 1740, 1741, 1742, 
-       1743, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 
-       1754, 1755, 1759, 1767, 1770, 1772, 1773, 1774, 
-       1775, 1776, 1787, 1790, 1792, 1803, 1815, 1827, 
-       1831, 1831, 1832, 1841, 1844, 1846, 1859, 1863, 
-       1863, 1864, 1873, 1876, 1878, 1879, 1880, 1881, 
-       1882, 1883, 1895, 1898, 1900, 1911, 1924, 1925, 
-       1934, 1937, 1939, 1940, 1941, 1942, 1943, 1947, 
-       1947, 1948, 1960, 1963, 1965, 1976, 1989, 1990, 
-       2002, 2005, 2007, 2008, 2010, 2013, 2015, 2018, 
-       2019, 2020, 2021, 2022, 2025, 2026, 2027
+       1301, 1305, 1312, 1320, 1321, 1322, 1323, 1324, 
+       1328, 1336, 1352, 1356, 1368, 1369, 1370, 1380, 
+       1382, 1385, 1393, 1401, 1409, 1421, 1425, 1426, 
+       1427, 1428, 1429, 1430, 1431, 1432, 1433, 1437, 
+       1445, 1458, 1463, 1467, 1468, 1469, 1470, 1471, 
+       1472, 1484, 1489, 1493, 1502, 1506, 1507, 1508, 
+       1509, 1510, 1511, 1515, 1524, 1531, 1542, 1546, 
+       1560, 1570, 1582, 1587, 1593, 1598, 1599, 1600, 
+       1601, 1602, 1603, 1606, 1613, 1621, 1622, 1626, 
+       1634, 1638, 1643, 1644, 1645, 1655, 1657, 1660, 
+       1670, 1682, 1694, 1695, 1696, 1697, 1698, 1699, 
+       1700, 1701, 1702, 1703, 1704, 1705, 1706, 1710, 
+       1717, 1725, 1726, 1727, 1728, 1729, 1730, 1734, 
+       1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 
+       1746, 1754, 1757, 1759, 1760, 1761, 1762, 1763, 
+       1774, 1777, 1779, 1790, 1802, 1814, 1818, 1818, 
+       1819, 1828, 1831, 1833, 1846, 1850, 1850, 1851, 
+       1860, 1863, 1865, 1866, 1867, 1868, 1869, 1870, 
+       1882, 1885, 1887, 1898, 1911, 1912, 1921, 1924, 
+       1926, 1927, 1928, 1929, 1930, 1934, 1934, 1935, 
+       1947, 1950, 1952, 1963, 1976, 1977, 1989, 1992, 
+       1994, 1995, 1996, 1999, 2001, 2004, 2005, 2006, 
+       2007, 2008, 2011, 2012, 2013
 };
 
 static const char _eo_tokenizer_trans_keys[] = {
@@ -627,99 +626,97 @@ static const char _eo_tokenizer_trans_keys[] = {
        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, 115, 116, 
-       114, 117, 99, 116, 111, 114, 115, 10, 
-       123, 0, 32, 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, 
-       0, 32, 10, 125, 0, 32, 65, 90, 
-       97, 122, 10, 58, 59, 95, 123, 0, 
-       32, 48, 57, 65, 90, 97, 122, 10, 
-       59, 123, 0, 32, 10, 108, 0, 32, 
-       101, 103, 97, 99, 121, 9, 10, 13, 
-       32, 59, 123, 0, 31, 65, 90, 97, 
-       122, 10, 59, 123, 0, 32, 10, 125, 
-       0, 32, 10, 59, 125, 0, 32, 65, 
-       90, 97, 122, 10, 112, 0, 32, 97, 
-       114, 97, 109, 115, 10, 123, 0, 32, 
-       10, 58, 59, 0, 32, 65, 90, 97, 
-       122, 9, 13, 32, 65, 90, 97, 122, 
-       10, 59, 95, 0, 32, 48, 57, 65, 
-       90, 97, 122, 10, 59, 0, 32, 9, 
-       10, 13, 32, 47, 58, 59, 125, 0, 
-       31, 65, 90, 97, 122, 10, 58, 59, 
-       125, 0, 32, 65, 90, 97, 122, 9, 
-       13, 32, 58, 59, 95, 48, 57, 65, 
-       90, 97, 122, 9, 13, 32, 58, 59, 
-       10, 59, 114, 125, 0, 32, 10, 114, 
-       125, 0, 32, 101, 116, 117, 114, 110, 
-       9, 13, 32, 9, 13, 32, 65, 90, 
-       97, 122, 58, 95, 48, 57, 65, 90, 
-       97, 122, 58, 65, 90, 97, 122, 59, 
-       95, 48, 57, 65, 90, 97, 122, 10, 
-       125, 0, 32, 10, 59, 125, 0, 32, 
+       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, 58, 59, 125, 0, 32, 65, 
-       90, 97, 122, 9, 10, 13, 32, 59, 
-       123, 0, 31, 65, 90, 97, 122, 10, 
-       59, 95, 123, 0, 32, 48, 57, 65, 
-       90, 97, 122, 58, 103, 97, 99, 121, 
-       95, 112, 114, 101, 102, 105, 120, 10, 
-       58, 0, 32, 10, 0, 32, 65, 90, 
+       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, 123, 0, 32, 48, 57, 65, 90, 
+       97, 122, 10, 59, 123, 0, 32, 10, 
+       108, 0, 32, 101, 103, 97, 99, 121, 
+       9, 10, 13, 32, 59, 123, 0, 31, 
+       65, 90, 97, 122, 10, 59, 123, 0, 
+       32, 10, 125, 0, 32, 10, 59, 125, 
+       0, 32, 65, 90, 97, 122, 10, 112, 
+       0, 32, 97, 114, 97, 109, 115, 10, 
+       123, 0, 32, 10, 58, 59, 0, 32, 
+       65, 90, 97, 122, 9, 13, 32, 65, 
+       90, 97, 122, 10, 59, 95, 0, 32, 
+       48, 57, 65, 90, 97, 122, 10, 59, 
+       0, 32, 9, 10, 13, 32, 47, 58, 
+       59, 125, 0, 31, 65, 90, 97, 122, 
+       10, 58, 59, 125, 0, 32, 65, 90, 
+       97, 122, 9, 13, 32, 58, 59, 95, 
+       48, 57, 65, 90, 97, 122, 9, 13, 
+       32, 58, 59, 10, 59, 114, 125, 0, 
+       32, 10, 114, 125, 0, 32, 101, 116, 
+       117, 114, 110, 9, 13, 32, 9, 13, 
+       32, 65, 90, 97, 122, 58, 95, 48, 
+       57, 65, 90, 97, 122, 58, 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, 
+       97, 122, 10, 125, 0, 32, 10, 59, 
+       125, 0, 32, 42, 64, 10, 95, 0, 
+       32, 48, 57, 64, 90, 97, 122, 10, 
+       42, 10, 42, 47, 10, 58, 59, 125, 
+       0, 32, 65, 90, 97, 122, 9, 10, 
+       13, 32, 59, 123, 0, 31, 65, 90, 
+       97, 122, 10, 59, 95, 123, 0, 32, 
+       48, 57, 65, 90, 97, 122, 58, 103, 
+       97, 99, 121, 95, 112, 114, 101, 102, 
+       105, 120, 10, 58, 0, 32, 10, 0, 
+       32, 65, 90, 97, 122, 59, 95, 48, 
+       57, 65, 90, 97, 122, 116, 104, 111, 
+       100, 115, 10, 123, 0, 32, 111, 112, 
+       101, 114, 116, 105, 101, 115, 10, 123, 
+       0, 32, 10, 47, 97, 99, 105, 109, 
+       0, 32, 10, 0, 32, 42, 47, 98, 
+       108, 110, 105, 10, 47, 108, 114, 125, 
+       0, 32, 65, 90, 97, 122, 10, 0, 
+       32, 42, 47, 9, 13, 32, 58, 95, 
+       48, 57, 65, 90, 97, 122, 9, 13, 
+       32, 58, 95, 101, 48, 57, 65, 90, 
+       97, 122, 9, 13, 32, 58, 95, 101, 
+       48, 57, 65, 90, 97, 122, 9, 13, 
+       32, 47, 59, 10, 47, 125, 0, 32, 
+       64, 90, 97, 122, 10, 0, 32, 42, 
+       47, 9, 13, 32, 42, 60, 62, 95, 
+       48, 57, 64, 90, 97, 122, 9, 13, 
+       32, 47, 59, 10, 47, 103, 107, 115, 
+       118, 125, 0, 32, 10, 0, 32, 42, 
+       47, 101, 101, 101, 97, 59, 10, 47, 
+       112, 125, 0, 32, 48, 57, 65, 90, 
+       97, 122, 10, 0, 32, 42, 47, 10, 
+       95, 123, 0, 32, 48, 57, 65, 90, 
+       97, 122, 10, 95, 114, 117, 123, 0, 
+       32, 48, 57, 65, 90, 97, 122, 59, 
+       10, 47, 99, 108, 112, 114, 125, 0, 
+       32, 10, 0, 32, 42, 47, 111, 101, 
+       97, 101, 9, 13, 32, 47, 59, 10, 
+       47, 112, 125, 0, 32, 48, 57, 65, 
        90, 97, 122, 10, 0, 32, 42, 47, 
-       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, 
+       10, 95, 123, 0, 32, 48, 57, 65, 
+       90, 97, 122, 10, 95, 114, 117, 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, 101, 10, 0, 32, 111, 118, 10, 
-       0, 32, 59, 109, 59, 101, 10, 0, 
-       32, 101, 114, 59, 0
+       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[] = {
@@ -751,30 +748,29 @@ static const char _eo_tokenizer_single_lengths[] = {
        1, 1, 1, 1, 1, 1, 1, 1, 
        1, 1, 1, 2, 1, 1, 2, 1, 
        2, 1, 1, 1, 1, 1, 1, 1, 
-       1, 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, 5, 3, 2, 1, 1, 1, 
-       1, 1, 6, 3, 2, 3, 2, 1, 
-       1, 1, 1, 1, 2, 3, 3, 3, 
-       2, 8, 4, 6, 5, 4, 3, 1, 
-       1, 1, 1, 1, 3, 3, 2, 1, 
-       0, 2, 2, 3, 1, 1, 2, 2, 
-       3, 4, 6, 4, 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, 2, 1, 2, 1, 1, 
-       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, 
+       5, 3, 2, 1, 1, 1, 1, 1, 
+       6, 3, 2, 3, 2, 1, 1, 1, 
+       1, 1, 2, 3, 3, 3, 2, 8, 
+       4, 6, 5, 4, 3, 1, 1, 1, 
+       1, 1, 3, 3, 2, 1, 0, 2, 
+       2, 3, 1, 1, 2, 2, 3, 4, 
+       6, 4, 1, 1, 1, 1, 1, 1, 
+       1, 1, 1, 1, 1, 1, 2, 1, 
+       2, 1, 1, 1, 1, 1, 2, 1, 
+       1, 1, 1, 1, 1, 1, 1, 2, 
+       6, 1, 2, 1, 1, 1, 1, 5, 
+       1, 2, 5, 6, 6, 4, 0, 1, 
+       3, 1, 2, 7, 4, 0, 1, 7, 
+       1, 2, 1, 1, 1, 1, 1, 4, 
+       1, 2, 3, 5, 1, 7, 1, 2, 
+       1, 1, 1, 1, 4, 0, 1, 4, 
+       1, 2, 3, 5, 1, 10, 1, 2, 
+       1, 1, 1, 2, 1, 1, 1, 1, 
+       1, 1, 1, 1, 1
 };
 
 static const char _eo_tokenizer_range_lengths[] = {
@@ -806,30 +802,29 @@ static const char _eo_tokenizer_range_lengths[] = {
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 1, 0, 0, 1, 3, 
        3, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 1, 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, 1, 0, 0, 0, 
-       0, 0, 3, 1, 1, 3, 1, 0, 
-       0, 0, 0, 0, 1, 3, 2, 4, 
-       1, 3, 3, 3, 0, 1, 1, 0, 
-       0, 0, 0, 0, 0, 2, 3, 0, 
-       2, 3, 1, 1, 0, 0, 4, 0, 
-       0, 3, 3, 4, 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, 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, 1, 0, 0, 0, 0, 0, 
+       3, 1, 1, 3, 1, 0, 0, 0, 
+       0, 0, 1, 3, 2, 4, 1, 3, 
+       3, 3, 0, 1, 1, 0, 0, 0, 
+       0, 0, 0, 2, 3, 0, 2, 3, 
+       1, 1, 0, 0, 4, 0, 0, 3, 
+       3, 4, 0, 0, 0, 0, 0, 0, 
+       0, 0, 0, 0, 0, 0, 1, 3, 
+       3, 0, 0, 0, 0, 0, 1, 0, 
+       0, 0, 0, 0, 0, 0, 0, 1, 
+       1, 1, 0, 0, 0, 0, 0, 3, 
+       1, 0, 3, 3, 3, 0, 0, 0, 
+       3, 1, 0, 3, 0, 0, 0, 1, 
+       1, 0, 0, 0, 0, 0, 0, 4, 
+       1, 0, 4, 4, 0, 1, 1, 0, 
+       0, 0, 0, 0, 0, 0, 0, 4, 
+       1, 0, 4, 4, 0, 1, 1, 0, 
+       0, 0, 1, 0, 1, 0, 0, 0, 
+       0, 1, 0, 0, 0
 };
 
 static const short _eo_tokenizer_index_offsets[] = {
@@ -861,30 +856,29 @@ static const short _eo_tokenizer_index_offsets[] = {
        1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127, 
        1129, 1131, 1133, 1135, 1139, 1141, 1143, 1147, 
        1152, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 
-       1172, 1174, 1176, 1180, 1182, 1184, 1186, 1188, 
-       1190, 1192, 1194, 1198, 1203, 1209, 1211, 1213, 
-       1215, 1217, 1221, 1227, 1240, 1244, 1254, 1256, 
-       1258, 1265, 1268, 1272, 1278, 1286, 1293, 1303, 
-       1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 
-       1323, 1327, 1333, 1343, 1348, 1352, 1354, 1356, 
-       1358, 1360, 1362, 1372, 1377, 1381, 1388, 1392, 
-       1394, 1396, 1398, 1400, 1402, 1406, 1413, 1419, 
-       1427, 1431, 1443, 1451, 1461, 1467, 1473, 1478, 
-       1480, 1482, 1484, 1486, 1488, 1492, 1498, 1504, 
-       1506, 1509, 1515, 1519, 1524, 1526, 1528, 1535, 
-       1538, 1542, 1550, 1560, 1569, 1571, 1573, 1575, 
-       1577, 1579, 1581, 1583, 1585, 1587, 1589, 1591, 
-       1593, 1597, 1602, 1608, 1610, 1612, 1614, 1616, 
-       1618, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 
-       1636, 1638, 1642, 1650, 1653, 1656, 1658, 1660, 
-       1662, 1664, 1673, 1676, 1679, 1688, 1698, 1708, 
-       1713, 1714, 1716, 1723, 1726, 1729, 1740, 1745, 
-       1746, 1748, 1757, 1760, 1763, 1765, 1767, 1769, 
-       1771, 1773, 1782, 1785, 1788, 1796, 1806, 1808, 
-       1817, 1820, 1823, 1825, 1827, 1829, 1831, 1836, 
-       1837, 1839, 1848, 1851, 1854, 1862, 1872, 1874, 
-       1886, 1889, 1892, 1894, 1897, 1900, 1903, 1906, 
-       1908, 1910, 1912, 1914, 1917, 1919, 1921
+       1172, 1176, 1181, 1187, 1189, 1191, 1193, 1195, 
+       1199, 1205, 1218, 1222, 1232, 1234, 1236, 1243, 
+       1246, 1250, 1256, 1264, 1271, 1281, 1285, 1287, 
+       1289, 1291, 1293, 1295, 1297, 1299, 1301, 1305, 
+       1311, 1321, 1326, 1330, 1332, 1334, 1336, 1338, 
+       1340, 1350, 1355, 1359, 1366, 1370, 1372, 1374, 
+       1376, 1378, 1380, 1384, 1391, 1397, 1405, 1409, 
+       1421, 1429, 1439, 1445, 1451, 1456, 1458, 1460, 
+       1462, 1464, 1466, 1470, 1476, 1482, 1484, 1487, 
+       1493, 1497, 1502, 1504, 1506, 1513, 1516, 1520, 
+       1528, 1538, 1547, 1549, 1551, 1553, 1555, 1557, 
+       1559, 1561, 1563, 1565, 1567, 1569, 1571, 1575, 
+       1580, 1586, 1588, 1590, 1592, 1594, 1596, 1600, 
+       1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 
+       1620, 1628, 1631, 1634, 1636, 1638, 1640, 1642, 
+       1651, 1654, 1657, 1666, 1676, 1686, 1691, 1692, 
+       1694, 1701, 1704, 1707, 1718, 1723, 1724, 1726, 
+       1735, 1738, 1741, 1743, 1745, 1747, 1749, 1751, 
+       1760, 1763, 1766, 1774, 1784, 1786, 1795, 1798, 
+       1801, 1803, 1805, 1807, 1809, 1814, 1815, 1817, 
+       1826, 1829, 1832, 1840, 1850, 1852, 1864, 1867, 
+       1870, 1872, 1874, 1877, 1880, 1883, 1885, 1887, 
+       1889, 1891, 1894, 1896, 1898
 };
 
 static const short _eo_tokenizer_indicies[] = {
@@ -1034,275 +1028,268 @@ static const short _eo_tokenizer_indicies[] = {
        310, 308, 281, 311, 310, 312, 312, 281, 
        314, 313, 313, 313, 313, 281, 315, 281, 
        316, 281, 317, 281, 318, 281, 319, 281, 
-       320, 281, 321, 281, 322, 281, 323, 281, 
-       324, 325, 323, 281, 326, 281, 327, 281
-       328, 281, 329, 281, 330, 281, 331, 281
-       332, 281, 333, 334, 332, 281, 335, 334, 
-       336, 336, 281, 338, 337, 337, 337, 337
-       281, 339, 281, 340, 281, 341, 281, 342
-       281, 343, 344, 342, 281, 345, 347, 344, 
-       346, 346, 281, 349, 350, 349, 349, 351, 
-       352, 353, 352, 348, 352, 352, 352, 281
-       355, 356, 354, 281, 356, 345, 356, 356
-       357, 347, 344, 346, 346, 281, 358, 281, 
-       359, 281, 360, 361, 359, 361, 361, 361, 
-       281, 363, 364, 362, 363, 364, 365, 362, 
-       367, 369, 366, 368, 368, 281, 370, 355
-       370, 370, 371, 356, 354, 281, 371, 371
-       371, 372, 372, 372, 281, 373, 373, 373
-       374, 373, 373, 373, 373, 373, 281, 376
-       377, 375, 281, 378, 281, 379, 281, 380
-       281, 381, 281, 382, 281, 383, 281, 384
-       281, 385, 281, 386, 387, 385, 281, 388
-       390, 387, 389, 389, 281, 392, 394, 395
-       393, 396, 391, 393, 393, 393, 281, 398
-       387, 399, 397, 281, 400, 401, 399, 281
-       402, 281, 403, 281, 404, 281, 405, 281
-       406, 281, 408, 409, 408, 408, 410, 412
-       407, 411, 411, 281, 414, 415, 416, 413
-       281, 417, 418, 415, 281, 388, 387, 390
-       387, 389, 389, 281, 419, 420, 416, 281
-       421, 281, 422, 281, 423, 281, 424, 281
-       425, 281, 426, 427, 425, 281, 428, 429
-       430, 427, 431, 431, 281, 429, 429, 429, 
-       432, 432, 281, 434, 436, 435, 433, 435
-       435, 435, 281, 438, 430, 437, 281, 430
-       440, 430, 430, 441, 429, 430, 442, 439
-       431, 431, 281, 440, 429, 430, 442, 439, 
-       431, 431, 281, 443, 443, 443, 445, 446
-       444, 444, 444, 444, 281, 447, 447, 447
-       429, 430, 281, 449, 448, 450, 451, 448
-       281, 449, 450, 451, 448, 281, 452, 281
-       453, 281, 454, 281, 455, 281, 456, 281
-       457, 457, 457, 281, 457, 457, 457, 458
-       458, 281, 460, 459, 459, 459, 459, 281, 
-       461, 281, 462, 462, 281, 464, 463, 463
-       463, 463, 281, 466, 451, 465, 281, 417
-       415, 418, 415, 281, 467, 281, 468, 281, 
-       469, 470, 468, 470, 470, 470, 281, 472
-       473, 471, 472, 473, 474, 471, 476, 477
-       478, 480, 475, 479, 479, 281, 481, 414
-       481, 481, 415, 416, 413, 482, 482, 281
-       484, 486, 485, 487, 483, 485, 485, 485
-       281, 393, 281, 488, 281, 489, 281, 490, 
-       281, 491, 281, 492, 281, 493, 281, 494
-       281, 495, 281, 496, 281, 497, 281, 498
-       281, 499, 500, 498, 281, 501, 500, 502
-       502, 281, 504, 503, 503, 503, 503, 281, 
+       320, 281, 321, 281, 322, 323, 321, 281, 
+       324, 323, 325, 325, 281, 327, 326, 326
+       326, 326, 281, 328, 281, 329, 281, 330
+       281, 331, 281, 332, 333, 331, 281, 334, 
+       336, 333, 335, 335, 281, 338, 339, 338
+       338, 340, 341, 342, 341, 337, 341, 341
+       341, 281, 344, 345, 343, 281, 345, 334, 
+       345, 345, 346, 336, 333, 335, 335, 281, 
+       347, 281, 348, 281, 349, 350, 348, 350
+       350, 350, 281, 352, 353, 351, 352, 353
+       354, 351, 356, 358, 355, 357, 357, 281, 
+       359, 344, 359, 359, 360, 345, 343, 281, 
+       360, 360, 360, 361, 361, 361, 281, 362, 
+       362, 362, 363, 362, 362, 362, 362, 362
+       281, 365, 366, 364, 281, 367, 281, 368
+       281, 369, 281, 370, 281, 371, 281, 372
+       281, 373, 281, 374, 281, 375, 376, 374
+       281, 377, 379, 376, 378, 378, 281, 381
+       383, 384, 382, 385, 380, 382, 382, 382
+       281, 387, 376, 388, 386, 281, 389, 390
+       388, 281, 391, 281, 392, 281, 393, 281
+       394, 281, 395, 281, 397, 398, 397, 397
+       399, 401, 396, 400, 400, 281, 403, 404
+       405, 402, 281, 406, 407, 404, 281, 377
+       376, 379, 376, 378, 378, 281, 408, 409
+       405, 281, 410, 281, 411, 281, 412, 281
+       413, 281, 414, 281, 415, 416, 414, 281
+       417, 418, 419, 416, 420, 420, 281, 418
+       418, 418, 421, 421, 281, 423, 425, 424
+       422, 424, 424, 424, 281, 427, 419, 426
+       281, 419, 429, 419, 419, 430, 418, 419, 
+       431, 428, 420, 420, 281, 429, 418, 419
+       431, 428, 420, 420, 281, 432, 432, 432
+       434, 435, 433, 433, 433, 433, 281, 436
+       436, 436, 418, 419, 281, 438, 437, 439, 
+       440, 437, 281, 438, 439, 440, 437, 281
+       441, 281, 442, 281, 443, 281, 444, 281
+       445, 281, 446, 446, 446, 281, 446, 446
+       446, 447, 447, 281, 449, 448, 448, 448
+       448, 281, 450, 281, 451, 451, 281, 453
+       452, 452, 452, 452, 281, 455, 440, 454
+       281, 406, 404, 407, 404, 281, 456, 281, 
+       457, 281, 458, 459, 457, 459, 459, 459
+       281, 461, 462, 460, 461, 462, 463, 460
+       465, 466, 467, 469, 464, 468, 468, 281, 
+       470, 403, 470, 470, 404, 405, 402, 471
+       471, 281, 473, 475, 474, 476, 472, 474
+       474, 474, 281, 382, 281, 477, 281, 478
+       281, 479, 281, 480, 281, 481, 281, 482
+       281, 483, 281, 484, 281, 485, 281, 486
+       281, 487, 281, 488, 489, 487, 281, 490, 
+       489, 491, 491, 281, 493, 492, 492, 492
+       492, 281, 494, 281, 495, 281, 496, 281
+       497, 281, 498, 281, 499, 500, 498, 281
+       501, 281, 502, 281, 503, 281, 504, 281, 
        505, 281, 506, 281, 507, 281, 508, 281, 
-       509, 281, 510, 511, 509, 281, 512, 281, 
-       513, 281, 514, 281, 515, 281, 516, 281, 
-       517, 281, 518, 281, 519, 281, 520, 521, 
-       519, 281, 524, 525, 526, 527, 528, 529, 
-       523, 522, 524, 523, 530, 1, 5, 531, 
-       532, 531, 533, 531, 534, 531, 535, 531, 
-       538, 539, 541, 542, 543, 537, 540, 540, 
-       536, 538, 537, 544, 546, 69, 545, 71, 
-       71, 71, 72, 79, 79, 79, 79, 545, 
-       71, 71, 71, 72, 79, 547, 79, 79, 
-       79, 545, 71, 71, 71, 72, 79, 548, 
-       79, 79, 79, 545, 97, 97, 97, 98, 
-       549, 550, 552, 551, 555, 556, 558, 554, 
-       557, 557, 553, 555, 554, 559, 108, 112, 
-       560, 114, 114, 114, 114, 114, 114, 114, 
-       114, 114, 114, 560, 117, 117, 117, 118, 
-       561, 562, 564, 563, 567, 568, 569, 570, 
-       571, 572, 573, 566, 565, 567, 566, 574, 
-       128, 132, 575, 576, 575, 577, 575, 578, 
-       575, 579, 575, 581, 580, 584, 585, 587, 
-       588, 583, 586, 586, 586, 582, 584, 583, 
-       589, 151, 155, 590, 161, 163, 164, 160, 
-       162, 162, 162, 590, 161, 163, 591, 592, 
-       164, 160, 162, 162, 162, 590, 594, 593, 
-       597, 598, 599, 600, 601, 602, 603, 596, 
-       595, 597, 596, 604, 606, 202, 605, 607, 
-       605, 608, 605, 609, 605, 610, 605, 231, 
-       231, 231, 232, 611, 612, 614, 613, 617, 
-       618, 620, 621, 616, 619, 619, 619, 615, 
-       617, 616, 622, 242, 246, 623, 252, 254, 
-       255, 251, 253, 253, 253, 623, 252, 254, 
-       624, 625, 255, 251, 253, 253, 253, 623, 
-       627, 626, 630, 631, 632, 633, 634, 635, 
-       636, 637, 638, 639, 629, 628, 630, 629, 
-       640, 642, 293, 641, 643, 641, 644, 645, 
-       641, 648, 647, 646, 649, 650, 641, 653, 
-       652, 651, 655, 654, 656, 641, 658, 657, 
-       659, 641, 662, 661, 660, 663, 641, 664, 
-       641, 666, 665, 0
+       509, 510, 508, 281, 513, 514, 515, 516, 
+       517, 518, 512, 511, 513, 512, 519, 1, 
+       5, 520, 521, 520, 522, 520, 523, 520, 
+       524, 520, 527, 528, 530, 531, 532, 526, 
+       529, 529, 525, 527, 526, 533, 535, 69, 
+       534, 71, 71, 71, 72, 79, 79, 79, 
+       79, 534, 71, 71, 71, 72, 79, 536, 
+       79, 79, 79, 534, 71, 71, 71, 72, 
+       79, 537, 79, 79, 79, 534, 97, 97, 
+       97, 98, 538, 539, 541, 540, 544, 545, 
+       547, 543, 546, 546, 542, 544, 543, 548, 
+       108, 112, 549, 114, 114, 114, 114, 114, 
+       114, 114, 114, 114, 114, 549, 117, 117, 
+       117, 118, 550, 551, 553, 552, 556, 557, 
+       558, 559, 560, 561, 562, 555, 554, 556, 
+       555, 563, 128, 132, 564, 565, 564, 566, 
+       564, 567, 564, 568, 564, 570, 569, 573, 
+       574, 576, 577, 572, 575, 575, 575, 571, 
+       573, 572, 578, 151, 155, 579, 161, 163, 
+       164, 160, 162, 162, 162, 579, 161, 163, 
+       580, 581, 164, 160, 162, 162, 162, 579, 
+       583, 582, 586, 587, 588, 589, 590, 591, 
+       592, 585, 584, 586, 585, 593, 595, 202, 
+       594, 596, 594, 597, 594, 598, 594, 599, 
+       594, 231, 231, 231, 232, 600, 601, 603, 
+       602, 606, 607, 609, 610, 605, 608, 608, 
+       608, 604, 606, 605, 611, 242, 246, 612, 
+       252, 254, 255, 251, 253, 253, 253, 612, 
+       252, 254, 613, 614, 255, 251, 253, 253, 
+       253, 612, 616, 615, 619, 620, 621, 622, 
+       623, 624, 625, 626, 627, 628, 618, 617, 
+       619, 618, 629, 631, 293, 630, 632, 630, 
+       633, 630, 636, 635, 634, 637, 638, 630, 
+       641, 640, 639, 643, 642, 644, 630, 646, 
+       645, 647, 630, 650, 649, 648, 651, 630, 
+       652, 630, 654, 653, 0
 };
 
 static const short _eo_tokenizer_trans_targs[] = {
-       346, 0, 0, 1, 346, 2, 346, 4, 
+       336, 0, 0, 1, 336, 2, 336, 4, 
        5, 6, 7, 8, 9, 10, 10, 11, 
-       12, 13, 12, 14, 11, 346, 12, 12, 
-       346, 13, 14, 15, 16, 12, 12, 346, 
+       12, 13, 12, 14, 11, 336, 12, 12, 
+       336, 13, 14, 15, 16, 12, 12, 336, 
        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, 353, 36, 36, 37, 38, 353, 38, 
-       39, 39, 39, 40, 353, 41, 353, 42, 
-       43, 44, 45, 44, 45, 45, 353, 46, 
-       48, 49, 50, 51, 52, 53, 53, 353, 
-       55, 56, 57, 58, 59, 60, 61, 359, 
-       353, 62, 63, 64, 65, 65, 66, 66, 
-       66, 67, 360, 362, 68, 68, 69, 362, 
-       70, 362, 71, 366, 362, 72, 73, 74, 
-       75, 75, 76, 76, 76, 77, 367, 369, 
-       78, 78, 79, 369, 80, 369, 82, 82, 
-       369, 84, 85, 85, 369, 87, 87, 369, 
-       89, 90, 91, 92, 92, 369, 377, 93, 
-       93, 94, 377, 95, 377, 96, 96, 377, 
-       96, 96, 97, 98, 377, 100, 101, 102, 
+       10, 343, 36, 36, 37, 38, 343, 38, 
+       39, 39, 39, 40, 343, 41, 343, 42, 
+       43, 44, 45, 44, 45, 45, 343, 46, 
+       48, 49, 50, 51, 52, 53, 53, 343, 
+       55, 56, 57, 58, 59, 60, 61, 349, 
+       343, 62, 63, 64, 65, 65, 66, 66, 
+       66, 67, 350, 352, 68, 68, 69, 352, 
+       70, 352, 71, 356, 352, 72, 73, 74, 
+       75, 75, 76, 76, 76, 77, 357, 359, 
+       78, 78, 79, 359, 80, 359, 82, 82, 
+       359, 84, 85, 85, 359, 87, 87, 359, 
+       89, 90, 91, 92, 92, 359, 367, 93, 
+       93, 94, 367, 95, 367, 96, 96, 367, 
+       96, 96, 97, 98, 367, 100, 101, 102, 
        103, 104, 105, 106, 107, 97, 108, 109, 
        117, 110, 111, 112, 113, 114, 115, 116, 
-       118, 119, 120, 122, 123, 124, 383, 126, 
-       126, 127, 128, 383, 128, 129, 129, 129, 
-       130, 383, 131, 383, 133, 134, 135, 383, 
-       137, 138, 139, 140, 141, 142, 142, 383, 
-       144, 145, 146, 147, 147, 383, 149, 150, 
-       151, 152, 153, 154, 155, 390, 383, 156, 
+       118, 119, 120, 122, 123, 124, 373, 126, 
+       126, 127, 128, 373, 128, 129, 129, 129, 
+       130, 373, 131, 373, 133, 134, 135, 373, 
+       137, 138, 139, 140, 141, 142, 142, 373, 
+       144, 145, 146, 147, 147, 373, 149, 150, 
+       151, 152, 153, 154, 155, 380, 373, 156, 
        157, 158, 159, 159, 160, 160, 160, 161, 
-       391, 393, 162, 162, 163, 393, 164, 393, 
-       165, 165, 393, 165, 165, 166, 167, 393, 
+       381, 383, 162, 162, 163, 383, 164, 383, 
+       165, 165, 383, 165, 165, 166, 167, 383, 
        169, 170, 171, 172, 173, 174, 175, 176, 
        166, 177, 178, 186, 179, 180, 181, 182, 
        183, 184, 185, 187, 188, 189, 191, 192, 
-       193, 399, 195, 195, 196, 197, 399, 197, 
-       198, 198, 198, 199, 399, 200, 399, 202, 
+       193, 389, 195, 195, 196, 197, 389, 197, 
+       198, 198, 198, 199, 389, 200, 389, 202, 
        203, 204, 205, 206, 207, 208, 209, 210, 
-       211, 211, 399, 213, 214, 214, 215, 215, 
-       216, 216, 404, 218, 219, 220, 221, 222, 
-       223, 224, 225, 226, 226, 399, 228, 229, 
-       230, 231, 232, 233, 234, 234, 235, 235, 
-       236, 236, 406, 238, 239, 240, 241, 241, 
-       242, 242, 243, 407, 244, 252, 244, 253, 
-       243, 245, 244, 244, 245, 246, 247, 248, 
-       248, 249, 249, 249, 250, 251, 242, 242, 
-       243, 407, 252, 253, 254, 254, 255, 244, 
-       244, 245, 257, 258, 259, 260, 261, 262, 
-       263, 264, 264, 265, 265, 266, 409, 267, 
-       267, 266, 316, 265, 268, 267, 267, 268, 
-       268, 269, 270, 271, 272, 273, 274, 275, 
-       314, 275, 276, 315, 278, 275, 275, 276, 
-       278, 276, 277, 278, 279, 280, 281, 282, 
-       283, 284, 284, 285, 285, 286, 289, 291, 
-       287, 288, 288, 287, 289, 288, 288, 290, 
-       290, 308, 293, 292, 291, 286, 289, 292, 
-       294, 294, 295, 307, 296, 297, 298, 299, 
-       300, 301, 302, 302, 303, 304, 305, 305, 
-       306, 306, 306, 309, 310, 310, 311, 311, 
-       311, 312, 313, 290, 290, 286, 289, 291, 
-       293, 314, 315, 275, 275, 315, 276, 278, 
-       318, 319, 320, 321, 322, 323, 324, 325, 
-       326, 327, 328, 328, 329, 329, 330, 330, 
-       411, 332, 333, 334, 335, 336, 336, 399, 
-       338, 339, 340, 341, 342, 343, 344, 345, 
-       345, 399, 346, 347, 347, 348, 349, 350, 
-       351, 352, 346, 346, 3, 19, 23, 31, 
-       353, 354, 354, 355, 356, 357, 358, 361, 
-       353, 353, 35, 47, 54, 353, 353, 353, 
-       353, 362, 363, 363, 364, 365, 368, 362, 
-       362, 362, 362, 362, 362, 369, 370, 370, 
-       371, 372, 373, 374, 375, 376, 369, 369, 
-       81, 83, 86, 88, 369, 369, 377, 378, 
-       378, 379, 380, 381, 382, 377, 377, 99, 
-       121, 377, 377, 383, 384, 384, 385, 386, 
-       387, 388, 389, 392, 383, 383, 125, 132, 
-       136, 143, 148, 383, 383, 383, 383, 393, 
-       394, 394, 395, 396, 397, 398, 393, 393, 
-       168, 190, 393, 393, 399, 400, 400, 401, 
-       402, 403, 405, 408, 410, 412, 413, 414, 
-       399, 399, 194, 201, 212, 217, 399, 404, 
-       404, 227, 237, 399, 406, 406, 399, 399, 
-       256, 399, 399, 317, 399, 411, 411, 331, 
-       337, 399, 399
+       211, 211, 389, 213, 214, 214, 215, 215, 
+       216, 216, 394, 218, 219, 220, 221, 222, 
+       223, 224, 224, 225, 225, 226, 226, 396, 
+       228, 229, 230, 231, 231, 232, 232, 233, 
+       397, 234, 242, 234, 243, 233, 235, 234, 
+       234, 235, 236, 237, 238, 238, 239, 239, 
+       239, 240, 241, 232, 232, 233, 397, 242, 
+       243, 244, 244, 245, 234, 234, 235, 247, 
+       248, 249, 250, 251, 252, 253, 254, 254, 
+       255, 255, 256, 399, 257, 257, 256, 306, 
+       255, 258, 257, 257, 258, 258, 259, 260, 
+       261, 262, 263, 264, 265, 304, 265, 266, 
+       305, 268, 265, 265, 266, 268, 266, 267, 
+       268, 269, 270, 271, 272, 273, 274, 274, 
+       275, 275, 276, 279, 281, 277, 278, 278, 
+       277, 279, 278, 278, 280, 280, 298, 283, 
+       282, 281, 276, 279, 282, 284, 284, 285, 
+       297, 286, 287, 288, 289, 290, 291, 292, 
+       292, 293, 294, 295, 295, 296, 296, 296, 
+       299, 300, 300, 301, 301, 301, 302, 303, 
+       280, 280, 276, 279, 281, 283, 304, 305, 
+       265, 265, 305, 266, 268, 308, 309, 310, 
+       311, 312, 313, 314, 315, 316, 317, 318, 
+       318, 319, 319, 320, 320, 401, 322, 323, 
+       324, 325, 326, 326, 389, 328, 329, 330, 
+       331, 332, 333, 334, 335, 335, 389, 336, 
+       337, 337, 338, 339, 340, 341, 342, 336, 
+       336, 3, 19, 23, 31, 343, 344, 344, 
+       345, 346, 347, 348, 351, 343, 343, 35, 
+       47, 54, 343, 343, 343, 343, 352, 353, 
+       353, 354, 355, 358, 352, 352, 352, 352, 
+       352, 352, 359, 360, 360, 361, 362, 363, 
+       364, 365, 366, 359, 359, 81, 83, 86, 
+       88, 359, 359, 367, 368, 368, 369, 370, 
+       371, 372, 367, 367, 99, 121, 367, 367, 
+       373, 374, 374, 375, 376, 377, 378, 379, 
+       382, 373, 373, 125, 132, 136, 143, 148, 
+       373, 373, 373, 373, 383, 384, 384, 385, 
+       386, 387, 388, 383, 383, 168, 190, 383, 
+       383, 389, 390, 390, 391, 392, 393, 395, 
+       398, 400, 402, 403, 404, 389, 389, 194, 
+       201, 212, 389, 394, 394, 217, 227, 389, 
+       396, 396, 389, 389, 246, 389, 389, 307, 
+       389, 401, 401, 321, 327, 389, 389
 };
 
 static const short _eo_tokenizer_trans_actions[] = {
-       221, 0, 1, 0, 211, 0, 244, 0, 
+       219, 0, 1, 0, 209, 0, 242, 0, 
        0, 0, 0, 0, 0, 45, 0, 3, 
-       51, 51, 325, 51, 0, 328, 0, 1, 
-       213, 0, 0, 0, 3, 13, 286, 289
-       11, 283, 11, 11, 0, 0, 1, 0, 
+       51, 51, 323, 51, 0, 326, 0, 1, 
+       211, 0, 0, 0, 3, 13, 284, 287
+       11, 281, 11, 11, 0, 0, 1, 0, 
        1, 0, 0, 0, 43, 0, 0, 0, 
        0, 0, 0, 0, 49, 0, 0, 0, 
        47, 77, 0, 1, 0, 0, 61, 1, 
-       3, 0, 1, 0, 59, 0, 223, 0, 
-       0, 5, 253, 0, 3, 0, 256, 0, 
-       0, 0, 0, 0, 0, 3, 0, 250
-       0, 0, 0, 0, 0, 3, 0, 337
+       3, 0, 1, 0, 59, 0, 221, 0, 
+       0, 5, 251, 0, 3, 0, 254, 0, 
+       0, 0, 0, 0, 0, 3, 0, 248
+       0, 0, 0, 0, 0, 3, 0, 335
        75, 0, 0, 0, 0, 1, 3, 0, 
        1, 0, 0, 95, 0, 1, 0, 79, 
-       0, 226, 0, 340, 93, 0, 0, 0, 
+       0, 224, 0, 338, 93, 0, 0, 0, 
        0, 1, 3, 0, 1, 0, 0, 117, 
-       0, 1, 0, 97, 0, 229, 0, 1, 
+       0, 1, 0, 97, 0, 227, 0, 1, 
        99, 0, 0, 1, 103, 0, 1, 101, 
        0, 0, 0, 0, 1, 105, 133, 0, 
-       1, 0, 119, 0, 232, 0, 1, 121, 
-       7, 262, 0, 0, 265, 0, 0, 0, 
-       0, 0, 0, 0, 0, 346, 346, 0, 
+       1, 0, 119, 0, 230, 0, 1, 121, 
+       7, 260, 0, 0, 263, 0, 0, 0, 
+       0, 0, 0, 0, 0, 344, 344, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 155, 0, 
        1, 0, 0, 137, 1, 3, 0, 1, 
-       0, 135, 0, 235, 0, 0, 0, 274
-       0, 0, 0, 0, 0, 3, 0, 271
+       0, 135, 0, 233, 0, 0, 0, 272
+       0, 0, 0, 0, 0, 3, 0, 269
        0, 0, 0, 0, 1, 139, 0, 0, 
-       0, 0, 0, 3, 0, 343, 153, 0, 
+       0, 0, 0, 3, 0, 341, 153, 0, 
        0, 0, 0, 1, 3, 0, 1, 0, 
-       0, 171, 0, 1, 0, 157, 0, 238
-       0, 1, 159, 9, 277, 0, 0, 280
+       0, 171, 0, 1, 0, 157, 0, 236
+       0, 1, 159, 9, 275, 0, 0, 278
        0, 0, 0, 0, 0, 0, 0, 0, 
-       350, 350, 0, 0, 0, 0, 0, 0, 
+       348, 348, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 209, 0, 1, 0, 0, 175, 1, 
-       3, 0, 1, 0, 173, 0, 241, 0, 
+       0, 207, 0, 1, 0, 0, 175, 1, 
+       3, 0, 1, 0, 173, 0, 239, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 1, 181, 0, 0, 1, 0, 1, 
        3, 0, 25, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 1, 183, 0, 0, 
-       0, 0, 0, 0, 0, 1, 0, 1, 
-       3, 0, 23, 0, 0, 0, 0, 1, 
-       0, 1, 3, 0, 15, 15, 292, 15, 
-       0, 15, 0, 1, 0, 0, 0, 0, 
-       1, 3, 0, 1, 0, 0, 19, 298, 
-       301, 19, 0, 0, 3, 0, 0, 17, 
-       295, 17, 0, 0, 0, 0, 0, 0, 
-       0, 0, 1, 0, 1, 3, 0, 27, 
-       304, 0, 0, 27, 27, 0, 1, 0, 
-       1, 0, 0, 0, 0, 0, 0, 29, 
-       29, 307, 29, 310, 29, 0, 1, 0, 
-       0, 1, 0, 1, 0, 0, 0, 0, 
-       0, 0, 1, 0, 1, 0, 0, 3, 
-       3, 35, 316, 0, 35, 0, 1, 0, 
-       1, 0, 0, 33, 0, 33, 33, 0, 
-       0, 1, 0, 0, 0, 0, 0, 0, 
-       0, 0, 3, 0, 39, 0, 3, 0, 
-       41, 0, 1, 0, 0, 1, 3, 0, 
-       1, 0, 0, 37, 319, 37, 37, 322, 
-       37, 0, 3, 31, 313, 0, 31, 31, 
+       0, 0, 1, 0, 1, 3, 0, 23, 
+       0, 0, 0, 0, 1, 0, 1, 3, 
+       0, 15, 15, 290, 15, 0, 15, 0, 
+       1, 0, 0, 0, 0, 1, 3, 0, 
+       1, 0, 0, 19, 296, 299, 19, 0, 
+       0, 3, 0, 0, 17, 293, 17, 0, 
+       0, 0, 0, 0, 0, 0, 0, 1, 
+       0, 1, 3, 0, 27, 302, 0, 0, 
+       27, 27, 0, 1, 0, 1, 0, 0, 
+       0, 0, 0, 0, 29, 29, 305, 29, 
+       308, 29, 0, 1, 0, 0, 1, 0, 
+       1, 0, 0, 0, 0, 0, 0, 1, 
+       0, 1, 0, 0, 3, 3, 35, 314, 
+       0, 35, 0, 1, 0, 1, 0, 0, 
+       33, 0, 33, 33, 0, 0, 1, 0, 
+       0, 0, 0, 0, 0, 0, 0, 3, 
+       0, 39, 0, 3, 0, 41, 0, 1, 
+       0, 0, 1, 3, 0, 1, 0, 0, 
+       37, 317, 37, 37, 320, 37, 0, 3, 
+       31, 311, 0, 31, 31, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 1, 0, 1, 3, 0, 
-       21, 0, 0, 0, 0, 0, 1, 187, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       1, 185, 215, 0, 1, 331, 57, 57, 
-       57, 57, 217, 219, 0, 0, 0, 0, 
-       65, 0, 1, 331, 334, 334, 334, 0, 
-       67, 73, 0, 0, 0, 69, 247, 71, 
-       63, 83, 0, 1, 331, 334, 0, 85, 
-       91, 87, 259, 89, 81, 109, 0, 1, 
-       331, 57, 57, 57, 57, 0, 111, 115, 
-       0, 0, 0, 0, 113, 107, 125, 0, 
-       1, 331, 334, 334, 0, 127, 131, 0, 
-       0, 129, 123, 143, 0, 1, 331, 57, 
-       57, 57, 57, 0, 145, 151, 0, 0, 
-       0, 0, 0, 147, 268, 149, 141, 163, 
-       0, 1, 331, 334, 334, 0, 165, 169, 
-       0, 0, 167, 161, 191, 0, 1, 331, 
-       57, 57, 57, 57, 57, 57, 57, 0, 
-       193, 207, 0, 0, 0, 0, 199, 0, 
-       1, 0, 0, 197, 0, 1, 203, 179, 
-       0, 201, 177, 0, 195, 0, 1, 0, 
-       0, 205, 189
+       1, 0, 1, 3, 0, 21, 0, 0, 
+       0, 0, 0, 1, 185, 0, 0, 0, 
+       0, 0, 0, 0, 0, 1, 183, 213, 
+       0, 1, 329, 57, 57, 57, 57, 215, 
+       217, 0, 0, 0, 0, 65, 0, 1, 
+       329, 332, 332, 332, 0, 67, 73, 0, 
+       0, 0, 69, 245, 71, 63, 83, 0, 
+       1, 329, 332, 0, 85, 91, 87, 257, 
+       89, 81, 109, 0, 1, 329, 57, 57, 
+       57, 57, 0, 111, 115, 0, 0, 0, 
+       0, 113, 107, 125, 0, 1, 329, 332, 
+       332, 0, 127, 131, 0, 0, 129, 123, 
+       143, 0, 1, 329, 57, 57, 57, 57, 
+       0, 145, 151, 0, 0, 0, 0, 0, 
+       147, 266, 149, 141, 163, 0, 1, 329, 
+       332, 332, 0, 165, 169, 0, 0, 167, 
+       161, 189, 0, 1, 329, 57, 57, 57, 
+       57, 57, 57, 57, 0, 191, 205, 0, 
+       0, 0, 197, 0, 1, 0, 0, 195, 
+       0, 1, 201, 179, 0, 199, 177, 0, 
+       193, 0, 1, 0, 0, 203, 187
 };
 
 static const short _eo_tokenizer_to_state_actions[] = {
@@ -1348,16 +1335,15 @@ 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, 
+       53, 0, 0, 0, 0, 0, 0, 53, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 53, 0, 0, 0, 0, 0, 
-       0, 53, 0, 0, 0, 0, 0, 0, 
-       0, 0, 53, 0, 0, 0, 0, 0, 
-       0, 53, 0, 0, 0, 0, 0, 0, 
-       0, 53, 0, 0, 0, 0, 0, 53, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 53, 0, 0, 0, 0, 0, 53, 
+       53, 0, 0, 0, 0, 0, 0, 53, 
+       0, 0, 0, 0, 0, 0, 0, 53, 
+       0, 0, 0, 0, 0, 53, 0, 0, 
+       0, 0, 0, 0, 0, 0, 0, 53, 
+       0, 0, 0, 0, 0, 53, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0
+       0, 0, 0, 0, 0
 };
 
 static const short _eo_tokenizer_from_state_actions[] = {
@@ -1403,16 +1389,15 @@ 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, 
+       55, 0, 0, 0, 0, 0, 0, 55, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 55, 0, 0, 0, 0, 0, 
-       0, 55, 0, 0, 0, 0, 0, 0, 
-       0, 0, 55, 0, 0, 0, 0, 0, 
-       0, 55, 0, 0, 0, 0, 0, 0, 
-       0, 55, 0, 0, 0, 0, 0, 55, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 55, 0, 0, 0, 0, 0, 55, 
+       55, 0, 0, 0, 0, 0, 0, 55, 
+       0, 0, 0, 0, 0, 0, 0, 55, 
+       0, 0, 0, 0, 0, 55, 0, 0, 
+       0, 0, 0, 0, 0, 0, 0, 55, 
+       0, 0, 0, 0, 0, 55, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0
+       0, 0, 0, 0, 0
 };
 
 static const short _eo_tokenizer_eof_trans[] = {
@@ -1458,33 +1443,32 @@ static const short _eo_tokenizer_eof_trans[] = {
        282, 282, 282, 282, 282, 282, 282, 282, 
        282, 282, 282, 282, 282, 282, 282, 282, 
        282, 282, 282, 282, 282, 282, 282, 282, 
-       282, 282, 282, 282, 282, 282, 282, 282, 
-       282, 282, 0, 531, 532, 532, 532, 532, 
-       532, 0, 545, 546, 546, 546, 546, 550, 
-       551, 552, 0, 560, 561, 561, 562, 563, 
-       564, 0, 575, 576, 576, 576, 576, 576, 
-       581, 0, 590, 591, 591, 591, 594, 0, 
-       605, 606, 606, 606, 606, 606, 612, 613, 
-       614, 0, 623, 624, 624, 624, 627, 0, 
-       641, 642, 642, 642, 647, 642, 652, 655, 
-       642, 658, 642, 661, 642, 642, 666
+       0, 520, 521, 521, 521, 521, 521, 0, 
+       534, 535, 535, 535, 535, 539, 540, 541, 
+       0, 549, 550, 550, 551, 552, 553, 0, 
+       564, 565, 565, 565, 565, 565, 570, 0, 
+       579, 580, 580, 580, 583, 0, 594, 595, 
+       595, 595, 595, 595, 601, 602, 603, 0, 
+       612, 613, 613, 613, 616, 0, 630, 631, 
+       631, 631, 635, 631, 640, 643, 631, 646, 
+       631, 649, 631, 631, 654
 };
 
-static const int eo_tokenizer_start = 346;
-static const int eo_tokenizer_first_final = 346;
+static const int eo_tokenizer_start = 336;
+static const int eo_tokenizer_first_final = 336;
 static const int eo_tokenizer_error = -1;
 
-static const int eo_tokenizer_en_tokenize_accessor = 353;
-static const int eo_tokenizer_en_tokenize_params = 362;
-static const int eo_tokenizer_en_tokenize_property = 369;
-static const int eo_tokenizer_en_tokenize_properties = 377;
-static const int eo_tokenizer_en_tokenize_method = 383;
-static const int eo_tokenizer_en_tokenize_methods = 393;
-static const int eo_tokenizer_en_tokenize_class = 399;
-static const int eo_tokenizer_en_main = 346;
+static const int eo_tokenizer_en_tokenize_accessor = 343;
+static const int eo_tokenizer_en_tokenize_params = 352;
+static const int eo_tokenizer_en_tokenize_property = 359;
+static const int eo_tokenizer_en_tokenize_properties = 367;
+static const int eo_tokenizer_en_tokenize_method = 373;
+static const int eo_tokenizer_en_tokenize_methods = 383;
+static const int eo_tokenizer_en_tokenize_class = 389;
+static const int eo_tokenizer_en_main = 336;
 
 
-#line 1053 "lib/eolian/eo_lexer.rl"
+#line 1040 "lib/eolian/eo_lexer.rl"
 
 
 Eina_Bool
@@ -1508,7 +1492,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
      }
 
    
-#line 1512 "lib/eolian/eo_lexer.c"
+#line 1496 "lib/eolian/eo_lexer.c"
        {
         toknz->cs = eo_tokenizer_start;
         toknz->ts = 0;
@@ -1516,7 +1500,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
         toknz->act = 0;
        }
 
-#line 1076 "lib/eolian/eo_lexer.rl"
+#line 1063 "lib/eolian/eo_lexer.rl"
 
    while (!done)
      {
@@ -1543,11 +1527,11 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
           }
 
         
-#line 1547 "lib/eolian/eo_lexer.c"
+#line 1531 "lib/eolian/eo_lexer.c"
        {
        int _klen;
        unsigned int _trans;
-       const unsigned char *_acts;
+       const char *_acts;
        unsigned int _nacts;
        const char *_keys;
 
@@ -1562,7 +1546,7 @@ _resume:
 #line 1 "NONE"
        { toknz->ts = ( toknz->p);}
        break;
-#line 1566 "lib/eolian/eo_lexer.c"
+#line 1550 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -1771,7 +1755,7 @@ _eof_trans:
    }
        break;
        case 17:
-#line 755 "lib/eolian/eo_lexer.rl"
+#line 752 "lib/eolian/eo_lexer.rl"
        {
       if (toknz->tmp.meth != NULL)
         ABORT(toknz, "there is a pending method definition %s", toknz->tmp.meth->name);
@@ -1779,20 +1763,20 @@ _eof_trans:
    }
        break;
        case 18:
-#line 761 "lib/eolian/eo_lexer.rl"
+#line 758 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.fscope = _eo_tokenizer_scope_get(toknz, ( toknz->p));
    }
        break;
        case 19:
-#line 791 "lib/eolian/eo_lexer.rl"
+#line 788 "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 796 "lib/eolian/eo_lexer.rl"
+#line 793 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       toknz->tmp.kls->inherits = toknz->tmp.str_items;
@@ -1800,7 +1784,7 @@ _eof_trans:
    }
        break;
        case 21:
-#line 848 "lib/eolian/eo_lexer.rl"
+#line 837 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       toknz->tmp.event = _eo_tokenizer_event_get(toknz, ( toknz->p));
@@ -1808,7 +1792,7 @@ _eof_trans:
    }
        break;
        case 22:
-#line 854 "lib/eolian/eo_lexer.rl"
+#line 843 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
       if (toknz->tmp.event->type != NULL)
@@ -1817,7 +1801,7 @@ _eof_trans:
    }
        break;
        case 23:
-#line 861 "lib/eolian/eo_lexer.rl"
+#line 850 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
       if (toknz->tmp.event->comment != NULL)
@@ -1827,7 +1811,7 @@ _eof_trans:
    }
        break;
        case 24:
-#line 869 "lib/eolian/eo_lexer.rl"
+#line 858 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->legacy_prefix != NULL)
@@ -1836,7 +1820,7 @@ _eof_trans:
    }
        break;
        case 25:
-#line 878 "lib/eolian/eo_lexer.rl"
+#line 867 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->eo_prefix != NULL)
@@ -1845,7 +1829,7 @@ _eof_trans:
    }
        break;
        case 26:
-#line 887 "lib/eolian/eo_lexer.rl"
+#line 876 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->data_type != NULL)
@@ -1854,7 +1838,7 @@ _eof_trans:
    }
        break;
        case 27:
-#line 900 "lib/eolian/eo_lexer.rl"
+#line 889 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
         toknz->tmp.impl = _eo_tokenizer_implement_get(toknz, ( toknz->p));
@@ -1862,7 +1846,7 @@ _eof_trans:
    }
        break;
        case 28:
-#line 906 "lib/eolian/eo_lexer.rl"
+#line 895 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (toknz->tmp.impl->legacy)
@@ -1871,7 +1855,7 @@ _eof_trans:
    }
        break;
        case 29:
-#line 913 "lib/eolian/eo_lexer.rl"
+#line 902 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (!toknz->tmp.impl->legacy)
@@ -1880,7 +1864,7 @@ _eof_trans:
    }
        break;
        case 30:
-#line 920 "lib/eolian/eo_lexer.rl"
+#line 909 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         toknz->tmp.impl_leg_param = calloc(1, sizeof(Eo_Implement_Legacy_Param_Def));
@@ -1891,7 +1875,7 @@ _eof_trans:
    }
        break;
        case 31:
-#line 929 "lib/eolian/eo_lexer.rl"
+#line 918 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl_leg_param)
            ABORT(toknz, "No implement legacy param!!!");
@@ -1899,7 +1883,7 @@ _eof_trans:
    }
        break;
        case 32:
-#line 935 "lib/eolian/eo_lexer.rl"
+#line 924 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl_leg_param)
            ABORT(toknz, "No implement legacy param!!!");
@@ -1907,7 +1891,7 @@ _eof_trans:
    }
        break;
        case 33:
-#line 941 "lib/eolian/eo_lexer.rl"
+#line 930 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (!toknz->tmp.impl->legacy)
@@ -1916,7 +1900,7 @@ _eof_trans:
    }
        break;
        case 34:
-#line 948 "lib/eolian/eo_lexer.rl"
+#line 937 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (!toknz->tmp.impl->legacy)
@@ -1925,31 +1909,31 @@ _eof_trans:
    }
        break;
        case 35:
-#line 1019 "lib/eolian/eo_lexer.rl"
+#line 1006 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_REGULAR;
    }
        break;
        case 36:
-#line 1022 "lib/eolian/eo_lexer.rl"
+#line 1009 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_ABSTRACT;
    }
        break;
        case 37:
-#line 1025 "lib/eolian/eo_lexer.rl"
+#line 1012 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_MIXIN;
    }
        break;
        case 38:
-#line 1028 "lib/eolian/eo_lexer.rl"
+#line 1015 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_INTERFACE;
    }
        break;
        case 39:
-#line 1032 "lib/eolian/eo_lexer.rl"
+#line 1019 "lib/eolian/eo_lexer.rl"
        {
       if (toknz->tmp.kls != NULL)
         ABORT(toknz, "there is a pending class definition %s", toknz->tmp.kls->name);
@@ -1994,7 +1978,7 @@ _eof_trans:
       toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
       toknz->tmp.accessor = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 369; goto _again;}
+      { toknz->cs = 359; goto _again;}
    }}
        break;
        case 48:
@@ -2032,7 +2016,7 @@ _eof_trans:
       toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
       toknz->tmp.accessor = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 369; goto _again;}
+      { toknz->cs = 359; goto _again;}
    }}
        break;
        case 52:
@@ -2091,9 +2075,9 @@ _eof_trans:
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 369; goto _again;}
+        { toknz->cs = 359; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 383; goto _again;}
+        { toknz->cs = 373; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
@@ -2132,9 +2116,9 @@ _eof_trans:
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 369; goto _again;}
+        { toknz->cs = 359; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 383; goto _again;}
+        { toknz->cs = 373; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
@@ -2194,7 +2178,7 @@ _eof_trans:
       INF("      get {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER);
       toknz->current_nesting++;
-      { toknz->cs = 353; goto _again;}
+      { toknz->cs = 343; goto _again;}
    }}
        break;
        case 66:
@@ -2203,7 +2187,7 @@ _eof_trans:
       INF("      set {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER);
       toknz->current_nesting++;
-      { toknz->cs = 353; goto _again;}
+      { toknz->cs = 343; goto _again;}
    }}
        break;
        case 67:
@@ -2212,7 +2196,7 @@ _eof_trans:
       INF("      keys {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->keys);
-      { toknz->cs = 362; goto _again;}
+      { toknz->cs = 352; goto _again;}
    }}
        break;
        case 68:
@@ -2221,7 +2205,7 @@ _eof_trans:
       INF("      values {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->values);
-      { toknz->cs = 362; goto _again;}
+      { toknz->cs = 352; goto _again;}
    }}
        break;
        case 69:
@@ -2235,7 +2219,7 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 377; goto _again;}
+      { toknz->cs = 367; goto _again;}
    }}
        break;
        case 70:
@@ -2272,7 +2256,7 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 377; goto _again;}
+      { toknz->cs = 367; goto _again;}
    }}
        break;
        case 73:
@@ -2326,7 +2310,7 @@ _eof_trans:
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
       INF("    %s {", toknz->tmp.prop->name);
       toknz->current_nesting++;
-      { toknz->cs = 369; goto _again;}
+      { toknz->cs = 359; goto _again;}
    }}
        break;
        case 77:
@@ -2334,7 +2318,7 @@ _eof_trans:
        { toknz->te = ( toknz->p)+1;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 78:
@@ -2365,7 +2349,7 @@ _eof_trans:
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 81:
@@ -2430,15 +2414,15 @@ _eof_trans:
       INF("      params {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.meth->params);
-      { toknz->cs = 362; goto _again;}
+      { toknz->cs = 352; goto _again;}
    }}
        break;
        case 86:
-#line 740 "lib/eolian/eo_lexer.rl"
+#line 737 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
        case 87:
-#line 741 "lib/eolian/eo_lexer.rl"
+#line 738 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
        case 88:
@@ -2451,9 +2435,6 @@ _eof_trans:
         case METH_CONSTRUCTOR:
           l = &toknz->tmp.kls->constructors;
           break;
-        case METH_DESTRUCTOR:
-          l = &toknz->tmp.kls->destructors;
-          break;
         case METH_REGULAR:
           l = &toknz->tmp.kls->methods;
           break;
@@ -2465,7 +2446,7 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
        case 89:
@@ -2488,11 +2469,11 @@ _eof_trans:
    }}
        break;
        case 90:
-#line 735 "lib/eolian/eo_lexer.rl"
+#line 732 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 91:
-#line 739 "lib/eolian/eo_lexer.rl"
+#line 736 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 92:
@@ -2505,9 +2486,6 @@ _eof_trans:
         case METH_CONSTRUCTOR:
           l = &toknz->tmp.kls->constructors;
           break;
-        case METH_DESTRUCTOR:
-          l = &toknz->tmp.kls->destructors;
-          break;
         case METH_REGULAR:
           l = &toknz->tmp.kls->methods;
           break;
@@ -2519,7 +2497,7 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
        case 93:
@@ -2542,7 +2520,7 @@ _eof_trans:
    }}
        break;
        case 94:
-#line 739 "lib/eolian/eo_lexer.rl"
+#line 736 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
        case 95:
@@ -2572,21 +2550,21 @@ _eof_trans:
    }}
        break;
        case 97:
-#line 748 "lib/eolian/eo_lexer.rl"
+#line 745 "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 = 383; goto _again;}
+      { toknz->cs = 373; goto _again;}
    }}
        break;
        case 98:
-#line 765 "lib/eolian/eo_lexer.rl"
+#line 762 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  }");
       toknz->current_methods_type = METH_TYPE_LAST;
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 99:
@@ -2609,16 +2587,16 @@ _eof_trans:
    }}
        break;
        case 100:
-#line 775 "lib/eolian/eo_lexer.rl"
+#line 772 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 101:
-#line 765 "lib/eolian/eo_lexer.rl"
+#line 762 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("  }");
       toknz->current_methods_type = METH_TYPE_LAST;
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 102:
@@ -2660,7 +2638,7 @@ _eof_trans:
    }}
        break;
        case 104:
-#line 784 "lib/eolian/eo_lexer.rl"
+#line 781 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->comment != NULL)
@@ -2676,66 +2654,56 @@ _eof_trans:
    }}
        break;
        case 106:
-#line 802 "lib/eolian/eo_lexer.rl"
+#line 799 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
        case 107:
-#line 805 "lib/eolian/eo_lexer.rl"
+#line 802 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
        case 108:
-#line 808 "lib/eolian/eo_lexer.rl"
+#line 805 "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 = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
        case 109:
-#line 816 "lib/eolian/eo_lexer.rl"
-       { toknz->te = ( toknz->p)+1;{
-      INF("  destructors {");
-      toknz->current_methods_type = METH_DESTRUCTOR;
-      toknz->tmp.fscope = FUNC_PUBLIC;
-      toknz->current_nesting++;
-      { toknz->cs = 393; goto _again;}
-   }}
-       break;
-       case 110:
-#line 824 "lib/eolian/eo_lexer.rl"
+#line 813 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  properties {");
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting++;
-      { toknz->cs = 377; goto _again;}
+      { toknz->cs = 367; goto _again;}
    }}
        break;
-       case 111:
-#line 831 "lib/eolian/eo_lexer.rl"
+       case 110:
+#line 820 "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 = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
-       case 112:
-#line 839 "lib/eolian/eo_lexer.rl"
+       case 111:
+#line 828 "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 = 346; goto _again;}
+      { toknz->cs = 336; goto _again;}
    }}
        break;
-       case 113:
+       case 112:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2754,21 +2722,26 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
+       case 113:
+#line 982 "lib/eolian/eo_lexer.rl"
+       { toknz->te = ( toknz->p);( toknz->p)--;}
+       break;
        case 114:
-#line 994 "lib/eolian/eo_lexer.rl"
+#line 985 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 115:
-#line 997 "lib/eolian/eo_lexer.rl"
+#line 986 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 116:
-#line 998 "lib/eolian/eo_lexer.rl"
+#line 987 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 117:
-#line 999 "lib/eolian/eo_lexer.rl"
-       { toknz->te = ( toknz->p);( toknz->p)--;}
+#line 799 "lib/eolian/eo_lexer.rl"
+       { toknz->te = ( toknz->p);( toknz->p)--;{
+   }}
        break;
        case 118:
 #line 802 "lib/eolian/eo_lexer.rl"
@@ -2776,22 +2749,17 @@ _eof_trans:
    }}
        break;
        case 119:
-#line 805 "lib/eolian/eo_lexer.rl"
-       { toknz->te = ( toknz->p);( toknz->p)--;{
-   }}
-       break;
-       case 120:
-#line 839 "lib/eolian/eo_lexer.rl"
+#line 828 "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 = 346; goto _again;}
+      { toknz->cs = 336; goto _again;}
    }}
        break;
-       case 121:
+       case 120:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2810,7 +2778,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 122:
+       case 121:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2829,23 +2797,23 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 123:
+       case 122:
 #line 385 "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 124:
-#line 1012 "lib/eolian/eo_lexer.rl"
+       case 123:
+#line 999 "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 = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
-       case 125:
+       case 124:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2864,11 +2832,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 126:
-#line 1047 "lib/eolian/eo_lexer.rl"
+       case 125:
+#line 1034 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 127:
+       case 126:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2887,7 +2855,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 128:
+       case 127:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2906,7 +2874,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-#line 2910 "lib/eolian/eo_lexer.c"
+#line 2878 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -2919,7 +2887,7 @@ _again:
 #line 1 "NONE"
        { toknz->ts = 0;}
        break;
-#line 2923 "lib/eolian/eo_lexer.c"
+#line 2891 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -2937,12 +2905,12 @@ _again:
        _out: {}
        }
 
-#line 1102 "lib/eolian/eo_lexer.rl"
+#line 1089 "lib/eolian/eo_lexer.rl"
 
         if ( toknz->cs == 
-#line 2944 "lib/eolian/eo_lexer.c"
+#line 2912 "lib/eolian/eo_lexer.c"
 -1
-#line 1103 "lib/eolian/eo_lexer.rl"
+#line 1090 "lib/eolian/eo_lexer.rl"
  )
           {
              ERR("%s: wrong termination", source);
@@ -2988,7 +2956,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
    Eina_Bool ret = EINA_TRUE;
 
    
-#line 2992 "lib/eolian/eo_lexer.c"
+#line 2960 "lib/eolian/eo_lexer.c"
        {
         toknz->cs = eo_tokenizer_start;
         toknz->ts = 0;
@@ -2996,7 +2964,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
         toknz->act = 0;
        }
 
-#line 1148 "lib/eolian/eo_lexer.rl"
+#line 1135 "lib/eolian/eo_lexer.rl"
 
    toknz->p = buffer;
 
@@ -3005,11 +2973,11 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
    toknz->eof = toknz->pe;
 
    
-#line 3009 "lib/eolian/eo_lexer.c"
+#line 2977 "lib/eolian/eo_lexer.c"
        {
        int _klen;
        unsigned int _trans;
-       const unsigned char *_acts;
+       const char *_acts;
        unsigned int _nacts;
        const char *_keys;
 
@@ -3024,7 +2992,7 @@ _resume:
 #line 1 "NONE"
        { toknz->ts = ( toknz->p);}
        break;
-#line 3028 "lib/eolian/eo_lexer.c"
+#line 2996 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -3233,7 +3201,7 @@ _eof_trans:
    }
        break;
        case 17:
-#line 755 "lib/eolian/eo_lexer.rl"
+#line 752 "lib/eolian/eo_lexer.rl"
        {
       if (toknz->tmp.meth != NULL)
         ABORT(toknz, "there is a pending method definition %s", toknz->tmp.meth->name);
@@ -3241,20 +3209,20 @@ _eof_trans:
    }
        break;
        case 18:
-#line 761 "lib/eolian/eo_lexer.rl"
+#line 758 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.fscope = _eo_tokenizer_scope_get(toknz, ( toknz->p));
    }
        break;
        case 19:
-#line 791 "lib/eolian/eo_lexer.rl"
+#line 788 "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 796 "lib/eolian/eo_lexer.rl"
+#line 793 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       toknz->tmp.kls->inherits = toknz->tmp.str_items;
@@ -3262,7 +3230,7 @@ _eof_trans:
    }
        break;
        case 21:
-#line 848 "lib/eolian/eo_lexer.rl"
+#line 837 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       toknz->tmp.event = _eo_tokenizer_event_get(toknz, ( toknz->p));
@@ -3270,7 +3238,7 @@ _eof_trans:
    }
        break;
        case 22:
-#line 854 "lib/eolian/eo_lexer.rl"
+#line 843 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
       if (toknz->tmp.event->type != NULL)
@@ -3279,7 +3247,7 @@ _eof_trans:
    }
        break;
        case 23:
-#line 861 "lib/eolian/eo_lexer.rl"
+#line 850 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.event) ABORT(toknz, "No event!!!");
       if (toknz->tmp.event->comment != NULL)
@@ -3289,7 +3257,7 @@ _eof_trans:
    }
        break;
        case 24:
-#line 869 "lib/eolian/eo_lexer.rl"
+#line 858 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->legacy_prefix != NULL)
@@ -3298,7 +3266,7 @@ _eof_trans:
    }
        break;
        case 25:
-#line 878 "lib/eolian/eo_lexer.rl"
+#line 867 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->eo_prefix != NULL)
@@ -3307,7 +3275,7 @@ _eof_trans:
    }
        break;
        case 26:
-#line 887 "lib/eolian/eo_lexer.rl"
+#line 876 "lib/eolian/eo_lexer.rl"
        {
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->data_type != NULL)
@@ -3316,7 +3284,7 @@ _eof_trans:
    }
        break;
        case 27:
-#line 900 "lib/eolian/eo_lexer.rl"
+#line 889 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
         toknz->tmp.impl = _eo_tokenizer_implement_get(toknz, ( toknz->p));
@@ -3324,7 +3292,7 @@ _eof_trans:
    }
        break;
        case 28:
-#line 906 "lib/eolian/eo_lexer.rl"
+#line 895 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (toknz->tmp.impl->legacy)
@@ -3333,7 +3301,7 @@ _eof_trans:
    }
        break;
        case 29:
-#line 913 "lib/eolian/eo_lexer.rl"
+#line 902 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (!toknz->tmp.impl->legacy)
@@ -3342,7 +3310,7 @@ _eof_trans:
    }
        break;
        case 30:
-#line 920 "lib/eolian/eo_lexer.rl"
+#line 909 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         toknz->tmp.impl_leg_param = calloc(1, sizeof(Eo_Implement_Legacy_Param_Def));
@@ -3353,7 +3321,7 @@ _eof_trans:
    }
        break;
        case 31:
-#line 929 "lib/eolian/eo_lexer.rl"
+#line 918 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl_leg_param)
            ABORT(toknz, "No implement legacy param!!!");
@@ -3361,7 +3329,7 @@ _eof_trans:
    }
        break;
        case 32:
-#line 935 "lib/eolian/eo_lexer.rl"
+#line 924 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl_leg_param)
            ABORT(toknz, "No implement legacy param!!!");
@@ -3369,7 +3337,7 @@ _eof_trans:
    }
        break;
        case 33:
-#line 941 "lib/eolian/eo_lexer.rl"
+#line 930 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (!toknz->tmp.impl->legacy)
@@ -3378,7 +3346,7 @@ _eof_trans:
    }
        break;
        case 34:
-#line 948 "lib/eolian/eo_lexer.rl"
+#line 937 "lib/eolian/eo_lexer.rl"
        {
         if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
         if (!toknz->tmp.impl->legacy)
@@ -3387,31 +3355,31 @@ _eof_trans:
    }
        break;
        case 35:
-#line 1019 "lib/eolian/eo_lexer.rl"
+#line 1006 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_REGULAR;
    }
        break;
        case 36:
-#line 1022 "lib/eolian/eo_lexer.rl"
+#line 1009 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_ABSTRACT;
    }
        break;
        case 37:
-#line 1025 "lib/eolian/eo_lexer.rl"
+#line 1012 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_MIXIN;
    }
        break;
        case 38:
-#line 1028 "lib/eolian/eo_lexer.rl"
+#line 1015 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_INTERFACE;
    }
        break;
        case 39:
-#line 1032 "lib/eolian/eo_lexer.rl"
+#line 1019 "lib/eolian/eo_lexer.rl"
        {
       if (toknz->tmp.kls != NULL)
         ABORT(toknz, "there is a pending class definition %s", toknz->tmp.kls->name);
@@ -3456,7 +3424,7 @@ _eof_trans:
       toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
       toknz->tmp.accessor = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 369; goto _again;}
+      { toknz->cs = 359; goto _again;}
    }}
        break;
        case 48:
@@ -3494,7 +3462,7 @@ _eof_trans:
       toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor);
       toknz->tmp.accessor = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 369; goto _again;}
+      { toknz->cs = 359; goto _again;}
    }}
        break;
        case 52:
@@ -3553,9 +3521,9 @@ _eof_trans:
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 369; goto _again;}
+        { toknz->cs = 359; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 383; goto _again;}
+        { toknz->cs = 373; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
@@ -3594,9 +3562,9 @@ _eof_trans:
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 369; goto _again;}
+        { toknz->cs = 359; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 383; goto _again;}
+        { toknz->cs = 373; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
@@ -3656,7 +3624,7 @@ _eof_trans:
       INF("      get {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER);
       toknz->current_nesting++;
-      { toknz->cs = 353; goto _again;}
+      { toknz->cs = 343; goto _again;}
    }}
        break;
        case 66:
@@ -3665,7 +3633,7 @@ _eof_trans:
       INF("      set {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER);
       toknz->current_nesting++;
-      { toknz->cs = 353; goto _again;}
+      { toknz->cs = 343; goto _again;}
    }}
        break;
        case 67:
@@ -3674,7 +3642,7 @@ _eof_trans:
       INF("      keys {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->keys);
-      { toknz->cs = 362; goto _again;}
+      { toknz->cs = 352; goto _again;}
    }}
        break;
        case 68:
@@ -3683,7 +3651,7 @@ _eof_trans:
       INF("      values {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->values);
-      { toknz->cs = 362; goto _again;}
+      { toknz->cs = 352; goto _again;}
    }}
        break;
        case 69:
@@ -3697,7 +3665,7 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 377; goto _again;}
+      { toknz->cs = 367; goto _again;}
    }}
        break;
        case 70:
@@ -3734,7 +3702,7 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 377; goto _again;}
+      { toknz->cs = 367; goto _again;}
    }}
        break;
        case 73:
@@ -3788,7 +3756,7 @@ _eof_trans:
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
       INF("    %s {", toknz->tmp.prop->name);
       toknz->current_nesting++;
-      { toknz->cs = 369; goto _again;}
+      { toknz->cs = 359; goto _again;}
    }}
        break;
        case 77:
@@ -3796,7 +3764,7 @@ _eof_trans:
        { toknz->te = ( toknz->p)+1;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 78:
@@ -3827,7 +3795,7 @@ _eof_trans:
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 81:
@@ -3892,15 +3860,15 @@ _eof_trans:
       INF("      params {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.meth->params);
-      { toknz->cs = 362; goto _again;}
+      { toknz->cs = 352; goto _again;}
    }}
        break;
        case 86:
-#line 740 "lib/eolian/eo_lexer.rl"
+#line 737 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
        case 87:
-#line 741 "lib/eolian/eo_lexer.rl"
+#line 738 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
        case 88:
@@ -3913,9 +3881,6 @@ _eof_trans:
         case METH_CONSTRUCTOR:
           l = &toknz->tmp.kls->constructors;
           break;
-        case METH_DESTRUCTOR:
-          l = &toknz->tmp.kls->destructors;
-          break;
         case METH_REGULAR:
           l = &toknz->tmp.kls->methods;
           break;
@@ -3927,7 +3892,7 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
        case 89:
@@ -3950,11 +3915,11 @@ _eof_trans:
    }}
        break;
        case 90:
-#line 735 "lib/eolian/eo_lexer.rl"
+#line 732 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 91:
-#line 739 "lib/eolian/eo_lexer.rl"
+#line 736 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 92:
@@ -3967,9 +3932,6 @@ _eof_trans:
         case METH_CONSTRUCTOR:
           l = &toknz->tmp.kls->constructors;
           break;
-        case METH_DESTRUCTOR:
-          l = &toknz->tmp.kls->destructors;
-          break;
         case METH_REGULAR:
           l = &toknz->tmp.kls->methods;
           break;
@@ -3981,7 +3943,7 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
        case 93:
@@ -4004,7 +3966,7 @@ _eof_trans:
    }}
        break;
        case 94:
-#line 739 "lib/eolian/eo_lexer.rl"
+#line 736 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
        case 95:
@@ -4034,21 +3996,21 @@ _eof_trans:
    }}
        break;
        case 97:
-#line 748 "lib/eolian/eo_lexer.rl"
+#line 745 "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 = 383; goto _again;}
+      { toknz->cs = 373; goto _again;}
    }}
        break;
        case 98:
-#line 765 "lib/eolian/eo_lexer.rl"
+#line 762 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  }");
       toknz->current_methods_type = METH_TYPE_LAST;
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 99:
@@ -4071,16 +4033,16 @@ _eof_trans:
    }}
        break;
        case 100:
-#line 775 "lib/eolian/eo_lexer.rl"
+#line 772 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 101:
-#line 765 "lib/eolian/eo_lexer.rl"
+#line 762 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("  }");
       toknz->current_methods_type = METH_TYPE_LAST;
       toknz->current_nesting--;
-      { toknz->cs = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
        case 102:
@@ -4122,7 +4084,7 @@ _eof_trans:
    }}
        break;
        case 104:
-#line 784 "lib/eolian/eo_lexer.rl"
+#line 781 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
       if (toknz->tmp.kls->comment != NULL)
@@ -4138,66 +4100,56 @@ _eof_trans:
    }}
        break;
        case 106:
-#line 802 "lib/eolian/eo_lexer.rl"
+#line 799 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
        case 107:
-#line 805 "lib/eolian/eo_lexer.rl"
+#line 802 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
        case 108:
-#line 808 "lib/eolian/eo_lexer.rl"
+#line 805 "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 = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
        case 109:
-#line 816 "lib/eolian/eo_lexer.rl"
-       { toknz->te = ( toknz->p)+1;{
-      INF("  destructors {");
-      toknz->current_methods_type = METH_DESTRUCTOR;
-      toknz->tmp.fscope = FUNC_PUBLIC;
-      toknz->current_nesting++;
-      { toknz->cs = 393; goto _again;}
-   }}
-       break;
-       case 110:
-#line 824 "lib/eolian/eo_lexer.rl"
+#line 813 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  properties {");
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting++;
-      { toknz->cs = 377; goto _again;}
+      { toknz->cs = 367; goto _again;}
    }}
        break;
-       case 111:
-#line 831 "lib/eolian/eo_lexer.rl"
+       case 110:
+#line 820 "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 = 393; goto _again;}
+      { toknz->cs = 383; goto _again;}
    }}
        break;
-       case 112:
-#line 839 "lib/eolian/eo_lexer.rl"
+       case 111:
+#line 828 "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 = 346; goto _again;}
+      { toknz->cs = 336; goto _again;}
    }}
        break;
-       case 113:
+       case 112:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -4216,21 +4168,26 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
+       case 113:
+#line 982 "lib/eolian/eo_lexer.rl"
+       { toknz->te = ( toknz->p);( toknz->p)--;}
+       break;
        case 114:
-#line 994 "lib/eolian/eo_lexer.rl"
+#line 985 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 115:
-#line 997 "lib/eolian/eo_lexer.rl"
+#line 986 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 116:
-#line 998 "lib/eolian/eo_lexer.rl"
+#line 987 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
        case 117:
-#line 999 "lib/eolian/eo_lexer.rl"
-       { toknz->te = ( toknz->p);( toknz->p)--;}
+#line 799 "lib/eolian/eo_lexer.rl"
+       { toknz->te = ( toknz->p);( toknz->p)--;{
+   }}
        break;
        case 118:
 #line 802 "lib/eolian/eo_lexer.rl"
@@ -4238,22 +4195,17 @@ _eof_trans:
    }}
        break;
        case 119:
-#line 805 "lib/eolian/eo_lexer.rl"
-       { toknz->te = ( toknz->p);( toknz->p)--;{
-   }}
-       break;
-       case 120:
-#line 839 "lib/eolian/eo_lexer.rl"
+#line 828 "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 = 346; goto _again;}
+      { toknz->cs = 336; goto _again;}
    }}
        break;
-       case 121:
+       case 120:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -4272,7 +4224,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 122:
+       case 121:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -4291,23 +4243,23 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 123:
+       case 122:
 #line 385 "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 124:
-#line 1012 "lib/eolian/eo_lexer.rl"
+       case 123:
+#line 999 "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 = 399; goto _again;}
+      { toknz->cs = 389; goto _again;}
    }}
        break;
-       case 125:
+       case 124:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -4326,11 +4278,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 126:
-#line 1047 "lib/eolian/eo_lexer.rl"
+       case 125:
+#line 1034 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 127:
+       case 126:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -4349,7 +4301,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 128:
+       case 127:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -4368,7 +4320,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-#line 4372 "lib/eolian/eo_lexer.c"
+#line 4324 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -4381,7 +4333,7 @@ _again:
 #line 1 "NONE"
        { toknz->ts = 0;}
        break;
-#line 4385 "lib/eolian/eo_lexer.c"
+#line 4337 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -4399,12 +4351,12 @@ _again:
        _out: {}
        }
 
-#line 1156 "lib/eolian/eo_lexer.rl"
+#line 1143 "lib/eolian/eo_lexer.rl"
 
    if ( toknz->cs == 
-#line 4406 "lib/eolian/eo_lexer.c"
+#line 4358 "lib/eolian/eo_lexer.c"
 -1
-#line 1157 "lib/eolian/eo_lexer.rl"
+#line 1144 "lib/eolian/eo_lexer.rl"
  )
      {
         ERR("%s: wrong termination", source);
@@ -4482,20 +4434,6 @@ eo_tokenizer_dump(Eo_Tokenizer *toknz)
                }
           }
 
-        EINA_LIST_FOREACH(kls->destructors, l, meth)
-          {
-             printf("  destructors: %s\n", meth->name);
-             if (meth->ret)
-                printf("    return: %s (%s)\n", meth->ret->type, meth->ret->comment);
-             printf("    legacy : %s\n", meth->legacy);
-             EINA_LIST_FOREACH(meth->params, m, param)
-               {
-                  printf("    param: %s %s : %s (%s)\n",
-                         _param_way_str[param->way], param->name,
-                         param->type, param->comment);
-               }
-          }
-
         EINA_LIST_FOREACH(kls->properties, l, prop)
           {
              printf("  property: %s\n", prop->name);
@@ -4741,19 +4679,6 @@ eo_tokenizer_database_fill(const char *filename)
                }
           }
 
-        EINA_LIST_FOREACH(kls->destructors, l, meth)
-          {
-             Eolian_Function foo_id = database_function_new(meth->name, EOLIAN_DTOR);
-             database_class_function_add(kls->name, foo_id);
-             if (meth->ret) database_function_return_comment_set(foo_id, EOLIAN_METHOD, meth->ret->comment);
-             database_function_data_set(foo_id, EOLIAN_LEGACY, meth->legacy);
-             EINA_LIST_FOREACH(meth->params, m, param)
-               {
-                  Eolian_Type type = _types_extract(param->type, strlen(param->type));
-                  database_method_parameter_add(foo_id, (Eolian_Parameter_Dir)param->way, type, param->name, param->comment);
-               }
-          }
-
         EINA_LIST_FOREACH(kls->properties, l, prop)
           {
              Eolian_Function foo_id = database_function_new(prop->name, EOLIAN_UNRESOLVED);
index fd051b7..8121105 100644 (file)
@@ -705,9 +705,6 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
         case METH_CONSTRUCTOR:
           l = &toknz->tmp.kls->constructors;
           break;
-        case METH_DESTRUCTOR:
-          l = &toknz->tmp.kls->destructors;
-          break;
         case METH_REGULAR:
           l = &toknz->tmp.kls->methods;
           break;
@@ -813,14 +810,6 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
       fgoto tokenize_methods;
    }
 
-   action begin_destructors {
-      INF("  destructors {");
-      toknz->current_methods_type = METH_DESTRUCTOR;
-      toknz->tmp.fscope = FUNC_PUBLIC;
-      toknz->current_nesting++;
-      fgoto tokenize_methods;
-   }
-
    action begin_properties {
       INF("  properties {");
       toknz->tmp.fscope = FUNC_PUBLIC;
@@ -986,7 +975,6 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
    events = 'events' ignore* begin_def ignore* event_it* end_def;
 
    constructors = 'constructors' ignore* begin_def;
-   destructors = 'destructors' ignore* begin_def;
    properties = 'properties' ignore* begin_def;
    methods = 'methods' ignore* begin_def;
 
@@ -1000,7 +988,6 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
       implements     => end_implements;
       events        => end_events;
       constructors   => begin_constructors;
-      destructors    => begin_destructors;
       properties     => begin_properties;
       methods        => begin_methods;
       end_def        => end_class;
@@ -1231,20 +1218,6 @@ eo_tokenizer_dump(Eo_Tokenizer *toknz)
                }
           }
 
-        EINA_LIST_FOREACH(kls->destructors, l, meth)
-          {
-             printf("  destructors: %s\n", meth->name);
-             if (meth->ret)
-                printf("    return: %s (%s)\n", meth->ret->type, meth->ret->comment);
-             printf("    legacy : %s\n", meth->legacy);
-             EINA_LIST_FOREACH(meth->params, m, param)
-               {
-                  printf("    param: %s %s : %s (%s)\n",
-                         _param_way_str[param->way], param->name,
-                         param->type, param->comment);
-               }
-          }
-
         EINA_LIST_FOREACH(kls->properties, l, prop)
           {
              printf("  property: %s\n", prop->name);
@@ -1490,19 +1463,6 @@ eo_tokenizer_database_fill(const char *filename)
                }
           }
 
-        EINA_LIST_FOREACH(kls->destructors, l, meth)
-          {
-             Eolian_Function foo_id = database_function_new(meth->name, EOLIAN_DTOR);
-             database_class_function_add(kls->name, foo_id);
-             if (meth->ret) database_function_return_comment_set(foo_id, EOLIAN_METHOD, meth->ret->comment);
-             database_function_data_set(foo_id, EOLIAN_LEGACY, meth->legacy);
-             EINA_LIST_FOREACH(meth->params, m, param)
-               {
-                  Eolian_Type type = _types_extract(param->type, strlen(param->type));
-                  database_method_parameter_add(foo_id, (Eolian_Parameter_Dir)param->way, type, param->name, param->comment);
-               }
-          }
-
         EINA_LIST_FOREACH(kls->properties, l, prop)
           {
              Eolian_Function foo_id = database_function_new(prop->name, EOLIAN_UNRESOLVED);
index 8938510..851e3ad 100644 (file)
@@ -29,7 +29,6 @@ typedef struct
    Eina_List *properties; /* List prop_name -> _Function_Id */
    Eina_List *methods; /* List meth_name -> _Function_Id */
    Eina_List *constructors; /* List constructor_name -> _Function_Id */
-   Eina_List *destructors; /* List destructor_name -> _Function_Id */
    Eina_List *implements; /* List implements name -> _Implement_Desc */
    Eina_List *events; /* List event_name -> _Event_Desc */
    Eina_Bool class_ctor_enable:1;
@@ -154,7 +153,6 @@ _class_del(Class_desc *class)
    _Function_Id *fid;
    Eolian_Event ev;
    EINA_LIST_FREE(class->constructors, fid) _fid_del(fid);
-   EINA_LIST_FREE(class->destructors, fid) _fid_del(fid);
    EINA_LIST_FREE(class->methods, fid) _fid_del(fid);
    EINA_LIST_FREE(class->properties, fid) _fid_del(fid);
    EINA_LIST_FREE(class->events, ev) database_event_free(ev);
@@ -448,9 +446,6 @@ Eina_Bool database_class_function_add(const char *class_name, Eolian_Function fo
       case EOLIAN_CTOR:
          desc->constructors = eina_list_append(desc->constructors, foo_id);
          break;
-      case EOLIAN_DTOR:
-         desc->destructors = eina_list_append(desc->destructors, foo_id);
-         break;
       default:
          ERR("Bad function type %d.", fid->type);
          return EINA_FALSE;
@@ -602,16 +597,6 @@ eolian_class_function_find_by_name(const char *class_name, const char *func_name
           }
      }
 
-   if (f_type == EOLIAN_DTOR)
-     {
-        EINA_LIST_FOREACH(desc->destructors, itr, foo_id)
-          {
-             _Function_Id *fid = (_Function_Id *) foo_id;
-             if (!strcmp(fid->name, func_name))
-                return foo_id;
-          }
-     }
-
    return NULL;
 }
 
@@ -628,8 +613,6 @@ eolian_class_functions_list_get(const char *class_name, Eolian_Function_Type foo
          return desc->methods;
       case EOLIAN_CTOR:
          return desc->constructors;
-      case EOLIAN_DTOR:
-         return desc->destructors;
       default: return NULL;
      }
 }
@@ -1211,7 +1194,6 @@ static Eina_Bool _function_print(const _Function_Id *fid, int nb_spaces)
               break;
            }
       case EOLIAN_CTOR:
-      case EOLIAN_DTOR:
            {
               //char *str = eina_hash_find(fid->data, "comment");
               const char *str = eolian_function_description_get(foo_id, EOLIAN_COMMENT);