Eolian: Remove support of legacy into implement section.
authorDaniel Zaoui <daniel.zaoui@samsung.com>
Thu, 24 Apr 2014 13:51:04 +0000 (16:51 +0300)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Thu, 24 Apr 2014 13:51:04 +0000 (16:51 +0300)
It has been decided that this support is not needed.

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
src/lib/eolian/eolian_database.h

index 15d30d4..2072807 100644 (file)
@@ -108,8 +108,6 @@ eo_definitions_impl_def_free(Eo_Implement_Def *impl)
 {
    if (impl->meth_name)
      eina_stringshare_del(impl->meth_name);
-   if (impl->legacy)
-      free(impl->legacy);
 
    free(impl);
 }
index ec18937..c535aa7 100644 (file)
@@ -107,18 +107,9 @@ typedef struct _eo_implement_legacy_param_def
    const char *comment;
 } Eo_Implement_Legacy_Param_Def;
 
-typedef struct _eo_implement_legacy_def
-{
-   const char *function_name;
-   Eina_List *params; /* List of Eo_Implement_Legacy_Param_Def * */
-   const char *ret_type;
-   const char *ret_value;
-} Eo_Implement_Legacy_Def;
-
 typedef struct _eo_implement_def
 {
    const char *meth_name;
-   Eo_Implement_Legacy_Def *legacy;
 } Eo_Implement_Def;
 
 /* CLASS */
