From 5b2ce095a3076f741a47d7723d96a7ff4e122f7e Mon Sep 17 00:00:00 2001 From: Daniel Zaoui Date: Fri, 23 May 2014 17:38:39 +0300 Subject: [PATCH] Eolian/Tests: add test for events. --- src/Makefile_Eolian.am | 3 +- src/lib/eolian/eo_lexer.c | 909 +++++++++++++++--------------- src/lib/eolian/eo_lexer.rl | 2 +- src/tests/eolian/data/events.eo | 6 + src/tests/eolian/eolian_parsing.c | 32 ++ 5 files changed, 504 insertions(+), 448 deletions(-) create mode 100644 src/tests/eolian/data/events.eo diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am index 1e44ce2cb4..e31d9f637b 100644 --- a/src/Makefile_Eolian.am +++ b/src/Makefile_Eolian.am @@ -95,5 +95,6 @@ tests/eolian/data/object_impl_ref.c \ tests/eolian/data/object_impl_add.eo \ tests/eolian/data/object_impl_add_ref.c \ tests/eolian/data/consts.eo \ -tests/eolian/data/override.eo +tests/eolian/data/override.eo \ +tests/eolian/data/events.eo diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index 4d547f784b..788e7a9f98 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -375,47 +375,48 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p) #line 377 "lib/eolian/eo_lexer.c" static const char _eo_tokenizer_actions[] = { - 0, 1, 0, 1, 2, 1, 7, 1, - 11, 1, 17, 1, 19, 1, 20, 1, - 21, 1, 22, 1, 23, 1, 24, 1, - 25, 1, 26, 1, 27, 1, 28, 1, - 29, 1, 30, 1, 31, 1, 32, 1, - 33, 1, 35, 1, 36, 1, 37, 1, - 38, 1, 39, 1, 42, 1, 43, 1, - 44, 1, 45, 1, 46, 1, 47, 1, - 48, 1, 49, 1, 50, 1, 51, 1, - 52, 1, 53, 1, 54, 1, 55, 1, - 56, 1, 57, 1, 58, 1, 59, 1, - 60, 1, 61, 1, 62, 1, 63, 1, - 64, 1, 65, 1, 66, 1, 67, 1, - 68, 1, 69, 1, 70, 1, 71, 1, - 72, 1, 73, 1, 74, 1, 75, 1, - 76, 1, 77, 1, 78, 1, 79, 1, - 80, 1, 83, 1, 84, 1, 85, 1, - 86, 1, 87, 1, 88, 1, 89, 1, - 90, 1, 91, 1, 92, 1, 93, 1, - 94, 1, 95, 1, 96, 1, 97, 1, - 98, 1, 99, 1, 100, 1, 101, 1, - 102, 1, 103, 1, 104, 1, 105, 1, - 106, 1, 107, 1, 108, 1, 109, 1, - 110, 1, 111, 1, 112, 1, 113, 1, - 114, 1, 115, 1, 116, 1, 117, 1, - 118, 1, 120, 1, 121, 1, 122, 1, - 123, 2, 0, 39, 2, 0, 50, 2, - 0, 59, 2, 0, 70, 2, 0, 79, - 2, 0, 91, 2, 0, 100, 2, 0, - 117, 2, 5, 45, 2, 6, 40, 2, - 7, 2, 2, 8, 41, 2, 9, 54, - 2, 11, 0, 2, 11, 71, 2, 14, - 86, 2, 15, 81, 2, 16, 82, 2, - 17, 0, 2, 17, 92, 2, 19, 0, - 2, 20, 0, 2, 20, 118, 2, 21, - 0, 2, 22, 0, 2, 23, 0, 2, - 23, 2, 2, 27, 0, 2, 32, 0, - 2, 32, 118, 2, 34, 119, 2, 37, - 1, 2, 37, 2, 2, 37, 4, 2, - 37, 10, 2, 37, 13, 3, 3, 12, - 2, 3, 3, 18, 2 + 0, 1, 0, 1, 1, 1, 2, 1, + 7, 1, 11, 1, 17, 1, 19, 1, + 20, 1, 21, 1, 22, 1, 23, 1, + 24, 1, 25, 1, 26, 1, 27, 1, + 28, 1, 29, 1, 30, 1, 31, 1, + 32, 1, 33, 1, 35, 1, 36, 1, + 37, 1, 38, 1, 39, 1, 42, 1, + 43, 1, 44, 1, 45, 1, 46, 1, + 47, 1, 48, 1, 49, 1, 50, 1, + 51, 1, 52, 1, 53, 1, 54, 1, + 55, 1, 56, 1, 57, 1, 58, 1, + 59, 1, 60, 1, 61, 1, 62, 1, + 63, 1, 64, 1, 65, 1, 66, 1, + 67, 1, 68, 1, 69, 1, 70, 1, + 71, 1, 72, 1, 73, 1, 74, 1, + 75, 1, 76, 1, 77, 1, 78, 1, + 79, 1, 80, 1, 83, 1, 84, 1, + 85, 1, 86, 1, 87, 1, 88, 1, + 89, 1, 90, 1, 91, 1, 92, 1, + 93, 1, 94, 1, 95, 1, 96, 1, + 97, 1, 98, 1, 99, 1, 100, 1, + 101, 1, 102, 1, 103, 1, 104, 1, + 105, 1, 106, 1, 107, 1, 108, 1, + 109, 1, 110, 1, 111, 1, 112, 1, + 113, 1, 114, 1, 115, 1, 116, 1, + 117, 1, 118, 1, 120, 1, 121, 1, + 122, 1, 123, 2, 0, 39, 2, 0, + 50, 2, 0, 59, 2, 0, 70, 2, + 0, 79, 2, 0, 91, 2, 0, 100, + 2, 0, 117, 2, 5, 45, 2, 6, + 40, 2, 7, 2, 2, 8, 41, 2, + 9, 54, 2, 11, 0, 2, 11, 71, + 2, 14, 86, 2, 15, 81, 2, 16, + 82, 2, 17, 0, 2, 17, 92, 2, + 19, 0, 2, 20, 0, 2, 20, 118, + 2, 21, 0, 2, 22, 0, 2, 23, + 0, 2, 23, 1, 2, 23, 2, 2, + 27, 0, 2, 32, 0, 2, 32, 118, + 2, 34, 119, 2, 37, 1, 2, 37, + 2, 2, 37, 4, 2, 37, 10, 2, + 37, 13, 3, 3, 12, 2, 3, 3, + 18, 2 }; static const short _eo_tokenizer_key_offsets[] = { @@ -450,22 +451,23 @@ static const short _eo_tokenizer_key_offsets[] = { 1415, 1419, 1420, 1421, 1425, 1432, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1451, 1458, 1466, 1467, 1468, 1469, 1470, 1474, 1482, 1498, - 1502, 1514, 1515, 1516, 1526, 1528, 1531, 1539, - 1547, 1555, 1567, 1571, 1572, 1573, 1574, 1575, - 1576, 1577, 1578, 1579, 1583, 1591, 1603, 1607, - 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, - 1616, 1617, 1618, 1619, 1623, 1630, 1638, 1639, - 1640, 1641, 1642, 1643, 1647, 1648, 1649, 1650, - 1651, 1652, 1653, 1654, 1655, 1659, 1668, 1671, - 1673, 1674, 1675, 1676, 1677, 1678, 1689, 1692, - 1694, 1705, 1717, 1729, 1733, 1733, 1734, 1743, - 1746, 1748, 1761, 1765, 1765, 1766, 1775, 1778, - 1780, 1781, 1782, 1783, 1784, 1785, 1797, 1800, - 1802, 1813, 1826, 1827, 1836, 1839, 1841, 1842, - 1843, 1844, 1845, 1849, 1849, 1850, 1862, 1865, - 1867, 1878, 1891, 1892, 1904, 1907, 1909, 1910, - 1911, 1914, 1916, 1919, 1920, 1921, 1922, 1923, - 1926, 1927, 1928 + 1502, 1514, 1523, 1525, 1527, 1530, 1539, 1540, + 1542, 1545, 1556, 1558, 1561, 1570, 1578, 1586, + 1598, 1602, 1603, 1604, 1605, 1606, 1607, 1608, + 1609, 1610, 1614, 1622, 1634, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, + 1649, 1650, 1654, 1661, 1669, 1670, 1671, 1672, + 1673, 1674, 1678, 1679, 1680, 1681, 1682, 1683, + 1684, 1685, 1686, 1690, 1699, 1702, 1704, 1705, + 1706, 1707, 1708, 1709, 1720, 1723, 1725, 1736, + 1748, 1760, 1764, 1764, 1765, 1774, 1777, 1779, + 1792, 1796, 1796, 1797, 1806, 1809, 1811, 1812, + 1813, 1814, 1815, 1816, 1828, 1831, 1833, 1844, + 1857, 1858, 1867, 1870, 1872, 1873, 1874, 1875, + 1876, 1880, 1880, 1881, 1893, 1896, 1898, 1909, + 1922, 1923, 1935, 1938, 1940, 1941, 1942, 1945, + 1947, 1950, 1951, 1952, 1953, 1954, 1957, 1958, + 1959 }; static const char _eo_tokenizer_trans_keys[] = { @@ -658,59 +660,63 @@ static const char _eo_tokenizer_trans_keys[] = { 59, 95, 0, 31, 48, 57, 65, 90, 97, 122, 10, 59, 0, 32, 9, 10, 13, 32, 47, 125, 0, 31, 65, 90, - 97, 122, 42, 64, 10, 95, 0, 32, - 48, 57, 64, 90, 97, 122, 10, 42, - 10, 42, 47, 10, 125, 0, 32, 65, - 90, 97, 122, 9, 10, 13, 32, 40, - 59, 0, 31, 9, 13, 32, 95, 65, - 90, 97, 122, 9, 13, 32, 41, 42, - 95, 48, 57, 65, 90, 97, 122, 10, - 59, 0, 32, 112, 108, 101, 109, 101, - 110, 116, 115, 10, 123, 0, 32, 10, - 125, 0, 32, 65, 90, 97, 122, 10, - 58, 59, 95, 0, 32, 48, 57, 65, - 90, 97, 122, 10, 59, 0, 32, 58, - 103, 97, 99, 121, 95, 112, 114, 101, - 102, 105, 120, 10, 58, 0, 32, 10, - 0, 32, 65, 90, 97, 122, 59, 95, - 48, 57, 65, 90, 97, 122, 116, 104, - 111, 100, 115, 10, 123, 0, 32, 111, - 112, 101, 114, 116, 105, 101, 115, 10, - 123, 0, 32, 10, 47, 97, 99, 105, - 109, 116, 0, 32, 10, 0, 32, 42, - 47, 98, 108, 110, 105, 121, 10, 47, - 108, 114, 125, 0, 32, 65, 90, 97, - 122, 10, 0, 32, 42, 47, 9, 13, - 32, 58, 95, 48, 57, 65, 90, 97, - 122, 9, 13, 32, 58, 95, 101, 48, - 57, 65, 90, 97, 122, 9, 13, 32, - 58, 95, 101, 48, 57, 65, 90, 97, - 122, 9, 13, 32, 47, 59, 10, 47, - 125, 0, 32, 64, 90, 97, 122, 10, - 0, 32, 42, 47, 9, 13, 32, 42, - 60, 62, 95, 48, 57, 64, 90, 97, - 122, 9, 13, 32, 47, 59, 10, 47, - 103, 107, 115, 118, 125, 0, 32, 10, - 0, 32, 42, 47, 101, 101, 101, 97, + 97, 122, 10, 47, 125, 0, 32, 65, + 90, 97, 122, 42, 47, 10, 42, 10, + 42, 47, 10, 47, 125, 0, 32, 65, + 90, 97, 122, 10, 42, 47, 10, 42, + 64, 10, 42, 95, 0, 32, 48, 57, + 64, 90, 97, 122, 10, 42, 10, 42, + 47, 10, 47, 125, 0, 32, 65, 90, + 97, 122, 9, 10, 13, 32, 40, 59, + 0, 31, 9, 13, 32, 95, 65, 90, + 97, 122, 9, 13, 32, 41, 42, 95, + 48, 57, 65, 90, 97, 122, 10, 59, + 0, 32, 112, 108, 101, 109, 101, 110, + 116, 115, 10, 123, 0, 32, 10, 125, + 0, 32, 65, 90, 97, 122, 10, 58, + 59, 95, 0, 32, 48, 57, 65, 90, + 97, 122, 10, 59, 0, 32, 58, 103, + 97, 99, 121, 95, 112, 114, 101, 102, + 105, 120, 10, 58, 0, 32, 10, 0, + 32, 65, 90, 97, 122, 59, 95, 48, + 57, 65, 90, 97, 122, 116, 104, 111, + 100, 115, 10, 123, 0, 32, 111, 112, + 101, 114, 116, 105, 101, 115, 10, 123, + 0, 32, 10, 47, 97, 99, 105, 109, + 116, 0, 32, 10, 0, 32, 42, 47, + 98, 108, 110, 105, 121, 10, 47, 108, + 114, 125, 0, 32, 65, 90, 97, 122, + 10, 0, 32, 42, 47, 9, 13, 32, + 58, 95, 48, 57, 65, 90, 97, 122, + 9, 13, 32, 58, 95, 101, 48, 57, + 65, 90, 97, 122, 9, 13, 32, 58, + 95, 101, 48, 57, 65, 90, 97, 122, + 9, 13, 32, 47, 59, 10, 47, 125, + 0, 32, 64, 90, 97, 122, 10, 0, + 32, 42, 47, 9, 13, 32, 42, 60, + 62, 95, 48, 57, 64, 90, 97, 122, + 9, 13, 32, 47, 59, 10, 47, 103, + 107, 115, 118, 125, 0, 32, 10, 0, + 32, 42, 47, 101, 101, 101, 97, 59, + 10, 47, 112, 125, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 0, 32, 42, + 47, 10, 95, 123, 0, 32, 48, 57, + 65, 90, 97, 122, 10, 95, 114, 117, + 123, 0, 32, 48, 57, 65, 90, 97, + 122, 59, 10, 47, 99, 108, 112, 114, + 125, 0, 32, 10, 0, 32, 42, 47, + 111, 101, 97, 101, 9, 13, 32, 47, 59, 10, 47, 112, 125, 0, 32, 48, 57, 65, 90, 97, 122, 10, 0, 32, 42, 47, 10, 95, 123, 0, 32, 48, 57, 65, 90, 97, 122, 10, 95, 114, 117, 123, 0, 32, 48, 57, 65, 90, - 97, 122, 59, 10, 47, 99, 108, 112, - 114, 125, 0, 32, 10, 0, 32, 42, - 47, 111, 101, 97, 101, 9, 13, 32, - 47, 59, 10, 47, 112, 125, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 0, - 32, 42, 47, 10, 95, 123, 0, 32, - 48, 57, 65, 90, 97, 122, 10, 95, - 114, 117, 123, 0, 32, 48, 57, 65, - 90, 97, 122, 59, 10, 47, 99, 100, - 101, 105, 108, 109, 112, 125, 0, 32, - 10, 0, 32, 42, 47, 111, 97, 10, - 0, 32, 111, 118, 10, 0, 32, 59, - 109, 59, 101, 10, 0, 32, 101, 114, - 59, 0 + 97, 122, 59, 10, 47, 99, 100, 101, + 105, 108, 109, 112, 125, 0, 32, 10, + 0, 32, 42, 47, 111, 97, 10, 0, + 32, 111, 118, 10, 0, 32, 59, 109, + 59, 101, 10, 0, 32, 101, 114, 59, + 0 }; static const char _eo_tokenizer_single_lengths[] = { @@ -745,22 +751,23 @@ static const char _eo_tokenizer_single_lengths[] = { 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 8, 2, - 6, 1, 1, 2, 2, 3, 2, 6, - 4, 6, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 4, 2, 1, + 6, 3, 2, 2, 3, 3, 1, 2, + 3, 3, 2, 3, 3, 6, 4, 6, + 2, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 7, 1, 2, - 1, 1, 1, 1, 1, 5, 1, 2, - 5, 6, 6, 4, 0, 1, 3, 1, - 2, 7, 4, 0, 1, 7, 1, 2, - 1, 1, 1, 1, 1, 4, 1, 2, - 3, 5, 1, 7, 1, 2, 1, 1, - 1, 1, 4, 0, 1, 4, 1, 2, - 3, 5, 1, 10, 1, 2, 1, 1, + 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1 + 1, 1, 2, 7, 1, 2, 1, 1, + 1, 1, 1, 5, 1, 2, 5, 6, + 6, 4, 0, 1, 3, 1, 2, 7, + 4, 0, 1, 7, 1, 2, 1, 1, + 1, 1, 1, 4, 1, 2, 3, 5, + 1, 7, 1, 2, 1, 1, 1, 1, + 4, 0, 1, 4, 1, 2, 3, 5, + 1, 10, 1, 2, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, + 1 }; static const char _eo_tokenizer_range_lengths[] = { @@ -795,22 +802,23 @@ static const char _eo_tokenizer_range_lengths[] = { 1, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 1, 3, 4, 1, - 3, 0, 0, 4, 0, 0, 3, 1, - 2, 3, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 3, 4, 1, 0, + 3, 3, 0, 0, 0, 3, 0, 0, + 0, 4, 0, 0, 3, 1, 2, 3, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 3, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 3, 3, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 1, 0, - 0, 0, 0, 0, 0, 3, 1, 0, - 3, 3, 3, 0, 0, 0, 3, 1, - 0, 3, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 4, 1, 0, - 4, 4, 0, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 4, 1, 0, - 4, 4, 0, 1, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 1, - 0, 0, 0 + 0, 1, 3, 3, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 3, 1, 0, 3, 3, + 3, 0, 0, 0, 3, 1, 0, 3, + 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 4, 1, 0, 4, 4, + 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 1, 0, 4, 4, + 0, 1, 1, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 1, 0, 0, + 0 }; static const short _eo_tokenizer_index_offsets[] = { @@ -845,22 +853,23 @@ static const short _eo_tokenizer_index_offsets[] = { 1255, 1259, 1261, 1263, 1267, 1272, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1296, 1301, 1307, 1309, 1311, 1313, 1315, 1319, 1325, 1338, - 1342, 1352, 1354, 1356, 1363, 1366, 1370, 1376, - 1384, 1391, 1401, 1405, 1407, 1409, 1411, 1413, - 1415, 1417, 1419, 1421, 1425, 1431, 1440, 1444, - 1446, 1448, 1450, 1452, 1454, 1456, 1458, 1460, - 1462, 1464, 1466, 1468, 1472, 1477, 1483, 1485, - 1487, 1489, 1491, 1493, 1497, 1499, 1501, 1503, - 1505, 1507, 1509, 1511, 1513, 1517, 1526, 1529, - 1532, 1534, 1536, 1538, 1540, 1542, 1551, 1554, - 1557, 1566, 1576, 1586, 1591, 1592, 1594, 1601, - 1604, 1607, 1618, 1623, 1624, 1626, 1635, 1638, - 1641, 1643, 1645, 1647, 1649, 1651, 1660, 1663, - 1666, 1674, 1684, 1686, 1695, 1698, 1701, 1703, - 1705, 1707, 1709, 1714, 1715, 1717, 1726, 1729, - 1732, 1740, 1750, 1752, 1764, 1767, 1770, 1772, - 1774, 1777, 1780, 1783, 1785, 1787, 1789, 1791, - 1794, 1796, 1798 + 1342, 1352, 1359, 1362, 1365, 1369, 1376, 1378, + 1381, 1385, 1393, 1396, 1400, 1407, 1415, 1422, + 1432, 1436, 1438, 1440, 1442, 1444, 1446, 1448, + 1450, 1452, 1456, 1462, 1471, 1475, 1477, 1479, + 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, + 1497, 1499, 1503, 1508, 1514, 1516, 1518, 1520, + 1522, 1524, 1528, 1530, 1532, 1534, 1536, 1538, + 1540, 1542, 1544, 1548, 1557, 1560, 1563, 1565, + 1567, 1569, 1571, 1573, 1582, 1585, 1588, 1597, + 1607, 1617, 1622, 1623, 1625, 1632, 1635, 1638, + 1649, 1654, 1655, 1657, 1666, 1669, 1672, 1674, + 1676, 1678, 1680, 1682, 1691, 1694, 1697, 1705, + 1715, 1717, 1726, 1729, 1732, 1734, 1736, 1738, + 1740, 1745, 1746, 1748, 1757, 1760, 1763, 1771, + 1781, 1783, 1795, 1798, 1801, 1803, 1805, 1808, + 1811, 1814, 1816, 1818, 1820, 1822, 1825, 1827, + 1829 }; static const short _eo_tokenizer_indicies[] = { @@ -1031,219 +1040,224 @@ static const short _eo_tokenizer_indicies[] = { 299, 349, 299, 350, 351, 349, 299, 352, 354, 351, 353, 353, 299, 356, 357, 356, 356, 358, 359, 360, 359, 355, 359, 359, - 359, 299, 362, 363, 361, 299, 363, 352, - 363, 363, 364, 354, 351, 353, 353, 299, - 365, 299, 366, 299, 367, 368, 366, 368, - 368, 368, 299, 370, 371, 369, 370, 371, - 372, 369, 374, 376, 373, 375, 375, 299, - 377, 362, 377, 377, 378, 363, 361, 299, - 378, 378, 378, 379, 379, 379, 299, 380, - 380, 380, 381, 380, 380, 380, 380, 380, - 299, 383, 384, 382, 299, 385, 299, 386, - 299, 387, 299, 388, 299, 389, 299, 390, - 299, 391, 299, 392, 299, 393, 394, 392, - 299, 395, 397, 394, 396, 396, 299, 399, - 401, 402, 400, 398, 400, 400, 400, 299, - 404, 394, 403, 299, 400, 299, 405, 299, - 406, 299, 407, 299, 408, 299, 409, 299, - 410, 299, 411, 299, 412, 299, 413, 299, - 414, 299, 415, 299, 416, 417, 415, 299, - 418, 417, 419, 419, 299, 421, 420, 420, - 420, 420, 299, 422, 299, 423, 299, 424, - 299, 425, 299, 426, 299, 427, 428, 426, - 299, 429, 299, 430, 299, 431, 299, 432, - 299, 433, 299, 434, 299, 435, 299, 436, - 299, 437, 438, 436, 299, 441, 442, 443, - 444, 445, 446, 447, 440, 439, 441, 440, - 448, 1, 5, 449, 450, 449, 451, 449, - 452, 449, 453, 449, 454, 449, 457, 458, - 460, 461, 462, 456, 459, 459, 455, 457, - 456, 463, 465, 81, 464, 83, 83, 83, - 84, 91, 91, 91, 91, 464, 83, 83, - 83, 84, 91, 466, 91, 91, 91, 464, - 83, 83, 83, 84, 91, 467, 91, 91, - 91, 464, 112, 112, 112, 113, 468, 469, - 471, 470, 474, 475, 477, 473, 476, 476, - 472, 474, 473, 478, 123, 127, 479, 129, + 359, 299, 362, 363, 361, 299, 363, 365, + 363, 363, 366, 354, 364, 353, 353, 299, + 365, 367, 354, 364, 353, 353, 299, 368, + 369, 299, 370, 371, 368, 370, 371, 372, + 368, 352, 367, 354, 351, 353, 353, 299, + 373, 369, 374, 369, 299, 370, 371, 375, + 368, 376, 371, 377, 375, 377, 377, 377, + 368, 379, 380, 378, 379, 380, 381, 378, + 383, 384, 386, 382, 385, 385, 299, 387, + 362, 387, 387, 388, 363, 361, 299, 388, + 388, 388, 389, 389, 389, 299, 390, 390, + 390, 391, 390, 390, 390, 390, 390, 299, + 393, 394, 392, 299, 395, 299, 396, 299, + 397, 299, 398, 299, 399, 299, 400, 299, + 401, 299, 402, 299, 403, 404, 402, 299, + 405, 407, 404, 406, 406, 299, 409, 411, + 412, 410, 408, 410, 410, 410, 299, 414, + 404, 413, 299, 410, 299, 415, 299, 416, + 299, 417, 299, 418, 299, 419, 299, 420, + 299, 421, 299, 422, 299, 423, 299, 424, + 299, 425, 299, 426, 427, 425, 299, 428, + 427, 429, 429, 299, 431, 430, 430, 430, + 430, 299, 432, 299, 433, 299, 434, 299, + 435, 299, 436, 299, 437, 438, 436, 299, + 439, 299, 440, 299, 441, 299, 442, 299, + 443, 299, 444, 299, 445, 299, 446, 299, + 447, 448, 446, 299, 451, 452, 453, 454, + 455, 456, 457, 450, 449, 451, 450, 458, + 1, 5, 459, 460, 459, 461, 459, 462, + 459, 463, 459, 464, 459, 467, 468, 470, + 471, 472, 466, 469, 469, 465, 467, 466, + 473, 475, 81, 474, 83, 83, 83, 84, + 91, 91, 91, 91, 474, 83, 83, 83, + 84, 91, 476, 91, 91, 91, 474, 83, + 83, 83, 84, 91, 477, 91, 91, 91, + 474, 112, 112, 112, 113, 478, 479, 481, + 480, 484, 485, 487, 483, 486, 486, 482, + 484, 483, 488, 123, 127, 489, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 479, 132, 132, 132, 133, 480, 481, - 483, 482, 486, 487, 488, 489, 490, 491, - 492, 485, 484, 486, 485, 493, 143, 147, - 494, 495, 494, 496, 494, 497, 494, 498, - 494, 500, 499, 503, 504, 506, 507, 502, - 505, 505, 505, 501, 503, 502, 508, 166, - 170, 509, 176, 178, 179, 175, 177, 177, - 177, 509, 176, 178, 510, 511, 179, 175, - 177, 177, 177, 509, 513, 512, 516, 517, - 518, 519, 520, 521, 522, 515, 514, 516, - 515, 523, 525, 217, 524, 526, 524, 527, - 524, 528, 524, 529, 524, 249, 249, 249, - 250, 530, 531, 533, 532, 536, 537, 539, - 540, 535, 538, 538, 538, 534, 536, 535, - 541, 260, 264, 542, 270, 272, 273, 269, - 271, 271, 271, 542, 270, 272, 543, 544, - 273, 269, 271, 271, 271, 542, 546, 545, - 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 548, 547, 549, 548, 559, 561, - 311, 560, 562, 560, 563, 560, 566, 565, - 564, 567, 568, 560, 571, 570, 569, 573, - 572, 574, 560, 576, 575, 577, 560, 580, - 579, 578, 581, 560, 582, 560, 584, 583, - 0 + 489, 132, 132, 132, 133, 490, 491, 493, + 492, 496, 497, 498, 499, 500, 501, 502, + 495, 494, 496, 495, 503, 143, 147, 504, + 505, 504, 506, 504, 507, 504, 508, 504, + 510, 509, 513, 514, 516, 517, 512, 515, + 515, 515, 511, 513, 512, 518, 166, 170, + 519, 176, 178, 179, 175, 177, 177, 177, + 519, 176, 178, 520, 521, 179, 175, 177, + 177, 177, 519, 523, 522, 526, 527, 528, + 529, 530, 531, 532, 525, 524, 526, 525, + 533, 535, 217, 534, 536, 534, 537, 534, + 538, 534, 539, 534, 249, 249, 249, 250, + 540, 541, 543, 542, 546, 547, 549, 550, + 545, 548, 548, 548, 544, 546, 545, 551, + 260, 264, 552, 270, 272, 273, 269, 271, + 271, 271, 552, 270, 272, 553, 554, 273, + 269, 271, 271, 271, 552, 556, 555, 559, + 560, 561, 562, 563, 564, 565, 566, 567, + 568, 558, 557, 559, 558, 569, 571, 311, + 570, 572, 570, 573, 570, 576, 575, 574, + 577, 578, 570, 581, 580, 579, 583, 582, + 584, 570, 586, 585, 587, 570, 590, 589, + 588, 591, 570, 592, 570, 594, 593, 0 }; static const short _eo_tokenizer_trans_targs[] = { - 301, 0, 0, 1, 301, 2, 301, 4, + 307, 0, 0, 1, 307, 2, 307, 4, 5, 6, 7, 8, 9, 10, 10, 11, - 12, 13, 12, 14, 11, 301, 12, 12, - 301, 13, 14, 15, 16, 12, 12, 301, + 12, 13, 12, 14, 11, 307, 12, 12, + 307, 13, 14, 15, 16, 12, 12, 307, 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, 36, 37, 38, 39, 40, 39, 41, - 40, 41, 42, 43, 301, 309, 45, 45, - 46, 47, 309, 47, 48, 48, 48, 49, - 309, 50, 309, 51, 52, 53, 54, 53, - 54, 54, 309, 55, 57, 58, 59, 60, - 61, 62, 62, 309, 64, 65, 66, 67, - 68, 69, 78, 70, 71, 315, 71, 309, + 40, 41, 42, 43, 307, 315, 45, 45, + 46, 47, 315, 47, 48, 48, 48, 49, + 315, 50, 315, 51, 52, 53, 54, 53, + 54, 54, 315, 55, 57, 58, 59, 60, + 61, 62, 62, 315, 64, 65, 66, 67, + 68, 69, 78, 70, 71, 321, 71, 315, 72, 73, 74, 75, 75, 76, 76, 76, - 77, 316, 318, 79, 79, 80, 318, 81, - 318, 82, 322, 318, 83, 84, 85, 86, - 86, 87, 87, 87, 88, 323, 325, 89, - 89, 90, 325, 91, 325, 93, 93, 325, - 95, 96, 96, 325, 98, 98, 325, 100, - 101, 102, 103, 103, 325, 333, 104, 104, - 105, 333, 106, 333, 107, 107, 333, 107, - 107, 108, 109, 333, 111, 112, 113, 114, + 77, 322, 324, 79, 79, 80, 324, 81, + 324, 82, 328, 324, 83, 84, 85, 86, + 86, 87, 87, 87, 88, 329, 331, 89, + 89, 90, 331, 91, 331, 93, 93, 331, + 95, 96, 96, 331, 98, 98, 331, 100, + 101, 102, 103, 103, 331, 339, 104, 104, + 105, 339, 106, 339, 107, 107, 339, 107, + 107, 108, 109, 339, 111, 112, 113, 114, 115, 116, 117, 118, 108, 119, 120, 128, 121, 122, 123, 124, 125, 126, 127, 129, - 130, 131, 133, 134, 135, 339, 137, 137, - 138, 139, 339, 139, 140, 140, 140, 141, - 339, 142, 339, 144, 145, 146, 339, 148, - 149, 150, 151, 152, 153, 153, 339, 155, - 156, 157, 158, 158, 339, 160, 161, 162, - 163, 164, 165, 174, 166, 167, 346, 167, - 339, 168, 169, 170, 171, 171, 172, 172, - 172, 173, 347, 349, 175, 175, 176, 349, - 177, 349, 178, 178, 349, 178, 178, 179, - 180, 349, 182, 183, 184, 185, 186, 187, + 130, 131, 133, 134, 135, 345, 137, 137, + 138, 139, 345, 139, 140, 140, 140, 141, + 345, 142, 345, 144, 145, 146, 345, 148, + 149, 150, 151, 152, 153, 153, 345, 155, + 156, 157, 158, 158, 345, 160, 161, 162, + 163, 164, 165, 174, 166, 167, 352, 167, + 345, 168, 169, 170, 171, 171, 172, 172, + 172, 173, 353, 355, 175, 175, 176, 355, + 177, 355, 178, 178, 355, 178, 178, 179, + 180, 355, 182, 183, 184, 185, 186, 187, 188, 189, 179, 190, 191, 199, 192, 193, 194, 195, 196, 197, 198, 200, 201, 202, - 204, 205, 206, 355, 208, 208, 209, 210, - 355, 210, 211, 211, 211, 212, 355, 213, - 355, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 224, 355, 226, 227, 227, - 228, 228, 229, 229, 360, 231, 232, 233, + 204, 205, 206, 361, 208, 208, 209, 210, + 361, 210, 211, 211, 211, 212, 361, 213, + 361, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 224, 361, 226, 227, 227, + 228, 228, 229, 229, 366, 231, 232, 233, 234, 235, 236, 237, 237, 238, 238, 239, - 239, 362, 241, 242, 243, 244, 244, 245, - 245, 246, 363, 247, 255, 247, 256, 246, - 248, 247, 247, 248, 249, 250, 251, 251, - 252, 252, 252, 253, 254, 245, 245, 246, - 363, 255, 256, 257, 257, 258, 247, 247, - 248, 260, 261, 262, 263, 264, 265, 266, - 267, 267, 268, 268, 269, 365, 270, 270, - 269, 271, 268, 270, 270, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, - 283, 284, 284, 285, 285, 367, 287, 288, - 289, 290, 291, 291, 355, 293, 294, 295, - 296, 297, 298, 299, 300, 300, 355, 301, - 302, 302, 303, 304, 305, 306, 307, 308, - 301, 301, 3, 19, 23, 31, 35, 309, - 310, 310, 311, 312, 313, 314, 317, 309, - 309, 44, 56, 63, 309, 309, 309, 309, - 318, 319, 319, 320, 321, 324, 318, 318, - 318, 318, 318, 318, 325, 326, 326, 327, - 328, 329, 330, 331, 332, 325, 325, 92, - 94, 97, 99, 325, 325, 333, 334, 334, - 335, 336, 337, 338, 333, 333, 110, 132, - 333, 333, 339, 340, 340, 341, 342, 343, - 344, 345, 348, 339, 339, 136, 143, 147, - 154, 159, 339, 339, 339, 339, 349, 350, - 350, 351, 352, 353, 354, 349, 349, 181, - 203, 349, 349, 355, 356, 356, 357, 358, - 359, 361, 364, 366, 368, 369, 370, 355, - 355, 207, 214, 225, 355, 360, 360, 230, - 240, 355, 362, 362, 355, 355, 259, 355, - 355, 272, 355, 367, 367, 286, 292, 355, - 355 + 239, 368, 241, 242, 243, 244, 244, 245, + 245, 246, 369, 247, 261, 247, 262, 246, + 248, 247, 247, 248, 249, 249, 255, 250, + 251, 254, 251, 252, 253, 253, 256, 257, + 257, 258, 258, 258, 259, 260, 249, 249, + 250, 246, 369, 261, 262, 263, 263, 264, + 247, 247, 248, 266, 267, 268, 269, 270, + 271, 272, 273, 273, 274, 274, 275, 371, + 276, 276, 275, 277, 274, 276, 276, 279, + 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 289, 290, 290, 291, 291, 373, + 293, 294, 295, 296, 297, 297, 361, 299, + 300, 301, 302, 303, 304, 305, 306, 306, + 361, 307, 308, 308, 309, 310, 311, 312, + 313, 314, 307, 307, 3, 19, 23, 31, + 35, 315, 316, 316, 317, 318, 319, 320, + 323, 315, 315, 44, 56, 63, 315, 315, + 315, 315, 324, 325, 325, 326, 327, 330, + 324, 324, 324, 324, 324, 324, 331, 332, + 332, 333, 334, 335, 336, 337, 338, 331, + 331, 92, 94, 97, 99, 331, 331, 339, + 340, 340, 341, 342, 343, 344, 339, 339, + 110, 132, 339, 339, 345, 346, 346, 347, + 348, 349, 350, 351, 354, 345, 345, 136, + 143, 147, 154, 159, 345, 345, 345, 345, + 355, 356, 356, 357, 358, 359, 360, 355, + 355, 181, 203, 355, 355, 361, 362, 362, + 363, 364, 365, 367, 370, 372, 374, 375, + 376, 361, 361, 207, 214, 225, 361, 366, + 366, 230, 240, 361, 368, 368, 361, 361, + 265, 361, 361, 278, 361, 373, 373, 292, + 298, 361, 361 }; static const short _eo_tokenizer_trans_actions[] = { - 207, 0, 1, 0, 197, 0, 230, 0, - 0, 0, 0, 0, 0, 31, 0, 3, - 37, 37, 293, 37, 0, 296, 0, 1, - 199, 0, 0, 0, 3, 13, 272, 275, - 11, 269, 11, 11, 0, 0, 1, 0, - 1, 0, 0, 0, 29, 0, 0, 0, - 0, 0, 0, 0, 35, 0, 0, 0, - 33, 0, 0, 0, 3, 39, 0, 39, - 0, 0, 3, 0, 299, 65, 0, 1, - 0, 0, 49, 1, 3, 0, 1, 0, - 47, 0, 209, 0, 0, 5, 239, 0, - 3, 0, 242, 0, 0, 0, 0, 0, - 0, 3, 0, 236, 0, 0, 0, 0, - 0, 3, 3, 3, 3, 308, 0, 63, - 0, 0, 0, 0, 1, 3, 0, 1, - 0, 0, 83, 0, 1, 0, 67, 0, - 212, 0, 311, 81, 0, 0, 0, 0, - 1, 3, 0, 1, 0, 0, 105, 0, - 1, 0, 85, 0, 215, 0, 1, 87, - 0, 0, 1, 91, 0, 1, 89, 0, - 0, 0, 0, 1, 93, 121, 0, 1, - 0, 107, 0, 218, 0, 1, 109, 7, - 248, 0, 0, 251, 0, 0, 0, 0, - 0, 0, 0, 0, 317, 317, 0, 0, + 209, 0, 1, 0, 199, 0, 232, 0, + 0, 0, 0, 0, 0, 33, 0, 5, + 39, 39, 298, 39, 0, 301, 0, 1, + 201, 0, 0, 0, 5, 15, 274, 277, + 13, 271, 13, 13, 0, 0, 1, 0, + 1, 0, 0, 0, 31, 0, 0, 0, + 0, 0, 0, 0, 37, 0, 0, 0, + 35, 0, 0, 0, 5, 41, 0, 41, + 0, 0, 5, 0, 304, 67, 0, 1, + 0, 0, 51, 1, 5, 0, 1, 0, + 49, 0, 211, 0, 0, 7, 241, 0, + 5, 0, 244, 0, 0, 0, 0, 0, + 0, 5, 0, 238, 0, 0, 0, 0, + 0, 5, 5, 5, 5, 313, 0, 65, + 0, 0, 0, 0, 1, 5, 0, 1, + 0, 0, 85, 0, 1, 0, 69, 0, + 214, 0, 316, 83, 0, 0, 0, 0, + 1, 5, 0, 1, 0, 0, 107, 0, + 1, 0, 87, 0, 217, 0, 1, 89, + 0, 0, 1, 93, 0, 1, 91, 0, + 0, 0, 0, 1, 95, 123, 0, 1, + 0, 109, 0, 220, 0, 1, 111, 9, + 250, 0, 0, 253, 0, 0, 0, 0, + 0, 0, 0, 0, 322, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 1, - 0, 0, 125, 1, 3, 0, 1, 0, - 123, 0, 221, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 3, 0, 257, 0, - 0, 0, 0, 1, 127, 0, 0, 0, - 0, 0, 3, 3, 3, 3, 314, 0, - 141, 0, 0, 0, 0, 1, 3, 0, - 1, 0, 0, 159, 0, 1, 0, 145, - 0, 224, 0, 1, 147, 9, 263, 0, - 0, 266, 0, 0, 0, 0, 0, 0, - 0, 0, 321, 321, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 145, 0, 1, + 0, 0, 127, 1, 5, 0, 1, 0, + 125, 0, 223, 0, 0, 0, 262, 0, + 0, 0, 0, 0, 5, 0, 259, 0, + 0, 0, 0, 1, 129, 0, 0, 0, + 0, 0, 5, 5, 5, 5, 319, 0, + 143, 0, 0, 0, 0, 1, 5, 0, + 1, 0, 0, 161, 0, 1, 0, 147, + 0, 226, 0, 1, 149, 11, 265, 0, + 0, 268, 0, 0, 0, 0, 0, 0, + 0, 0, 326, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 195, 0, 1, 0, 0, - 163, 1, 3, 0, 1, 0, 161, 0, - 227, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 169, 0, 0, 1, - 0, 1, 3, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 3, - 0, 23, 0, 0, 0, 0, 1, 0, - 1, 3, 0, 15, 15, 278, 15, 0, - 15, 0, 1, 0, 0, 0, 0, 1, - 3, 0, 1, 0, 0, 19, 284, 287, - 19, 0, 0, 3, 0, 0, 17, 281, - 17, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 3, 0, 27, 290, - 0, 0, 27, 0, 1, 0, 0, 0, + 0, 0, 0, 197, 0, 1, 0, 0, + 165, 1, 5, 0, 1, 0, 163, 0, + 229, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 171, 0, 0, 1, + 0, 1, 5, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 5, + 0, 25, 0, 0, 0, 0, 1, 0, + 1, 5, 0, 17, 17, 280, 17, 0, + 17, 0, 1, 0, 0, 1, 3, 3, + 0, 0, 1, 0, 0, 1, 0, 0, + 1, 5, 0, 1, 0, 0, 21, 286, + 289, 292, 21, 0, 0, 5, 0, 0, + 19, 283, 19, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 1, 5, 0, + 29, 295, 0, 0, 29, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 3, 0, 21, 0, 0, - 0, 0, 0, 1, 173, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 171, 201, - 0, 1, 302, 45, 45, 45, 45, 45, - 203, 205, 0, 0, 0, 0, 0, 53, - 0, 1, 302, 305, 305, 305, 0, 55, - 61, 0, 0, 0, 57, 233, 59, 51, - 71, 0, 1, 302, 305, 0, 73, 79, - 75, 245, 77, 69, 97, 0, 1, 302, - 45, 45, 45, 45, 0, 99, 103, 0, - 0, 0, 0, 101, 95, 113, 0, 1, - 302, 305, 305, 0, 115, 119, 0, 0, - 117, 111, 131, 0, 1, 302, 45, 45, - 45, 45, 0, 133, 139, 0, 0, 0, - 0, 0, 135, 254, 137, 129, 151, 0, - 1, 302, 305, 305, 0, 153, 157, 0, - 0, 155, 149, 177, 0, 1, 302, 45, - 45, 45, 45, 45, 45, 45, 0, 179, - 193, 0, 0, 0, 185, 0, 1, 0, - 0, 183, 0, 1, 189, 167, 0, 187, - 165, 0, 181, 0, 1, 0, 0, 191, - 175 + 0, 0, 1, 0, 1, 5, 0, 23, + 0, 0, 0, 0, 0, 1, 175, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 173, 203, 0, 1, 307, 47, 47, 47, + 47, 47, 205, 207, 0, 0, 0, 0, + 0, 55, 0, 1, 307, 310, 310, 310, + 0, 57, 63, 0, 0, 0, 59, 235, + 61, 53, 73, 0, 1, 307, 310, 0, + 75, 81, 77, 247, 79, 71, 99, 0, + 1, 307, 47, 47, 47, 47, 0, 101, + 105, 0, 0, 0, 0, 103, 97, 115, + 0, 1, 307, 310, 310, 0, 117, 121, + 0, 0, 119, 113, 133, 0, 1, 307, + 47, 47, 47, 47, 0, 135, 141, 0, + 0, 0, 0, 0, 137, 256, 139, 131, + 153, 0, 1, 307, 310, 310, 0, 155, + 159, 0, 0, 157, 151, 179, 0, 1, + 307, 47, 47, 47, 47, 47, 47, 47, + 0, 181, 195, 0, 0, 0, 187, 0, + 1, 0, 0, 185, 0, 1, 191, 169, + 0, 189, 167, 0, 183, 0, 1, 0, + 0, 193, 177 }; static const short _eo_tokenizer_to_state_actions[] = { @@ -1284,16 +1298,17 @@ static const short _eo_tokenizer_to_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 0, 41, 0, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 + 0, 0, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 0, 0, + 0, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 0, 0, + 0, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; static const short _eo_tokenizer_from_state_actions[] = { @@ -1334,16 +1349,17 @@ static const short _eo_tokenizer_from_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 43, 0, 0, - 0, 0, 0, 0, 0, 43, 0, 0, - 0, 0, 0, 0, 0, 0, 43, 0, - 0, 0, 0, 0, 0, 43, 0, 0, - 0, 0, 0, 0, 0, 43, 0, 0, - 0, 0, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 43, 0, 0, - 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 + 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, + 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, + 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0 }; static const short _eo_tokenizer_eof_trans[] = { @@ -1384,30 +1400,31 @@ static const short _eo_tokenizer_eof_trans[] = { 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 0, 449, 450, - 450, 450, 450, 450, 450, 0, 464, 465, - 465, 465, 465, 469, 470, 471, 0, 479, - 480, 480, 481, 482, 483, 0, 494, 495, - 495, 495, 495, 495, 500, 0, 509, 510, - 510, 510, 513, 0, 524, 525, 525, 525, - 525, 525, 531, 532, 533, 0, 542, 543, - 543, 543, 546, 0, 560, 561, 561, 561, - 565, 561, 570, 573, 561, 576, 561, 579, - 561, 561, 584 + 300, 300, 300, 300, 300, 300, 300, 300, + 300, 300, 300, 0, 459, 460, 460, 460, + 460, 460, 460, 0, 474, 475, 475, 475, + 475, 479, 480, 481, 0, 489, 490, 490, + 491, 492, 493, 0, 504, 505, 505, 505, + 505, 505, 510, 0, 519, 520, 520, 520, + 523, 0, 534, 535, 535, 535, 535, 535, + 541, 542, 543, 0, 552, 553, 553, 553, + 556, 0, 570, 571, 571, 571, 575, 571, + 580, 583, 571, 586, 571, 589, 571, 571, + 594 }; -static const int eo_tokenizer_start = 301; -static const int eo_tokenizer_first_final = 301; +static const int eo_tokenizer_start = 307; +static const int eo_tokenizer_first_final = 307; static const int eo_tokenizer_error = -1; -static const int eo_tokenizer_en_tokenize_accessor = 309; -static const int eo_tokenizer_en_tokenize_params = 318; -static const int eo_tokenizer_en_tokenize_property = 325; -static const int eo_tokenizer_en_tokenize_properties = 333; -static const int eo_tokenizer_en_tokenize_method = 339; -static const int eo_tokenizer_en_tokenize_methods = 349; -static const int eo_tokenizer_en_tokenize_class = 355; -static const int eo_tokenizer_en_main = 301; +static const int eo_tokenizer_en_tokenize_accessor = 315; +static const int eo_tokenizer_en_tokenize_params = 324; +static const int eo_tokenizer_en_tokenize_property = 331; +static const int eo_tokenizer_en_tokenize_properties = 339; +static const int eo_tokenizer_en_tokenize_method = 345; +static const int eo_tokenizer_en_tokenize_methods = 355; +static const int eo_tokenizer_en_tokenize_class = 361; +static const int eo_tokenizer_en_main = 307; #line 996 "lib/eolian/eo_lexer.rl" @@ -1434,7 +1451,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source) } -#line 1438 "lib/eolian/eo_lexer.c" +#line 1455 "lib/eolian/eo_lexer.c" { toknz->cs = eo_tokenizer_start; toknz->ts = 0; @@ -1469,7 +1486,7 @@ eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source) } -#line 1473 "lib/eolian/eo_lexer.c" +#line 1490 "lib/eolian/eo_lexer.c" { int _klen; unsigned int _trans; @@ -1488,7 +1505,7 @@ _resume: #line 1 "NONE" { toknz->ts = ( toknz->p);} break; -#line 1492 "lib/eolian/eo_lexer.c" +#line 1509 "lib/eolian/eo_lexer.c" } } @@ -1873,7 +1890,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} }} break; case 43: @@ -1911,7 +1928,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} }} break; case 47: @@ -1970,9 +1987,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 339; goto _again;} + { toknz->cs = 345; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -2011,9 +2028,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 339; goto _again;} + { toknz->cs = 345; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -2073,7 +2090,7 @@ _eof_trans: INF(" get {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER); toknz->current_nesting++; - { toknz->cs = 309; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 61: @@ -2082,7 +2099,7 @@ _eof_trans: INF(" set {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER); toknz->current_nesting++; - { toknz->cs = 309; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 62: @@ -2091,7 +2108,7 @@ _eof_trans: INF(" keys {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->keys); - { toknz->cs = 318; goto _again;} + { toknz->cs = 324; goto _again;} }} break; case 63: @@ -2100,7 +2117,7 @@ _eof_trans: INF(" values {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->values); - { toknz->cs = 318; goto _again;} + { toknz->cs = 324; goto _again;} }} break; case 64: @@ -2114,7 +2131,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 333; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 65: @@ -2151,7 +2168,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 333; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 68: @@ -2205,7 +2222,7 @@ _eof_trans: if (!toknz->tmp.prop) ABORT(toknz, "No property!!!"); INF(" %s {", toknz->tmp.prop->name); toknz->current_nesting++; - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} }} break; case 72: @@ -2213,7 +2230,7 @@ _eof_trans: { toknz->te = ( toknz->p)+1;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 73: @@ -2244,7 +2261,7 @@ _eof_trans: { toknz->te = ( toknz->p);( toknz->p)--;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 76: @@ -2309,7 +2326,7 @@ _eof_trans: INF(" params {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.meth->params); - { toknz->cs = 318; goto _again;} + { toknz->cs = 324; goto _again;} }} break; case 81: @@ -2341,7 +2358,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 84: @@ -2392,7 +2409,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 88: @@ -2450,7 +2467,7 @@ _eof_trans: if (!toknz->tmp.meth) ABORT(toknz, "No method!!!"); INF(" %s {", toknz->tmp.meth->name); toknz->current_nesting++; - { toknz->cs = 339; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 93: @@ -2459,7 +2476,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 94: @@ -2491,7 +2508,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 97: @@ -2565,7 +2582,7 @@ _eof_trans: toknz->current_methods_type = METH_CONSTRUCTOR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 104: @@ -2574,7 +2591,7 @@ _eof_trans: INF(" properties {"); toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 333; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 105: @@ -2584,7 +2601,7 @@ _eof_trans: toknz->current_methods_type = METH_REGULAR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 106: @@ -2595,7 +2612,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 301; goto _again;} + { toknz->cs = 307; goto _again;} }} break; case 107: @@ -2651,7 +2668,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 301; goto _again;} + { toknz->cs = 307; goto _again;} }} break; case 115: @@ -2705,7 +2722,7 @@ _eof_trans: if (!toknz->tmp.kls) ABORT(toknz, "No class!!!"); INF("begin class: %s", toknz->tmp.kls->name); toknz->current_nesting++; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 119: @@ -2773,7 +2790,7 @@ _eof_trans: {( toknz->p)++; goto _out; } /* necessary to stop scanners */ }} break; -#line 2777 "lib/eolian/eo_lexer.c" +#line 2794 "lib/eolian/eo_lexer.c" } } @@ -2786,7 +2803,7 @@ _again: #line 1 "NONE" { toknz->ts = 0;} break; -#line 2790 "lib/eolian/eo_lexer.c" +#line 2807 "lib/eolian/eo_lexer.c" } } @@ -2807,7 +2824,7 @@ _again: #line 1045 "lib/eolian/eo_lexer.rl" if ( toknz->cs == -#line 2811 "lib/eolian/eo_lexer.c" +#line 2828 "lib/eolian/eo_lexer.c" -1 #line 1046 "lib/eolian/eo_lexer.rl" ) @@ -2855,7 +2872,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns Eina_Bool ret = EINA_TRUE; -#line 2859 "lib/eolian/eo_lexer.c" +#line 2876 "lib/eolian/eo_lexer.c" { toknz->cs = eo_tokenizer_start; toknz->ts = 0; @@ -2872,7 +2889,7 @@ eo_tokenizer_mem_walk(Eo_Tokenizer *toknz, const char *source, char *buffer, uns toknz->eof = toknz->pe; -#line 2876 "lib/eolian/eo_lexer.c" +#line 2893 "lib/eolian/eo_lexer.c" { int _klen; unsigned int _trans; @@ -2891,7 +2908,7 @@ _resume: #line 1 "NONE" { toknz->ts = ( toknz->p);} break; -#line 2895 "lib/eolian/eo_lexer.c" +#line 2912 "lib/eolian/eo_lexer.c" } } @@ -3276,7 +3293,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} }} break; case 43: @@ -3314,7 +3331,7 @@ _eof_trans: toknz->tmp.prop->accessors = eina_list_append(toknz->tmp.prop->accessors, toknz->tmp.accessor); toknz->tmp.accessor = NULL; toknz->current_nesting--; - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} }} break; case 47: @@ -3373,9 +3390,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 339; goto _again;} + { toknz->cs = 345; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -3414,9 +3431,9 @@ _eof_trans: toknz->tmp.param = NULL; toknz->current_nesting--; if (toknz->tmp.prop) - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} else if (toknz->tmp.meth) - { toknz->cs = 339; goto _again;} + { toknz->cs = 345; goto _again;} else ABORT(toknz, "leaving tokenize_params but there is no property nor method pending"); }} @@ -3476,7 +3493,7 @@ _eof_trans: INF(" get {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, GETTER); toknz->current_nesting++; - { toknz->cs = 309; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 61: @@ -3485,7 +3502,7 @@ _eof_trans: INF(" set {"); toknz->tmp.accessor = _eo_tokenizer_accessor_get(toknz, SETTER); toknz->current_nesting++; - { toknz->cs = 309; goto _again;} + { toknz->cs = 315; goto _again;} }} break; case 62: @@ -3494,7 +3511,7 @@ _eof_trans: INF(" keys {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->keys); - { toknz->cs = 318; goto _again;} + { toknz->cs = 324; goto _again;} }} break; case 63: @@ -3503,7 +3520,7 @@ _eof_trans: INF(" values {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.prop->values); - { toknz->cs = 318; goto _again;} + { toknz->cs = 324; goto _again;} }} break; case 64: @@ -3517,7 +3534,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 333; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 65: @@ -3554,7 +3571,7 @@ _eof_trans: toknz->tmp.prop = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 333; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 68: @@ -3608,7 +3625,7 @@ _eof_trans: if (!toknz->tmp.prop) ABORT(toknz, "No property!!!"); INF(" %s {", toknz->tmp.prop->name); toknz->current_nesting++; - { toknz->cs = 325; goto _again;} + { toknz->cs = 331; goto _again;} }} break; case 72: @@ -3616,7 +3633,7 @@ _eof_trans: { toknz->te = ( toknz->p)+1;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 73: @@ -3647,7 +3664,7 @@ _eof_trans: { toknz->te = ( toknz->p);( toknz->p)--;{ INF(" }"); toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 76: @@ -3712,7 +3729,7 @@ _eof_trans: INF(" params {"); toknz->current_nesting++; toknz->tmp.params = &(toknz->tmp.meth->params); - { toknz->cs = 318; goto _again;} + { toknz->cs = 324; goto _again;} }} break; case 81: @@ -3744,7 +3761,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 84: @@ -3795,7 +3812,7 @@ _eof_trans: toknz->tmp.meth = NULL; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting--; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 88: @@ -3853,7 +3870,7 @@ _eof_trans: if (!toknz->tmp.meth) ABORT(toknz, "No method!!!"); INF(" %s {", toknz->tmp.meth->name); toknz->current_nesting++; - { toknz->cs = 339; goto _again;} + { toknz->cs = 345; goto _again;} }} break; case 93: @@ -3862,7 +3879,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 94: @@ -3894,7 +3911,7 @@ _eof_trans: INF(" }"); toknz->current_methods_type = METH_TYPE_LAST; toknz->current_nesting--; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 97: @@ -3968,7 +3985,7 @@ _eof_trans: toknz->current_methods_type = METH_CONSTRUCTOR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 104: @@ -3977,7 +3994,7 @@ _eof_trans: INF(" properties {"); toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 333; goto _again;} + { toknz->cs = 339; goto _again;} }} break; case 105: @@ -3987,7 +4004,7 @@ _eof_trans: toknz->current_methods_type = METH_REGULAR; toknz->tmp.fscope = FUNC_PUBLIC; toknz->current_nesting++; - { toknz->cs = 349; goto _again;} + { toknz->cs = 355; goto _again;} }} break; case 106: @@ -3998,7 +4015,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 301; goto _again;} + { toknz->cs = 307; goto _again;} }} break; case 107: @@ -4054,7 +4071,7 @@ _eof_trans: toknz->classes = eina_list_append(toknz->classes, toknz->tmp.kls); toknz->tmp.kls = NULL; toknz->current_nesting--; - { toknz->cs = 301; goto _again;} + { toknz->cs = 307; goto _again;} }} break; case 115: @@ -4108,7 +4125,7 @@ _eof_trans: if (!toknz->tmp.kls) ABORT(toknz, "No class!!!"); INF("begin class: %s", toknz->tmp.kls->name); toknz->current_nesting++; - { toknz->cs = 355; goto _again;} + { toknz->cs = 361; goto _again;} }} break; case 119: @@ -4176,7 +4193,7 @@ _eof_trans: {( toknz->p)++; goto _out; } /* necessary to stop scanners */ }} break; -#line 4180 "lib/eolian/eo_lexer.c" +#line 4197 "lib/eolian/eo_lexer.c" } } @@ -4189,7 +4206,7 @@ _again: #line 1 "NONE" { toknz->ts = 0;} break; -#line 4193 "lib/eolian/eo_lexer.c" +#line 4210 "lib/eolian/eo_lexer.c" } } @@ -4210,7 +4227,7 @@ _again: #line 1099 "lib/eolian/eo_lexer.rl" if ( toknz->cs == -#line 4214 "lib/eolian/eo_lexer.c" +#line 4231 "lib/eolian/eo_lexer.c" -1 #line 1100 "lib/eolian/eo_lexer.rl" ) diff --git a/src/lib/eolian/eo_lexer.rl b/src/lib/eolian/eo_lexer.rl index b13c809cd6..0a3e335da0 100644 --- a/src/lib/eolian/eo_lexer.rl +++ b/src/lib/eolian/eo_lexer.rl @@ -910,7 +910,7 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p) event_comment = ws* eo_comment %end_event_comment; event_type = begin_list ws* alpha_u >save_fpc (alnum_u | '*' | ws )* ws* end_list %end_event_type; - event_it = event %end_event_name ws* event_type? ignore* end_statement event_comment? ignore*; + event_it = event %end_event_name ws* event_type? ignore* end_statement event_comment? ignore* comment* ignore*; events = 'events' ignore* begin_def ignore* event_it* end_def; constructors = 'constructors' ignore* begin_def; diff --git a/src/tests/eolian/data/events.eo b/src/tests/eolian/data/events.eo new file mode 100644 index 0000000000..e5e1e76419 --- /dev/null +++ b/src/tests/eolian/data/events.eo @@ -0,0 +1,6 @@ +class Events { + events { + clicked; /*@ Comment for clicked */ + clicked,double (Evas_Event_Clicked_Double_Info); /* No comment */ + } +} diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 26730d1ce4..a06bb13a75 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -9,6 +9,37 @@ #include "Eolian.h" #include "eolian_suite.h" +START_TEST(eolian_events) +{ + Eolian_Class class; + const Eina_List *list = NULL; + const char *name, *type, *comment; + + eolian_init(); + /* Parsing */ + fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/events.eo")); + + /* Class */ + fail_if(!(class = eolian_class_find_by_name("Events"))); + + /* Events */ + fail_if(!(list = eolian_class_events_list_get(class))); + fail_if(eina_list_count(list) != 2); + /* Clicked */ + fail_if(!eolian_class_event_information_get(eina_list_nth(list, 0), &name, &type, &comment)); + fail_if(strcmp(name, "clicked")); + fail_if(type); + fail_if(strcmp(comment, "Comment for clicked")); + /* Clicked,double */ + fail_if(!eolian_class_event_information_get(eina_list_nth(list, 1), &name, &type, &comment)); + fail_if(strcmp(name, "clicked,double")); + fail_if(strcmp(type, "Evas_Event_Clicked_Double_Info")); + fail_if(comment); + + eolian_shutdown(); +} +END_TEST + START_TEST(eolian_override) { Eolian_Function fid = NULL; @@ -346,5 +377,6 @@ void eolian_parsing_test(TCase *tc) tcase_add_test(tc, eolian_typedef); tcase_add_test(tc, eolian_consts); tcase_add_test(tc, eolian_override); + tcase_add_test(tc, eolian_events); }