node_free ((Node *)the_type);
}
+static char *
+get_prop_enum_flag_cast (Property *prop)
+{
+ char *tmp, *ret;
+ if (prop->extra_gtktype == NULL ||
+ /* HACK! just in case someone made this
+ * work with 2.0.0 by using the TYPE
+ * macro directly */
+ ((strstr (prop->extra_gtktype, "_TYPE_") != NULL ||
+ strstr (prop->extra_gtktype, "TYPE_") == prop->extra_gtktype) &&
+ strchr (prop->extra_gtktype, ':') == NULL)) {
+ if (prop->ptype != NULL)
+ return get_type (prop->ptype, TRUE);
+ else
+ return g_strdup ("");
+ }
+ tmp = remove_sep (prop->extra_gtktype);
+ ret = g_strdup_printf ("(%s) ", tmp);
+ g_free (tmp);
+ return ret;
+}
+
static void
property_link_and_export (Node *node)
{
get = g_strdup_printf("g_value_set_string (VAL, %s->%s);",
root, prop->name);
} else if (strcmp (prop->gtktype, "OBJECT") == 0) {
- set = g_strdup_printf("{ GtkObject *___old = (GtkObject *)%s->%s; "
- "GtkObject *___new = (GtkObject *)gtk_value_get_object (VAL); "
- "if (___new != NULL) { "
- "gtk_object_ref (GTK_OBJECT (___new)); "
- "%s->%s = GTK_OBJECT (___new); "
- "} else { "
- "%s->%s = NULL; "
- "} "
+ char *cast;
+ if (prop->extra_gtktype != NULL) {
+ cast = remove_sep (prop->extra_gtktype);
+ } else {
+ cast = "void";
+ }
+ set = g_strdup_printf("{ GObject *___old = (GObject *)%s->%s; "
+ "%s->%s = (%s *)g_value_dup_object (VAL); "
"if (___old != NULL) { "
- "gtk_object_unref (GTK_OBJECT (___old)); "
+ "g_object_unref (G_OBJECT (___old)); "
"} "
"}",
root, prop->name,
root, prop->name,
- root, prop->name);
- get = g_strdup_printf("g_value_set_object (VAL, %s->%s);",
- root, prop->name);
+ cast);
+ get = g_strdup_printf ("g_value_set_object (VAL, "
+ "(gpointer)%s->%s);",
+ root, prop->name);
+ g_free (cast);
} else if (strcmp (prop->gtktype, "BOXED") == 0) {
if (prop->extra_gtktype == NULL) {
error_print (GOB_ERROR, prop->line_no,
"boxed_type not set"));
}
set = g_strdup_printf("{ gpointer ___old = (gpointer)%s->%s; "
- "gpointer ___new = (gpointer)gtk_value_get_boxed (VAL); "
+ "gpointer ___new = (gpointer)g_value_get_boxed (VAL); "
"if (___new != ___old) { "
"if (___old != NULL) g_boxed_free (%s, ___old); "
"if (___new != NULL) %s->%s = g_boxed_copy (%s, ___new); "
} else {
char *set_func;
char *get_func;
+ const char *getcast = "";
+ const char *setcast = "";
+ char *to_free = NULL;
set_func = g_strdup_printf ("g_value_set_%s", prop->gtktype);
g_strdown (set_func);
get_func = g_strdup_printf ("g_value_get_%s", prop->gtktype);
g_strdown (get_func);
- set = g_strdup_printf("%s->%s = %s (VAL);",
+ if (strcmp (prop->gtktype, "FLAGS") == 0) {
+ setcast = "(guint) ";
+ getcast = to_free =
+ get_prop_enum_flag_cast (prop);
+ } else if (strcmp (prop->gtktype, "ENUM") == 0) {
+ setcast = "(gint) ";
+ getcast = to_free =
+ get_prop_enum_flag_cast (prop);
+ }
+
+ set = g_strdup_printf("%s->%s = %s%s (VAL);",
root, prop->name,
+ getcast,
get_func);
- get = g_strdup_printf("%s (VAL, %s->%s);",
+ get = g_strdup_printf("%s (VAL, %s%s->%s);",
set_func,
+ setcast,
root, prop->name);
g_free (get_func);
g_free (set_func);
+ g_free (to_free);
}
node_set (node,
}
-#line 576 "parse.y"
+#line 616 "parse.y"
typedef union {
char *id;
GString *cbuf;
-#define YYFINAL 393
+#define YYFINAL 398
#define YYFLAG -32768
#define YYNTBASE 66
115, 118, 122, 125, 128, 130, 132, 133, 139, 146,
159, 169, 176, 180, 181, 193, 202, 208, 212, 213,
217, 219, 221, 226, 228, 230, 234, 238, 242, 246,
- 250, 254, 258, 262, 266, 270, 274, 278, 280, 286,
- 288, 292, 293, 297, 299, 302, 304, 306, 308, 311,
- 314, 317, 321, 325, 328, 331, 334, 336, 339, 341,
- 344, 346, 348, 350, 352, 354, 356, 358, 360, 362,
- 364, 366, 368, 370, 373, 376, 380, 383, 385, 389,
- 393, 396, 398, 403, 407, 409, 412, 414, 425, 437,
- 447, 457, 466, 478, 487, 493, 496, 501, 502, 504,
- 507, 509, 511, 514, 517, 521, 526, 531, 533, 537,
- 539, 543, 545, 548, 552, 559, 567, 570, 572, 574,
- 577, 580, 584, 588, 592, 596, 604, 613, 617, 619,
- 623, 625, 633, 642, 646, 648, 656, 665, 669, 671,
- 673, 676, 678
+ 250, 254, 258, 262, 266, 270, 274, 278, 282, 286,
+ 290, 294, 298, 300, 306, 308, 312, 313, 317, 319,
+ 322, 324, 326, 328, 331, 334, 337, 341, 345, 348,
+ 351, 354, 356, 359, 361, 364, 366, 368, 370, 372,
+ 374, 376, 378, 380, 382, 384, 386, 388, 390, 393,
+ 396, 400, 403, 405, 409, 413, 416, 418, 423, 427,
+ 429, 432, 434, 445, 457, 467, 477, 486, 498, 507,
+ 513, 516, 521, 522, 524, 527, 529, 531, 534, 537,
+ 541, 546, 551, 553, 557, 559, 563, 565, 568, 572,
+ 579, 587, 590, 592, 594, 597, 600, 604, 608, 612,
+ 616, 624, 633, 637, 639, 643, 645, 653, 662, 666,
+ 668, 676, 685, 689, 691, 693, 696, 698
};
static const short yyrhs[] = { 68,
19, 55, 30, 56, 0, 117, 0, 84, 0, 40,
58, 84, 0, 41, 58, 84, 0, 42, 58, 117,
0, 43, 58, 117, 0, 44, 58, 85, 0, 46,
- 58, 89, 0, 47, 58, 90, 0, 48, 58, 19,
- 0, 49, 58, 19, 0, 50, 58, 19, 0, 51,
- 58, 19, 0, 52, 58, 19, 0, 19, 0, 19,
+ 58, 89, 0, 47, 58, 90, 0, 48, 58, 21,
+ 0, 48, 58, 19, 0, 49, 58, 21, 0, 49,
+ 58, 19, 0, 50, 58, 21, 0, 50, 58, 19,
+ 0, 51, 58, 21, 0, 51, 58, 19, 0, 52,
+ 58, 21, 0, 52, 58, 19, 0, 19, 0, 19,
55, 19, 90, 56, 0, 19, 0, 55, 89, 56,
0, 0, 19, 60, 89, 0, 19, 0, 91, 95,
0, 91, 0, 92, 0, 19, 0, 5, 19, 0,
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 597, 598, 599, 600, 603, 612, 621, 630, 639, 648,
- 659, 660, 661, 662, 663, 664, 665, 666, 669, 674,
- 681, 695, 696, 708, 717, 731, 732, 735, 736, 745,
- 757, 758, 759, 760, 763, 764, 765, 766, 769, 789,
- 813, 817, 825, 826, 827, 828, 829, 835, 838, 843,
- 911, 965, 1053, 1061, 1066, 1114, 1150, 1166, 1167, 1170,
- 1171, 1174, 1175, 1187, 1188, 1191, 1197, 1203, 1209, 1215,
- 1221, 1227, 1234, 1240, 1246, 1252, 1258, 1264, 1284, 1293,
- 1299, 1300, 1303, 1306, 1312, 1319, 1328, 1331, 1334, 1338,
- 1342, 1346, 1351, 1359, 1363, 1368, 1372, 1375, 1379, 1382,
- 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1398,
- 1399, 1400, 1403, 1404, 1405, 1409, 1416, 1428, 1434, 1446,
- 1458, 1461, 1467, 1472, 1475, 1480, 1481, 1485, 1501, 1517,
- 1533, 1549, 1560, 1566, 1576, 1599, 1610, 1629, 1635, 1636,
- 1642, 1643, 1654, 1665, 1676, 1686, 1696, 1706, 1709, 1710,
- 1713, 1714, 1717, 1720, 1723, 1731, 1741, 1742, 1745, 1762,
- 1769, 1776, 1783, 1790, 1797, 1806, 1815, 1826, 1827, 1830,
- 1850, 1860, 1869, 1880, 1883, 1888, 1897, 1908, 1911, 1917,
- 1918, 1922, 1923
+ 637, 638, 639, 640, 643, 652, 661, 670, 679, 688,
+ 699, 700, 701, 702, 703, 704, 705, 706, 709, 714,
+ 721, 735, 736, 748, 757, 771, 772, 775, 776, 785,
+ 797, 798, 799, 800, 803, 804, 805, 806, 809, 829,
+ 853, 857, 865, 866, 867, 868, 869, 875, 878, 883,
+ 951, 1005, 1093, 1101, 1106, 1154, 1190, 1206, 1207, 1210,
+ 1211, 1214, 1215, 1227, 1228, 1231, 1237, 1243, 1249, 1255,
+ 1261, 1267, 1274, 1280, 1286, 1292, 1298, 1304, 1310, 1316,
+ 1322, 1328, 1334, 1354, 1363, 1369, 1370, 1373, 1376, 1382,
+ 1389, 1398, 1401, 1404, 1408, 1412, 1416, 1421, 1429, 1433,
+ 1438, 1442, 1445, 1449, 1452, 1457, 1458, 1459, 1460, 1461,
+ 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1473, 1474, 1475,
+ 1479, 1486, 1498, 1504, 1516, 1528, 1531, 1537, 1542, 1545,
+ 1550, 1551, 1555, 1571, 1587, 1603, 1619, 1630, 1636, 1646,
+ 1669, 1680, 1699, 1705, 1706, 1712, 1713, 1724, 1735, 1746,
+ 1756, 1766, 1776, 1779, 1780, 1783, 1784, 1787, 1790, 1793,
+ 1801, 1811, 1812, 1815, 1832, 1839, 1846, 1853, 1860, 1867,
+ 1876, 1885, 1896, 1897, 1900, 1920, 1930, 1939, 1950, 1953,
+ 1958, 1967, 1978, 1981, 1987, 1988, 1992, 1993
};
#endif
76, 76, 77, 77, 77, 77, 77, 78, 78, 79,
79, 79, 80, 80, 81, 81, 81, 82, 82, 83,
83, 84, 84, 85, 85, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 87, 87,
- 88, 88, 89, 89, 90, 90, 91, 91, 91, 91,
- 91, 91, 91, 92, 92, 92, 92, 92, 92, 92,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 94,
- 94, 94, 95, 95, 95, 95, 96, 96, 97, 97,
- 97, 97, 98, 99, 99, 100, 100, 101, 101, 101,
- 101, 101, 101, 101, 101, 102, 102, 102, 103, 103,
- 104, 104, 104, 104, 104, 104, 104, 104, 105, 105,
- 106, 106, 107, 107, 107, 107, 108, 108, 109, 109,
- 109, 109, 109, 109, 109, 110, 110, 111, 111, 112,
- 112, 113, 113, 114, 114, 115, 115, 116, 116, 117,
- 117, 117, 117
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 87, 87, 88, 88, 89, 89, 90,
+ 90, 91, 91, 91, 91, 91, 91, 91, 92, 92,
+ 92, 92, 92, 92, 92, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 94, 94, 94, 95, 95, 95,
+ 95, 96, 96, 97, 97, 97, 97, 98, 99, 99,
+ 100, 100, 101, 101, 101, 101, 101, 101, 101, 101,
+ 102, 102, 102, 103, 103, 104, 104, 104, 104, 104,
+ 104, 104, 104, 105, 105, 106, 106, 107, 107, 107,
+ 107, 108, 108, 109, 109, 109, 109, 109, 109, 109,
+ 110, 110, 111, 111, 112, 112, 113, 113, 114, 114,
+ 115, 115, 116, 116, 117, 117, 117, 117
};
static const short yyr2[] = { 0,
2, 3, 2, 2, 1, 1, 0, 5, 6, 12,
9, 6, 3, 0, 11, 8, 5, 3, 0, 3,
1, 1, 4, 1, 1, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 1, 5, 1,
- 3, 0, 3, 1, 2, 1, 1, 1, 2, 2,
- 2, 3, 3, 2, 2, 2, 1, 2, 1, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 2, 2, 3, 2, 1, 3, 3,
- 2, 1, 4, 3, 1, 2, 1, 10, 11, 9,
- 9, 8, 11, 8, 5, 2, 4, 0, 1, 2,
- 1, 1, 2, 2, 3, 4, 4, 1, 3, 1,
- 3, 1, 2, 3, 6, 7, 2, 1, 1, 2,
- 2, 3, 3, 3, 3, 7, 8, 3, 1, 3,
- 1, 7, 8, 3, 1, 7, 8, 3, 1, 1,
- 2, 1, 1
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 1, 5, 1, 3, 0, 3, 1, 2,
+ 1, 1, 1, 2, 2, 2, 3, 3, 2, 2,
+ 2, 1, 2, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
+ 3, 2, 1, 3, 3, 2, 1, 4, 3, 1,
+ 2, 1, 10, 11, 9, 9, 8, 11, 8, 5,
+ 2, 4, 0, 1, 2, 1, 1, 2, 2, 3,
+ 4, 4, 1, 3, 1, 3, 1, 2, 3, 6,
+ 7, 2, 1, 1, 2, 2, 3, 3, 3, 3,
+ 7, 8, 3, 1, 3, 1, 7, 8, 3, 1,
+ 7, 8, 3, 1, 1, 2, 1, 1
};
static const short yydefact[] = { 0,
0, 0, 5, 7, 8, 6, 9, 10, 0, 0,
15, 0, 4, 0, 16, 17, 18, 0, 0, 0,
0, 11, 3, 12, 13, 14, 2, 0, 0, 0,
- 0, 0, 1, 0, 35, 36, 37, 38, 0, 82,
- 0, 82, 0, 20, 34, 0, 27, 0, 31, 32,
- 33, 28, 22, 171, 0, 169, 179, 0, 175, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 101,
- 110, 111, 112, 108, 109, 105, 103, 104, 106, 107,
- 102, 88, 97, 0, 0, 86, 87, 99, 0, 0,
- 0, 19, 26, 0, 82, 0, 0, 21, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 0, 59, 84,
- 0, 80, 0, 0, 89, 96, 0, 90, 98, 95,
- 0, 0, 113, 85, 100, 94, 91, 0, 0, 122,
- 0, 118, 0, 0, 0, 47, 0, 183, 180, 182,
- 0, 170, 0, 0, 168, 0, 178, 0, 0, 174,
- 0, 0, 0, 0, 0, 0, 81, 0, 54, 92,
- 0, 0, 114, 115, 93, 0, 0, 0, 117, 0,
- 121, 0, 0, 0, 0, 0, 0, 47, 0, 0,
- 46, 45, 0, 0, 0, 0, 181, 166, 0, 176,
- 0, 172, 0, 0, 127, 135, 78, 0, 0, 0,
+ 0, 0, 1, 0, 35, 36, 37, 38, 0, 87,
+ 0, 87, 0, 20, 34, 0, 27, 0, 31, 32,
+ 33, 28, 22, 176, 0, 174, 184, 0, 180, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 106,
+ 115, 116, 117, 113, 114, 110, 108, 109, 111, 112,
+ 107, 93, 102, 0, 0, 91, 92, 104, 0, 0,
+ 0, 19, 26, 0, 87, 0, 0, 21, 0, 0,
+ 0, 0, 0, 0, 0, 30, 0, 0, 59, 89,
+ 0, 85, 0, 0, 94, 101, 0, 95, 103, 100,
+ 0, 0, 118, 90, 105, 99, 96, 0, 0, 127,
+ 0, 123, 0, 0, 0, 47, 0, 188, 185, 187,
+ 0, 175, 0, 0, 173, 0, 183, 0, 0, 179,
+ 0, 0, 0, 0, 0, 0, 86, 0, 54, 97,
+ 0, 0, 119, 120, 98, 0, 0, 0, 122, 0,
+ 126, 0, 0, 0, 0, 0, 0, 47, 0, 0,
+ 46, 45, 0, 0, 0, 0, 186, 171, 0, 181,
+ 0, 177, 0, 0, 132, 140, 83, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 0, 57, 83, 0, 0, 0, 0, 0, 101,
- 88, 0, 0, 148, 150, 152, 116, 125, 0, 120,
- 119, 0, 0, 0, 0, 39, 0, 0, 0, 0,
- 41, 43, 44, 48, 22, 22, 22, 167, 177, 173,
- 126, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 61, 0, 57, 88, 0, 0, 0, 0, 0, 106,
+ 93, 0, 0, 153, 155, 157, 121, 130, 0, 125,
+ 124, 0, 0, 0, 0, 39, 0, 0, 0, 0,
+ 41, 43, 44, 48, 22, 22, 22, 172, 182, 178,
+ 131, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 58, 0, 0, 0, 0, 52, 0,
- 89, 90, 0, 153, 138, 0, 123, 0, 0, 0,
- 0, 0, 40, 49, 138, 42, 23, 25, 24, 0,
- 62, 66, 67, 68, 69, 183, 65, 70, 64, 71,
- 72, 73, 74, 75, 76, 77, 60, 0, 79, 53,
- 0, 138, 0, 0, 145, 154, 0, 0, 0, 149,
- 151, 124, 0, 0, 138, 0, 0, 0, 0, 56,
- 0, 0, 147, 146, 0, 0, 0, 136, 139, 132,
- 138, 0, 0, 0, 134, 0, 0, 0, 51, 130,
- 0, 159, 0, 0, 0, 0, 0, 158, 140, 0,
- 0, 138, 131, 138, 63, 0, 0, 0, 0, 0,
- 160, 0, 161, 0, 155, 157, 137, 128, 0, 0,
- 55, 0, 156, 164, 162, 163, 165, 133, 129, 50,
- 0, 0, 0
+ 94, 95, 0, 158, 143, 0, 128, 0, 0, 0,
+ 0, 0, 40, 49, 143, 42, 23, 25, 24, 0,
+ 62, 66, 67, 68, 69, 188, 65, 70, 64, 71,
+ 72, 74, 73, 76, 75, 78, 77, 80, 79, 82,
+ 81, 60, 0, 84, 53, 0, 143, 0, 0, 150,
+ 159, 0, 0, 0, 154, 156, 129, 0, 0, 143,
+ 0, 0, 0, 0, 56, 0, 0, 152, 151, 0,
+ 0, 0, 141, 144, 137, 143, 0, 0, 0, 139,
+ 0, 0, 0, 51, 135, 0, 164, 0, 0, 0,
+ 0, 0, 163, 145, 0, 0, 143, 136, 143, 63,
+ 0, 0, 0, 0, 0, 165, 0, 166, 0, 160,
+ 162, 142, 133, 0, 0, 55, 0, 161, 169, 167,
+ 168, 170, 138, 134, 50, 0, 0, 0
};
-static const short yydefgoto[] = { 391,
+static const short yydefgoto[] = { 396,
11, 12, 13, 14, 98, 46, 47, 48, 181, 182,
183, 49, 50, 217, 51, 155, 210, 292, 298, 211,
113, 68, 111, 222, 86, 87, 88, 89, 124, 130,
- 131, 132, 229, 196, 52, 319, 338, 223, 224, 225,
- 226, 357, 358, 15, 55, 56, 16, 60, 17, 58,
- 339
+ 131, 132, 229, 196, 52, 324, 343, 223, 224, 225,
+ 226, 362, 363, 15, 55, 56, 16, 60, 17, 58,
+ 344
};
-static const short yypact[] = { 168,
- 18, 21,-32768,-32768,-32768,-32768,-32768,-32768, 41, 89,
--32768, 168, 213, 56,-32768,-32768,-32768, 138, 77, 109,
- 110,-32768, 213,-32768,-32768,-32768, 213, 167, 123, 153,
- 155, 189, 213, 230,-32768,-32768,-32768,-32768, 190, 156,
- 309, 156, 161,-32768,-32768, 196,-32768, 275,-32768,-32768,
--32768,-32768, 162, 165, -17,-32768,-32768, -13,-32768, 91,
- 164, 300, 201, 275,-32768, 206, 207, 217, 356,-32768,
+static const short yypact[] = { 137,
+ 16, 24,-32768,-32768,-32768,-32768,-32768,-32768, 45, 99,
+-32768, 137, 170, 72,-32768,-32768,-32768, 106, 73, 81,
+ 98,-32768, 170,-32768,-32768,-32768, 170, 154, 111, 151,
+ 183, 186, 170, 215,-32768,-32768,-32768,-32768, 187, 158,
+ 310, 158, 182,-32768,-32768, 188,-32768, 276,-32768,-32768,
+-32768,-32768, 195, 210, 69,-32768,-32768, 113,-32768, 115,
+ 214, 301, 190, 276,-32768, 248, 252, 254, 357,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 269, 425, 374, 267, 235,-32768, 439, 284, 444,
+ 290,-32768,-32768, 374, 158, 293, 311,-32768, 74, 315,
+ 76, 316, 84, 339, 90,-32768, 321, 348, 329, 334,
+ 345, 356, 399, 453,-32768,-32768, 409,-32768, 453,-32768,
+ 413, 378, 2,-32768, 453,-32768, 429, 224, 416,-32768,
+ 374,-32768, 392, 428, 430, 126, 220,-32768,-32768,-32768,
+ 441,-32768, 405, 451,-32768, 422,-32768, 452, 423,-32768,
+ 460, -32, 427, 258, 21, 252,-32768, 464, 431,-32768,
+ 432, 391, 235,-32768,-32768, 433, 465, 466,-32768, -6,
+-32768, 470, 374, 435, -6, 374, 26, 0, 391, 7,
+ 434, 472, 436, 438, 440, 442,-32768,-32768, 443,-32768,
+ 445,-32768, 446, 471,-32768,-32768,-32768, 447, 448, 449,
+ 450, 454, 455, 456, 457, 458, 459, 461, 462, 91,
+-32768, 468,-32768,-32768, 374, 478, 480, 391, 408, 467,
+ 6, 482, 469,-32768, 463,-32768,-32768,-32768, 112,-32768,
+-32768, 473, 485, 391, 490,-32768, 486, 474, 476, 487,
+-32768,-32768,-32768,-32768, 195, 195, 195,-32768,-32768,-32768,
+-32768, 1, 1, 74, 74, 9, 252, 374, 139, 157,
+ 191, 209, 212,-32768, 258, 494, 477, 479, 481, 483,
+ 121, 144, 374, 94, 505, 340,-32768, 507, 391, 475,
+ 484, 488,-32768,-32768, 505,-32768,-32768,-32768,-32768, 489,
+-32768,-32768,-32768,-32768,-32768, 489,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 247, 424, 373, 235, 199,-32768, 438, 238, 443,
- 244,-32768,-32768, 373, 156, 253, 255,-32768, 6, 245,
- -1, 256, 26, 258, 73,-32768, 222, 276, 274, 242,
- 254, 280, 292, 452,-32768,-32768, 317,-32768, 452,-32768,
- 340, 311, 2,-32768, 452,-32768, 371, 157, 364,-32768,
- 373,-32768, 337, 381, 391, 88, 224,-32768,-32768,-32768,
- 397,-32768, 370, 410,-32768, 375,-32768, 412, 377,-32768,
- 425, -34, 392, 257, -7, 207,-32768, 429, 405,-32768,
- 406, 390, 199,-32768,-32768, 416, 453, 459,-32768, 14,
--32768, 460, 373, 426, 14, 373, 13, 9, 390, 59,
- 422, 463, 427, 430, 431, 432,-32768,-32768, 428,-32768,
- 433,-32768, 434, 465,-32768,-32768,-32768, 435, 436, 437,
- 439, 440, 441, 442, 444, 445, 446, 447, 448, 122,
--32768, 454,-32768,-32768, 373, 464, 473, 390, 407, 455,
- 5, 477, 456,-32768, 449,-32768,-32768,-32768, 124,-32768,
--32768, 458, 482, 390, 490,-32768, 486, 457, 461, 491,
--32768,-32768,-32768,-32768, 162, 162, 162,-32768,-32768,-32768,
--32768, 84, 84, 6, 6, 64, 207, 373, 497, 499,
- 500, 501, 502,-32768, 257, 498, 467, 468, 472, 470,
- 126, 128, 373, 63, 508, 339,-32768, 509, 390, 474,
- 475, 478,-32768,-32768, 508,-32768,-32768,-32768,-32768, 479,
--32768,-32768,-32768,-32768,-32768, 479,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, -2,-32768,-32768,
- 506, 508, 373, 373,-32768, 480, 513, 70, -34,-32768,
--32768,-32768, 481, 390, 508, 390, -34, 510, 483,-32768,
- 16, -34,-32768,-32768, 519, 106, 515, 522,-32768,-32768,
- 508, 487, -34, 488,-32768, 489, 518, 493,-32768,-32768,
- 106,-32768, 492, 76, 82, 494, 57,-32768,-32768, 70,
- -34, 508,-32768, 508,-32768, 496, 523, 103, 6, 6,
--32768, 6,-32768, 6,-32768,-32768,-32768,-32768, -34, -34,
--32768, 503,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 548, 549,-32768
+-32768,-32768, 47,-32768,-32768, 503, 505, 374, 374,-32768,
+ 491, 510, 27, -32,-32768,-32768,-32768, 492, 391, 505,
+ 391, -32, 506, 496,-32768, 54, -32,-32768,-32768, 518,
+ 57, 514, 522,-32768,-32768, 505, 495, -32, 497,-32768,
+ 498, 521, 499,-32768,-32768, 57,-32768, 500, 64, 66,
+ 501, 50,-32768,-32768, 27, -32, 505,-32768, 505,-32768,
+ 493, 523, 79, 74, 74,-32768, 74,-32768, 74,-32768,
+-32768,-32768,-32768, -32, -32,-32768, 504,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768, 542, 555,-32768
};
static const short yypgoto[] = {-32768,
- 99, 125, 539,-32768, 1,-32768, 511, -28, 372, 374,
- 378,-32768,-32768,-32768,-32768,-32768,-32768, -46,-32768, 293,
--32768, -27, -151, -40,-32768, -67,-32768, -66, -112, 450,
--32768, -98,-32768, -305, -14, -276, 202, -175, -216,-32768,
- 283, 210, -240, 104,-32768, 462, 127,-32768, 146,-32768,
+ 202, 104, 544,-32768, 17,-32768, 511, -29, 380, 379,
+ 385,-32768,-32768,-32768,-32768,-32768,-32768, -52,-32768, 299,
+-32768, -27, -152, -40,-32768, -66,-32768, -60, -107, 437,
+-32768, -93,-32768, -314, -20, -279, 200, -177, -218,-32768,
+ 291, 213, -266, 205,-32768, 502, 232,-32768, 239,-32768,
-99
};
-#define YYLAST 585
+#define YYLAST 603
static const short yytable[] = { 142,
- 85, 116, 117, 239, 214, 64, 163, 96, 327, 272,
- 164, 212, 84, 340, 90, 120, 329, 54, 194, 65,
- 126, 345, 195, 108, 138, 139, 350, 177, 140, 169,
- 171, 236, 166, 64, 348, 332, 100, 363, 18, 19,
- 102, 101, 270, 121, 147, 103, 116, 106, 343, 213,
- 227, 116, 144, 134, 330, 378, 315, 116, 281, 20,
- -142, 129, 123, 273, 361, 237, 180, 135, 167, 230,
- 141, 231, 349, 388, 389, 352, 169, 138, 139, 148,
- 241, 140, 296, 139, 316, 379, 140, 380, 138, 139,
- 172, 150, 140, 291, 138, 139, 333, 334, 140, 168,
- 138, 139, 290, 323, 140, 300, 177, 21, 28, 178,
- 22, 240, 375, 291, 353, 24, 376, 317, 354, 355,
- 356, 352, 337, 141, 352, 22, 151, 376, 141, 30,
- 24, 22, 233, 370, 141, 235, 24, 27, 25, 372,
- 141, 29, 179, 53, 104, 180, 141, 33, 342, 105,
- 344, 116, 117, 25, 294, 295, 299, 26, 383, 25,
- 353, 31, 32, 353, 354, 355, 356, 354, 355, 356,
- 1, 54, 26, 57, 267, 166, 2, 264, 26, 277,
- 265, -144, 278, -143, 313, 34, 314, 35, 36, 37,
- 38, 3, 4, 5, 6, 7, 8, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 293, 59, 66, 297,
- 67, 167, 9, 10, 34, 91, 97, 301, 63, 107,
- 44, 2, 99, 45, 109, 110, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 112, 3, 4, 5, 6,
- 7, 8, 184, 185, 186, 287, 288, 289, 61, 92,
- 62, 118, 45, 122, 371, 373, 127, 9, 10, 123,
- 35, 36, 37, 38, 133, 143, 41, 42, 43, 384,
- 385, 136, 386, 137, 387, 197, 146, 152, 149, 69,
- 70, 71, 72, 73, 63, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 153, 83, 198, 199, 200, 201,
- 202, 156, 203, 204, 205, 206, 207, 208, 209, 157,
- 159, 94, 95, 69, 70, 71, 72, 73, 61, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 154, 83,
- 35, 36, 37, 38, 158, 160, 41, 42, 43, 35,
- 36, 37, 38, 69, 70, 71, 72, 73, 320, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 161, 83,
- 114, 70, 71, 72, 73, 162, 74, 75, 76, 77,
- 78, 79, 80, 81, 115, 165, 83, 69, 70, 71,
- 72, 73, 170, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 173, 83, 219, 220, 71, 72, 73, 174,
- 74, 75, 76, 77, 78, 79, 80, 81, 221, 175,
- 83, 114, 70, 71, 72, 73, 187, 74, 75, 76,
- 77, 78, 79, 80, 81, 271, 188, 83, 119, 70,
- 189, 190, 191, 192, 74, 75, 76, 77, 78, 79,
- 80, 81, 125, 70, 83, 193, 179, 215, 74, 75,
- 76, 77, 78, 79, 80, 81, 114, 70, 83, 216,
- 218, 128, 74, 75, 76, 77, 78, 79, 80, 81,
- 167, 228, 83, 35, 36, 37, 38, 166, 232, 180,
- 234, 177, 268, 244, 248, 245, 246, 247, 251, 249,
- 250, 269, 252, 253, 254, 274, 255, 256, 257, 258,
- 280, 259, 260, 261, 262, 263, 266, 276, 282, 283,
- -141, 275, 279, 284, 286, 302, 285, 303, 304, 305,
- 306, 308, 309, 310, 311, 312, 318, 322, 324, 331,
- 325, 336, 326, 328, 335, 347, 341, 351, 359, 346,
- 360, 366, 362, 364, 365, 367, 382, 392, 393, 369,
- 23, 374, 381, 243, 242, 238, 93, 307, 321, 390,
- 368, 377, 145, 0, 0, 0, 0, 0, 0, 0,
+ 85, 239, 116, 214, 64, 332, 163, 96, 117, 345,
+ 272, 84, 166, 65, 90, 164, 120, 350, 177, 290,
+ 194, 126, 355, 108, 195, 138, 139, 296, 139, 140,
+ 291, 140, 64, 368, 169, 171, 18, 337, 291, 212,
+ 270, 106, 19, 121, 236, 138, 139, 116, 167, 140,
+ 348, 383, 116, 134, 320, 227, 281, 180, 116, 240,
+ 129, -147, 123, 20, 273, 334, 366, 135, 357, 393,
+ 394, 141, 353, 141, 230, 357, 231, 213, 237, 342,
+ 241, 169, 138, 139, 138, 139, 140, 384, 140, 385,
+ 172, 141, 138, 139, 54, 381, 140, 357, 168, 338,
+ 339, 328, 147, 335, 300, 380, 381, 358, 150, 29,
+ 354, 359, 360, 361, 358, 321, 27, 21, 359, 360,
+ 361, 375, 100, 377, 28, 30, 33, 101, 141, 144,
+ 141, 53, 233, 31, 388, 235, 358, 148, 141, 1,
+ 359, 360, 361, 151, 177, 2, 264, 178, 322, 265,
+ 32, 347, 116, 349, 294, 295, 299, 302, 117, 303,
+ 3, 4, 5, 6, 7, 8, 102, 277, 104, 54,
+ 278, 103, 34, 105, 267, 304, -149, 305, 2, 318,
+ 179, 9, 10, 180, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 3, 4, 5, 6, 7, 8, -148,
+ 293, 57, 319, 297, 59, 66, 34, 44, 107, 306,
+ 45, 307, 67, 22, 9, 10, 24, 301, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 308, 22, 309,
+ 310, 24, 311, 61, 22, 62, 91, 24, 184, 185,
+ 186, 92, 166, 25, 45, 35, 36, 37, 38, 97,
+ 26, 41, 42, 43, 35, 36, 37, 38, 25, 376,
+ 378, 287, 288, 289, 25, 26, 109, 99, 63, 63,
+ 110, 26, 112, 118, 389, 390, 197, 391, 167, 392,
+ 69, 70, 71, 72, 73, 122, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 123, 83, 198, 199, 200,
+ 201, 202, 127, 203, 204, 205, 206, 207, 208, 209,
+ 133, 136, 94, 95, 69, 70, 71, 72, 73, 61,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 137,
+ 83, 35, 36, 37, 38, 143, 146, 41, 42, 43,
+ 35, 36, 37, 38, 69, 70, 71, 72, 73, 325,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 149,
+ 83, 114, 70, 71, 72, 73, 153, 74, 75, 76,
+ 77, 78, 79, 80, 81, 115, 152, 83, 69, 70,
+ 71, 72, 73, 154, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 156, 83, 219, 220, 71, 72, 73,
+ 157, 74, 75, 76, 77, 78, 79, 80, 81, 221,
+ 158, 83, 114, 70, 71, 72, 73, 159, 74, 75,
+ 76, 77, 78, 79, 80, 81, 271, 160, 83, 119,
+ 70, 161, 162, 165, 170, 74, 75, 76, 77, 78,
+ 79, 80, 81, 125, 70, 83, 174, 173, 175, 74,
+ 75, 76, 77, 78, 79, 80, 81, 114, 70, 83,
+ 187, 188, 128, 74, 75, 76, 77, 78, 79, 80,
+ 81, 189, 191, 83, 35, 36, 37, 38, 190, 192,
+ 193, 179, 215, 228, 166, 216, 218, 167, 232, 234,
+ 177, 180, 244, 245, 251, 246, 268, 247, 269, 248,
+ 274, 249, 250, 280, 252, 253, 254, 255, 282, 283,
+ 286, 256, 257, 258, 259, 260, 261, 313, 262, 263,
+ 266, 276, -146, 323, 275, 327, 336, 279, 341, 329,
+ 284, 285, 314, 316, 315, 351, 356, 364, 317, 330,
+ 365, 397, 331, 333, 371, 340, 387, 346, 352, 386,
+ 367, 372, 369, 370, 398, 23, 93, 374, 379, 242,
+ 395, 243, 238, 312, 382, 0, 326, 0, 373, 0,
+ 0, 176, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 176
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 145
};
static const short yycheck[] = { 99,
- 41, 69, 69, 179, 156, 34, 5, 48, 285, 5,
- 123, 19, 41, 319, 42, 83, 19, 19, 53, 34,
- 88, 327, 57, 64, 19, 20, 332, 19, 23, 128,
- 129, 19, 19, 62, 19, 312, 54, 343, 21, 19,
- 54, 59, 218, 84, 19, 59, 114, 62, 325, 57,
- 163, 119, 54, 94, 57, 361, 273, 125, 234, 19,
- 56, 90, 61, 59, 341, 53, 58, 95, 55, 168,
- 65, 170, 57, 379, 380, 19, 175, 19, 20, 54,
- 180, 23, 19, 20, 22, 362, 23, 364, 19, 20,
- 131, 19, 23, 30, 19, 20, 313, 314, 23, 128,
- 19, 20, 19, 279, 23, 257, 19, 19, 53, 22,
- 12, 53, 56, 30, 58, 12, 357, 55, 62, 63,
- 64, 19, 53, 65, 19, 27, 54, 368, 65, 53,
- 27, 33, 173, 58, 65, 176, 33, 13, 12, 58,
- 65, 4, 55, 21, 54, 58, 65, 23, 324, 59,
- 326, 219, 219, 27, 254, 255, 256, 12, 56, 33,
- 58, 53, 53, 58, 62, 63, 64, 62, 63, 64,
- 3, 19, 27, 19, 215, 19, 9, 56, 33, 56,
- 59, 56, 59, 56, 59, 19, 59, 31, 32, 33,
- 34, 24, 25, 26, 27, 28, 29, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 253, 19, 19, 256,
- 55, 55, 45, 46, 19, 55, 55, 258, 55, 19,
- 54, 9, 58, 57, 19, 19, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 19, 24, 25, 26, 27,
- 28, 29, 19, 20, 21, 245, 246, 247, 19, 54,
- 21, 5, 57, 19, 354, 355, 19, 45, 46, 61,
- 31, 32, 33, 34, 21, 21, 37, 38, 39, 369,
- 370, 19, 372, 19, 374, 19, 21, 56, 21, 5,
- 6, 7, 8, 9, 55, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 19, 21, 40, 41, 42, 43,
- 44, 60, 46, 47, 48, 49, 50, 51, 52, 56,
- 19, 37, 38, 5, 6, 7, 8, 9, 19, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 55, 21,
- 31, 32, 33, 34, 55, 19, 37, 38, 39, 31,
- 32, 33, 34, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 19, 21,
- 5, 6, 7, 8, 9, 55, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 5, 21, 5, 6, 7,
- 8, 9, 19, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 56, 21, 5, 6, 7, 8, 9, 19,
+ 41, 179, 69, 156, 34, 285, 5, 48, 69, 324,
+ 5, 41, 19, 34, 42, 123, 83, 332, 19, 19,
+ 53, 88, 337, 64, 57, 19, 20, 19, 20, 23,
+ 30, 23, 62, 348, 128, 129, 21, 317, 30, 19,
+ 218, 62, 19, 84, 19, 19, 20, 114, 55, 23,
+ 330, 366, 119, 94, 273, 163, 234, 58, 125, 53,
+ 90, 56, 61, 19, 59, 19, 346, 95, 19, 384,
+ 385, 65, 19, 65, 168, 19, 170, 57, 53, 53,
+ 180, 175, 19, 20, 19, 20, 23, 367, 23, 369,
+ 131, 65, 19, 20, 19, 362, 23, 19, 128, 318,
+ 319, 279, 19, 57, 257, 56, 373, 58, 19, 4,
+ 57, 62, 63, 64, 58, 22, 13, 19, 62, 63,
+ 64, 58, 54, 58, 53, 53, 23, 59, 65, 54,
+ 65, 21, 173, 53, 56, 176, 58, 54, 65, 3,
+ 62, 63, 64, 54, 19, 9, 56, 22, 55, 59,
+ 53, 329, 219, 331, 254, 255, 256, 19, 219, 21,
+ 24, 25, 26, 27, 28, 29, 54, 56, 54, 19,
+ 59, 59, 19, 59, 215, 19, 56, 21, 9, 59,
+ 55, 45, 46, 58, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 24, 25, 26, 27, 28, 29, 56,
+ 253, 19, 59, 256, 19, 19, 19, 54, 19, 19,
+ 57, 21, 55, 12, 45, 46, 12, 258, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 19, 27, 21,
+ 19, 27, 21, 19, 33, 21, 55, 33, 19, 20,
+ 21, 54, 19, 12, 57, 31, 32, 33, 34, 55,
+ 12, 37, 38, 39, 31, 32, 33, 34, 27, 359,
+ 360, 245, 246, 247, 33, 27, 19, 58, 55, 55,
+ 19, 33, 19, 5, 374, 375, 19, 377, 55, 379,
+ 5, 6, 7, 8, 9, 19, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 61, 21, 40, 41, 42,
+ 43, 44, 19, 46, 47, 48, 49, 50, 51, 52,
+ 21, 19, 37, 38, 5, 6, 7, 8, 9, 19,
11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
- 21, 5, 6, 7, 8, 9, 20, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 57, 21, 5, 6,
- 21, 57, 21, 57, 11, 12, 13, 14, 15, 16,
- 17, 18, 5, 6, 21, 21, 55, 19, 11, 12,
- 13, 14, 15, 16, 17, 18, 5, 6, 21, 55,
- 55, 19, 11, 12, 13, 14, 15, 16, 17, 18,
- 55, 19, 21, 31, 32, 33, 34, 19, 19, 58,
- 55, 19, 19, 57, 57, 56, 56, 56, 24, 57,
- 57, 19, 58, 58, 58, 19, 58, 58, 58, 58,
- 19, 58, 58, 58, 58, 58, 53, 59, 19, 24,
- 56, 56, 55, 57, 24, 19, 56, 19, 19, 19,
- 19, 24, 56, 56, 53, 56, 19, 19, 55, 24,
- 56, 19, 55, 55, 55, 53, 56, 19, 24, 30,
- 19, 24, 56, 56, 56, 53, 24, 0, 0, 58,
- 12, 58, 57, 182, 181, 178, 46, 265, 276, 57,
- 351, 360, 101, -1, -1, -1, -1, -1, -1, -1,
+ 21, 31, 32, 33, 34, 21, 21, 37, 38, 39,
+ 31, 32, 33, 34, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 21,
+ 21, 5, 6, 7, 8, 9, 19, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 56, 21, 5, 6,
+ 7, 8, 9, 55, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 60, 21, 5, 6, 7, 8, 9,
+ 56, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 55, 21, 5, 6, 7, 8, 9, 19, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 19, 21, 5,
+ 6, 19, 55, 5, 19, 11, 12, 13, 14, 15,
+ 16, 17, 18, 5, 6, 21, 19, 56, 19, 11,
+ 12, 13, 14, 15, 16, 17, 18, 5, 6, 21,
+ 20, 57, 19, 11, 12, 13, 14, 15, 16, 17,
+ 18, 21, 21, 21, 31, 32, 33, 34, 57, 57,
+ 21, 55, 19, 19, 19, 55, 55, 55, 19, 55,
+ 19, 58, 57, 56, 24, 56, 19, 56, 19, 57,
+ 19, 57, 57, 19, 58, 58, 58, 58, 19, 24,
+ 24, 58, 58, 58, 58, 58, 58, 24, 58, 58,
+ 53, 59, 56, 19, 56, 19, 24, 55, 19, 55,
+ 57, 56, 56, 53, 56, 30, 19, 24, 56, 56,
+ 19, 0, 55, 55, 24, 55, 24, 56, 53, 57,
+ 56, 53, 56, 56, 0, 12, 46, 58, 58, 181,
+ 57, 182, 178, 265, 365, -1, 276, -1, 356, -1,
+ -1, 135, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 135
+ -1, -1, 101
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/lib/bison.simple"
switch (yyn) {
case 1:
-#line 597 "parse.y"
+#line 637 "parse.y"
{ ; ;
break;}
case 2:
-#line 598 "parse.y"
+#line 638 "parse.y"
{ ; ;
break;}
case 3:
-#line 599 "parse.y"
+#line 639 "parse.y"
{ ; ;
break;}
case 4:
-#line 600 "parse.y"
+#line 640 "parse.y"
{ ; ;
break;}
case 5:
-#line 603 "parse.y"
+#line 643 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", C_CCODE,
;
break;}
case 6:
-#line 612 "parse.y"
+#line 652 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", H_CCODE,
;
break;}
case 7:
-#line 621 "parse.y"
+#line 661 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", HT_CCODE,
;
break;}
case 8:
-#line 630 "parse.y"
+#line 670 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", PH_CCODE,
;
break;}
case 9:
-#line 639 "parse.y"
+#line 679 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", A_CCODE,
;
break;}
case 10:
-#line 648 "parse.y"
+#line 688 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", AT_CCODE,
;
break;}
case 11:
-#line 659 "parse.y"
+#line 699 "parse.y"
{ ; ;
break;}
case 12:
-#line 660 "parse.y"
+#line 700 "parse.y"
{ ; ;
break;}
case 13:
-#line 661 "parse.y"
+#line 701 "parse.y"
{ ; ;
break;}
case 14:
-#line 662 "parse.y"
+#line 702 "parse.y"
{ ; ;
break;}
case 15:
-#line 663 "parse.y"
+#line 703 "parse.y"
{ ; ;
break;}
case 16:
-#line 664 "parse.y"
+#line 704 "parse.y"
{ ; ;
break;}
case 17:
-#line 665 "parse.y"
+#line 705 "parse.y"
{ ; ;
break;}
case 18:
-#line 666 "parse.y"
+#line 706 "parse.y"
{ ; ;
break;}
case 19:
-#line 669 "parse.y"
+#line 709 "parse.y"
{
((Class *)class)->nodes = class_nodes;
class_nodes = NULL;
;
break;}
case 20:
-#line 674 "parse.y"
+#line 714 "parse.y"
{
((Class *)class)->nodes = NULL;
class_nodes = NULL;
;
break;}
case 21:
-#line 681 "parse.y"
+#line 721 "parse.y"
{
class = node_new (CLASS_NODE,
"otype:steal", yyvsp[-3].id,
;
break;}
case 23:
-#line 696 "parse.y"
+#line 736 "parse.y"
{
if(strcmp(yyvsp[-3].id,"chunks") == 0) {
g_free (chunk_size);
;
break;}
case 24:
-#line 708 "parse.y"
+#line 748 "parse.y"
{
if (strcmp (yyvsp[-3].id, "interface") == 0) {
interfaces = g_list_append (interfaces,
;
break;}
case 25:
-#line 717 "parse.y"
+#line 757 "parse.y"
{
if(strcmp(yyvsp[-3].id,"chunks") == 0) {
g_free (chunk_size);
;
break;}
case 26:
-#line 731 "parse.y"
+#line 771 "parse.y"
{ ; ;
break;}
case 27:
-#line 732 "parse.y"
+#line 772 "parse.y"
{ ; ;
break;}
case 28:
-#line 735 "parse.y"
+#line 775 "parse.y"
{ ; ;
break;}
case 29:
-#line 736 "parse.y"
+#line 776 "parse.y"
{
if (strcmp (yyvsp[-1].id, "BonoboObject") != 0) {
g_free (yyvsp[-1].id);
;
break;}
case 30:
-#line 745 "parse.y"
+#line 785 "parse.y"
{
if (strcmp (yyvsp[-2].id, "interface") != 0) {
g_free (yyvsp[-2].id);
;
break;}
case 31:
-#line 757 "parse.y"
+#line 797 "parse.y"
{ ; ;
break;}
case 32:
-#line 758 "parse.y"
+#line 798 "parse.y"
{ ; ;
break;}
case 33:
-#line 759 "parse.y"
+#line 799 "parse.y"
{ ; ;
break;}
case 34:
-#line 760 "parse.y"
+#line 800 "parse.y"
{ ; ;
break;}
case 35:
-#line 763 "parse.y"
+#line 803 "parse.y"
{ the_scope = PUBLIC_SCOPE; ;
break;}
case 36:
-#line 764 "parse.y"
+#line 804 "parse.y"
{ the_scope = PRIVATE_SCOPE; ;
break;}
case 37:
-#line 765 "parse.y"
+#line 805 "parse.y"
{ the_scope = PROTECTED_SCOPE; ;
break;}
case 38:
-#line 766 "parse.y"
+#line 806 "parse.y"
{ the_scope = CLASS_SCOPE; ;
break;}
case 39:
-#line 769 "parse.y"
+#line 809 "parse.y"
{
if (strcmp (yyvsp[-1].id, "destroywith") == 0) {
g_free (yyvsp[-1].id);
;
break;}
case 40:
-#line 789 "parse.y"
+#line 829 "parse.y"
{
if (strcmp (yyvsp[-2].id, "destroy") == 0) {
g_free(yyvsp[-2].id);
;
break;}
case 41:
-#line 813 "parse.y"
+#line 853 "parse.y"
{
initializer = yyvsp[0].id;
initializer_line = ccode_line;
;
break;}
case 42:
-#line 817 "parse.y"
+#line 857 "parse.y"
{
initializer = (yyvsp[0].cbuf)->str;
initializer_line = ccode_line;
;
break;}
case 43:
-#line 825 "parse.y"
+#line 865 "parse.y"
{ ; ;
break;}
case 44:
-#line 826 "parse.y"
+#line 866 "parse.y"
{ ; ;
break;}
case 45:
-#line 827 "parse.y"
+#line 867 "parse.y"
{ destructor = NULL; ;
break;}
case 46:
-#line 828 "parse.y"
+#line 868 "parse.y"
{ initializer = NULL; ;
break;}
case 47:
-#line 829 "parse.y"
+#line 869 "parse.y"
{
destructor = NULL;
initializer = NULL;
;
break;}
case 48:
-#line 835 "parse.y"
+#line 875 "parse.y"
{
push_variable(yyvsp[-2].id, the_scope,yyvsp[-4].line, NULL);
;
break;}
case 49:
-#line 838 "parse.y"
+#line 878 "parse.y"
{
push_variable(yyvsp[-3].id, the_scope, yyvsp[-5].line, yyvsp[-2].id);
;
break;}
case 50:
-#line 843 "parse.y"
+#line 883 "parse.y"
{
Node *node = NULL;
if(strcmp(yyvsp[-6].id,"get")==0 &&
;
break;}
case 51:
-#line 911 "parse.y"
+#line 951 "parse.y"
{
Node *node = NULL;
if(strcmp(yyvsp[-3].id, "get") == 0) {
;
break;}
case 52:
-#line 965 "parse.y"
+#line 1005 "parse.y"
{
Node *node;
char *get, *set = NULL;
;
break;}
case 53:
-#line 1053 "parse.y"
+#line 1093 "parse.y"
{
if (strcmp (yyvsp[-1].id, "export")!=0) {
g_free (yyvsp[-1].id);
;
break;}
case 54:
-#line 1061 "parse.y"
+#line 1101 "parse.y"
{
yyval.id = NULL;
;
break;}
case 55:
-#line 1066 "parse.y"
+#line 1106 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 56:
-#line 1114 "parse.y"
+#line 1154 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 57:
-#line 1150 "parse.y"
+#line 1190 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 58:
-#line 1166 "parse.y"
+#line 1206 "parse.y"
{ ; ;
break;}
case 59:
-#line 1167 "parse.y"
+#line 1207 "parse.y"
{ ; ;
break;}
case 60:
-#line 1170 "parse.y"
+#line 1210 "parse.y"
{ ; ;
break;}
case 61:
-#line 1171 "parse.y"
+#line 1211 "parse.y"
{ ; ;
break;}
case 62:
-#line 1174 "parse.y"
+#line 1214 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
case 63:
-#line 1175 "parse.y"
+#line 1215 "parse.y"
{
if (strcmp (yyvsp[-3].id, "_") != 0) {
g_free (yyvsp[-3].id);
;
break;}
case 64:
-#line 1187 "parse.y"
+#line 1227 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
case 65:
-#line 1188 "parse.y"
+#line 1228 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
case 66:
-#line 1191 "parse.y"
+#line 1231 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 67:
-#line 1197 "parse.y"
+#line 1237 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 68:
-#line 1203 "parse.y"
+#line 1243 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 69:
-#line 1209 "parse.y"
+#line 1249 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 70:
-#line 1215 "parse.y"
+#line 1255 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 71:
-#line 1221 "parse.y"
+#line 1261 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 72:
-#line 1227 "parse.y"
+#line 1267 "parse.y"
{
Type *type = pop_type ();
ensure_property ();
;
break;}
case 73:
-#line 1234 "parse.y"
+#line 1274 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 74:
-#line 1240 "parse.y"
+#line 1280 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 75:
-#line 1246 "parse.y"
+#line 1286 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 76:
-#line 1252 "parse.y"
+#line 1292 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 77:
-#line 1258 "parse.y"
+#line 1298 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
;
break;}
case 78:
-#line 1264 "parse.y"
+#line 1304 "parse.y"
+{
+ ensure_property ();
+ node_set ((Node *)property,
+ "extra_gtktype:steal", yyvsp[0].id,
+ NULL);
+ ;
+ break;}
+case 79:
+#line 1310 "parse.y"
+{
+ ensure_property ();
+ node_set ((Node *)property,
+ "extra_gtktype:steal", yyvsp[0].id,
+ NULL);
+ ;
+ break;}
+case 80:
+#line 1316 "parse.y"
+{
+ ensure_property ();
+ node_set ((Node *)property,
+ "extra_gtktype:steal", yyvsp[0].id,
+ NULL);
+ ;
+ break;}
+case 81:
+#line 1322 "parse.y"
+{
+ ensure_property ();
+ node_set ((Node *)property,
+ "extra_gtktype:steal", yyvsp[0].id,
+ NULL);
+ ;
+ break;}
+case 82:
+#line 1328 "parse.y"
+{
+ ensure_property ();
+ node_set ((Node *)property,
+ "extra_gtktype:steal", yyvsp[0].id,
+ NULL);
+ ;
+ break;}
+case 83:
+#line 1334 "parse.y"
{
ensure_property ();
if (strcmp (yyvsp[0].id, "link") == 0) {
}
;
break;}
-case 79:
-#line 1284 "parse.y"
+case 84:
+#line 1354 "parse.y"
{
if(strcmp(yyvsp[-2].id,"type")!=0) {
g_free(yyvsp[-4].id);
yyval.id = debool (yyvsp[-4].id);
;
break;}
-case 80:
-#line 1293 "parse.y"
+case 85:
+#line 1363 "parse.y"
{
yyval.id = debool (yyvsp[0].id);
typestack = g_list_prepend(typestack,NULL);
;
break;}
-case 81:
-#line 1299 "parse.y"
+case 86:
+#line 1369 "parse.y"
{ yyval.list = yyvsp[-1].list; ;
break;}
-case 82:
-#line 1300 "parse.y"
+case 87:
+#line 1370 "parse.y"
{ yyval.list = NULL; ;
break;}
-case 83:
-#line 1303 "parse.y"
+case 88:
+#line 1373 "parse.y"
{
yyval.list = g_list_append(yyvsp[0].list,yyvsp[-2].id);
;
break;}
-case 84:
-#line 1306 "parse.y"
+case 89:
+#line 1376 "parse.y"
{
yyval.list = g_list_append(NULL,yyvsp[0].id);
;
break;}
-case 85:
-#line 1312 "parse.y"
+case 90:
+#line 1382 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[-1].id,
typestack = g_list_prepend(typestack,node);
;
break;}
-case 86:
-#line 1319 "parse.y"
+case 91:
+#line 1389 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[0].id,
typestack = g_list_prepend(typestack,node);
;
break;}
-case 87:
-#line 1328 "parse.y"
+case 92:
+#line 1398 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
-case 88:
-#line 1331 "parse.y"
+case 93:
+#line 1401 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
-case 89:
-#line 1334 "parse.y"
+case 94:
+#line 1404 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 90:
-#line 1338 "parse.y"
+case 95:
+#line 1408 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
;
break;}
-case 91:
-#line 1342 "parse.y"
+case 96:
+#line 1412 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 92:
-#line 1346 "parse.y"
+case 97:
+#line 1416 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[-1].id, " ",
yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 93:
-#line 1351 "parse.y"
+case 98:
+#line 1421 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-2].id, " ",
yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
;
break;}
-case 94:
-#line 1359 "parse.y"
+case 99:
+#line 1429 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 95:
-#line 1363 "parse.y"
+case 100:
+#line 1433 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[-1].id);
g_free(yyvsp[0].id);
;
break;}
-case 96:
-#line 1368 "parse.y"
+case 101:
+#line 1438 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 97:
-#line 1372 "parse.y"
+case 102:
+#line 1442 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
-case 98:
-#line 1375 "parse.y"
+case 103:
+#line 1445 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
;
break;}
-case 99:
-#line 1379 "parse.y"
+case 104:
+#line 1449 "parse.y"
{
yyval.id = g_strdup(yyvsp[0].id);
;
break;}
-case 100:
-#line 1382 "parse.y"
+case 105:
+#line 1452 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
;
break;}
-case 101:
-#line 1387 "parse.y"
+case 106:
+#line 1457 "parse.y"
{ yyval.id = "void"; ;
break;}
-case 102:
-#line 1388 "parse.y"
+case 107:
+#line 1458 "parse.y"
{ yyval.id = "char"; ;
break;}
-case 103:
-#line 1389 "parse.y"
+case 108:
+#line 1459 "parse.y"
{ yyval.id = "short"; ;
break;}
-case 104:
-#line 1390 "parse.y"
+case 109:
+#line 1460 "parse.y"
{ yyval.id = "int"; ;
break;}
-case 105:
-#line 1391 "parse.y"
+case 110:
+#line 1461 "parse.y"
{ yyval.id = "long"; ;
break;}
-case 106:
-#line 1392 "parse.y"
+case 111:
+#line 1462 "parse.y"
{ yyval.id = "float"; ;
break;}
-case 107:
-#line 1393 "parse.y"
+case 112:
+#line 1463 "parse.y"
{ yyval.id = "double"; ;
break;}
-case 108:
-#line 1394 "parse.y"
+case 113:
+#line 1464 "parse.y"
{ yyval.id = "signed"; ;
break;}
-case 109:
-#line 1395 "parse.y"
+case 114:
+#line 1465 "parse.y"
{ yyval.id = "unsigned"; ;
break;}
-case 110:
-#line 1398 "parse.y"
+case 115:
+#line 1468 "parse.y"
{ yyval.id = "struct"; ;
break;}
-case 111:
-#line 1399 "parse.y"
+case 116:
+#line 1469 "parse.y"
{ yyval.id = "union"; ;
break;}
-case 112:
-#line 1400 "parse.y"
+case 117:
+#line 1470 "parse.y"
{ yyval.id = "enum"; ;
break;}
-case 113:
-#line 1403 "parse.y"
+case 118:
+#line 1473 "parse.y"
{ yyval.id = g_strdup("*"); ;
break;}
-case 114:
-#line 1404 "parse.y"
+case 119:
+#line 1474 "parse.y"
{ yyval.id = g_strdup("* const"); ;
break;}
-case 115:
-#line 1405 "parse.y"
+case 120:
+#line 1475 "parse.y"
{
yyval.id = g_strconcat("*", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 116:
-#line 1409 "parse.y"
+case 121:
+#line 1479 "parse.y"
{
yyval.id = g_strconcat("* const", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 117:
-#line 1416 "parse.y"
+case 122:
+#line 1486 "parse.y"
{
if(strcmp(yyvsp[-1].id, "first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
g_free(yyvsp[-1].id);
;
break;}
-case 118:
-#line 1428 "parse.y"
+case 123:
+#line 1498 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
;
break;}
-case 119:
-#line 1434 "parse.y"
+case 124:
+#line 1504 "parse.y"
{
if(strcmp(yyvsp[-1].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
g_free(yyvsp[-1].id);
;
break;}
-case 120:
-#line 1446 "parse.y"
+case 125:
+#line 1516 "parse.y"
{
if(strcmp(yyvsp[-2].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
g_free(yyvsp[-2].id);
;
break;}
-case 121:
-#line 1458 "parse.y"
+case 126:
+#line 1528 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
;
break;}
-case 122:
-#line 1461 "parse.y"
+case 127:
+#line 1531 "parse.y"
{
/* the_scope was default thus public */
the_scope = PUBLIC_SCOPE;
;
break;}
-case 123:
-#line 1467 "parse.y"
+case 128:
+#line 1537 "parse.y"
{
gtktypes = g_list_prepend(gtktypes, debool (yyvsp[-3].id));
;
break;}
-case 124:
-#line 1472 "parse.y"
+case 129:
+#line 1542 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
;
break;}
-case 125:
-#line 1475 "parse.y"
+case 130:
+#line 1545 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
;
break;}
-case 126:
-#line 1480 "parse.y"
+case 131:
+#line 1550 "parse.y"
{ yyval.cbuf = yyvsp[0].cbuf; ;
break;}
-case 127:
-#line 1481 "parse.y"
+case 132:
+#line 1551 "parse.y"
{ yyval.cbuf = NULL; ;
break;}
-case 128:
-#line 1485 "parse.y"
+case 133:
+#line 1555 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
ccode_line, vararg, yyvsp[-8].list);
;
break;}
-case 129:
-#line 1501 "parse.y"
+case 134:
+#line 1571 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
ccode_line, vararg, yyvsp[-8].list);
;
break;}
-case 130:
-#line 1517 "parse.y"
+case 135:
+#line 1587 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
ccode_line, vararg, NULL);
;
break;}
-case 131:
-#line 1533 "parse.y"
+case 136:
+#line 1603 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
ccode_line, vararg, NULL);
;
break;}
-case 132:
-#line 1549 "parse.y"
+case 137:
+#line 1619 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
ccode_line, vararg, NULL);
;
break;}
-case 133:
-#line 1560 "parse.y"
+case 138:
+#line 1630 "parse.y"
{
push_function(NO_SCOPE, OVERRIDE_METHOD, yyvsp[-8].id,
yyvsp[-5].id, yyvsp[0].cbuf,
vararg, NULL);
;
break;}
-case 134:
-#line 1566 "parse.y"
+case 139:
+#line 1636 "parse.y"
{
if(the_scope == CLASS_SCOPE) {
yyerror(_("a method cannot be of class scope"));
vararg, NULL);
;
break;}
-case 135:
-#line 1576 "parse.y"
+case 140:
+#line 1646 "parse.y"
{
if(strcmp(yyvsp[-4].id, "init")==0) {
push_init_arg(yyvsp[-2].id,FALSE);
}
;
break;}
-case 136:
-#line 1599 "parse.y"
+case 141:
+#line 1669 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
g_free(yyvsp[-1].id);
;
break;}
-case 137:
-#line 1610 "parse.y"
+case 142:
+#line 1680 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
g_free(yyvsp[-1].id);
;
break;}
-case 138:
-#line 1629 "parse.y"
+case 143:
+#line 1699 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
;
break;}
-case 139:
-#line 1635 "parse.y"
+case 144:
+#line 1705 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 140:
-#line 1636 "parse.y"
+case 145:
+#line 1706 "parse.y"
{
yyval.id = (yyvsp[1].cbuf)->str;
g_string_free(yyvsp[1].cbuf, FALSE);
;
break;}
-case 141:
-#line 1642 "parse.y"
+case 146:
+#line 1712 "parse.y"
{ vararg = FALSE; has_self = FALSE; ;
break;}
-case 142:
-#line 1643 "parse.y"
+case 147:
+#line 1713 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
;
break;}
-case 143:
-#line 1654 "parse.y"
+case 148:
+#line 1724 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
;
break;}
-case 144:
-#line 1665 "parse.y"
+case 149:
+#line 1735 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
;
break;}
-case 145:
-#line 1676 "parse.y"
+case 150:
+#line 1746 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
;
break;}
-case 146:
-#line 1686 "parse.y"
+case 151:
+#line 1756 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-3].id,"self")==0)
}
;
break;}
-case 147:
-#line 1696 "parse.y"
+case 152:
+#line 1766 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
;
break;}
-case 148:
-#line 1706 "parse.y"
+case 153:
+#line 1776 "parse.y"
{ has_self = FALSE; ;
break;}
-case 149:
-#line 1709 "parse.y"
+case 154:
+#line 1779 "parse.y"
{ vararg = TRUE; ;
break;}
-case 150:
-#line 1710 "parse.y"
+case 155:
+#line 1780 "parse.y"
{ vararg = FALSE; ;
break;}
-case 151:
-#line 1713 "parse.y"
+case 156:
+#line 1783 "parse.y"
{ ; ;
break;}
-case 152:
-#line 1714 "parse.y"
+case 157:
+#line 1784 "parse.y"
{ ; ;
break;}
-case 153:
-#line 1717 "parse.y"
+case 158:
+#line 1787 "parse.y"
{
push_funcarg(yyvsp[0].id,NULL);
;
break;}
-case 154:
-#line 1720 "parse.y"
+case 159:
+#line 1790 "parse.y"
{
push_funcarg(yyvsp[-1].id,yyvsp[0].id);
;
break;}
-case 155:
-#line 1723 "parse.y"
+case 160:
+#line 1793 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
push_funcarg(yyvsp[-4].id,NULL);
;
break;}
-case 156:
-#line 1731 "parse.y"
+case 161:
+#line 1801 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
push_funcarg(yyvsp[-5].id,yyvsp[-4].id);
;
break;}
-case 157:
-#line 1741 "parse.y"
+case 162:
+#line 1811 "parse.y"
{ ; ;
break;}
-case 158:
-#line 1742 "parse.y"
+case 163:
+#line 1812 "parse.y"
{ ; ;
break;}
-case 159:
-#line 1745 "parse.y"
+case 164:
+#line 1815 "parse.y"
{
if(strcmp(yyvsp[0].id,"type")==0) {
Node *node = node_new (CHECK_NODE,
g_free(yyvsp[0].id);
;
break;}
-case 160:
-#line 1762 "parse.y"
+case 165:
+#line 1832 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GT_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 161:
-#line 1769 "parse.y"
+case 166:
+#line 1839 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LT_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 162:
-#line 1776 "parse.y"
+case 167:
+#line 1846 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GE_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 163:
-#line 1783 "parse.y"
+case 168:
+#line 1853 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LE_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 164:
-#line 1790 "parse.y"
+case 169:
+#line 1860 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", EQ_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 165:
-#line 1797 "parse.y"
+case 170:
+#line 1867 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", NE_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 166:
-#line 1806 "parse.y"
+case 171:
+#line 1876 "parse.y"
{
Node *node = node_new (ENUMDEF_NODE,
"etype:steal", yyvsp[-1].id,
nodes = g_list_append (nodes, node);
;
break;}
-case 167:
-#line 1815 "parse.y"
+case 172:
+#line 1885 "parse.y"
{
Node *node = node_new (ENUMDEF_NODE,
"etype:steal", yyvsp[-1].id,
nodes = g_list_append (nodes, node);
;
break;}
-case 168:
-#line 1826 "parse.y"
+case 173:
+#line 1896 "parse.y"
{;;
break;}
-case 169:
-#line 1827 "parse.y"
+case 174:
+#line 1897 "parse.y"
{;;
break;}
-case 170:
-#line 1830 "parse.y"
+case 175:
+#line 1900 "parse.y"
{
Node *node;
char *num = yyvsp[0].id;
enum_vals = g_list_append (enum_vals, node);
;
break;}
-case 171:
-#line 1850 "parse.y"
+case 176:
+#line 1920 "parse.y"
{
Node *node;
enum_vals = g_list_append (enum_vals, node);
;
break;}
-case 172:
-#line 1860 "parse.y"
+case 177:
+#line 1930 "parse.y"
{
Node *node = node_new (FLAGS_NODE,
"ftype:steal", yyvsp[-1].id,
nodes = g_list_append (nodes, node);
;
break;}
-case 173:
-#line 1869 "parse.y"
+case 178:
+#line 1939 "parse.y"
{
Node *node = node_new (FLAGS_NODE,
"ftype:steal", yyvsp[-1].id,
nodes = g_list_append (nodes, node);
;
break;}
-case 174:
-#line 1880 "parse.y"
+case 179:
+#line 1950 "parse.y"
{
flag_vals = g_list_append (flag_vals, yyvsp[0].id);
;
break;}
-case 175:
-#line 1883 "parse.y"
+case 180:
+#line 1953 "parse.y"
{
flag_vals = g_list_append (flag_vals, yyvsp[0].id);
;
break;}
-case 176:
-#line 1888 "parse.y"
+case 181:
+#line 1958 "parse.y"
{
Node *node = node_new (ERROR_NODE,
"etype:steal", yyvsp[-1].id,
nodes = g_list_append (nodes, node);
;
break;}
-case 177:
-#line 1897 "parse.y"
+case 182:
+#line 1967 "parse.y"
{
Node *node = node_new (ERROR_NODE,
"etype:steal", yyvsp[-1].id,
nodes = g_list_append (nodes, node);
;
break;}
-case 178:
-#line 1908 "parse.y"
+case 183:
+#line 1978 "parse.y"
{
error_vals = g_list_append (error_vals, yyvsp[0].id);
;
break;}
-case 179:
-#line 1911 "parse.y"
+case 184:
+#line 1981 "parse.y"
{
error_vals = g_list_append (error_vals, yyvsp[0].id);
;
break;}
-case 180:
-#line 1917 "parse.y"
+case 185:
+#line 1987 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 181:
-#line 1918 "parse.y"
+case 186:
+#line 1988 "parse.y"
{
yyval.id = g_strconcat("-",yyvsp[0].id,NULL);
g_free(yyvsp[0].id);
;
break;}
-case 182:
-#line 1922 "parse.y"
+case 187:
+#line 1992 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 183:
-#line 1923 "parse.y"
+case 188:
+#line 1993 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
}
}
return 1;
}
-#line 1926 "parse.y"
+#line 1996 "parse.y"