index c9ec85a..5104ea9 100644 (file)
@@ -369,8 +369,8 @@ static const char _eo_tokenizer_actions[] = {
        25, 1, 26, 1, 27, 1, 28, 1, 
        29, 1, 30, 1, 31, 1, 32, 1, 
        33, 1, 34, 1, 35, 1, 36, 1, 
-       37, 1, 38, 1, 39, 1, 40, 1, 
-       41, 1, 42, 1, 43, 1, 44, 1, 
+       37, 1, 40, 1, 41, 1, 42, 1, 
+       43, 1, 44, 1, 45, 1, 46, 1, 
        47, 1, 48, 1, 49, 1, 50, 1, 
        51, 1, 52, 1, 53, 1, 54, 1, 
        55, 1, 56, 1, 57, 1, 58, 1, 
@@ -379,8 +379,8 @@ static const char _eo_tokenizer_actions[] = {
        67, 1, 68, 1, 69, 1, 70, 1, 
        71, 1, 72, 1, 73, 1, 74, 1, 
        75, 1, 76, 1, 77, 1, 78, 1, 
-       79, 1, 80, 1, 81, 1, 82, 1, 
-       83, 1, 84, 1, 85, 1, 88, 1, 
+       81, 1, 82, 1, 83, 1, 84, 1, 
+       85, 1, 86, 1, 87, 1, 88, 1, 
        89, 1, 90, 1, 91, 1, 92, 1, 
        93, 1, 94, 1, 95, 1, 96, 1, 
        97, 1, 98, 1, 99, 1, 100, 1, 
@@ -388,24 +388,20 @@ static const char _eo_tokenizer_actions[] = {
        105, 1, 106, 1, 107, 1, 108, 1, 
        109, 1, 110, 1, 111, 1, 112, 1, 
        113, 1, 114, 1, 115, 1, 116, 1, 
-       117, 1, 118, 1, 119, 1, 120, 1, 
-       121, 1, 122, 1, 123, 1, 124, 1, 
-       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, 
+       117, 1, 118, 1, 119, 1, 120, 2, 
+       0, 37, 2, 0, 48, 2, 0, 57, 
+       2, 0, 68, 2, 0, 77, 2, 0, 
+       89, 2, 0, 98, 2, 0, 115, 2, 
+       5, 43, 2, 6, 38, 2, 7, 2, 
+       2, 8, 39, 2, 9, 52, 2, 11, 
+       0, 2, 11, 69, 2, 14, 84, 2, 
+       15, 79, 2, 16, 80, 2, 17, 0, 
+       2, 17, 90, 2, 19, 0, 2, 20, 
+       0, 2, 20, 116, 2, 21, 0, 2, 
+       22, 0, 2, 23, 0, 2, 23, 2, 
+       2, 27, 0, 2, 32, 0, 2, 32, 
+       116, 2, 35, 1, 2, 35, 2, 2, 
+       35, 4, 2, 35, 10, 2, 35, 13, 
        3, 3, 12, 2, 3, 3, 18, 2
        
 };
@@ -443,25 +439,19 @@ static const short _eo_tokenizer_key_offsets[] = {
        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
+       1445, 1457, 1461, 1462, 1463, 1464, 1465, 1466, 
+       1467, 1468, 1469, 1470, 1471, 1472, 1473, 1477, 
+       1484, 1492, 1493, 1494, 1495, 1496, 1497, 1501, 
+       1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 
+       1513, 1521, 1524, 1526, 1527, 1528, 1529, 1530, 
+       1541, 1544, 1546, 1557, 1569, 1581, 1585, 1585, 
+       1586, 1595, 1598, 1600, 1613, 1617, 1617, 1618, 
+       1627, 1630, 1632, 1633, 1634, 1635, 1636, 1637, 
+       1649, 1652, 1654, 1665, 1678, 1679, 1688, 1691, 
+       1693, 1694, 1695, 1696, 1697, 1701, 1701, 1702, 
+       1714, 1717, 1719, 1730, 1743, 1744, 1756, 1759, 
+       1761, 1762, 1763, 1766, 1768, 1771, 1772, 1773, 
+       1774, 1775, 1778, 1779, 1780
 };
 
 static const char _eo_tokenizer_trans_keys[] = {
@@ -646,77 +636,48 @@ static const char _eo_tokenizer_trans_keys[] = {
        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, 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, 
+       95, 0, 32, 48, 57, 65, 90, 97, 
+       122, 10, 59, 0, 32, 58, 103, 97, 
+       99, 121, 95, 112, 114, 101, 102, 105, 
+       120, 10, 58, 0, 32, 10, 0, 32, 
+       65, 90, 97, 122, 59, 95, 48, 57, 
+       65, 90, 97, 122, 116, 104, 111, 100, 
+       115, 10, 123, 0, 32, 111, 112, 101, 
+       114, 116, 105, 101, 115, 10, 123, 0, 
+       32, 10, 47, 97, 99, 105, 109, 0, 
+       32, 10, 0, 32, 42, 47, 98, 108, 
+       110, 105, 10, 47, 108, 114, 125, 0, 
+       32, 65, 90, 97, 122, 10, 0, 32, 
+       42, 47, 9, 13, 32, 58, 95, 48, 
+       57, 65, 90, 97, 122, 9, 13, 32, 
+       58, 95, 101, 48, 57, 65, 90, 97, 
+       122, 9, 13, 32, 58, 95, 101, 48, 
+       57, 65, 90, 97, 122, 9, 13, 32, 
+       47, 59, 10, 47, 125, 0, 32, 64, 
+       90, 97, 122, 10, 0, 32, 42, 47, 
+       9, 13, 32, 42, 60, 62, 95, 48, 
+       57, 64, 90, 97, 122, 9, 13, 32, 
+       47, 59, 10, 47, 103, 107, 115, 118, 
+       125, 0, 32, 10, 0, 32, 42, 47, 
+       101, 101, 101, 97, 59, 10, 47, 112, 
+       125, 0, 32, 48, 57, 65, 90, 97, 
+       122, 10, 0, 32, 42, 47, 10, 95, 
+       123, 0, 32, 48, 57, 65, 90, 97, 
+       122, 10, 95, 114, 117, 123, 0, 32, 
+       48, 57, 65, 90, 97, 122, 59, 10, 
+       47, 99, 108, 112, 114, 125, 0, 32, 
+       10, 0, 32, 42, 47, 111, 101, 97, 
+       101, 9, 13, 32, 47, 59, 10, 47, 
        112, 125, 0, 32, 48, 57, 65, 90, 
        97, 122, 10, 0, 32, 42, 47, 10, 
        95, 123, 0, 32, 48, 57, 65, 90, 
        97, 122, 10, 95, 114, 117, 123, 0, 
        32, 48, 57, 65, 90, 97, 122, 59, 
-       10, 47, 99, 108, 112, 114, 125, 0, 
-       32, 10, 0, 32, 42, 47, 111, 101, 
-       97, 101, 9, 13, 32, 47, 59, 10, 
-       47, 112, 125, 0, 32, 48, 57, 65, 
-       90, 97, 122, 10, 0, 32, 42, 47, 
-       10, 95, 123, 0, 32, 48, 57, 65, 
-       90, 97, 122, 10, 95, 114, 117, 123, 
-       0, 32, 48, 57, 65, 90, 97, 122, 
-       59, 10, 47, 99, 100, 101, 105, 108, 
-       109, 112, 125, 0, 32, 10, 0, 32, 
-       42, 47, 111, 97, 10, 0, 32, 111, 
-       118, 10, 0, 32, 59, 109, 59, 101, 
-       10, 0, 32, 101, 114, 59, 0
+       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[] = {
@@ -752,13 +713,7 @@ static const char _eo_tokenizer_single_lengths[] = {
        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, 
+       4, 2, 1, 1, 1, 1, 1, 1, 
        1, 1, 1, 1, 1, 1, 2, 1, 
        2, 1, 1, 1, 1, 1, 2, 1, 
        1, 1, 1, 1, 1, 1, 1, 2, 
@@ -806,13 +761,7 @@ static const char _eo_tokenizer_range_lengths[] = {
        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, 
+       4, 1, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 1, 3, 
        3, 0, 0, 0, 0, 0, 1, 0, 
        0, 0, 0, 0, 0, 0, 0, 1, 
@@ -860,25 +809,19 @@ static const short _eo_tokenizer_index_offsets[] = {
        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
+       1311, 1320, 1324, 1326, 1328, 1330, 1332, 1334, 
+       1336, 1338, 1340, 1342, 1344, 1346, 1348, 1352, 
+       1357, 1363, 1365, 1367, 1369, 1371, 1373, 1377, 
+       1379, 1381, 1383, 1385, 1387, 1389, 1391, 1393, 
+       1397, 1405, 1408, 1411, 1413, 1415, 1417, 1419, 
+       1428, 1431, 1434, 1443, 1453, 1463, 1468, 1469, 
+       1471, 1478, 1481, 1484, 1495, 1500, 1501, 1503, 
+       1512, 1515, 1518, 1520, 1522, 1524, 1526, 1528, 
+       1537, 1540, 1543, 1551, 1561, 1563, 1572, 1575, 
+       1578, 1580, 1582, 1584, 1586, 1591, 1592, 1594, 
+       1603, 1606, 1609, 1617, 1627, 1629, 1641, 1644, 
+       1647, 1649, 1651, 1654, 1657, 1660, 1662, 1664, 
+       1666, 1668, 1671, 1673, 1675
 };
 
 static const short _eo_tokenizer_indicies[] = {
@@ -1046,250 +989,200 @@ static const short _eo_tokenizer_indicies[] = {
        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, 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
+       383, 384, 382, 380, 382, 382, 382, 281, 
+       386, 376, 385, 281, 382, 281, 387, 281, 
+       388, 281, 389, 281, 390, 281, 391, 281, 
+       392, 281, 393, 281, 394, 281, 395, 281, 
+       396, 281, 397, 281, 398, 399, 397, 281, 
+       400, 399, 401, 401, 281, 403, 402, 402, 
+       402, 402, 281, 404, 281, 405, 281, 406, 
+       281, 407, 281, 408, 281, 409, 410, 408, 
+       281, 411, 281, 412, 281, 413, 281, 414, 
+       281, 415, 281, 416, 281, 417, 281, 418, 
+       281, 419, 420, 418, 281, 423, 424, 425, 
+       426, 427, 428, 422, 421, 423, 422, 429, 
+       1, 5, 430, 431, 430, 432, 430, 433, 
+       430, 434, 430, 437, 438, 440, 441, 442, 
+       436, 439, 439, 435, 437, 436, 443, 445, 
+       69, 444, 71, 71, 71, 72, 79, 79, 
+       79, 79, 444, 71, 71, 71, 72, 79, 
+       446, 79, 79, 79, 444, 71, 71, 71, 
+       72, 79, 447, 79, 79, 79, 444, 97, 
+       97, 97, 98, 448, 449, 451, 450, 454, 
+       455, 457, 453, 456, 456, 452, 454, 453, 
+       458, 108, 112, 459, 114, 114, 114, 114, 
+       114, 114, 114, 114, 114, 114, 459, 117, 
+       117, 117, 118, 460, 461, 463, 462, 466, 
+       467, 468, 469, 470, 471, 472, 465, 464, 
+       466, 465, 473, 128, 132, 474, 475, 474, 
+       476, 474, 477, 474, 478, 474, 480, 479, 
+       483, 484, 486, 487, 482, 485, 485, 485, 
+       481, 483, 482, 488, 151, 155, 489, 161, 
+       163, 164, 160, 162, 162, 162, 489, 161, 
+       163, 490, 491, 164, 160, 162, 162, 162, 
+       489, 493, 492, 496, 497, 498, 499, 500, 
+       501, 502, 495, 494, 496, 495, 503, 505, 
+       202, 504, 506, 504, 507, 504, 508, 504, 
+       509, 504, 231, 231, 231, 232, 510, 511, 
+       513, 512, 516, 517, 519, 520, 515, 518, 
+       518, 518, 514, 516, 515, 521, 242, 246, 
+       522, 252, 254, 255, 251, 253, 253, 253, 
+       522, 252, 254, 523, 524, 255, 251, 253, 
+       253, 253, 522, 526, 525, 529, 530, 531, 
+       532, 533, 534, 535, 536, 537, 538, 528, 
+       527, 529, 528, 539, 541, 293, 540, 542, 
+       540, 543, 540, 546, 545, 544, 547, 548, 
+       540, 551, 550, 549, 553, 552, 554, 540, 
+       556, 555, 557, 540, 560, 559, 558, 561, 
+       540, 562, 540, 564, 563, 0
 };
 
 static const short _eo_tokenizer_trans_targs[] = {
-       336, 0, 0, 1, 336, 2, 336, 4, 
+       288, 0, 0, 1, 288, 2, 288, 4, 
        5, 6, 7, 8, 9, 10, 10, 11, 
-       12, 13, 12, 14, 11, 336, 12, 12, 
-       336, 13, 14, 15, 16, 12, 12, 336
+       12, 13, 12, 14, 11, 288, 12, 12, 
+       288, 13, 14, 15, 16, 12, 12, 288
        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, 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, 
+       10, 295, 36, 36, 37, 38, 295, 38, 
+       39, 39, 39, 40, 295, 41, 295, 42, 
+       43, 44, 45, 44, 45, 45, 295, 46, 
+       48, 49, 50, 51, 52, 53, 53, 295
+       55, 56, 57, 58, 59, 60, 61, 301
+       295, 62, 63, 64, 65, 65, 66, 66, 
+       66, 67, 302, 304, 68, 68, 69, 304
+       70, 304, 71, 308, 304, 72, 73, 74, 
+       75, 75, 76, 76, 76, 77, 309, 311
+       78, 78, 79, 311, 80, 311, 82, 82, 
+       311, 84, 85, 85, 311, 87, 87, 311
+       89, 90, 91, 92, 92, 311, 319, 93, 
+       93, 94, 319, 95, 319, 96, 96, 319
+       96, 96, 97, 98, 319, 100, 101, 102, 
        103, 104, 105, 106, 107, 97, 108, 109, 
        117, 110, 111, 112, 113, 114, 115, 116, 
-       118, 119, 120, 122, 123, 124, 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, 
+       118, 119, 120, 122, 123, 124, 325, 126, 
+       126, 127, 128, 325, 128, 129, 129, 129, 
+       130, 325, 131, 325, 133, 134, 135, 325
+       137, 138, 139, 140, 141, 142, 142, 325
+       144, 145, 146, 147, 147, 325, 149, 150, 
+       151, 152, 153, 154, 155, 332, 325, 156, 
        157, 158, 159, 159, 160, 160, 160, 161, 
-       381, 383, 162, 162, 163, 383, 164, 383
-       165, 165, 383, 165, 165, 166, 167, 383
+       333, 335, 162, 162, 163, 335, 164, 335
+       165, 165, 335, 165, 165, 166, 167, 335
        169, 170, 171, 172, 173, 174, 175, 176, 
        166, 177, 178, 186, 179, 180, 181, 182, 
        183, 184, 185, 187, 188, 189, 191, 192, 
-       193, 389, 195, 195, 196, 197, 389, 197, 
-       198, 198, 198, 199, 389, 200, 389, 202, 
+       193, 341, 195, 195, 196, 197, 341, 197, 
+       198, 198, 198, 199, 341, 200, 341, 202, 
        203, 204, 205, 206, 207, 208, 209, 210, 
-       211, 211, 389, 213, 214, 214, 215, 215, 
-       216, 216, 394, 218, 219, 220, 221, 222, 
-       223, 224, 224, 225, 225, 226, 226, 396
+       211, 211, 341, 213, 214, 214, 215, 215, 
+       216, 216, 346, 218, 219, 220, 221, 222, 
+       223, 224, 224, 225, 225, 226, 226, 348
        228, 229, 230, 231, 231, 232, 232, 233, 
-       397, 234, 242, 234, 243, 233, 235, 234, 
+       349, 234, 242, 234, 243, 233, 235, 234, 
        234, 235, 236, 237, 238, 238, 239, 239, 
-       239, 240, 241, 232, 232, 233, 397, 242, 
+       239, 240, 241, 232, 232, 233, 349, 242, 
        243, 244, 244, 245, 234, 234, 235, 247, 
        248, 249, 250, 251, 252, 253, 254, 254, 
-       255, 255, 256, 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
+       255, 255, 256, 351, 257, 257, 256, 258, 
+       255, 257, 257, 260, 261, 262, 263, 264, 
+       265, 266, 267, 268, 269, 270, 270, 271, 
+       271, 272, 272, 353, 274, 275, 276, 277, 
+       278, 278, 341, 280, 281, 282, 283, 284, 
+       285, 286, 287, 287, 341, 288, 289, 289, 
+       290, 291, 292, 293, 294, 288, 288, 3, 
+       19, 23, 31, 295, 296, 296, 297, 298, 
+       299, 300, 303, 295, 295, 35, 47, 54, 
+       295, 295, 295, 295, 304, 305, 305, 306, 
+       307, 310, 304, 304, 304, 304, 304, 304, 
+       311, 312, 312, 313, 314, 315, 316, 317, 
+       318, 311, 311, 81, 83, 86, 88, 311, 
+       311, 319, 320, 320, 321, 322, 323, 324, 
+       319, 319, 99, 121, 319, 319, 325, 326, 
+       326, 327, 328, 329, 330, 331, 334, 325, 
+       325, 125, 132, 136, 143, 148, 325, 325, 
+       325, 325, 335, 336, 336, 337, 338, 339, 
+       340, 335, 335, 168, 190, 335, 335, 341, 
+       342, 342, 343, 344, 345, 347, 350, 352, 
+       354, 355, 356, 341, 341, 194, 201, 212, 
+       341, 346, 346, 217, 227, 341, 348, 348, 
+       341, 341, 246, 341, 341, 259, 341, 353, 
+       353, 273, 279, 341, 341
 };
 
 static const short _eo_tokenizer_trans_actions[] = {
-       219, 0, 1, 0, 209, 0, 242, 0, 
-       0, 0, 0, 0, 0, 45, 0, 3, 
-       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, 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, 224, 0, 338, 93, 0, 0, 0, 
-       0, 1, 3, 0, 1, 0, 0, 117
-       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, 230, 0, 1, 121
-       7, 260, 0, 0, 263, 0, 0, 0, 
-       0, 0, 0, 0, 0, 344, 344, 0, 
+       205, 0, 1, 0, 195, 0, 228, 0, 
+       0, 0, 0, 0, 0, 31, 0, 3, 
+       37, 37, 291, 37, 0, 294, 0, 1, 
+       197, 0, 0, 0, 3, 13, 270, 273
+       11, 267, 11, 11, 0, 0, 1, 0, 
+       1, 0, 0, 0, 29, 0, 0, 0, 
+       0, 0, 0, 0, 35, 0, 0, 0, 
+       33, 63, 0, 1, 0, 0, 47, 1, 
+       3, 0, 1, 0, 45, 0, 207, 0, 
+       0, 5, 237, 0, 3, 0, 240, 0, 
+       0, 0, 0, 0, 0, 3, 0, 234
+       0, 0, 0, 0, 0, 3, 0, 303
+       61, 0, 0, 0, 0, 1, 3, 0, 
+       1, 0, 0, 81, 0, 1, 0, 65
+       0, 210, 0, 306, 79, 0, 0, 0, 
+       0, 1, 3, 0, 1, 0, 0, 103
+       0, 1, 0, 83, 0, 213, 0, 1, 
+       85, 0, 0, 1, 89, 0, 1, 87
+       0, 0, 0, 0, 1, 91, 119, 0, 
+       1, 0, 105, 0, 216, 0, 1, 107
+       7, 246, 0, 0, 249, 0, 0, 0, 
+       0, 0, 0, 0, 0, 312, 312, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 155, 0, 
-       1, 0, 0, 137, 1, 3, 0, 1, 
-       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, 341, 153, 0, 
+       0, 0, 0, 0, 0, 0, 141, 0, 
+       1, 0, 0, 123, 1, 3, 0, 1, 
+       0, 121, 0, 219, 0, 0, 0, 258
+       0, 0, 0, 0, 0, 3, 0, 255
+       0, 0, 0, 0, 1, 125, 0, 0, 
+       0, 0, 0, 3, 0, 309, 139, 0, 
        0, 0, 0, 1, 3, 0, 1, 0, 
-       0, 171, 0, 1, 0, 157, 0, 236
-       0, 1, 159, 9, 275, 0, 0, 278
+       0, 157, 0, 1, 0, 143, 0, 222
+       0, 1, 145, 9, 261, 0, 0, 264
        0, 0, 0, 0, 0, 0, 0, 0, 
-       348, 348, 0, 0, 0, 0, 0, 0, 
+       316, 316, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 207, 0, 1, 0, 0, 175, 1, 
-       3, 0, 1, 0, 173, 0, 239, 0, 
+       0, 193, 0, 1, 0, 0, 161, 1, 
+       3, 0, 1, 0, 159, 0, 225, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 1, 181, 0, 0, 1, 0, 1, 
+       0, 1, 167, 0, 0, 1, 0, 1, 
        3, 0, 25, 0, 0, 0, 0, 0, 
        0, 0, 1, 0, 1, 3, 0, 23, 
        0, 0, 0, 0, 1, 0, 1, 3, 
-       0, 15, 15, 290, 15, 0, 15, 0, 
+       0, 15, 15, 276, 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, 
+       1, 0, 0, 19, 282, 285, 19, 0, 
+       0, 3, 0, 0, 17, 279, 17, 0, 
        0, 0, 0, 0, 0, 0, 0, 1, 
-       0, 1, 3, 0, 27, 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, 
-       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
+       0, 1, 3, 0, 27, 288, 0, 0, 
+       27, 0, 1, 0, 0, 0, 0, 0, 
+       0, 0, 0, 0, 0, 0, 1, 0, 
+       1, 3, 0, 21, 0, 0, 0, 0, 
+       0, 1, 171, 0, 0, 0, 0, 0, 
+       0, 0, 0, 1, 169, 199, 0, 1, 
+       297, 43, 43, 43, 43, 201, 203, 0, 
+       0, 0, 0, 51, 0, 1, 297, 300, 
+       300, 300, 0, 53, 59, 0, 0, 0, 
+       55, 231, 57, 49, 69, 0, 1, 297, 
+       300, 0, 71, 77, 73, 243, 75, 67, 
+       95, 0, 1, 297, 43, 43, 43, 43, 
+       0, 97, 101, 0, 0, 0, 0, 99, 
+       93, 111, 0, 1, 297, 300, 300, 0, 
+       113, 117, 0, 0, 115, 109, 129, 0, 
+       1, 297, 43, 43, 43, 43, 0, 131, 
+       137, 0, 0, 0, 0, 0, 133, 252, 
+       135, 127, 149, 0, 1, 297, 300, 300, 
+       0, 151, 155, 0, 0, 153, 147, 175, 
+       0, 1, 297, 43, 43, 43, 43, 43, 
+       43, 43, 0, 177, 191, 0, 0, 0, 
+       183, 0, 1, 0, 0, 181, 0, 1, 
+       187, 165, 0, 185, 163, 0, 179, 0, 
+       1, 0, 0, 189, 173
 };
 
 static const short _eo_tokenizer_to_state_actions[] = {
@@ -1329,19 +1222,13 @@ static const short _eo_tokenizer_to_state_actions[] = {
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
+       39, 0, 0, 0, 0, 0, 0, 39, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       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, 
-       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, 
+       39, 0, 0, 0, 0, 0, 0, 39, 
+       0, 0, 0, 0, 0, 0, 0, 39, 
+       0, 0, 0, 0, 0, 39, 0, 0, 
+       0, 0, 0, 0, 0, 0, 0, 39, 
+       0, 0, 0, 0, 0, 39, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0
 };
@@ -1383,19 +1270,13 @@ static const short _eo_tokenizer_from_state_actions[] = {
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
+       41, 0, 0, 0, 0, 0, 0, 41, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 0, 0, 0, 
-       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, 
-       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, 
+       41, 0, 0, 0, 0, 0, 0, 41, 
+       0, 0, 0, 0, 0, 0, 0, 41, 
+       0, 0, 0, 0, 0, 41, 0, 0, 
+       0, 0, 0, 0, 0, 0, 0, 41, 
+       0, 0, 0, 0, 0, 41, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0
 };
@@ -1437,38 +1318,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, 282, 282, 282, 282, 282, 282, 
-       282, 282, 282, 282, 282, 282, 282, 282, 
-       282, 282, 282, 282, 282, 282, 282, 282, 
-       282, 282, 282, 282, 282, 282, 282, 282, 
-       282, 282, 282, 282, 282, 282, 282, 282, 
-       0, 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
+       0, 430, 431, 431, 431, 431, 431, 0, 
+       444, 445, 445, 445, 445, 449, 450, 451, 
+       0, 459, 460, 460, 461, 462, 463, 0, 
+       474, 475, 475, 475, 475, 475, 480, 0, 
+       489, 490, 490, 490, 493, 0, 504, 505, 
+       505, 505, 505, 505, 511, 512, 513, 0, 
+       522, 523, 523, 523, 526, 0, 540, 541, 
+       541, 541, 545, 541, 550, 553, 541, 556, 
+       541, 559, 541, 541, 564
 };
 
-static const int eo_tokenizer_start = 336;
-static const int eo_tokenizer_first_final = 336;
+static const int eo_tokenizer_start = 288;
+static const int eo_tokenizer_first_final = 288;
 static const int eo_tokenizer_error = -1;
 
-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;
+static const int eo_tokenizer_en_tokenize_accessor = 295;
+static const int eo_tokenizer_en_tokenize_params = 304;
+static const int eo_tokenizer_en_tokenize_property = 311;
+static const int eo_tokenizer_en_tokenize_properties = 319;
+static const int eo_tokenizer_en_tokenize_method = 325;
+static const int eo_tokenizer_en_tokenize_methods = 335;
+static const int eo_tokenizer_en_tokenize_class = 341;
+static const int eo_tokenizer_en_main = 288;
 
 
-#line 1040 "lib/eolian/eo_lexer.rl"
+#line 967 "lib/eolian/eo_lexer.rl"
 
 
 Eina_Bool
@@ -1492,7 +1367,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
      }
 
    
-#line 1496 "lib/eolian/eo_lexer.c"
+#line 1371 "lib/eolian/eo_lexer.c"
        {
         toknz->cs = eo_tokenizer_start;
         toknz->ts = 0;
@@ -1500,7 +1375,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
         toknz->act = 0;
        }
 
-#line 1063 "lib/eolian/eo_lexer.rl"
+#line 990 "lib/eolian/eo_lexer.rl"
 
    while (!done)
      {
@@ -1527,7 +1402,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source)
           }
 
         
-#line 1531 "lib/eolian/eo_lexer.c"
+#line 1406 "lib/eolian/eo_lexer.c"
        {
        int _klen;
        unsigned int _trans;
@@ -1542,11 +1417,11 @@ _resume:
        _nacts = (unsigned int) *_acts++;
        while ( _nacts-- > 0 ) {
                switch ( *_acts++ ) {
-       case 41:
+       case 34:
 #line 1 "NONE"
        { toknz->ts = ( toknz->p);}
        break;
-#line 1550 "lib/eolian/eo_lexer.c"
+#line 1425 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -1846,94 +1721,31 @@ _eof_trans:
    }
        break;
        case 28:
-#line 895 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (toknz->tmp.impl->legacy)
-           ABORT(toknz, "Legacy section already allocated for implement item");
-        toknz->tmp.impl->legacy = calloc(1, sizeof(Eo_Implement_Legacy_Def));
-   }
-       break;
-       case 29:
-#line 902 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->function_name = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 30:
-#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));
-        toknz->tmp.impl->legacy->params = eina_list_append(
-              toknz->tmp.impl->legacy->params, toknz->tmp.impl_leg_param);
-
-        toknz->tmp.impl_leg_param->eo_name = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 31:
-#line 918 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl_leg_param)
-           ABORT(toknz, "No implement legacy param!!!");
-        toknz->tmp.impl_leg_param->legacy_name = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 32:
-#line 924 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl_leg_param)
-           ABORT(toknz, "No implement legacy param!!!");
-        toknz->tmp.impl_leg_param->comment = _eo_tokenizer_token_get(toknz, ( toknz->p)-2);
-   }
-       break;
-       case 33:
-#line 930 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->ret_type= _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 34:
-#line 937 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->ret_value = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 35:
-#line 1006 "lib/eolian/eo_lexer.rl"
+#line 933 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_REGULAR;
    }
        break;
-       case 36:
-#line 1009 "lib/eolian/eo_lexer.rl"
+       case 29:
+#line 936 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_ABSTRACT;
    }
        break;
-       case 37:
-#line 1012 "lib/eolian/eo_lexer.rl"
+       case 30:
+#line 939 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_MIXIN;
    }
        break;
-       case 38:
-#line 1015 "lib/eolian/eo_lexer.rl"
+       case 31:
+#line 942 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_INTERFACE;
    }
        break;
-       case 39:
-#line 1019 "lib/eolian/eo_lexer.rl"
+       case 32:
+#line 946 "lib/eolian/eo_lexer.rl"
        {
       if (toknz->tmp.kls != NULL)
         ABORT(toknz, "there is a pending class definition %s", toknz->tmp.kls->name);
@@ -1941,11 +1753,11 @@ _eof_trans:
       toknz->tmp.kls->type = toknz->tmp.kls_type;
    }
        break;
-       case 42:
+       case 35:
 #line 1 "NONE"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 43:
+       case 36:
 #line 451 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
@@ -1955,22 +1767,22 @@ _eof_trans:
       INF("        %s", toknz->tmp.accessor->comment);
    }}
        break;
