X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/3e833eea9cb9822f04c639e143212c4b6f7940d4..5d4e3f65125a1e67702b7fbd4096d5e2fd3ec798:/src/parse.c diff --git a/src/parse.c b/src/parse.c index aee046d..3f02d38 100644 --- a/src/parse.c +++ b/src/parse.c @@ -1,24 +1,23 @@ -/* A Bison parser, made by GNU Bison 2.3. */ -/* Skeleton implementation for Bison's Yacc-like parsers in C +/* A Bison parser, made by GNU Bison 2.4.1. */ - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +/* Skeleton implementation for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify + + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -29,7 +28,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -47,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.3" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -55,127 +54,20 @@ /* Pure parsers. */ #define YYPURE 0 -/* Using locations. */ -#define YYLSP_NEEDED 0 +/* Push parsers. */ +#define YYPUSH 0 +/* Pull parsers. */ +#define YYPULL 1 - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - CLASS = 258, - FROM = 259, - CONST = 260, - VOID = 261, - STRUCT = 262, - UNION = 263, - ENUM = 264, - THREEDOTS = 265, - SIGNED = 266, - UNSIGNED = 267, - LONG = 268, - SHORT = 269, - INT = 270, - FLOAT = 271, - DOUBLE = 272, - CHAR = 273, - TOKEN = 274, - NUMBER = 275, - TYPETOKEN = 276, - ARRAY_DIM = 277, - SINGLE_CHAR = 278, - CCODE = 279, - ADCODE = 280, - HTCODE = 281, - PHCODE = 282, - HCODE = 283, - ACODE = 284, - ATCODE = 285, - STRING = 286, - PUBLIC = 287, - PRIVATE = 288, - PROTECTED = 289, - CLASSWIDE = 290, - PROPERTY = 291, - ARGUMENT = 292, - VIRTUAL = 293, - SIGNAL = 294, - OVERRIDE = 295, - NICK = 296, - BLURB = 297, - MAXIMUM = 298, - MINIMUM = 299, - DEFAULT_VALUE = 300, - ERROR = 301, - FLAGS = 302, - TYPE = 303, - FLAGS_TYPE = 304, - ENUM_TYPE = 305, - PARAM_TYPE = 306, - BOXED_TYPE = 307, - OBJECT_TYPE = 308 - }; -#endif -/* Tokens. */ -#define CLASS 258 -#define FROM 259 -#define CONST 260 -#define VOID 261 -#define STRUCT 262 -#define UNION 263 -#define ENUM 264 -#define THREEDOTS 265 -#define SIGNED 266 -#define UNSIGNED 267 -#define LONG 268 -#define SHORT 269 -#define INT 270 -#define FLOAT 271 -#define DOUBLE 272 -#define CHAR 273 -#define TOKEN 274 -#define NUMBER 275 -#define TYPETOKEN 276 -#define ARRAY_DIM 277 -#define SINGLE_CHAR 278 -#define CCODE 279 -#define ADCODE 280 -#define HTCODE 281 -#define PHCODE 282 -#define HCODE 283 -#define ACODE 284 -#define ATCODE 285 -#define STRING 286 -#define PUBLIC 287 -#define PRIVATE 288 -#define PROTECTED 289 -#define CLASSWIDE 290 -#define PROPERTY 291 -#define ARGUMENT 292 -#define VIRTUAL 293 -#define SIGNAL 294 -#define OVERRIDE 295 -#define NICK 296 -#define BLURB 297 -#define MAXIMUM 298 -#define MINIMUM 299 -#define DEFAULT_VALUE 300 -#define ERROR 301 -#define FLAGS 302 -#define TYPE 303 -#define FLAGS_TYPE 304 -#define ENUM_TYPE 305 -#define PARAM_TYPE 306 -#define BOXED_TYPE 307 -#define OBJECT_TYPE 308 - +/* Using locations. */ +#define YYLSP_NEEDED 0 /* Copy the first part of user declarations. */ + +/* Line 189 of yacc.c */ #line 23 "parse.y" @@ -249,9 +141,10 @@ yyerror(char *str) char *out=NULL; char *p; - if(strcmp(yytext,"\n")==0) { - out=g_strconcat("Error: ",str," before newline",NULL); - } else if(yytext[0]=='\0') { + if (strcmp (yytext, "\n") == 0 || + strcmp (yytext, "\r") == 0) { + out = g_strconcat ("Error: ", str, " before end of line", NULL); + } else if (yytext[0] == '\0') { out=g_strconcat("Error: ", str, " at end of input", NULL); } else { char *tmp = g_strdup(yytext); @@ -313,7 +206,11 @@ push_function (int scope, int method, char *oid, char *id, g_assert(scope != CLASS_SCOPE); - if(method == INIT_METHOD || method == CLASS_INIT_METHOD) { + if(method == INIT_METHOD || + method == CLASS_INIT_METHOD || + method == CONSTRUCTOR_METHOD || + method == DISPOSE_METHOD || + method == FINALIZE_METHOD) { type = (Type *)node_new (TYPE_NODE, "name", "void", NULL); @@ -832,6 +729,9 @@ ensure_property (void) +/* Line 189 of yacc.c */ +#line 734 "parse.c" + /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -850,31 +750,151 @@ ensure_property (void) # define YYTOKEN_TABLE 0 #endif + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + CLASS = 258, + FROM = 259, + CONST = 260, + VOID = 261, + STRUCT = 262, + UNION = 263, + ENUM = 264, + THREEDOTS = 265, + SIGNED = 266, + UNSIGNED = 267, + LONG = 268, + SHORT = 269, + INT = 270, + FLOAT = 271, + DOUBLE = 272, + CHAR = 273, + TOKEN = 274, + NUMBER = 275, + TYPETOKEN = 276, + ARRAY_DIM = 277, + SINGLE_CHAR = 278, + CCODE = 279, + ADCODE = 280, + HTCODE = 281, + PHCODE = 282, + HCODE = 283, + ACODE = 284, + ATCODE = 285, + STRING = 286, + PUBLIC = 287, + PRIVATE = 288, + PROTECTED = 289, + CLASSWIDE = 290, + PROPERTY = 291, + ARGUMENT = 292, + VIRTUAL = 293, + SIGNAL = 294, + OVERRIDE = 295, + NICK = 296, + BLURB = 297, + MAXIMUM = 298, + MINIMUM = 299, + DEFAULT_VALUE = 300, + ERROR = 301, + FLAGS = 302, + TYPE = 303, + FLAGS_TYPE = 304, + ENUM_TYPE = 305, + PARAM_TYPE = 306, + BOXED_TYPE = 307, + OBJECT_TYPE = 308 + }; +#endif +/* Tokens. */ +#define CLASS 258 +#define FROM 259 +#define CONST 260 +#define VOID 261 +#define STRUCT 262 +#define UNION 263 +#define ENUM 264 +#define THREEDOTS 265 +#define SIGNED 266 +#define UNSIGNED 267 +#define LONG 268 +#define SHORT 269 +#define INT 270 +#define FLOAT 271 +#define DOUBLE 272 +#define CHAR 273 +#define TOKEN 274 +#define NUMBER 275 +#define TYPETOKEN 276 +#define ARRAY_DIM 277 +#define SINGLE_CHAR 278 +#define CCODE 279 +#define ADCODE 280 +#define HTCODE 281 +#define PHCODE 282 +#define HCODE 283 +#define ACODE 284 +#define ATCODE 285 +#define STRING 286 +#define PUBLIC 287 +#define PRIVATE 288 +#define PROTECTED 289 +#define CLASSWIDE 290 +#define PROPERTY 291 +#define ARGUMENT 292 +#define VIRTUAL 293 +#define SIGNAL 294 +#define OVERRIDE 295 +#define NICK 296 +#define BLURB 297 +#define MAXIMUM 298 +#define MINIMUM 299 +#define DEFAULT_VALUE 300 +#define ERROR 301 +#define FLAGS 302 +#define TYPE 303 +#define FLAGS_TYPE 304 +#define ENUM_TYPE 305 +#define PARAM_TYPE 306 +#define BOXED_TYPE 307 +#define OBJECT_TYPE 308 + + + + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 678 "parse.y" { + +/* Line 214 of yacc.c */ +#line 683 "parse.y" + char *id; GString *cbuf; GList *list; int line; int sigtype; -} -/* Line 187 of yacc.c. */ -#line 865 "parse.c" - YYSTYPE; + + + +/* Line 214 of yacc.c */ +#line 886 "parse.c" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif - /* Copy the second part of user declarations. */ -/* Line 216 of yacc.c. */ -#line 878 "parse.c" +/* Line 264 of yacc.c */ +#line 898 "parse.c" #ifdef short # undef short @@ -949,14 +969,14 @@ typedef short int yytype_int16; #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int i) +YYID (int yyi) #else static int -YYID (i) - int i; +YYID (yyi) + int yyi; #endif { - return i; + return yyi; } #endif @@ -1037,9 +1057,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss; - YYSTYPE yyvs; - }; + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -1073,12 +1093,12 @@ union yyalloc elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack) \ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ @@ -1253,26 +1273,26 @@ static const yytype_int8 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 699, 699, 700, 701, 702, 705, 714, 723, 732, - 741, 750, 759, 770, 771, 772, 773, 774, 775, 776, - 777, 780, 785, 792, 809, 810, 818, 830, 839, 851, - 860, 869, 878, 889, 890, 893, 894, 903, 915, 916, - 917, 918, 921, 922, 923, 924, 927, 947, 971, 975, - 983, 984, 985, 986, 987, 995, 1001, 1004, 1009, 1077, - 1131, 1220, 1228, 1233, 1281, 1317, 1333, 1334, 1337, 1338, - 1341, 1342, 1354, 1355, 1358, 1364, 1370, 1376, 1382, 1388, - 1394, 1401, 1407, 1413, 1419, 1425, 1431, 1437, 1443, 1449, - 1455, 1461, 1486, 1495, 1501, 1502, 1505, 1508, 1514, 1521, - 1530, 1533, 1536, 1540, 1544, 1548, 1553, 1561, 1565, 1570, - 1574, 1577, 1581, 1584, 1589, 1590, 1591, 1592, 1593, 1594, - 1595, 1596, 1597, 1600, 1601, 1602, 1605, 1606, 1607, 1611, - 1618, 1630, 1636, 1648, 1660, 1663, 1669, 1674, 1677, 1682, - 1683, 1687, 1710, 1733, 1756, 1779, 1797, 1810, 1820, 1860, - 1872, 1892, 1923, 1930, 1931, 1937, 1938, 1949, 1960, 1971, - 1981, 1991, 2001, 2004, 2005, 2008, 2009, 2012, 2015, 2018, - 2026, 2036, 2037, 2040, 2057, 2064, 2071, 2078, 2085, 2092, - 2101, 2110, 2121, 2122, 2125, 2145, 2155, 2164, 2175, 2178, - 2183, 2192, 2203, 2206, 2212, 2213, 2217, 2218 + 0, 704, 704, 705, 706, 707, 710, 719, 728, 737, + 746, 755, 764, 775, 776, 777, 778, 779, 780, 781, + 782, 785, 790, 797, 814, 815, 823, 835, 844, 856, + 865, 874, 883, 894, 895, 898, 899, 908, 920, 921, + 922, 923, 926, 927, 928, 929, 932, 952, 976, 980, + 988, 989, 990, 991, 992, 1000, 1006, 1009, 1014, 1082, + 1136, 1225, 1233, 1238, 1286, 1322, 1338, 1339, 1342, 1343, + 1346, 1347, 1359, 1360, 1363, 1369, 1375, 1381, 1387, 1393, + 1399, 1406, 1412, 1418, 1424, 1430, 1436, 1442, 1448, 1454, + 1460, 1466, 1491, 1500, 1506, 1507, 1510, 1513, 1519, 1526, + 1535, 1538, 1541, 1545, 1549, 1553, 1558, 1566, 1570, 1575, + 1579, 1582, 1586, 1589, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1605, 1606, 1607, 1610, 1611, 1612, 1616, + 1623, 1635, 1641, 1653, 1665, 1668, 1674, 1679, 1682, 1687, + 1688, 1692, 1715, 1738, 1761, 1784, 1802, 1815, 1825, 1865, + 1877, 1897, 1928, 1935, 1936, 1942, 1943, 1954, 1965, 1976, + 1986, 1996, 2006, 2009, 2010, 2013, 2014, 2017, 2020, 2023, + 2031, 2041, 2042, 2045, 2062, 2069, 2076, 2083, 2090, 2097, + 2106, 2115, 2126, 2127, 2130, 2150, 2160, 2169, 2180, 2183, + 2188, 2197, 2208, 2211, 2217, 2218, 2222, 2223 }; #endif @@ -1861,17 +1881,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; +yy_stack_print (yybottom, yytop) + yytype_int16 *yybottom; + yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } YYFPRINTF (stderr, "\n"); } @@ -1905,11 +1928,11 @@ yy_reduce_print (yyvsp, yyrule) /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); + YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, "\n"); } } @@ -2189,10 +2212,8 @@ yydestruct (yymsg, yytype, yyvaluep) break; } } - /* Prevent warnings from -Wmissing-prototypes. */ - #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); @@ -2208,11 +2229,10 @@ int yyparse (); #endif /* ! YYPARSE_PARAM */ - -/* The look-ahead symbol. */ +/* The lookahead symbol. */ int yychar; -/* The semantic value of the look-ahead symbol. */ +/* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ @@ -2220,9 +2240,9 @@ int yynerrs; -/*----------. -| yyparse. | -`----------*/ +/*-------------------------. +| yyparse or yypush_parse. | +`-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ @@ -2246,66 +2266,68 @@ yyparse () #endif #endif { - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; + /* The stacks and their tools: + `yyss': related to states. + `yyvs': related to semantic values. - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - YYSIZE_T yystacksize = YYINITDEPTH; + YYSIZE_T yystacksize; + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; + yytoken = 0; + yyss = yyssa; + yyvs = yyvsa; + yystacksize = YYINITDEPTH; + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ + yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; yyvsp = yyvs; @@ -2335,7 +2357,6 @@ yyparse () YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; - /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might @@ -2343,7 +2364,6 @@ yyparse () yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); yyss = yyss1; @@ -2366,9 +2386,8 @@ yyparse () (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -2379,7 +2398,6 @@ yyparse () yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); @@ -2389,6 +2407,9 @@ yyparse () YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + if (yystate == YYFINAL) + YYACCEPT; + goto yybackup; /*-----------. @@ -2397,16 +2418,16 @@ yyparse () yybackup: /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ + lookahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to look-ahead token. */ + /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -2438,20 +2459,16 @@ yybackup: goto yyreduce; } - if (yyn == YYFINAL) - YYACCEPT; - /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the look-ahead token. */ + /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; + /* Discard the shifted token. */ + yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; @@ -2491,27 +2508,37 @@ yyreduce: switch (yyn) { case 2: -#line 699 "parse.y" + +/* Line 1455 of yacc.c */ +#line 704 "parse.y" { ; } break; case 3: -#line 700 "parse.y" + +/* Line 1455 of yacc.c */ +#line 705 "parse.y" { ; } break; case 4: -#line 701 "parse.y" + +/* Line 1455 of yacc.c */ +#line 706 "parse.y" { ; } break; case 5: -#line 702 "parse.y" + +/* Line 1455 of yacc.c */ +#line 707 "parse.y" { ; } break; case 6: -#line 705 "parse.y" + +/* Line 1455 of yacc.c */ +#line 710 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", C_CCODE, @@ -2524,7 +2551,9 @@ yyreduce: break; case 7: -#line 714 "parse.y" + +/* Line 1455 of yacc.c */ +#line 719 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", AD_CCODE, @@ -2537,7 +2566,9 @@ yyreduce: break; case 8: -#line 723 "parse.y" + +/* Line 1455 of yacc.c */ +#line 728 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", H_CCODE, @@ -2550,7 +2581,9 @@ yyreduce: break; case 9: -#line 732 "parse.y" + +/* Line 1455 of yacc.c */ +#line 737 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", HT_CCODE, @@ -2563,7 +2596,9 @@ yyreduce: break; case 10: -#line 741 "parse.y" + +/* Line 1455 of yacc.c */ +#line 746 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", PH_CCODE, @@ -2576,7 +2611,9 @@ yyreduce: break; case 11: -#line 750 "parse.y" + +/* Line 1455 of yacc.c */ +#line 755 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", A_CCODE, @@ -2589,7 +2626,9 @@ yyreduce: break; case 12: -#line 759 "parse.y" + +/* Line 1455 of yacc.c */ +#line 764 "parse.y" { Node *node = node_new (CCODE_NODE, "cctype", AT_CCODE, @@ -2602,47 +2641,65 @@ yyreduce: break; case 13: -#line 770 "parse.y" + +/* Line 1455 of yacc.c */ +#line 775 "parse.y" { ; } break; case 14: -#line 771 "parse.y" + +/* Line 1455 of yacc.c */ +#line 776 "parse.y" { ; } break; case 15: -#line 772 "parse.y" + +/* Line 1455 of yacc.c */ +#line 777 "parse.y" { ; } break; case 16: -#line 773 "parse.y" + +/* Line 1455 of yacc.c */ +#line 778 "parse.y" { ; } break; case 17: -#line 774 "parse.y" + +/* Line 1455 of yacc.c */ +#line 779 "parse.y" { ; } break; case 18: -#line 775 "parse.y" + +/* Line 1455 of yacc.c */ +#line 780 "parse.y" { ; } break; case 19: -#line 776 "parse.y" + +/* Line 1455 of yacc.c */ +#line 781 "parse.y" { ; } break; case 20: -#line 777 "parse.y" + +/* Line 1455 of yacc.c */ +#line 782 "parse.y" { ; } break; case 21: -#line 780 "parse.y" + +/* Line 1455 of yacc.c */ +#line 785 "parse.y" { ((Class *)class)->nodes = class_nodes; class_nodes = NULL; @@ -2651,7 +2708,9 @@ yyreduce: break; case 22: -#line 785 "parse.y" + +/* Line 1455 of yacc.c */ +#line 790 "parse.y" { ((Class *)class)->nodes = NULL; class_nodes = NULL; @@ -2660,7 +2719,9 @@ yyreduce: break; case 23: -#line 792 "parse.y" + +/* Line 1455 of yacc.c */ +#line 797 "parse.y" { class = node_new (CLASS_NODE, "otype:steal", (yyvsp[(2) - (5)].id), @@ -2679,7 +2740,9 @@ yyreduce: break; case 25: -#line 810 "parse.y" + +/* Line 1455 of yacc.c */ +#line 815 "parse.y" { if(strcmp((yyvsp[(2) - (4)].id),"abstract") == 0) { abstract = TRUE; @@ -2691,7 +2754,9 @@ yyreduce: break; case 26: -#line 818 "parse.y" + +/* Line 1455 of yacc.c */ +#line 823 "parse.y" { if(strcmp((yyvsp[(2) - (5)].id),"chunks") == 0) { g_free (chunk_size); @@ -2707,7 +2772,9 @@ yyreduce: break; case 27: -#line 830 "parse.y" + +/* Line 1455 of yacc.c */ +#line 835 "parse.y" { if (strcmp ((yyvsp[(2) - (5)].id), "interface") == 0) { interfaces = g_list_append (interfaces, @@ -2720,7 +2787,9 @@ yyreduce: break; case 28: -#line 839 "parse.y" + +/* Line 1455 of yacc.c */ +#line 844 "parse.y" { if(strcmp((yyvsp[(2) - (5)].id),"chunks") == 0) { g_free (chunk_size); @@ -2736,7 +2805,9 @@ yyreduce: break; case 29: -#line 851 "parse.y" + +/* Line 1455 of yacc.c */ +#line 856 "parse.y" { if (strcmp ((yyvsp[(2) - (6)].id), "GladeXML") == 0) { glade_xml = TRUE; @@ -2749,7 +2820,9 @@ yyreduce: break; case 30: -#line 860 "parse.y" + +/* Line 1455 of yacc.c */ +#line 865 "parse.y" { if (strcmp ((yyvsp[(2) - (7)].id), "GladeXML") == 0) { glade_xml = TRUE; @@ -2762,7 +2835,9 @@ yyreduce: break; case 31: -#line 869 "parse.y" + +/* Line 1455 of yacc.c */ +#line 874 "parse.y" { if (strcmp ((yyvsp[(2) - (6)].id), "GladeXML") == 0) { glade_xml = TRUE; @@ -2775,7 +2850,9 @@ yyreduce: break; case 32: -#line 878 "parse.y" + +/* Line 1455 of yacc.c */ +#line 883 "parse.y" { if (strcmp ((yyvsp[(2) - (7)].id), "GladeXML") == 0) { glade_xml = TRUE; @@ -2788,22 +2865,30 @@ yyreduce: break; case 33: -#line 889 "parse.y" + +/* Line 1455 of yacc.c */ +#line 894 "parse.y" { ; } break; case 34: -#line 890 "parse.y" + +/* Line 1455 of yacc.c */ +#line 895 "parse.y" { ; } break; case 35: -#line 893 "parse.y" + +/* Line 1455 of yacc.c */ +#line 898 "parse.y" { ; } break; case 36: -#line 894 "parse.y" + +/* Line 1455 of yacc.c */ +#line 899 "parse.y" { if (strcmp ((yyvsp[(1) - (2)].id), "BonoboObject") != 0) { g_free ((yyvsp[(1) - (2)].id)); @@ -2816,7 +2901,9 @@ yyreduce: break; case 37: -#line 903 "parse.y" + +/* Line 1455 of yacc.c */ +#line 908 "parse.y" { if (strcmp ((yyvsp[(1) - (3)].id), "interface") != 0) { g_free ((yyvsp[(1) - (3)].id)); @@ -2832,47 +2919,65 @@ yyreduce: break; case 38: -#line 915 "parse.y" + +/* Line 1455 of yacc.c */ +#line 920 "parse.y" { ; } break; case 39: -#line 916 "parse.y" + +/* Line 1455 of yacc.c */ +#line 921 "parse.y" { ; } break; case 40: -#line 917 "parse.y" + +/* Line 1455 of yacc.c */ +#line 922 "parse.y" { ; } break; case 41: -#line 918 "parse.y" + +/* Line 1455 of yacc.c */ +#line 923 "parse.y" { ; } break; case 42: -#line 921 "parse.y" + +/* Line 1455 of yacc.c */ +#line 926 "parse.y" { the_scope = PUBLIC_SCOPE; } break; case 43: -#line 922 "parse.y" + +/* Line 1455 of yacc.c */ +#line 927 "parse.y" { the_scope = PRIVATE_SCOPE; } break; case 44: -#line 923 "parse.y" + +/* Line 1455 of yacc.c */ +#line 928 "parse.y" { the_scope = PROTECTED_SCOPE; } break; case 45: -#line 924 "parse.y" + +/* Line 1455 of yacc.c */ +#line 929 "parse.y" { the_scope = CLASS_SCOPE; } break; case 46: -#line 927 "parse.y" + +/* Line 1455 of yacc.c */ +#line 932 "parse.y" { if (strcmp ((yyvsp[(1) - (2)].id), "destroywith") == 0) { g_free ((yyvsp[(1) - (2)].id)); @@ -2896,7 +3001,9 @@ yyreduce: break; case 47: -#line 947 "parse.y" + +/* Line 1455 of yacc.c */ +#line 952 "parse.y" { if (strcmp ((yyvsp[(1) - (3)].id), "destroy") == 0) { g_free((yyvsp[(1) - (3)].id)); @@ -2922,7 +3029,9 @@ yyreduce: break; case 48: -#line 971 "parse.y" + +/* Line 1455 of yacc.c */ +#line 976 "parse.y" { initializer = (yyvsp[(2) - (2)].id); initializer_line = ccode_line; @@ -2930,7 +3039,9 @@ yyreduce: break; case 49: -#line 975 "parse.y" + +/* Line 1455 of yacc.c */ +#line 980 "parse.y" { initializer = ((yyvsp[(3) - (3)].cbuf))->str; initializer_line = ccode_line; @@ -2939,27 +3050,37 @@ yyreduce: break; case 50: -#line 983 "parse.y" + +/* Line 1455 of yacc.c */ +#line 988 "parse.y" { ; } break; case 51: -#line 984 "parse.y" + +/* Line 1455 of yacc.c */ +#line 989 "parse.y" { ; } break; case 52: -#line 985 "parse.y" + +/* Line 1455 of yacc.c */ +#line 990 "parse.y" { destructor = NULL; } break; case 53: -#line 986 "parse.y" + +/* Line 1455 of yacc.c */ +#line 991 "parse.y" { initializer = NULL; } break; case 54: -#line 987 "parse.y" + +/* Line 1455 of yacc.c */ +#line 992 "parse.y" { if (strcmp ((yyvsp[(1) - (1)].id), "GladeXML") == 0) { glade_widget = TRUE; @@ -2971,7 +3092,9 @@ yyreduce: break; case 55: -#line 995 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1000 "parse.y" { destructor = NULL; initializer = NULL; @@ -2979,21 +3102,27 @@ yyreduce: break; case 56: -#line 1001 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1006 "parse.y" { push_variable((yyvsp[(3) - (5)].id), the_scope,(yyvsp[(1) - (5)].line), NULL); } break; case 57: -#line 1004 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1009 "parse.y" { push_variable((yyvsp[(3) - (6)].id), the_scope, (yyvsp[(1) - (6)].line), (yyvsp[(4) - (6)].id)); } break; case 58: -#line 1009 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1014 "parse.y" { Node *node = NULL; if(strcmp((yyvsp[(6) - (12)].id),"get")==0 && @@ -3065,7 +3194,9 @@ yyreduce: break; case 59: -#line 1077 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1082 "parse.y" { Node *node = NULL; if(strcmp((yyvsp[(6) - (9)].id), "get") == 0) { @@ -3123,7 +3254,9 @@ yyreduce: break; case 60: -#line 1131 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1136 "parse.y" { Node *node; char *get, *set = NULL; @@ -3214,7 +3347,9 @@ yyreduce: break; case 61: -#line 1220 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1225 "parse.y" { if (strcmp ((yyvsp[(2) - (3)].id), "export")!=0) { g_free ((yyvsp[(2) - (3)].id)); @@ -3226,14 +3361,18 @@ yyreduce: break; case 62: -#line 1228 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1233 "parse.y" { (yyval.id) = NULL; } break; case 63: -#line 1233 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1238 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3285,7 +3424,9 @@ yyreduce: break; case 64: -#line 1281 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1286 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3325,7 +3466,9 @@ yyreduce: break; case 65: -#line 1317 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1322 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3343,32 +3486,44 @@ yyreduce: break; case 66: -#line 1333 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1338 "parse.y" { ; } break; case 67: -#line 1334 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1339 "parse.y" { ; } break; case 68: -#line 1337 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1342 "parse.y" { ; } break; case 69: -#line 1338 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1343 "parse.y" { ; } break; case 70: -#line 1341 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1346 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 71: -#line 1342 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1347 "parse.y" { if (strcmp ((yyvsp[(1) - (4)].id), "_") != 0) { g_free ((yyvsp[(1) - (4)].id)); @@ -3382,17 +3537,23 @@ yyreduce: break; case 72: -#line 1354 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1359 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 73: -#line 1355 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1360 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 74: -#line 1358 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1363 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3402,7 +3563,9 @@ yyreduce: break; case 75: -#line 1364 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1369 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3412,7 +3575,9 @@ yyreduce: break; case 76: -#line 1370 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1375 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3422,7 +3587,9 @@ yyreduce: break; case 77: -#line 1376 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1381 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3432,7 +3599,9 @@ yyreduce: break; case 78: -#line 1382 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1387 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3442,7 +3611,9 @@ yyreduce: break; case 79: -#line 1388 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1393 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3452,7 +3623,9 @@ yyreduce: break; case 80: -#line 1394 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1399 "parse.y" { Type *type = pop_type (); ensure_property (); @@ -3463,7 +3636,9 @@ yyreduce: break; case 81: -#line 1401 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1406 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3473,7 +3648,9 @@ yyreduce: break; case 82: -#line 1407 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1412 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3483,7 +3660,9 @@ yyreduce: break; case 83: -#line 1413 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1418 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3493,7 +3672,9 @@ yyreduce: break; case 84: -#line 1419 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1424 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3503,7 +3684,9 @@ yyreduce: break; case 85: -#line 1425 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1430 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3513,7 +3696,9 @@ yyreduce: break; case 86: -#line 1431 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1436 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3523,7 +3708,9 @@ yyreduce: break; case 87: -#line 1437 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1442 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3533,7 +3720,9 @@ yyreduce: break; case 88: -#line 1443 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1448 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3543,7 +3732,9 @@ yyreduce: break; case 89: -#line 1449 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1454 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3553,7 +3744,9 @@ yyreduce: break; case 90: -#line 1455 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1460 "parse.y" { ensure_property (); node_set ((Node *)property, @@ -3563,7 +3756,9 @@ yyreduce: break; case 91: -#line 1461 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1466 "parse.y" { ensure_property (); if (strcmp ((yyvsp[(1) - (1)].id), "override") == 0) { @@ -3590,7 +3785,9 @@ yyreduce: break; case 92: -#line 1486 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1491 "parse.y" { if(strcmp((yyvsp[(3) - (5)].id),"type")!=0) { g_free((yyvsp[(1) - (5)].id)); @@ -3603,7 +3800,9 @@ yyreduce: break; case 93: -#line 1495 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1500 "parse.y" { (yyval.id) = debool ((yyvsp[(1) - (1)].id)); typestack = g_list_prepend(typestack,NULL); @@ -3611,31 +3810,41 @@ yyreduce: break; case 94: -#line 1501 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1506 "parse.y" { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 95: -#line 1502 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1507 "parse.y" { (yyval.list) = NULL; } break; case 96: -#line 1505 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1510 "parse.y" { (yyval.list) = g_list_append((yyvsp[(3) - (3)].list),(yyvsp[(1) - (3)].id)); } break; case 97: -#line 1508 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1513 "parse.y" { (yyval.list) = g_list_append(NULL,(yyvsp[(1) - (1)].id)); } break; case 98: -#line 1514 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1519 "parse.y" { Node *node = node_new (TYPE_NODE, "name:steal", (yyvsp[(1) - (2)].id), @@ -3646,7 +3855,9 @@ yyreduce: break; case 99: -#line 1521 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1526 "parse.y" { Node *node = node_new (TYPE_NODE, "name:steal", (yyvsp[(1) - (1)].id), @@ -3656,21 +3867,27 @@ yyreduce: break; case 100: -#line 1530 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1535 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 101: -#line 1533 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1538 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 102: -#line 1536 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1541 "parse.y" { (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (2)].id), NULL); g_free((yyvsp[(2) - (2)].id)); @@ -3678,7 +3895,9 @@ yyreduce: break; case 103: -#line 1540 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1545 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL); g_free((yyvsp[(1) - (2)].id)); @@ -3686,7 +3905,9 @@ yyreduce: break; case 104: -#line 1544 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1549 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL); g_free((yyvsp[(2) - (2)].id)); @@ -3694,7 +3915,9 @@ yyreduce: break; case 105: -#line 1548 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1553 "parse.y" { (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (3)].id), " ", (yyvsp[(3) - (3)].id), NULL); @@ -3703,7 +3926,9 @@ yyreduce: break; case 106: -#line 1553 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1558 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (3)].id), " ", (yyvsp[(2) - (3)].id), " const", NULL); @@ -3712,7 +3937,9 @@ yyreduce: break; case 107: -#line 1561 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1566 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL); g_free((yyvsp[(2) - (2)].id)); @@ -3720,7 +3947,9 @@ yyreduce: break; case 108: -#line 1565 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1570 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL); g_free((yyvsp[(1) - (2)].id)); @@ -3729,7 +3958,9 @@ yyreduce: break; case 109: -#line 1570 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1575 "parse.y" { (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (2)].id), NULL); g_free((yyvsp[(2) - (2)].id)); @@ -3737,14 +3968,18 @@ yyreduce: break; case 110: -#line 1574 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1579 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 111: -#line 1577 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1582 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL); g_free((yyvsp[(1) - (2)].id)); @@ -3752,91 +3987,125 @@ yyreduce: break; case 112: -#line 1581 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1586 "parse.y" { (yyval.id) = g_strdup((yyvsp[(1) - (1)].id)); } break; case 113: -#line 1584 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1589 "parse.y" { (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL); } break; case 114: -#line 1589 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1594 "parse.y" { (yyval.id) = "void"; } break; case 115: -#line 1590 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1595 "parse.y" { (yyval.id) = "char"; } break; case 116: -#line 1591 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1596 "parse.y" { (yyval.id) = "short"; } break; case 117: -#line 1592 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1597 "parse.y" { (yyval.id) = "int"; } break; case 118: -#line 1593 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1598 "parse.y" { (yyval.id) = "long"; } break; case 119: -#line 1594 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1599 "parse.y" { (yyval.id) = "float"; } break; case 120: -#line 1595 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1600 "parse.y" { (yyval.id) = "double"; } break; case 121: -#line 1596 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1601 "parse.y" { (yyval.id) = "signed"; } break; case 122: -#line 1597 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1602 "parse.y" { (yyval.id) = "unsigned"; } break; case 123: -#line 1600 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1605 "parse.y" { (yyval.id) = "struct"; } break; case 124: -#line 1601 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1606 "parse.y" { (yyval.id) = "union"; } break; case 125: -#line 1602 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1607 "parse.y" { (yyval.id) = "enum"; } break; case 126: -#line 1605 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1610 "parse.y" { (yyval.id) = g_strdup("*"); } break; case 127: -#line 1606 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1611 "parse.y" { (yyval.id) = g_strdup("* const"); } break; case 128: -#line 1607 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1612 "parse.y" { (yyval.id) = g_strconcat("*", (yyvsp[(2) - (2)].id), NULL); g_free((yyvsp[(2) - (2)].id)); @@ -3844,7 +4113,9 @@ yyreduce: break; case 129: -#line 1611 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1616 "parse.y" { (yyval.id) = g_strconcat("* const", (yyvsp[(3) - (3)].id), NULL); g_free((yyvsp[(3) - (3)].id)); @@ -3852,7 +4123,9 @@ yyreduce: break; case 130: -#line 1618 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1623 "parse.y" { if(strcmp((yyvsp[(1) - (2)].id), "first")==0) (yyval.sigtype) = SIGNAL_FIRST_METHOD; @@ -3868,14 +4141,18 @@ yyreduce: break; case 131: -#line 1630 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1635 "parse.y" { (yyval.sigtype) = SIGNAL_LAST_METHOD; } break; case 132: -#line 1636 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1641 "parse.y" { if(strcmp((yyvsp[(2) - (3)].id),"first")==0) (yyval.sigtype) = SIGNAL_FIRST_METHOD; @@ -3891,7 +4168,9 @@ yyreduce: break; case 133: -#line 1648 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1653 "parse.y" { if(strcmp((yyvsp[(1) - (3)].id),"first")==0) (yyval.sigtype) = SIGNAL_FIRST_METHOD; @@ -3907,14 +4186,18 @@ yyreduce: break; case 134: -#line 1660 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1665 "parse.y" { (yyval.sigtype) = SIGNAL_LAST_METHOD; } break; case 135: -#line 1663 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1668 "parse.y" { /* the_scope was default thus public */ the_scope = PUBLIC_SCOPE; @@ -3922,38 +4205,50 @@ yyreduce: break; case 136: -#line 1669 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1674 "parse.y" { gtktypes = g_list_prepend(gtktypes, debool ((yyvsp[(1) - (4)].id))); } break; case 137: -#line 1674 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1679 "parse.y" { gtktypes = g_list_append(gtktypes, debool ((yyvsp[(3) - (3)].id))); } break; case 138: -#line 1677 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1682 "parse.y" { gtktypes = g_list_append(gtktypes, debool ((yyvsp[(1) - (1)].id))); } break; case 139: -#line 1682 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1687 "parse.y" { (yyval.cbuf) = (yyvsp[(2) - (2)].cbuf); } break; case 140: -#line 1683 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1688 "parse.y" { (yyval.cbuf) = NULL; } break; case 141: -#line 1687 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1692 "parse.y" { if(!has_self) { yyerror(_("signal without 'self' as " @@ -3980,7 +4275,9 @@ yyreduce: break; case 142: -#line 1710 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1715 "parse.y" { if(!has_self) { yyerror(_("signal without 'self' as " @@ -4007,7 +4304,9 @@ yyreduce: break; case 143: -#line 1733 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1738 "parse.y" { if(!has_self) { yyerror(_("virtual method without 'self' as " @@ -4034,7 +4333,9 @@ yyreduce: break; case 144: -#line 1756 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1761 "parse.y" { if(!has_self) { yyerror(_("virtual method without 'self' as " @@ -4061,7 +4362,9 @@ yyreduce: break; case 145: -#line 1779 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1784 "parse.y" { if(!has_self) { yyerror(_("virtual method without 'szelf' as " @@ -4083,7 +4386,9 @@ yyreduce: break; case 146: -#line 1797 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1802 "parse.y" { if (funcattrs != NULL) { char *error = g_strdup_printf @@ -4100,7 +4405,9 @@ yyreduce: break; case 147: -#line 1810 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1815 "parse.y" { if(the_scope == CLASS_SCOPE) { yyerror(_("a method cannot be of class scope")); @@ -4114,7 +4421,9 @@ yyreduce: break; case 148: -#line 1820 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1825 "parse.y" { if(strcmp((yyvsp[(1) - (5)].id), "init")==0) { push_init_arg((yyvsp[(3) - (5)].id),FALSE); @@ -4156,7 +4465,9 @@ yyreduce: break; case 149: -#line 1860 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1865 "parse.y" { g_free(funcattrs); funcattrs = NULL; g_free(onerror); onerror = NULL; @@ -4172,7 +4483,9 @@ yyreduce: break; case 150: -#line 1872 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1877 "parse.y" { g_free(funcattrs); funcattrs = NULL; g_free(onerror); onerror = NULL; @@ -4196,7 +4509,9 @@ yyreduce: break; case 151: -#line 1892 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1897 "parse.y" { g_free(funcattrs); funcattrs = NULL; g_free(onerror); onerror = NULL; @@ -4231,7 +4546,9 @@ yyreduce: break; case 152: -#line 1923 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1928 "parse.y" { g_free(funcattrs); funcattrs = NULL; g_free(onerror); onerror = NULL; @@ -4240,12 +4557,16 @@ yyreduce: break; case 153: -#line 1930 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1935 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 154: -#line 1931 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1936 "parse.y" { (yyval.id) = ((yyvsp[(2) - (2)].cbuf))->str; g_string_free((yyvsp[(2) - (2)].cbuf), FALSE); @@ -4253,12 +4574,16 @@ yyreduce: break; case 155: -#line 1937 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1942 "parse.y" { vararg = FALSE; has_self = FALSE; } break; case 156: -#line 1938 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1943 "parse.y" { vararg = FALSE; has_self = TRUE; @@ -4273,7 +4598,9 @@ yyreduce: break; case 157: -#line 1949 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1954 "parse.y" { vararg = FALSE; has_self = TRUE; @@ -4288,7 +4615,9 @@ yyreduce: break; case 158: -#line 1960 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1965 "parse.y" { vararg = FALSE; has_self = TRUE; @@ -4303,7 +4632,9 @@ yyreduce: break; case 159: -#line 1971 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1976 "parse.y" { has_self = TRUE; if(strcmp((yyvsp[(1) - (3)].id),"self")==0) @@ -4317,7 +4648,9 @@ yyreduce: break; case 160: -#line 1981 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1986 "parse.y" { has_self = TRUE; if(strcmp((yyvsp[(1) - (4)].id),"self")==0) @@ -4331,7 +4664,9 @@ yyreduce: break; case 161: -#line 1991 "parse.y" + +/* Line 1455 of yacc.c */ +#line 1996 "parse.y" { has_self = TRUE; if(strcmp((yyvsp[(2) - (4)].id),"self")==0) @@ -4345,46 +4680,62 @@ yyreduce: break; case 162: -#line 2001 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2006 "parse.y" { has_self = FALSE; } break; case 163: -#line 2004 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2009 "parse.y" { vararg = TRUE; } break; case 164: -#line 2005 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2010 "parse.y" { vararg = FALSE; } break; case 165: -#line 2008 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2013 "parse.y" { ; } break; case 166: -#line 2009 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2014 "parse.y" { ; } break; case 167: -#line 2012 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2017 "parse.y" { push_funcarg((yyvsp[(2) - (2)].id),NULL); } break; case 168: -#line 2015 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2020 "parse.y" { push_funcarg((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].id)); } break; case 169: -#line 2018 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2023 "parse.y" { if(strcmp((yyvsp[(4) - (6)].id),"check")!=0) { yyerror(_("parse error")); @@ -4396,7 +4747,9 @@ yyreduce: break; case 170: -#line 2026 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2031 "parse.y" { if(strcmp((yyvsp[(5) - (7)].id),"check")!=0) { yyerror(_("parse error")); @@ -4408,17 +4761,23 @@ yyreduce: break; case 171: -#line 2036 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2041 "parse.y" { ; } break; case 172: -#line 2037 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2042 "parse.y" { ; } break; case 173: -#line 2040 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2045 "parse.y" { if(strcmp((yyvsp[(1) - (1)].id),"type")==0) { Node *node = node_new (CHECK_NODE, @@ -4439,7 +4798,9 @@ yyreduce: break; case 174: -#line 2057 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2062 "parse.y" { Node *node = node_new (CHECK_NODE, "chtype", GT_CHECK, @@ -4450,7 +4811,9 @@ yyreduce: break; case 175: -#line 2064 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2069 "parse.y" { Node *node = node_new (CHECK_NODE, "chtype", LT_CHECK, @@ -4461,7 +4824,9 @@ yyreduce: break; case 176: -#line 2071 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2076 "parse.y" { Node *node = node_new (CHECK_NODE, "chtype", GE_CHECK, @@ -4472,7 +4837,9 @@ yyreduce: break; case 177: -#line 2078 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2083 "parse.y" { Node *node = node_new (CHECK_NODE, "chtype", LE_CHECK, @@ -4483,7 +4850,9 @@ yyreduce: break; case 178: -#line 2085 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2090 "parse.y" { Node *node = node_new (CHECK_NODE, "chtype", EQ_CHECK, @@ -4494,7 +4863,9 @@ yyreduce: break; case 179: -#line 2092 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2097 "parse.y" { Node *node = node_new (CHECK_NODE, "chtype", NE_CHECK, @@ -4505,7 +4876,9 @@ yyreduce: break; case 180: -#line 2101 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2106 "parse.y" { Node *node = node_new (ENUMDEF_NODE, "etype:steal", (yyvsp[(6) - (7)].id), @@ -4518,7 +4891,9 @@ yyreduce: break; case 181: -#line 2110 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2115 "parse.y" { Node *node = node_new (ENUMDEF_NODE, "etype:steal", (yyvsp[(7) - (8)].id), @@ -4531,17 +4906,23 @@ yyreduce: break; case 182: -#line 2121 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2126 "parse.y" {;} break; case 183: -#line 2122 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2127 "parse.y" {;} break; case 184: -#line 2125 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2130 "parse.y" { Node *node; char *num = (yyvsp[(3) - (3)].id); @@ -4565,7 +4946,9 @@ yyreduce: break; case 185: -#line 2145 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2150 "parse.y" { Node *node; @@ -4577,7 +4960,9 @@ yyreduce: break; case 186: -#line 2155 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2160 "parse.y" { Node *node = node_new (FLAGS_NODE, "ftype:steal", (yyvsp[(6) - (7)].id), @@ -4590,7 +4975,9 @@ yyreduce: break; case 187: -#line 2164 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2169 "parse.y" { Node *node = node_new (FLAGS_NODE, "ftype:steal", (yyvsp[(7) - (8)].id), @@ -4603,21 +4990,27 @@ yyreduce: break; case 188: -#line 2175 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2180 "parse.y" { flag_vals = g_list_append (flag_vals, (yyvsp[(3) - (3)].id)); } break; case 189: -#line 2178 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2183 "parse.y" { flag_vals = g_list_append (flag_vals, (yyvsp[(1) - (1)].id)); } break; case 190: -#line 2183 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2188 "parse.y" { Node *node = node_new (ERROR_NODE, "etype:steal", (yyvsp[(6) - (7)].id), @@ -4630,7 +5023,9 @@ yyreduce: break; case 191: -#line 2192 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2197 "parse.y" { Node *node = node_new (ERROR_NODE, "etype:steal", (yyvsp[(7) - (8)].id), @@ -4643,26 +5038,34 @@ yyreduce: break; case 192: -#line 2203 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2208 "parse.y" { error_vals = g_list_append (error_vals, (yyvsp[(3) - (3)].id)); } break; case 193: -#line 2206 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2211 "parse.y" { error_vals = g_list_append (error_vals, (yyvsp[(1) - (1)].id)); } break; case 194: -#line 2212 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2217 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 195: -#line 2213 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2218 "parse.y" { (yyval.id) = g_strconcat("-",(yyvsp[(2) - (2)].id),NULL); g_free((yyvsp[(2) - (2)].id)); @@ -4670,18 +5073,23 @@ yyreduce: break; case 196: -#line 2217 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2222 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; case 197: -#line 2218 "parse.y" + +/* Line 1455 of yacc.c */ +#line 2223 "parse.y" { (yyval.id) = (yyvsp[(1) - (1)].id); } break; -/* Line 1267 of yacc.c. */ -#line 4685 "parse.c" + +/* Line 1455 of yacc.c */ +#line 5093 "parse.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -4692,7 +5100,6 @@ yyreduce: *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -4757,7 +5164,7 @@ yyerrlab: if (yyerrstatus == 3) { - /* If just tried and failed to reuse look-ahead token after an + /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) @@ -4774,7 +5181,7 @@ yyerrlab: } } - /* Else will try to reuse look-ahead token after shifting the error + /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; @@ -4831,9 +5238,6 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } - if (yyn == YYFINAL) - YYACCEPT; - *++yyvsp = yylval; @@ -4858,7 +5262,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow +#if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -4869,7 +5273,7 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) + if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered @@ -4895,6 +5299,8 @@ yyreturn: } -#line 2221 "parse.y" + +/* Line 1675 of yacc.c */ +#line 2226 "parse.y"