-       case 44:
+       case 37:
 #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 45:
+       case 38:
 #line 514 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 46:
+       case 39:
 #line 515 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 47:
+       case 40:
 #line 480 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      }");
@@ -1978,10 +1790,10 @@ _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 = 359; goto _again;}
+      { toknz->cs = 311; goto _again;}
    }}
        break;
-       case 48:
+       case 41:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2000,15 +1812,15 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 49:
+       case 42:
 #line 510 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 50:
+       case 43:
 #line 513 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 51:
+       case 44:
 #line 480 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("      }");
@@ -2016,10 +1828,10 @@ _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 = 359; goto _again;}
+      { toknz->cs = 311; goto _again;}
    }}
        break;
-       case 52:
+       case 45:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2038,11 +1850,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 53:
+       case 46:
 #line 513 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
-       case 54:
+       case 47:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2061,28 +1873,28 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 55:
+       case 48:
 #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 56:
+       case 49:
 #line 539 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      }");
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 359; goto _again;}
+        { toknz->cs = 311; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 373; goto _again;}
+        { toknz->cs = 325; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
        break;
-       case 57:
+       case 50:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2101,29 +1913,29 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 58:
+       case 51:
 #line 555 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 59:
+       case 52:
 #line 557 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 60:
+       case 53:
 #line 539 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("      }");
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 359; goto _again;}
+        { toknz->cs = 311; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 373; goto _again;}
+        { toknz->cs = 325; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
        break;
-       case 61:
+       case 54:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2142,11 +1954,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 62:
+       case 55:
 #line 557 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
-       case 63:
+       case 56:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2165,50 +1977,50 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 64:
+       case 57:
 #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 65:
+       case 58:
 #line 564 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      get {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER);
       toknz->current_nesting++;
-      { toknz->cs = 343; goto _again;}
+      { toknz->cs = 295; goto _again;}
    }}
        break;
-       case 66:
+       case 59:
 #line 571 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      set {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER);
       toknz->current_nesting++;
-      { toknz->cs = 343; goto _again;}
+      { toknz->cs = 295; goto _again;}
    }}
        break;
-       case 67:
+       case 60:
 #line 578 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      keys {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->keys);
-      { toknz->cs = 352; goto _again;}
+      { toknz->cs = 304; goto _again;}
    }}
        break;
-       case 68:
+       case 61:
 #line 585 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      values {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->values);
-      { toknz->cs = 352; goto _again;}
+      { toknz->cs = 304; goto _again;}
    }}
        break;
-       case 69:
+       case 62:
 #line 592 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
@@ -2219,10 +2031,10 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 367; goto _again;}
+      { toknz->cs = 319; goto _again;}
    }}
        break;
-       case 70:
+       case 63:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2241,11 +2053,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 71:
+       case 64:
 #line 610 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 72:
+       case 65:
 #line 592 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
@@ -2256,10 +2068,10 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 367; goto _again;}
+      { toknz->cs = 319; goto _again;}
    }}
        break;
-       case 73:
+       case 66:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2278,7 +2090,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 74:
+       case 67:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2297,31 +2109,31 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 75:
+       case 68:
 #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 76:
+       case 69:
 #line 622 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
       INF("    %s {", toknz->tmp.prop->name);
       toknz->current_nesting++;
-      { toknz->cs = 359; goto _again;}
+      { toknz->cs = 311; goto _again;}
    }}
        break;
-       case 77:
+       case 70:
 #line 639 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 78:
+       case 71:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2340,19 +2152,19 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 79:
+       case 72:
 #line 648 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 80:
+       case 73:
 #line 639 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 81:
+       case 74:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2371,7 +2183,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 82:
+       case 75:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2390,7 +2202,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 83:
+       case 76:
 #line 657 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
@@ -2400,32 +2212,32 @@ _eof_trans:
       INF("        %s", toknz->tmp.meth->comment);
    }}
        break;
-       case 84:
+       case 77:
 #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 85:
+       case 78:
 #line 665 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
       INF("      params {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.meth->params);
-      { toknz->cs = 352; goto _again;}
+      { toknz->cs = 304; goto _again;}
    }}
        break;
-       case 86:
+       case 79:
 #line 737 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 87:
+       case 80:
 #line 738 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 88:
+       case 81:
 #line 700 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       Eina_List **l = NULL;
@@ -2446,10 +2258,10 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 89:
+       case 82:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2468,15 +2280,15 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 90:
+       case 83:
 #line 732 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 91:
+       case 84:
 #line 736 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 92:
+       case 85:
 #line 700 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       Eina_List **l = NULL;
@@ -2497,10 +2309,10 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 93:
+       case 86:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2519,11 +2331,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 94:
+       case 87:
 #line 736 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
-       case 95:
+       case 88:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2542,32 +2354,32 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 96:
+       case 89:
 #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 97:
+       case 90:
 #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 = 373; goto _again;}
+      { toknz->cs = 325; goto _again;}
    }}
        break;
-       case 98:
+       case 91:
 #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 = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 99:
+       case 92:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2586,20 +2398,20 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 100:
+       case 93:
 #line 772 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 101:
+       case 94:
 #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 = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 102:
+       case 95:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2618,7 +2430,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 103:
+       case 96:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2637,7 +2449,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 104:
+       case 97:
 #line 781 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
@@ -2646,53 +2458,53 @@ _eof_trans:
       toknz->tmp.kls->comment = _eo_tokenizer_token_get(toknz, ( toknz->p)-1);
    }}
        break;
-       case 105:
+       case 98:
 #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 106:
+       case 99:
 #line 799 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
-       case 107:
+       case 100:
 #line 802 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
-       case 108:
+       case 101:
 #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 = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 109:
+       case 102:
 #line 813 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  properties {");
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting++;
-      { toknz->cs = 367; goto _again;}
+      { toknz->cs = 319; goto _again;}
    }}
        break;
-       case 110:
+       case 103:
 #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 = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 111:
+       case 104:
 #line 828 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
@@ -2700,10 +2512,10 @@ _eof_trans:
       toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
       toknz->tmp.kls = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 336; goto _again;}
+      { toknz->cs = 288; goto _again;}
    }}
        break;
-       case 112:
+       case 105:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2722,33 +2534,33 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 113:
-#line 982 "lib/eolian/eo_lexer.rl"
+       case 106:
+#line 909 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 114:
-#line 985 "lib/eolian/eo_lexer.rl"
+       case 107:
+#line 912 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 115:
-#line 986 "lib/eolian/eo_lexer.rl"
+       case 108:
+#line 913 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 116:
-#line 987 "lib/eolian/eo_lexer.rl"
+       case 109:
+#line 914 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 117:
+       case 110:
 #line 799 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
    }}
        break;
-       case 118:
+       case 111:
 #line 802 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
    }}
        break;
-       case 119:
+       case 112:
 #line 828 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
@@ -2756,10 +2568,10 @@ _eof_trans:
       toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
       toknz->tmp.kls = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 336; goto _again;}
+      { toknz->cs = 288; goto _again;}
    }}
        break;
-       case 120:
+       case 113:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2778,7 +2590,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 121:
+       case 114:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2797,23 +2609,23 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 122:
+       case 115:
 #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 123:
-#line 999 "lib/eolian/eo_lexer.rl"
+       case 116:
+#line 926 "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 = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 124:
+       case 117:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -2832,11 +2644,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 125:
-#line 1034 "lib/eolian/eo_lexer.rl"
+       case 118:
+#line 961 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 126:
+       case 119:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -2855,7 +2667,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 127:
+       case 120:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -2874,7 +2686,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-#line 2878 "lib/eolian/eo_lexer.c"
+#line 2690 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -2883,11 +2695,11 @@ _again:
        _nacts = (unsigned int) *_acts++;
        while ( _nacts-- > 0 ) {
                switch ( *_acts++ ) {
-       case 40:
+       case 33:
 #line 1 "NONE"
        { toknz->ts = 0;}
        break;
-#line 2891 "lib/eolian/eo_lexer.c"
+#line 2703 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -2905,12 +2717,12 @@ _again:
        _out: {}
        }
 
-#line 1089 "lib/eolian/eo_lexer.rl"
+#line 1016 "lib/eolian/eo_lexer.rl"
 
         if ( toknz->cs == 
-#line 2912 "lib/eolian/eo_lexer.c"
+#line 2724 "lib/eolian/eo_lexer.c"
 -1
-#line 1090 "lib/eolian/eo_lexer.rl"
+#line 1017 "lib/eolian/eo_lexer.rl"
  )
           {
              ERR("%s: wrong termination", source);
@@ -2956,7 +2768,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
    Eina_Bool ret = EINA_TRUE;
 
    
-#line 2960 "lib/eolian/eo_lexer.c"
+#line 2772 "lib/eolian/eo_lexer.c"
        {
         toknz->cs = eo_tokenizer_start;
         toknz->ts = 0;
@@ -2964,7 +2776,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
         toknz->act = 0;
        }
 
-#line 1135 "lib/eolian/eo_lexer.rl"
+#line 1062 "lib/eolian/eo_lexer.rl"
 
    toknz->p = buffer;
 
@@ -2973,7 +2785,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns
    toknz->eof = toknz->pe;
 
    
-#line 2977 "lib/eolian/eo_lexer.c"
+#line 2789 "lib/eolian/eo_lexer.c"
        {
        int _klen;
        unsigned int _trans;
@@ -2988,11 +2800,11 @@ _resume:
        _nacts = (unsigned int) *_acts++;
        while ( _nacts-- > 0 ) {
                switch ( *_acts++ ) {
-       case 41:
+       case 34:
 #line 1 "NONE"
        { toknz->ts = ( toknz->p);}
        break;
-#line 2996 "lib/eolian/eo_lexer.c"
+#line 2808 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -3292,94 +3104,31 @@ _eof_trans:
    }
        break;
        case 28:
-#line 895 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (toknz->tmp.impl->legacy)
-           ABORT(toknz, "Legacy section already allocated for implement item");
-        toknz->tmp.impl->legacy = calloc(1, sizeof(Eo_Implement_Legacy_Def));
-   }
-       break;
-       case 29:
-#line 902 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->function_name = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 30:
-#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));
-        toknz->tmp.impl->legacy->params = eina_list_append(
-              toknz->tmp.impl->legacy->params, toknz->tmp.impl_leg_param);
-
-        toknz->tmp.impl_leg_param->eo_name = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 31:
-#line 918 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl_leg_param)
-           ABORT(toknz, "No implement legacy param!!!");
-        toknz->tmp.impl_leg_param->legacy_name = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 32:
-#line 924 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl_leg_param)
-           ABORT(toknz, "No implement legacy param!!!");
-        toknz->tmp.impl_leg_param->comment = _eo_tokenizer_token_get(toknz, ( toknz->p)-2);
-   }
-       break;
-       case 33:
-#line 930 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->ret_type= _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 34:
-#line 937 "lib/eolian/eo_lexer.rl"
-       {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->ret_value = _eo_tokenizer_token_get(toknz, ( toknz->p));
-   }
-       break;
-       case 35:
-#line 1006 "lib/eolian/eo_lexer.rl"
+#line 933 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_REGULAR;
    }
        break;
-       case 36:
-#line 1009 "lib/eolian/eo_lexer.rl"
+       case 29:
+#line 936 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_ABSTRACT;
    }
        break;
-       case 37:
-#line 1012 "lib/eolian/eo_lexer.rl"
+       case 30:
+#line 939 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_MIXIN;
    }
        break;
-       case 38:
-#line 1015 "lib/eolian/eo_lexer.rl"
+       case 31:
+#line 942 "lib/eolian/eo_lexer.rl"
        {
       toknz->tmp.kls_type = EOLIAN_CLASS_INTERFACE;
    }
        break;
-       case 39:
-#line 1019 "lib/eolian/eo_lexer.rl"
+       case 32:
+#line 946 "lib/eolian/eo_lexer.rl"
        {
       if (toknz->tmp.kls != NULL)
         ABORT(toknz, "there is a pending class definition %s", toknz->tmp.kls->name);
@@ -3387,11 +3136,11 @@ _eof_trans:
       toknz->tmp.kls->type = toknz->tmp.kls_type;
    }
        break;
-       case 42:
+       case 35:
 #line 1 "NONE"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 43:
+       case 36:
 #line 451 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.accessor) ABORT(toknz, "No accessor!!!");
@@ -3401,22 +3150,22 @@ _eof_trans:
       INF("        %s", toknz->tmp.accessor->comment);
    }}
        break;
-       case 44:
+       case 37:
 #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 45:
+       case 38:
 #line 514 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 46:
+       case 39:
 #line 515 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 47:
+       case 40:
 #line 480 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      }");
@@ -3424,10 +3173,10 @@ _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 = 359; goto _again;}
+      { toknz->cs = 311; goto _again;}
    }}
        break;
-       case 48:
+       case 41:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -3446,15 +3195,15 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 49:
+       case 42:
 #line 510 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 50:
+       case 43:
 #line 513 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 51:
+       case 44:
 #line 480 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("      }");
@@ -3462,10 +3211,10 @@ _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 = 359; goto _again;}
+      { toknz->cs = 311; goto _again;}
    }}
        break;
-       case 52:
+       case 45:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -3484,11 +3233,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 53:
+       case 46:
 #line 513 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
-       case 54:
+       case 47:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -3507,28 +3256,28 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 55:
+       case 48:
 #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 56:
+       case 49:
 #line 539 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      }");
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 359; goto _again;}
+        { toknz->cs = 311; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 373; goto _again;}
+        { toknz->cs = 325; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
        break;
-       case 57:
+       case 50:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -3547,29 +3296,29 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 58:
+       case 51:
 #line 555 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 59:
+       case 52:
 #line 557 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 60:
+       case 53:
 #line 539 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("      }");
       toknz->tmp.param = NULL;
       toknz->current_nesting--;
       if (toknz->tmp.prop)
-        { toknz->cs = 359; goto _again;}
+        { toknz->cs = 311; goto _again;}
       else if (toknz->tmp.meth)
-        { toknz->cs = 373; goto _again;}
+        { toknz->cs = 325; goto _again;}
       else
         ABORT(toknz, "leaving tokenize_params but there is no property nor method pending");
    }}
        break;
-       case 61:
+       case 54:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -3588,11 +3337,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 62:
+       case 55:
 #line 557 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
-       case 63:
+       case 56:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -3611,50 +3360,50 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 64:
+       case 57:
 #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 65:
+       case 58:
 #line 564 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      get {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER);
       toknz->current_nesting++;
-      { toknz->cs = 343; goto _again;}
+      { toknz->cs = 295; goto _again;}
    }}
        break;
-       case 66:
+       case 59:
 #line 571 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      set {");
       toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER);
       toknz->current_nesting++;
-      { toknz->cs = 343; goto _again;}
+      { toknz->cs = 295; goto _again;}
    }}
        break;
-       case 67:
+       case 60:
 #line 578 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      keys {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->keys);
-      { toknz->cs = 352; goto _again;}
+      { toknz->cs = 304; goto _again;}
    }}
        break;
-       case 68:
+       case 61:
 #line 585 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("      values {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.prop->values);
-      { toknz->cs = 352; goto _again;}
+      { toknz->cs = 304; goto _again;}
    }}
        break;
-       case 69:
+       case 62:
 #line 592 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
@@ -3665,10 +3414,10 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 367; goto _again;}
+      { toknz->cs = 319; goto _again;}
    }}
        break;
-       case 70:
+       case 63:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -3687,11 +3436,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 71:
+       case 64:
 #line 610 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 72:
+       case 65:
 #line 592 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
@@ -3702,10 +3451,10 @@ _eof_trans:
       toknz->tmp.prop = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 367; goto _again;}
+      { toknz->cs = 319; goto _again;}
    }}
        break;
-       case 73:
+       case 66:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -3724,7 +3473,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 74:
+       case 67:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -3743,31 +3492,31 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 75:
+       case 68:
 #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 76:
+       case 69:
 #line 622 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.prop) ABORT(toknz, "No property!!!");
       INF("    %s {", toknz->tmp.prop->name);
       toknz->current_nesting++;
-      { toknz->cs = 359; goto _again;}
+      { toknz->cs = 311; goto _again;}
    }}
        break;
-       case 77:
+       case 70:
 #line 639 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 78:
+       case 71:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -3786,19 +3535,19 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 79:
+       case 72:
 #line 648 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 80:
+       case 73:
 #line 639 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       INF("  }");
       toknz->current_nesting--;
-      { toknz->cs = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 81:
+       case 74:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -3817,7 +3566,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 82:
+       case 75:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -3836,7 +3585,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 83:
+       case 76:
 #line 657 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
@@ -3846,32 +3595,32 @@ _eof_trans:
       INF("        %s", toknz->tmp.meth->comment);
    }}
        break;
-       case 84:
+       case 77:
 #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 85:
+       case 78:
 #line 665 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.meth) ABORT(toknz, "No method!!!");
       INF("      params {");
       toknz->current_nesting++;
       toknz->tmp.params = &(toknz->tmp.meth->params);
-      { toknz->cs = 352; goto _again;}
+      { toknz->cs = 304; goto _again;}
    }}
        break;
-       case 86:
+       case 79:
 #line 737 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 87:
+       case 80:
 #line 738 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;}
        break;
-       case 88:
+       case 81:
 #line 700 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       Eina_List **l = NULL;
@@ -3892,10 +3641,10 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 89:
+       case 82:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -3914,15 +3663,15 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 90:
+       case 83:
 #line 732 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 91:
+       case 84:
 #line 736 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 92:
+       case 85:
 #line 700 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       Eina_List **l = NULL;
@@ -3943,10 +3692,10 @@ _eof_trans:
       toknz->tmp.meth = NULL;
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting--;
-      { toknz->cs = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 93:
+       case 86:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -3965,11 +3714,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 94:
+       case 87:
 #line 736 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}}
        break;
-       case 95:
+       case 88:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -3988,32 +3737,32 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 96:
+       case 89:
 #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 97:
+       case 90:
 #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 = 373; goto _again;}
+      { toknz->cs = 325; goto _again;}
    }}
        break;
-       case 98:
+       case 91:
 #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 = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 99:
+       case 92:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -4032,20 +3781,20 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 100:
+       case 93:
 #line 772 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 101:
+       case 94:
 #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 = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 102:
+       case 95:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -4064,7 +3813,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 103:
+       case 96:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -4083,7 +3832,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 104:
+       case 97:
 #line 781 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
@@ -4092,53 +3841,53 @@ _eof_trans:
       toknz->tmp.kls->comment = _eo_tokenizer_token_get(toknz, ( toknz->p)-1);
    }}
        break;
-       case 105:
+       case 98:
 #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 106:
+       case 99:
 #line 799 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
-       case 107:
+       case 100:
 #line 802 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
    }}
        break;
-       case 108:
+       case 101:
 #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 = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 109:
+       case 102:
 #line 813 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       INF("  properties {");
       toknz->tmp.fscope = FUNC_PUBLIC;
       toknz->current_nesting++;
-      { toknz->cs = 367; goto _again;}
+      { toknz->cs = 319; goto _again;}
    }}
        break;
-       case 110:
+       case 103:
 #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 = 383; goto _again;}
+      { toknz->cs = 335; goto _again;}
    }}
        break;
-       case 111:
+       case 104:
 #line 828 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
@@ -4146,10 +3895,10 @@ _eof_trans:
       toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
       toknz->tmp.kls = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 336; goto _again;}
+      { toknz->cs = 288; goto _again;}
    }}
        break;
-       case 112:
+       case 105:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -4168,33 +3917,33 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 113:
-#line 982 "lib/eolian/eo_lexer.rl"
+       case 106:
+#line 909 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 114:
-#line 985 "lib/eolian/eo_lexer.rl"
+       case 107:
+#line 912 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 115:
-#line 986 "lib/eolian/eo_lexer.rl"
+       case 108:
+#line 913 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 116:
-#line 987 "lib/eolian/eo_lexer.rl"
+       case 109:
+#line 914 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 117:
+       case 110:
 #line 799 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
    }}
        break;
-       case 118:
+       case 111:
 #line 802 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
    }}
        break;
-       case 119:
+       case 112:
 #line 828 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       if (!toknz->tmp.kls) ABORT(toknz, "No class!!!");
@@ -4202,10 +3951,10 @@ _eof_trans:
       toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls);
       toknz->tmp.kls = NULL;
       toknz->current_nesting--;
-      { toknz->cs = 336; goto _again;}
+      { toknz->cs = 288; goto _again;}
    }}
        break;
-       case 120:
+       case 113:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -4224,7 +3973,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 121:
+       case 114:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -4243,23 +3992,23 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 122:
+       case 115:
 #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 123:
-#line 999 "lib/eolian/eo_lexer.rl"
+       case 116:
+#line 926 "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 = 389; goto _again;}
+      { toknz->cs = 341; goto _again;}
    }}
        break;
-       case 124:
+       case 117:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p)+1;{
       DBG("error[%d]", toknz->cs);
@@ -4278,11 +4027,11 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 125:
-#line 1034 "lib/eolian/eo_lexer.rl"
+       case 118:
+#line 961 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;}
        break;
-       case 126:
+       case 119:
 #line 394 "lib/eolian/eo_lexer.rl"
        { toknz->te = ( toknz->p);( toknz->p)--;{
       DBG("error[%d]", toknz->cs);
@@ -4301,7 +4050,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-       case 127:
+       case 120:
 #line 394 "lib/eolian/eo_lexer.rl"
        {{( toknz->p) = (( toknz->te))-1;}{
       DBG("error[%d]", toknz->cs);
@@ -4320,7 +4069,7 @@ _eof_trans:
       {( toknz->p)++; goto _out; }  /* necessary to stop scanners */
    }}
        break;
-#line 4324 "lib/eolian/eo_lexer.c"
+#line 4073 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -4329,11 +4078,11 @@ _again:
        _nacts = (unsigned int) *_acts++;
        while ( _nacts-- > 0 ) {
                switch ( *_acts++ ) {
-       case 40:
+       case 33:
 #line 1 "NONE"
        { toknz->ts = 0;}
        break;
-#line 4337 "lib/eolian/eo_lexer.c"
+#line 4086 "lib/eolian/eo_lexer.c"
                }
        }
 
@@ -4351,12 +4100,12 @@ _again:
        _out: {}
        }
 
-#line 1143 "lib/eolian/eo_lexer.rl"
+#line 1070 "lib/eolian/eo_lexer.rl"
 
    if ( toknz->cs == 
-#line 4358 "lib/eolian/eo_lexer.c"
+#line 4107 "lib/eolian/eo_lexer.c"
 -1
-#line 1144 "lib/eolian/eo_lexer.rl"
+#line 1071 "lib/eolian/eo_lexer.rl"
  )
      {
         ERR("%s: wrong termination", source);
@@ -4808,21 +4557,6 @@ eo_tokenizer_database_fill(const char *filename)
                   continue;
                }
              Eolian_Implement impl_desc = database_implement_new(class, func, ftype);
-             if (impl->legacy)
-               {
-                  Eo_Implement_Legacy_Def *eo_leg = impl->legacy;
-                  Eolian_Implement_Legacy leg = database_implement_legacy_add(
-                        impl_desc, eo_leg->function_name);
-                  database_implement_legacy_return_add(leg, eo_leg->ret_type, eo_leg->ret_value);
-                  if (eo_leg->params)
-                    {
-                       Eina_List *itr;
-                       Eo_Implement_Legacy_Param_Def *p;
-                       EINA_LIST_FOREACH(eo_leg->params, itr, p)
-                          database_implement_legacy_param_add(leg, p->eo_name,
-                                p->legacy_name, p->comment);
-                    }
-               }
              database_class_implement_add(kls->name, impl_desc);
           }
 
index 8121105..475c315 100644 (file)
@@ -892,80 +892,7 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p)
         toknz->tmp.kls->implements = eina_list_append(toknz->tmp.kls->implements, toknz->tmp.impl);
    }
 
-   action impl_legacy_create {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (toknz->tmp.impl->legacy)
-           ABORT(toknz, "Legacy section already allocated for implement item");
-        toknz->tmp.impl->legacy = calloc(1, sizeof(Eo_Implement_Legacy_Def));
-   }
-
-   action impl_legacy_function_name_store {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->function_name = _eo_tokenizer_token_get(toknz, fpc);
-   }
-
-   action impl_legacy_eo_param_store {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        toknz->tmp.impl_leg_param = calloc(1, sizeof(Eo_Implement_Legacy_Param_Def));
-        toknz->tmp.impl->legacy->params = eina_list_append(
-              toknz->tmp.impl->legacy->params, toknz->tmp.impl_leg_param);
-
-        toknz->tmp.impl_leg_param->eo_name = _eo_tokenizer_token_get(toknz, fpc);
-   }
-
-   action impl_legacy_leg_param_store {
-        if (!toknz->tmp.impl_leg_param)
-           ABORT(toknz, "No implement legacy param!!!");
-        toknz->tmp.impl_leg_param->legacy_name = _eo_tokenizer_token_get(toknz, fpc);
-   }
-
-   action impl_legacy_param_comment_store {
-        if (!toknz->tmp.impl_leg_param)
-           ABORT(toknz, "No implement legacy param!!!");
-        toknz->tmp.impl_leg_param->comment = _eo_tokenizer_token_get(toknz, fpc-2);
-   }
-
-   action impl_legacy_return_type_store {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->ret_type= _eo_tokenizer_token_get(toknz, fpc);
-   }
-
-   action impl_legacy_return_val_store {
-        if (!toknz->tmp.impl) ABORT(toknz, "No implement!!!");
-        if (!toknz->tmp.impl->legacy)
-           ABORT(toknz, "No legacy section");
-        toknz->tmp.impl->legacy->ret_value = _eo_tokenizer_token_get(toknz, fpc);
-   }
-
-#  legacy legacy_function_name
-#    {
-#       params {
-#         grp: NULL; /*@ in case 'grp' is in Eo but not in legacy, have to give default */
-#         file; /*@ in case the 'file' parameter is the same */
-#         :index; /*@ in case the param is in legacy but not in Eo */
-#       };
-#       return Eina_Bool::EINA_TRUE;
-#    };
-
-   impl_legacy_param_comment = ws* eo_comment %impl_legacy_param_comment_store;
-   impl_legacy_eo_param = ident %impl_legacy_eo_param_store;
-   impl_legacy_leg_param = ws* colon ws* ident %impl_legacy_leg_param_store ignore*;
-   impl_legacy_param = impl_legacy_eo_param? ws* impl_legacy_leg_param? end_statement impl_legacy_param_comment? ignore*;
-   impl_legacy_params = impl_legacy_param+;
-
-   impl_legacy_return = 'return' ws+ ident %impl_legacy_return_type_store '::' ident %impl_legacy_return_val_store end_statement ignore*;
-
-   impl_legacy_body = 'params' ignore* begin_def ignore* impl_legacy_params ignore* end_def ignore* impl_legacy_return? ignore*;
-
-   impl_legacy_function_name = ident %impl_legacy_function_name_store;
-   impl_legacy_token = 'legacy' %impl_legacy_create;
-   impl_body = impl_legacy_token ws* impl_legacy_function_name? ignore* (end_statement | (begin_def ignore* impl_legacy_body ignore* end_def)) ignore*;
-# class::func ; or { ... }
-   impl_it = class_meth %impl_meth_store ignore* (end_statement | (begin_def ignore* impl_body ignore* end_def)) ignore*;
+   impl_it = class_meth %impl_meth_store ignore* end_statement ignore*;
 # implements { ... }
    implements = 'implements' ignore* begin_def ignore* impl_it* end_def;
 
@@ -1592,21 +1519,6 @@ eo_tokenizer_database_fill(const char *filename)
                   continue;
                }
              Eolian_Implement impl_desc = database_implement_new(class, func, ftype);
-             if (impl->legacy)
-               {
-                  Eo_Implement_Legacy_Def *eo_leg = impl->legacy;
-                  Eolian_Implement_Legacy leg = database_implement_legacy_add(
-                        impl_desc, eo_leg->function_name);
-                  database_implement_legacy_return_add(leg, eo_leg->ret_type, eo_leg->ret_value);
-                  if (eo_leg->params)
-                    {
-                       Eina_List *itr;
-                       Eo_Implement_Legacy_Param_Def *p;
-                       EINA_LIST_FOREACH(eo_leg->params, itr, p)
-                          database_implement_legacy_param_add(leg, p->eo_name,
-                                p->legacy_name, p->comment);
-                    }
-               }
              database_class_implement_add(kls->name, impl_desc);
           }
 
index 851e3ad..fe22c1d 100644 (file)
@@ -486,80 +486,6 @@ eolian_implement_information_get(Eolian_Implement impl, const char **class_name,
    return EINA_TRUE;
 }
 
-Eolian_Implement_Legacy
-database_implement_legacy_add(Eolian_Implement impl, const char *legacy_function_name)
-{
-   _Implement_Desc *_impl = (_Implement_Desc *)impl;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_impl, NULL);
-   _impl->leg_desc = calloc(1, sizeof(_Implement_Legacy_Desc));
-   _Implement_Legacy_Desc *leg_desc = (_Implement_Legacy_Desc *)_impl->leg_desc;
-   if (leg_desc && legacy_function_name) leg_desc->legacy_function_name = legacy_function_name;
-   return _impl->leg_desc;
-}
-
-Eolian_Implement_Legacy_Parameter
-database_implement_legacy_param_add(Eolian_Implement_Legacy leg,
-      Eina_Stringshare *eo_param, Eina_Stringshare *leg_param,
-      Eina_Stringshare *comment)
-{
-   _Implement_Legacy_Desc *_leg = (_Implement_Legacy_Desc *)leg;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_leg, NULL);
-
-   _Implement_Legacy_Param *param = calloc(1, sizeof(_Implement_Legacy_Param));
-   param->eo_param = eo_param;
-   param->leg_param = leg_param;
-   param->comment = comment;
-
-   _leg->params = eina_list_append(_leg->params, param);
-   return (Eolian_Implement_Legacy_Parameter) param;
-}
-
-EAPI Eina_Bool
-eolian_implement_legacy_param_info_get(Eolian_Implement_Legacy_Parameter param,
-      Eina_Stringshare **eo_param, Eina_Stringshare **leg_param,
-      Eina_Stringshare **comment)
-{
-   _Implement_Legacy_Param *_param = (_Implement_Legacy_Param *)param;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_param, EINA_FALSE);
-
-   if (eo_param) *eo_param = _param->eo_param;
-   if (leg_param) *leg_param = _param->leg_param;
-   if (comment) *comment = _param->comment;
-   return EINA_TRUE;
-}
-
-Eina_Bool
-database_implement_legacy_return_add(Eolian_Implement_Legacy leg, Eina_Stringshare *ret_type, Eina_Stringshare *ret_value)
-{
-   _Implement_Legacy_Desc *_leg = (_Implement_Legacy_Desc *)leg;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_leg, EINA_FALSE);
-   _leg->ret_type = ret_type;
-   _leg->ret_value = ret_value;
-   return EINA_TRUE;
-}
-
-EAPI Eolian_Implement_Legacy
-eolian_implement_legacy_desc_get(Eolian_Implement impl)
-{
-   _Implement_Desc *_impl = (_Implement_Desc *)impl;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_impl, NULL);
-   return (Eolian_Implement_Legacy) (_impl->leg_desc);
-}
-
-EAPI Eina_Bool
-eolian_implement_legacy_information_get(const Eolian_Implement_Legacy leg_desc,
-      Eina_Stringshare **leg_func_name, Eina_List **params,
-      Eina_Stringshare **ret_type, Eina_Stringshare **ret_value)
-{
-   _Implement_Legacy_Desc *_leg = (_Implement_Legacy_Desc *)leg_desc;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_leg, EINA_FALSE);
-   if (leg_func_name) *leg_func_name = _leg->legacy_function_name;
-   if (params) *params = _leg->params;
-   if (ret_type) *ret_type = _leg->ret_type;
-   if (ret_value) *ret_value = _leg->ret_value;
-   return EINA_TRUE;
-}
-
 EAPI Eolian_Function
 eolian_class_function_find_by_name(const char *class_name, const char *func_name, Eolian_Function_Type f_type)
 {
@@ -1101,29 +1027,6 @@ _implements_print(Eolian_Implement impl, int nb_spaces)
          return;
      }
    printf("%*s <%s :: %s> <%s>\n", nb_spaces + 5, "", cl, fn, t);
-   Eolian_Implement_Legacy leg_desc = eolian_implement_legacy_desc_get(impl);
-   if (leg_desc)
-     {
-        Eina_Stringshare *func_name, *ret_type, *ret_value;
-        Eina_List *params = NULL;
-        eolian_implement_legacy_information_get(leg_desc, &func_name, &params, &ret_type, &ret_value);
-        printf("%*s Legacy\n", nb_spaces + 8, "");
-        if (func_name) printf("%*s Function name: %s\n", nb_spaces + 11, "", func_name);
-        if (ret_type && ret_value)
-           printf("%*s Return %s::%s\n", nb_spaces + 11, "", ret_type, ret_value);
-        if (params)
-          {
-             printf("%*s Params:\n", nb_spaces + 11, "");
-             Eina_List *itr;
-             Eolian_Implement_Legacy_Parameter p;
-             EINA_LIST_FOREACH(params, itr, p)
-               {
-                  Eina_Stringshare *eo_param, *leg_param, *comment;
-                  eolian_implement_legacy_param_info_get(p, &eo_param, &leg_param, &comment);
-                  printf("%*s %s -> %s <%s>\n", nb_spaces + 14, "", eo_param, leg_param, comment);
-               }
-          }
-     }
 }
 
 static void
index 82e9a3a..cac78d2 100644 (file)
@@ -116,17 +116,6 @@ database_function_scope_set(Eolian_Function function_id, Eolian_Function_Scope s
 Eolian_Implement
 database_implement_new(const char *class_name, const char *func_name, Eolian_Function_Type type);
 
-Eolian_Implement_Legacy
-database_implement_legacy_add(Eolian_Implement impl, const char *legacy_func_name);
-
-Eolian_Implement_Legacy_Parameter
-database_implement_legacy_param_add(Eolian_Implement_Legacy leg,
-      Eina_Stringshare *eo_param, Eina_Stringshare *leg_param,
-      Eina_Stringshare *comment);
-
-Eina_Bool
-database_implement_legacy_return_add(Eolian_Implement_Legacy leg, Eina_Stringshare *ret_type, Eina_Stringshare *ret_value);
-
 Eina_Bool
 database_class_implement_add(const char *class_name, Eolian_Implement impl_id);