10c8de5b0SBaptiste Daroussin /* original parser id follows */
20c8de5b0SBaptiste Daroussin /* yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93" */
3c5b5d71aSJung-uk Kim /* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */
40c8de5b0SBaptiste Daroussin
50c8de5b0SBaptiste Daroussin #define YYBYACC 1
68e022d3cSDag-Erling Smørgrav #define YYMAJOR 2
78e022d3cSDag-Erling Smørgrav #define YYMINOR 0
80c8de5b0SBaptiste Daroussin #define YYCHECK "yyyymmdd"
90c8de5b0SBaptiste Daroussin
100c8de5b0SBaptiste Daroussin #define YYEMPTY (-1)
110c8de5b0SBaptiste Daroussin #define yyclearin (yychar = YYEMPTY)
120c8de5b0SBaptiste Daroussin #define yyerrok (yyerrflag = 0)
130c8de5b0SBaptiste Daroussin #define YYRECOVERING() (yyerrflag != 0)
140c8de5b0SBaptiste Daroussin #define YYENOMEM (-2)
150c8de5b0SBaptiste Daroussin #define YYEOF 0
160c8de5b0SBaptiste Daroussin #undef YYBTYACC
170c8de5b0SBaptiste Daroussin #define YYBTYACC 1
180c8de5b0SBaptiste Daroussin #define YYDEBUGSTR (yytrial ? YYPREFIX "debug(trial)" : YYPREFIX "debug")
190c8de5b0SBaptiste Daroussin
200c8de5b0SBaptiste Daroussin #ifndef yyparse
210c8de5b0SBaptiste Daroussin #define yyparse demo_parse
220c8de5b0SBaptiste Daroussin #endif /* yyparse */
230c8de5b0SBaptiste Daroussin
240c8de5b0SBaptiste Daroussin #ifndef yylex
250c8de5b0SBaptiste Daroussin #define yylex demo_lex
260c8de5b0SBaptiste Daroussin #endif /* yylex */
270c8de5b0SBaptiste Daroussin
280c8de5b0SBaptiste Daroussin #ifndef yyerror
290c8de5b0SBaptiste Daroussin #define yyerror demo_error
300c8de5b0SBaptiste Daroussin #endif /* yyerror */
310c8de5b0SBaptiste Daroussin
320c8de5b0SBaptiste Daroussin #ifndef yychar
330c8de5b0SBaptiste Daroussin #define yychar demo_char
340c8de5b0SBaptiste Daroussin #endif /* yychar */
350c8de5b0SBaptiste Daroussin
360c8de5b0SBaptiste Daroussin #ifndef yyval
370c8de5b0SBaptiste Daroussin #define yyval demo_val
380c8de5b0SBaptiste Daroussin #endif /* yyval */
390c8de5b0SBaptiste Daroussin
400c8de5b0SBaptiste Daroussin #ifndef yylval
410c8de5b0SBaptiste Daroussin #define yylval demo_lval
420c8de5b0SBaptiste Daroussin #endif /* yylval */
430c8de5b0SBaptiste Daroussin
440c8de5b0SBaptiste Daroussin #ifndef yydebug
450c8de5b0SBaptiste Daroussin #define yydebug demo_debug
460c8de5b0SBaptiste Daroussin #endif /* yydebug */
470c8de5b0SBaptiste Daroussin
480c8de5b0SBaptiste Daroussin #ifndef yynerrs
490c8de5b0SBaptiste Daroussin #define yynerrs demo_nerrs
500c8de5b0SBaptiste Daroussin #endif /* yynerrs */
510c8de5b0SBaptiste Daroussin
520c8de5b0SBaptiste Daroussin #ifndef yyerrflag
530c8de5b0SBaptiste Daroussin #define yyerrflag demo_errflag
540c8de5b0SBaptiste Daroussin #endif /* yyerrflag */
550c8de5b0SBaptiste Daroussin
560c8de5b0SBaptiste Daroussin #ifndef yylhs
570c8de5b0SBaptiste Daroussin #define yylhs demo_lhs
580c8de5b0SBaptiste Daroussin #endif /* yylhs */
590c8de5b0SBaptiste Daroussin
600c8de5b0SBaptiste Daroussin #ifndef yylen
610c8de5b0SBaptiste Daroussin #define yylen demo_len
620c8de5b0SBaptiste Daroussin #endif /* yylen */
630c8de5b0SBaptiste Daroussin
640c8de5b0SBaptiste Daroussin #ifndef yydefred
650c8de5b0SBaptiste Daroussin #define yydefred demo_defred
660c8de5b0SBaptiste Daroussin #endif /* yydefred */
670c8de5b0SBaptiste Daroussin
680c8de5b0SBaptiste Daroussin #ifndef yystos
690c8de5b0SBaptiste Daroussin #define yystos demo_stos
700c8de5b0SBaptiste Daroussin #endif /* yystos */
710c8de5b0SBaptiste Daroussin
720c8de5b0SBaptiste Daroussin #ifndef yydgoto
730c8de5b0SBaptiste Daroussin #define yydgoto demo_dgoto
740c8de5b0SBaptiste Daroussin #endif /* yydgoto */
750c8de5b0SBaptiste Daroussin
760c8de5b0SBaptiste Daroussin #ifndef yysindex
770c8de5b0SBaptiste Daroussin #define yysindex demo_sindex
780c8de5b0SBaptiste Daroussin #endif /* yysindex */
790c8de5b0SBaptiste Daroussin
800c8de5b0SBaptiste Daroussin #ifndef yyrindex
810c8de5b0SBaptiste Daroussin #define yyrindex demo_rindex
820c8de5b0SBaptiste Daroussin #endif /* yyrindex */
830c8de5b0SBaptiste Daroussin
840c8de5b0SBaptiste Daroussin #ifndef yygindex
850c8de5b0SBaptiste Daroussin #define yygindex demo_gindex
860c8de5b0SBaptiste Daroussin #endif /* yygindex */
870c8de5b0SBaptiste Daroussin
880c8de5b0SBaptiste Daroussin #ifndef yytable
890c8de5b0SBaptiste Daroussin #define yytable demo_table
900c8de5b0SBaptiste Daroussin #endif /* yytable */
910c8de5b0SBaptiste Daroussin
920c8de5b0SBaptiste Daroussin #ifndef yycheck
930c8de5b0SBaptiste Daroussin #define yycheck demo_check
940c8de5b0SBaptiste Daroussin #endif /* yycheck */
950c8de5b0SBaptiste Daroussin
960c8de5b0SBaptiste Daroussin #ifndef yyname
970c8de5b0SBaptiste Daroussin #define yyname demo_name
980c8de5b0SBaptiste Daroussin #endif /* yyname */
990c8de5b0SBaptiste Daroussin
1000c8de5b0SBaptiste Daroussin #ifndef yyrule
1010c8de5b0SBaptiste Daroussin #define yyrule demo_rule
1020c8de5b0SBaptiste Daroussin #endif /* yyrule */
1030c8de5b0SBaptiste Daroussin
1040c8de5b0SBaptiste Daroussin #ifndef yyloc
1050c8de5b0SBaptiste Daroussin #define yyloc demo_loc
1060c8de5b0SBaptiste Daroussin #endif /* yyloc */
1070c8de5b0SBaptiste Daroussin
1080c8de5b0SBaptiste Daroussin #ifndef yylloc
1090c8de5b0SBaptiste Daroussin #define yylloc demo_lloc
1100c8de5b0SBaptiste Daroussin #endif /* yylloc */
1110c8de5b0SBaptiste Daroussin
1120c8de5b0SBaptiste Daroussin #if YYBTYACC
1130c8de5b0SBaptiste Daroussin
1140c8de5b0SBaptiste Daroussin #ifndef yycindex
1150c8de5b0SBaptiste Daroussin #define yycindex demo_cindex
1160c8de5b0SBaptiste Daroussin #endif /* yycindex */
1170c8de5b0SBaptiste Daroussin
1180c8de5b0SBaptiste Daroussin #ifndef yyctable
1190c8de5b0SBaptiste Daroussin #define yyctable demo_ctable
1200c8de5b0SBaptiste Daroussin #endif /* yyctable */
1210c8de5b0SBaptiste Daroussin
1220c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
1230c8de5b0SBaptiste Daroussin
1240c8de5b0SBaptiste Daroussin #define YYPREFIX "demo_"
1250c8de5b0SBaptiste Daroussin
1260c8de5b0SBaptiste Daroussin #define YYPURE 0
1270c8de5b0SBaptiste Daroussin
1280c8de5b0SBaptiste Daroussin #line 15 "btyacc_demo.y"
1290c8de5b0SBaptiste Daroussin /* dummy types just for compile check */
1300c8de5b0SBaptiste Daroussin typedef int Code;
1310c8de5b0SBaptiste Daroussin typedef int Decl_List;
1320c8de5b0SBaptiste Daroussin typedef int Expr;
1330c8de5b0SBaptiste Daroussin typedef int Expr_List;
1340c8de5b0SBaptiste Daroussin typedef int Scope;
1350c8de5b0SBaptiste Daroussin typedef int Type;
1360c8de5b0SBaptiste Daroussin enum Operator { ADD, SUB, MUL, MOD, DIV, DEREF };
1370c8de5b0SBaptiste Daroussin
1380c8de5b0SBaptiste Daroussin typedef unsigned char bool;
1390c8de5b0SBaptiste Daroussin typedef struct Decl {
1400c8de5b0SBaptiste Daroussin Scope *scope;
1410c8de5b0SBaptiste Daroussin Type *type;
1420c8de5b0SBaptiste Daroussin bool (*istype)(void);
1430c8de5b0SBaptiste Daroussin } Decl;
1440c8de5b0SBaptiste Daroussin
1450c8de5b0SBaptiste Daroussin #include "btyacc_demo.tab.h"
1460c8de5b0SBaptiste Daroussin #include <stdlib.h>
1470c8de5b0SBaptiste Daroussin #include <stdio.h>
1480c8de5b0SBaptiste Daroussin #ifdef YYSTYPE
1490c8de5b0SBaptiste Daroussin #undef YYSTYPE_IS_DECLARED
1500c8de5b0SBaptiste Daroussin #define YYSTYPE_IS_DECLARED 1
1510c8de5b0SBaptiste Daroussin #endif
1520c8de5b0SBaptiste Daroussin #ifndef YYSTYPE_IS_DECLARED
1530c8de5b0SBaptiste Daroussin #define YYSTYPE_IS_DECLARED 1
154c5b5d71aSJung-uk Kim #line 36 "btyacc_demo.y"
155*822ca327SBaptiste Daroussin typedef union YYSTYPE {
1560c8de5b0SBaptiste Daroussin Scope *scope;
1570c8de5b0SBaptiste Daroussin Expr *expr;
1580c8de5b0SBaptiste Daroussin Expr_List *elist;
1590c8de5b0SBaptiste Daroussin Type *type;
1600c8de5b0SBaptiste Daroussin Decl *decl;
1610c8de5b0SBaptiste Daroussin Decl_List *dlist;
1620c8de5b0SBaptiste Daroussin Code *code;
1630c8de5b0SBaptiste Daroussin char *id;
1640c8de5b0SBaptiste Daroussin } YYSTYPE;
1650c8de5b0SBaptiste Daroussin #endif /* !YYSTYPE_IS_DECLARED */
1660c8de5b0SBaptiste Daroussin #line 167 "btyacc_demo.tab.c"
1670c8de5b0SBaptiste Daroussin
1680c8de5b0SBaptiste Daroussin #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1690c8de5b0SBaptiste Daroussin /* Default: YYLTYPE is the text position type. */
1700c8de5b0SBaptiste Daroussin typedef struct YYLTYPE
1710c8de5b0SBaptiste Daroussin {
1720c8de5b0SBaptiste Daroussin int first_line;
1730c8de5b0SBaptiste Daroussin int first_column;
1740c8de5b0SBaptiste Daroussin int last_line;
1750c8de5b0SBaptiste Daroussin int last_column;
1762aca18c7SJung-uk Kim unsigned source;
1770c8de5b0SBaptiste Daroussin } YYLTYPE;
1780c8de5b0SBaptiste Daroussin #define YYLTYPE_IS_DECLARED 1
1790c8de5b0SBaptiste Daroussin #endif
1802aca18c7SJung-uk Kim #define YYRHSLOC(rhs, k) ((rhs)[k])
1810c8de5b0SBaptiste Daroussin
1820c8de5b0SBaptiste Daroussin /* compatibility with bison */
1830c8de5b0SBaptiste Daroussin #ifdef YYPARSE_PARAM
1840c8de5b0SBaptiste Daroussin /* compatibility with FreeBSD */
1850c8de5b0SBaptiste Daroussin # ifdef YYPARSE_PARAM_TYPE
1860c8de5b0SBaptiste Daroussin # define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
1870c8de5b0SBaptiste Daroussin # else
1880c8de5b0SBaptiste Daroussin # define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
1890c8de5b0SBaptiste Daroussin # endif
1900c8de5b0SBaptiste Daroussin #else
1910c8de5b0SBaptiste Daroussin # define YYPARSE_DECL() yyparse(void)
1920c8de5b0SBaptiste Daroussin #endif
1930c8de5b0SBaptiste Daroussin
1940c8de5b0SBaptiste Daroussin /* Parameters sent to lex. */
1950c8de5b0SBaptiste Daroussin #ifdef YYLEX_PARAM
1960c8de5b0SBaptiste Daroussin # define YYLEX_DECL() yylex(void *YYLEX_PARAM)
1970c8de5b0SBaptiste Daroussin # define YYLEX yylex(YYLEX_PARAM)
1980c8de5b0SBaptiste Daroussin #else
1990c8de5b0SBaptiste Daroussin # define YYLEX_DECL() yylex(void)
2000c8de5b0SBaptiste Daroussin # define YYLEX yylex()
2010c8de5b0SBaptiste Daroussin #endif
2020c8de5b0SBaptiste Daroussin
2030c8de5b0SBaptiste Daroussin /* Parameters sent to yyerror. */
2040c8de5b0SBaptiste Daroussin #ifndef YYERROR_DECL
2052aca18c7SJung-uk Kim #define YYERROR_DECL() yyerror(YYLTYPE *loc, const char *s)
2060c8de5b0SBaptiste Daroussin #endif
2070c8de5b0SBaptiste Daroussin #ifndef YYERROR_CALL
2082aca18c7SJung-uk Kim #define YYERROR_CALL(msg) yyerror(&yylloc, msg)
2090c8de5b0SBaptiste Daroussin #endif
2100c8de5b0SBaptiste Daroussin
2110c8de5b0SBaptiste Daroussin #ifndef YYDESTRUCT_DECL
2120c8de5b0SBaptiste Daroussin #define YYDESTRUCT_DECL() yydestruct(const char *msg, int psymb, YYSTYPE *val, YYLTYPE *loc)
2130c8de5b0SBaptiste Daroussin #endif
2140c8de5b0SBaptiste Daroussin #ifndef YYDESTRUCT_CALL
2150c8de5b0SBaptiste Daroussin #define YYDESTRUCT_CALL(msg, psymb, val, loc) yydestruct(msg, psymb, val, loc)
2160c8de5b0SBaptiste Daroussin #endif
2170c8de5b0SBaptiste Daroussin
2180c8de5b0SBaptiste Daroussin extern int YYPARSE_DECL();
2190c8de5b0SBaptiste Daroussin
2200c8de5b0SBaptiste Daroussin #define PREFIX 257
2210c8de5b0SBaptiste Daroussin #define POSTFIX 258
2220c8de5b0SBaptiste Daroussin #define ID 259
2230c8de5b0SBaptiste Daroussin #define CONSTANT 260
2240c8de5b0SBaptiste Daroussin #define EXTERN 261
2250c8de5b0SBaptiste Daroussin #define REGISTER 262
2260c8de5b0SBaptiste Daroussin #define STATIC 263
2270c8de5b0SBaptiste Daroussin #define CONST 264
2280c8de5b0SBaptiste Daroussin #define VOLATILE 265
2290c8de5b0SBaptiste Daroussin #define IF 266
2300c8de5b0SBaptiste Daroussin #define THEN 267
2310c8de5b0SBaptiste Daroussin #define ELSE 268
2320c8de5b0SBaptiste Daroussin #define CLCL 269
2330c8de5b0SBaptiste Daroussin #define YYERRCODE 256
234b53bb29fSJung-uk Kim typedef int YYINT;
2350c8de5b0SBaptiste Daroussin static const YYINT demo_lhs[] = { -1,
236c5b5d71aSJung-uk Kim 15, 15, 15, 12, 18, 0, 4, 19, 4, 2,
237c5b5d71aSJung-uk Kim 20, 2, 10, 10, 13, 13, 11, 11, 11, 11,
238c5b5d71aSJung-uk Kim 11, 14, 14, 21, 22, 3, 3, 8, 8, 23,
239c5b5d71aSJung-uk Kim 24, 8, 8, 8, 8, 16, 16, 17, 17, 9,
240c5b5d71aSJung-uk Kim 1, 1, 1, 1, 1, 1, 1, 1, 5, 5,
241c5b5d71aSJung-uk Kim 25, 26, 5, 5, 27, 5, 6, 6, 7,
2420c8de5b0SBaptiste Daroussin };
2430c8de5b0SBaptiste Daroussin static const YYINT demo_len[] = { 2,
244c5b5d71aSJung-uk Kim 0, 1, 3, 2, 0, 2, 0, 0, 3, 3,
245c5b5d71aSJung-uk Kim 0, 4, 1, 3, 0, 2, 1, 1, 1, 1,
246c5b5d71aSJung-uk Kim 1, 1, 1, 0, 0, 5, 1, 0, 1, 0,
247c5b5d71aSJung-uk Kim 0, 5, 5, 5, 6, 0, 1, 4, 1, 2,
248c5b5d71aSJung-uk Kim 4, 4, 4, 4, 4, 3, 1, 1, 1, 2,
249c5b5d71aSJung-uk Kim 0, 0, 11, 8, 0, 2, 0, 3, 4,
2500c8de5b0SBaptiste Daroussin };
2510c8de5b0SBaptiste Daroussin static const YYINT demo_defred[] = { 5,
252c5b5d71aSJung-uk Kim 0, 7, 0, 0, 19, 20, 21, 22, 23, 2,
253c5b5d71aSJung-uk Kim 9, 0, 13, 18, 17, 0, 15, 30, 29, 0,
254c5b5d71aSJung-uk Kim 0, 0, 0, 0, 31, 10, 24, 24, 24, 0,
255c5b5d71aSJung-uk Kim 14, 3, 16, 25, 0, 25, 0, 0, 8, 12,
256c5b5d71aSJung-uk Kim 0, 0, 0, 39, 0, 0, 0, 8, 47, 48,
257c5b5d71aSJung-uk Kim 0, 57, 0, 32, 0, 0, 15, 30, 0, 30,
258c5b5d71aSJung-uk Kim 30, 30, 30, 30, 34, 0, 0, 0, 46, 0,
259c5b5d71aSJung-uk Kim 0, 0, 0, 0, 59, 0, 38, 0, 0, 43,
260c5b5d71aSJung-uk Kim 45, 44, 0, 0, 49, 58, 0, 30, 50, 56,
261c5b5d71aSJung-uk Kim 0, 0, 0, 51, 0, 0, 52, 0, 53,
2620c8de5b0SBaptiste Daroussin };
2632aca18c7SJung-uk Kim #if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING)
2640c8de5b0SBaptiste Daroussin static const YYINT demo_stos[] = { 0,
2650c8de5b0SBaptiste Daroussin 271, 289, 275, 290, 261, 262, 263, 264, 265, 269,
266c5b5d71aSJung-uk Kim 273, 281, 282, 283, 285, 286, 42, 40, 259, 274,
267c5b5d71aSJung-uk Kim 279, 290, 259, 284, 294, 59, 44, 40, 91, 291,
268c5b5d71aSJung-uk Kim 282, 269, 285, 292, 295, 292, 292, 292, 123, 278,
269c5b5d71aSJung-uk Kim 293, 279, 293, 280, 281, 287, 288, 42, 259, 260,
270c5b5d71aSJung-uk Kim 272, 290, 279, 41, 279, 279, 41, 44, 290, 43,
271c5b5d71aSJung-uk Kim 45, 42, 47, 37, 93, 277, 284, 294, 272, 294,
272c5b5d71aSJung-uk Kim 294, 294, 294, 294, 125, 290, 280, 272, 272, 272,
273c5b5d71aSJung-uk Kim 272, 272, 266, 272, 273, 276, 298, 40, 59, 278,
274c5b5d71aSJung-uk Kim 294, 272, 41, 267, 296, 276, 268, 297, 276,
2750c8de5b0SBaptiste Daroussin };
2762aca18c7SJung-uk Kim #endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */
2770c8de5b0SBaptiste Daroussin static const YYINT demo_dgoto[] = { 1,
278c5b5d71aSJung-uk Kim 84, 85, 20, 3, 86, 66, 40, 21, 44, 12,
279c5b5d71aSJung-uk Kim 13, 14, 24, 15, 16, 46, 47, 2, 22, 30,
280c5b5d71aSJung-uk Kim 34, 41, 25, 35, 95, 98, 87,
2810c8de5b0SBaptiste Daroussin };
2820c8de5b0SBaptiste Daroussin static const YYINT demo_sindex[] = { 0,
283c5b5d71aSJung-uk Kim 0, 0, 0, -103, 0, 0, 0, 0, 0, 0,
284c5b5d71aSJung-uk Kim 0, -31, 0, 0, 0, -238, 0, 0, 0, 4,
285c5b5d71aSJung-uk Kim -36, -103, 0, -133, 0, 0, 0, 0, 0, -94,
286c5b5d71aSJung-uk Kim 0, 0, 0, 0, -40, 0, -103, -33, 0, 0,
287c5b5d71aSJung-uk Kim -40, -25, -40, 0, -31, 8, 15, 0, 0, 0,
288c5b5d71aSJung-uk Kim -2, 0, -36, 0, -36, -36, 0, 0, -33, 0,
289c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, -92, -133, -103, 0, -33,
290c5b5d71aSJung-uk Kim -33, -33, -33, -33, 0, -8, 0, 23, 23, 0,
291c5b5d71aSJung-uk Kim 0, 0, 11, 75, 0, 0, -94, 0, 0, 0,
292c5b5d71aSJung-uk Kim -33, 96, -194, 0, -8, 0, 0, -8, 0,
2930c8de5b0SBaptiste Daroussin };
2940c8de5b0SBaptiste Daroussin static const YYINT demo_rindex[] = { 0,
295c5b5d71aSJung-uk Kim 0, 0, 1, -181, 0, 0, 0, 0, 0, 0,
296c5b5d71aSJung-uk Kim 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
297c5b5d71aSJung-uk Kim -39, -181, 12, -34, 0, 0, 0, 0, 0, 0,
298c5b5d71aSJung-uk Kim 0, 0, 0, 0, -5, 0, -11, 0, 0, 0,
299c5b5d71aSJung-uk Kim -17, 0, 28, 0, -41, 0, 47, 0, 0, 0,
300c5b5d71aSJung-uk Kim 0, 0, -13, 0, 18, 70, 0, 0, 0, 0,
301c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, -19, -27, -181, 0, 0,
302c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, -29, 0, 56, 64, 0,
303c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304c5b5d71aSJung-uk Kim 0, 0, 0, 0, -29, -30, 0, -29, 0,
3050c8de5b0SBaptiste Daroussin };
3060c8de5b0SBaptiste Daroussin #if YYBTYACC
3070c8de5b0SBaptiste Daroussin static const YYINT demo_cindex[] = { 0,
3080c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
309c5b5d71aSJung-uk Kim 0, -22, 0, 0, 0, 0, 0, 0, 0, 0,
310c5b5d71aSJung-uk Kim 0, 0, -179, 0, 0, 0, 0, 0, 0, 0,
311c5b5d71aSJung-uk Kim 0, 0, 0, 0, 52, 0, 0, 0, 0, 0,
312c5b5d71aSJung-uk Kim 58, 0, 62, 0, -21, 0, 0, 0, 0, 0,
3130c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3140c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
315c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, -146, 0, 0, 0, 0,
316c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317c5b5d71aSJung-uk Kim 0, 0, 0, 0, -143, -147, 0, -134, 0,
3180c8de5b0SBaptiste Daroussin };
3190c8de5b0SBaptiste Daroussin #endif
3200c8de5b0SBaptiste Daroussin static const YYINT demo_gindex[] = { 0,
321c5b5d71aSJung-uk Kim 9, 143, 0, 0, 50, 0, 63, 101, 83, 7,
322c5b5d71aSJung-uk Kim 130, 0, 98, 2, 0, 0, 0, 0, 19, 0,
323c5b5d71aSJung-uk Kim 10, 117, 66, 0, 0, 0, 0,
3240c8de5b0SBaptiste Daroussin };
325c5b5d71aSJung-uk Kim #define YYTABLESIZE 286
326c5b5d71aSJung-uk Kim static const YYINT demo_table[] = { 28,
327c5b5d71aSJung-uk Kim 6, 17, 28, 28, 27, 24, 24, 24, 48, 24,
328c5b5d71aSJung-uk Kim 17, 54, 35, 35, 28, 54, 35, 0, 0, 27,
329c5b5d71aSJung-uk Kim 23, 4, 8, 28, 24, 33, 28, 33, 39, 36,
330c5b5d71aSJung-uk Kim 33, 35, 75, 48, 64, 28, 36, 37, 38, 62,
331c5b5d71aSJung-uk Kim 60, 28, 61, 45, 63, 33, 51, 27, 57, 28,
332c5b5d71aSJung-uk Kim 88, 4, 4, 4, 29, 4, 24, 52, 58, 64,
333c5b5d71aSJung-uk Kim 28, 26, 26, 35, 62, 29, 59, 69, 33, 63,
334c5b5d71aSJung-uk Kim 4, 28, 94, 28, 45, 28, 26, 1, 78, 79,
335c5b5d71aSJung-uk Kim 80, 81, 82, 11, 76, 28, 28, 37, 24, 6,
336c5b5d71aSJung-uk Kim 65, 0, 54, 55, 54, 35, 41, 0, 41, 92,
337c5b5d71aSJung-uk Kim 41, 0, 4, 8, 42, 28, 42, 28, 42, 33,
338c5b5d71aSJung-uk Kim 40, 64, 9, 40, 41, 9, 62, 60, 28, 61,
339c5b5d71aSJung-uk Kim 12, 63, 42, 68, 9, 70, 71, 72, 73, 74,
340c5b5d71aSJung-uk Kim 8, 9, 64, 89, 4, 42, 93, 62, 60, 28,
341c5b5d71aSJung-uk Kim 61, 53, 63, 55, 96, 56, 11, 99, 41, 90,
342c5b5d71aSJung-uk Kim 77, 31, 43, 91, 67, 0, 42, 5, 6, 7,
343c5b5d71aSJung-uk Kim 8, 9, 0, 0, 0, 10, 0, 0, 0, 0,
3440c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3450c8de5b0SBaptiste Daroussin 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
346c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
347c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
348c5b5d71aSJung-uk Kim 0, 0, 0, 0, 0, 0, 0, 0, 19, 8,
349c5b5d71aSJung-uk Kim 8, 8, 8, 8, 24, 49, 50, 8, 54, 54,
350c5b5d71aSJung-uk Kim 54, 54, 54, 54, 54, 54, 3, 3, 54, 8,
351c5b5d71aSJung-uk Kim 8, 8, 8, 8, 8, 8, 8, 1, 0, 8,
352c5b5d71aSJung-uk Kim 0, 50, 5, 6, 7, 8, 9, 83, 0, 8,
353c5b5d71aSJung-uk Kim 10, 8, 8, 8, 8, 8, 0, 0, 0, 8,
354c5b5d71aSJung-uk Kim 4, 0, 4, 4, 4, 4, 4, 8, 8, 8,
355c5b5d71aSJung-uk Kim 8, 8, 0, 0, 0, 8,
3560c8de5b0SBaptiste Daroussin };
357c5b5d71aSJung-uk Kim static const YYINT demo_check[] = { 41,
358c5b5d71aSJung-uk Kim 0, 42, 44, 40, 44, 40, 41, 42, 42, 44,
359c5b5d71aSJung-uk Kim 42, 42, 40, 41, 40, 41, 44, 40, 40, 59,
360c5b5d71aSJung-uk Kim 259, 3, 42, 41, 59, 24, 44, 41, 123, 41,
361c5b5d71aSJung-uk Kim 44, 59, 125, 42, 37, 41, 27, 28, 29, 42,
362c5b5d71aSJung-uk Kim 43, 59, 45, 37, 47, 59, 38, 44, 41, 91,
363c5b5d71aSJung-uk Kim 40, 40, 41, 42, 91, 44, 91, 39, 44, 37,
364c5b5d71aSJung-uk Kim 44, 44, 59, 91, 42, 91, 48, 59, 67, 47,
365c5b5d71aSJung-uk Kim 59, 44, 267, 91, 68, 59, 59, 259, 70, 71,
366c5b5d71aSJung-uk Kim 72, 73, 74, 123, 66, 91, 59, 41, 123, 269,
367c5b5d71aSJung-uk Kim 93, 40, 123, 123, 125, 123, 41, 40, 43, 91,
368c5b5d71aSJung-uk Kim 45, 40, 91, 123, 41, 123, 43, 91, 45, 123,
369c5b5d71aSJung-uk Kim 41, 37, 259, 44, 59, 259, 42, 43, 91, 45,
370c5b5d71aSJung-uk Kim 268, 47, 59, 58, 259, 60, 61, 62, 63, 64,
371c5b5d71aSJung-uk Kim 264, 265, 37, 59, 123, 35, 41, 42, 43, 123,
372c5b5d71aSJung-uk Kim 45, 41, 47, 43, 95, 45, 4, 98, 93, 87,
373c5b5d71aSJung-uk Kim 68, 22, 36, 88, 57, -1, 93, 261, 262, 263,
374c5b5d71aSJung-uk Kim 264, 265, -1, -1, -1, 269, -1, -1, -1, -1,
3750c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3760c8de5b0SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
377c5b5d71aSJung-uk Kim -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
378c5b5d71aSJung-uk Kim -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
379c5b5d71aSJung-uk Kim -1, -1, -1, -1, -1, -1, -1, -1, 259, 261,
380c5b5d71aSJung-uk Kim 262, 263, 264, 265, 259, 259, 260, 269, 259, 260,
381c5b5d71aSJung-uk Kim 261, 262, 263, 264, 265, 266, 259, 259, 269, 259,
382c5b5d71aSJung-uk Kim 260, 261, 262, 263, 264, 265, 266, 259, -1, 269,
383c5b5d71aSJung-uk Kim -1, 260, 261, 262, 263, 264, 265, 266, -1, 259,
384c5b5d71aSJung-uk Kim 269, 261, 262, 263, 264, 265, -1, -1, -1, 269,
385c5b5d71aSJung-uk Kim 259, -1, 261, 262, 263, 264, 265, 261, 262, 263,
386c5b5d71aSJung-uk Kim 264, 265, -1, -1, -1, 269,
3870c8de5b0SBaptiste Daroussin };
3880c8de5b0SBaptiste Daroussin #if YYBTYACC
389c5b5d71aSJung-uk Kim static const YYINT demo_ctable[] = { 18,
390c5b5d71aSJung-uk Kim 28, -1, 19, 8, -1, 32, 4, -1, 49, 1,
391c5b5d71aSJung-uk Kim -1, 97, 54, -1, -1, -1, -1, -1, -1, -1,
39211fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39311fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39411fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39511fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39611fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39711fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39811fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39911fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40011fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40111fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40211fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40311fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40411fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40511fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40611fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40711fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40811fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
40911fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41011fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41111fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41211fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41311fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41411fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41511fce282SBaptiste Daroussin -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
416c5b5d71aSJung-uk Kim -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
417c5b5d71aSJung-uk Kim -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
418c5b5d71aSJung-uk Kim -1, -1, -1, -1, -1,
4190c8de5b0SBaptiste Daroussin };
4200c8de5b0SBaptiste Daroussin #endif
4210c8de5b0SBaptiste Daroussin #define YYFINAL 1
4220c8de5b0SBaptiste Daroussin #ifndef YYDEBUG
4230c8de5b0SBaptiste Daroussin #define YYDEBUG 0
4240c8de5b0SBaptiste Daroussin #endif
4250c8de5b0SBaptiste Daroussin #define YYMAXTOKEN 269
426c5b5d71aSJung-uk Kim #define YYUNDFTOKEN 299
4270c8de5b0SBaptiste Daroussin #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
4280c8de5b0SBaptiste Daroussin #if YYDEBUG
4290c8de5b0SBaptiste Daroussin static const char *const demo_name[] = {
4300c8de5b0SBaptiste Daroussin
4310c8de5b0SBaptiste Daroussin "$end",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4320c8de5b0SBaptiste Daroussin "'%'",0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,0,0,0,0,0,0,
4330c8de5b0SBaptiste Daroussin "';'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'['",0,
4340c8de5b0SBaptiste Daroussin "']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,
4350c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4360c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4370c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4380c8de5b0SBaptiste Daroussin 0,0,0,0,0,0,0,0,0,"error","PREFIX","POSTFIX","ID","CONSTANT","EXTERN",
4390c8de5b0SBaptiste Daroussin "REGISTER","STATIC","CONST","VOLATILE","IF","THEN","ELSE","CLCL","$accept",
4400c8de5b0SBaptiste Daroussin "input","expr","decl","declarator_list","decl_list","statement",
4410c8de5b0SBaptiste Daroussin "statement_list","block_statement","declarator","formal_arg","decl_specs",
4420c8de5b0SBaptiste Daroussin "decl_spec","typename","cv_quals","cv_qual","opt_scope","formal_arg_list",
4430c8de5b0SBaptiste Daroussin "nonempty_formal_arg_list","$$1","$$2","$$3","$$4","$$5","$$6","$$7","$$8",
444c5b5d71aSJung-uk Kim "$$9","$$10","illegal-symbol",
4450c8de5b0SBaptiste Daroussin };
4460c8de5b0SBaptiste Daroussin static const char *const demo_rule[] = {
4470c8de5b0SBaptiste Daroussin "$accept : input",
4480c8de5b0SBaptiste Daroussin "opt_scope :",
4490c8de5b0SBaptiste Daroussin "opt_scope : CLCL",
4500c8de5b0SBaptiste Daroussin "opt_scope : opt_scope ID CLCL",
4510c8de5b0SBaptiste Daroussin "typename : opt_scope ID",
4520c8de5b0SBaptiste Daroussin "$$1 :",
4530c8de5b0SBaptiste Daroussin "input : $$1 decl_list",
4540c8de5b0SBaptiste Daroussin "decl_list :",
4550c8de5b0SBaptiste Daroussin "$$2 :",
4560c8de5b0SBaptiste Daroussin "decl_list : decl_list $$2 decl",
457c5b5d71aSJung-uk Kim "decl : decl_specs declarator_list ';'",
4580c8de5b0SBaptiste Daroussin "$$3 :",
459c5b5d71aSJung-uk Kim "decl : decl_specs declarator $$3 block_statement",
4600c8de5b0SBaptiste Daroussin "decl_specs : decl_spec",
4610c8de5b0SBaptiste Daroussin "decl_specs : decl_specs $$2 decl_spec",
4620c8de5b0SBaptiste Daroussin "cv_quals :",
4630c8de5b0SBaptiste Daroussin "cv_quals : cv_quals cv_qual",
4640c8de5b0SBaptiste Daroussin "decl_spec : cv_qual",
4650c8de5b0SBaptiste Daroussin "decl_spec : typename",
4660c8de5b0SBaptiste Daroussin "decl_spec : EXTERN",
4670c8de5b0SBaptiste Daroussin "decl_spec : REGISTER",
4680c8de5b0SBaptiste Daroussin "decl_spec : STATIC",
4690c8de5b0SBaptiste Daroussin "cv_qual : CONST",
4700c8de5b0SBaptiste Daroussin "cv_qual : VOLATILE",
471c5b5d71aSJung-uk Kim "$$4 :",
4720c8de5b0SBaptiste Daroussin "$$5 :",
473c5b5d71aSJung-uk Kim "declarator_list : declarator_list ',' $$4 $$5 declarator",
4740c8de5b0SBaptiste Daroussin "declarator_list : declarator",
4750c8de5b0SBaptiste Daroussin "declarator :",
4760c8de5b0SBaptiste Daroussin "declarator : ID",
477c5b5d71aSJung-uk Kim "$$6 :",
4780c8de5b0SBaptiste Daroussin "$$7 :",
479c5b5d71aSJung-uk Kim "declarator : '(' $$6 $$7 declarator ')'",
480c5b5d71aSJung-uk Kim "declarator : '*' cv_quals $$4 $$5 declarator",
481c5b5d71aSJung-uk Kim "declarator : declarator '[' $$4 expr ']'",
482c5b5d71aSJung-uk Kim "declarator : declarator '(' $$4 formal_arg_list ')' cv_quals",
4830c8de5b0SBaptiste Daroussin "formal_arg_list :",
4840c8de5b0SBaptiste Daroussin "formal_arg_list : nonempty_formal_arg_list",
485c5b5d71aSJung-uk Kim "nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 formal_arg",
4860c8de5b0SBaptiste Daroussin "nonempty_formal_arg_list : formal_arg",
487c5b5d71aSJung-uk Kim "formal_arg : decl_specs declarator",
488c5b5d71aSJung-uk Kim "expr : expr '+' $$6 expr",
489c5b5d71aSJung-uk Kim "expr : expr '-' $$6 expr",
490c5b5d71aSJung-uk Kim "expr : expr '*' $$6 expr",
491c5b5d71aSJung-uk Kim "expr : expr '%' $$6 expr",
492c5b5d71aSJung-uk Kim "expr : expr '/' $$6 expr",
4930c8de5b0SBaptiste Daroussin "expr : '*' $$2 expr",
4940c8de5b0SBaptiste Daroussin "expr : ID",
4950c8de5b0SBaptiste Daroussin "expr : CONSTANT",
4960c8de5b0SBaptiste Daroussin "statement : decl",
497c5b5d71aSJung-uk Kim "statement : expr ';'",
498c5b5d71aSJung-uk Kim "$$8 :",
4990c8de5b0SBaptiste Daroussin "$$9 :",
500c5b5d71aSJung-uk Kim "statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement",
501c5b5d71aSJung-uk Kim "statement : IF '(' $$6 expr ')' THEN $$8 statement",
5020c8de5b0SBaptiste Daroussin "$$10 :",
503c5b5d71aSJung-uk Kim "statement : $$10 block_statement",
5040c8de5b0SBaptiste Daroussin "statement_list :",
5050c8de5b0SBaptiste Daroussin "statement_list : statement_list $$2 statement",
5060c8de5b0SBaptiste Daroussin "block_statement : '{' $$2 statement_list '}'",
5070c8de5b0SBaptiste Daroussin
5080c8de5b0SBaptiste Daroussin };
5090c8de5b0SBaptiste Daroussin #endif
5100c8de5b0SBaptiste Daroussin
511b53bb29fSJung-uk Kim #if YYDEBUG
5120c8de5b0SBaptiste Daroussin int yydebug;
513b53bb29fSJung-uk Kim #endif
5140c8de5b0SBaptiste Daroussin
5150c8de5b0SBaptiste Daroussin int yyerrflag;
5160c8de5b0SBaptiste Daroussin int yychar;
5170c8de5b0SBaptiste Daroussin YYSTYPE yyval;
5180c8de5b0SBaptiste Daroussin YYSTYPE yylval;
519b53bb29fSJung-uk Kim int yynerrs;
520b53bb29fSJung-uk Kim
5210c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
5220c8de5b0SBaptiste Daroussin YYLTYPE yyloc; /* position returned by actions */
5230c8de5b0SBaptiste Daroussin YYLTYPE yylloc; /* position from the lexer */
5240c8de5b0SBaptiste Daroussin #endif
5250c8de5b0SBaptiste Daroussin
5260c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
5270c8de5b0SBaptiste Daroussin #ifndef YYLLOC_DEFAULT
5280c8de5b0SBaptiste Daroussin #define YYLLOC_DEFAULT(loc, rhs, n) \
5290c8de5b0SBaptiste Daroussin do \
5300c8de5b0SBaptiste Daroussin { \
5310c8de5b0SBaptiste Daroussin if (n == 0) \
5320c8de5b0SBaptiste Daroussin { \
533b53bb29fSJung-uk Kim (loc).first_line = YYRHSLOC(rhs, 0).last_line; \
534b53bb29fSJung-uk Kim (loc).first_column = YYRHSLOC(rhs, 0).last_column; \
535b53bb29fSJung-uk Kim (loc).last_line = YYRHSLOC(rhs, 0).last_line; \
536b53bb29fSJung-uk Kim (loc).last_column = YYRHSLOC(rhs, 0).last_column; \
5370c8de5b0SBaptiste Daroussin } \
5380c8de5b0SBaptiste Daroussin else \
5390c8de5b0SBaptiste Daroussin { \
540b53bb29fSJung-uk Kim (loc).first_line = YYRHSLOC(rhs, 1).first_line; \
541b53bb29fSJung-uk Kim (loc).first_column = YYRHSLOC(rhs, 1).first_column; \
542b53bb29fSJung-uk Kim (loc).last_line = YYRHSLOC(rhs, n).last_line; \
543b53bb29fSJung-uk Kim (loc).last_column = YYRHSLOC(rhs, n).last_column; \
5440c8de5b0SBaptiste Daroussin } \
5450c8de5b0SBaptiste Daroussin } while (0)
5460c8de5b0SBaptiste Daroussin #endif /* YYLLOC_DEFAULT */
5470c8de5b0SBaptiste Daroussin #endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
5480c8de5b0SBaptiste Daroussin #if YYBTYACC
5490c8de5b0SBaptiste Daroussin
5500c8de5b0SBaptiste Daroussin #ifndef YYLVQUEUEGROWTH
5510c8de5b0SBaptiste Daroussin #define YYLVQUEUEGROWTH 32
5520c8de5b0SBaptiste Daroussin #endif
5530c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
5540c8de5b0SBaptiste Daroussin
5550c8de5b0SBaptiste Daroussin /* define the initial stack-sizes */
5560c8de5b0SBaptiste Daroussin #ifdef YYSTACKSIZE
5570c8de5b0SBaptiste Daroussin #undef YYMAXDEPTH
5580c8de5b0SBaptiste Daroussin #define YYMAXDEPTH YYSTACKSIZE
5590c8de5b0SBaptiste Daroussin #else
5600c8de5b0SBaptiste Daroussin #ifdef YYMAXDEPTH
5610c8de5b0SBaptiste Daroussin #define YYSTACKSIZE YYMAXDEPTH
5620c8de5b0SBaptiste Daroussin #else
5630c8de5b0SBaptiste Daroussin #define YYSTACKSIZE 10000
5640c8de5b0SBaptiste Daroussin #define YYMAXDEPTH 10000
5650c8de5b0SBaptiste Daroussin #endif
5660c8de5b0SBaptiste Daroussin #endif
5670c8de5b0SBaptiste Daroussin
5680c8de5b0SBaptiste Daroussin #ifndef YYINITSTACKSIZE
5690c8de5b0SBaptiste Daroussin #define YYINITSTACKSIZE 200
5700c8de5b0SBaptiste Daroussin #endif
5710c8de5b0SBaptiste Daroussin
5720c8de5b0SBaptiste Daroussin typedef struct {
5730c8de5b0SBaptiste Daroussin unsigned stacksize;
574c5b5d71aSJung-uk Kim YYINT *s_base;
575c5b5d71aSJung-uk Kim YYINT *s_mark;
576c5b5d71aSJung-uk Kim YYINT *s_last;
5770c8de5b0SBaptiste Daroussin YYSTYPE *l_base;
5780c8de5b0SBaptiste Daroussin YYSTYPE *l_mark;
5790c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
5800c8de5b0SBaptiste Daroussin YYLTYPE *p_base;
5810c8de5b0SBaptiste Daroussin YYLTYPE *p_mark;
5820c8de5b0SBaptiste Daroussin #endif
5830c8de5b0SBaptiste Daroussin } YYSTACKDATA;
5840c8de5b0SBaptiste Daroussin #if YYBTYACC
5850c8de5b0SBaptiste Daroussin
5860c8de5b0SBaptiste Daroussin struct YYParseState_s
5870c8de5b0SBaptiste Daroussin {
5880c8de5b0SBaptiste Daroussin struct YYParseState_s *save; /* Previously saved parser state */
5890c8de5b0SBaptiste Daroussin YYSTACKDATA yystack; /* saved parser stack */
5900c8de5b0SBaptiste Daroussin int state; /* saved parser state */
5910c8de5b0SBaptiste Daroussin int errflag; /* saved error recovery status */
5920c8de5b0SBaptiste Daroussin int lexeme; /* saved index of the conflict lexeme in the lexical queue */
5930c8de5b0SBaptiste Daroussin YYINT ctry; /* saved index in yyctable[] for this conflict */
5940c8de5b0SBaptiste Daroussin };
5950c8de5b0SBaptiste Daroussin typedef struct YYParseState_s YYParseState;
5960c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
5970c8de5b0SBaptiste Daroussin /* variables for the parser stack */
5980c8de5b0SBaptiste Daroussin static YYSTACKDATA yystack;
5990c8de5b0SBaptiste Daroussin #if YYBTYACC
6000c8de5b0SBaptiste Daroussin
6010c8de5b0SBaptiste Daroussin /* Current parser state */
6020c8de5b0SBaptiste Daroussin static YYParseState *yyps = 0;
6030c8de5b0SBaptiste Daroussin
6040c8de5b0SBaptiste Daroussin /* yypath != NULL: do the full parse, starting at *yypath parser state. */
6050c8de5b0SBaptiste Daroussin static YYParseState *yypath = 0;
6060c8de5b0SBaptiste Daroussin
6070c8de5b0SBaptiste Daroussin /* Base of the lexical value queue */
6080c8de5b0SBaptiste Daroussin static YYSTYPE *yylvals = 0;
6090c8de5b0SBaptiste Daroussin
6100c8de5b0SBaptiste Daroussin /* Current position at lexical value queue */
6110c8de5b0SBaptiste Daroussin static YYSTYPE *yylvp = 0;
6120c8de5b0SBaptiste Daroussin
6130c8de5b0SBaptiste Daroussin /* End position of lexical value queue */
6140c8de5b0SBaptiste Daroussin static YYSTYPE *yylve = 0;
6150c8de5b0SBaptiste Daroussin
6160c8de5b0SBaptiste Daroussin /* The last allocated position at the lexical value queue */
6170c8de5b0SBaptiste Daroussin static YYSTYPE *yylvlim = 0;
6180c8de5b0SBaptiste Daroussin
6190c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
6200c8de5b0SBaptiste Daroussin /* Base of the lexical position queue */
6210c8de5b0SBaptiste Daroussin static YYLTYPE *yylpsns = 0;
6220c8de5b0SBaptiste Daroussin
6230c8de5b0SBaptiste Daroussin /* Current position at lexical position queue */
6240c8de5b0SBaptiste Daroussin static YYLTYPE *yylpp = 0;
6250c8de5b0SBaptiste Daroussin
6260c8de5b0SBaptiste Daroussin /* End position of lexical position queue */
6270c8de5b0SBaptiste Daroussin static YYLTYPE *yylpe = 0;
6280c8de5b0SBaptiste Daroussin
6290c8de5b0SBaptiste Daroussin /* The last allocated position at the lexical position queue */
6300c8de5b0SBaptiste Daroussin static YYLTYPE *yylplim = 0;
6310c8de5b0SBaptiste Daroussin #endif
6320c8de5b0SBaptiste Daroussin
6330c8de5b0SBaptiste Daroussin /* Current position at lexical token queue */
6342aca18c7SJung-uk Kim static YYINT *yylexp = 0;
6350c8de5b0SBaptiste Daroussin
6362aca18c7SJung-uk Kim static YYINT *yylexemes = 0;
6370c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
6380c8de5b0SBaptiste Daroussin #line 200 "btyacc_demo.y"
6390c8de5b0SBaptiste Daroussin
6400c8de5b0SBaptiste Daroussin extern int YYLEX_DECL();
6410c8de5b0SBaptiste Daroussin extern void YYERROR_DECL();
6420c8de5b0SBaptiste Daroussin
6430c8de5b0SBaptiste Daroussin extern Scope *global_scope;
6440c8de5b0SBaptiste Daroussin
6450c8de5b0SBaptiste Daroussin extern Decl * lookup(Scope *scope, char *id);
6460c8de5b0SBaptiste Daroussin extern Scope * new_scope(Scope *outer_scope);
6470c8de5b0SBaptiste Daroussin extern Scope * start_fn_def(Scope *scope, Decl *fn_decl);
6480c8de5b0SBaptiste Daroussin extern void finish_fn_def(Decl *fn_decl, Code *block);
6490c8de5b0SBaptiste Daroussin extern Type * type_combine(Type *specs, Type *spec);
6500c8de5b0SBaptiste Daroussin extern Type * bare_extern(void);
6510c8de5b0SBaptiste Daroussin extern Type * bare_register(void);
6520c8de5b0SBaptiste Daroussin extern Type * bare_static(void);
6530c8de5b0SBaptiste Daroussin extern Type * bare_const(void);
6540c8de5b0SBaptiste Daroussin extern Type * bare_volatile(void);
6550c8de5b0SBaptiste Daroussin extern Decl * declare(Scope *scope, char *id, Type *type);
6560c8de5b0SBaptiste Daroussin extern Decl * make_pointer(Decl *decl, Type *type);
6570c8de5b0SBaptiste Daroussin extern Decl * make_array(Type *type, Expr *expr);
6580c8de5b0SBaptiste Daroussin extern Decl * build_function(Decl *decl, Decl_List *dlist, Type *type);
6590c8de5b0SBaptiste Daroussin extern Decl_List * append_dlist(Decl_List *dlist, Decl *decl);
6600c8de5b0SBaptiste Daroussin extern Decl_List * build_dlist(Decl *decl);
6610c8de5b0SBaptiste Daroussin extern Expr * build_expr(Expr *left, enum Operator op, Expr *right);
6620c8de5b0SBaptiste Daroussin extern Expr * var_expr(Scope *scope, char *id);
6630c8de5b0SBaptiste Daroussin extern Code * build_expr_code(Expr *expr);
6640c8de5b0SBaptiste Daroussin extern Code * build_if(Expr *cond_expr, Code *then_stmt, Code *else_stmt);
6650c8de5b0SBaptiste Daroussin extern Code * code_append(Code *stmt_list, Code *stmt);
666b53bb29fSJung-uk Kim #line 667 "btyacc_demo.tab.c"
6670c8de5b0SBaptiste Daroussin
6680c8de5b0SBaptiste Daroussin /* Release memory associated with symbol. */
6690c8de5b0SBaptiste Daroussin #if ! defined YYDESTRUCT_IS_DECLARED
6700c8de5b0SBaptiste Daroussin static void
YYDESTRUCT_DECL()6710c8de5b0SBaptiste Daroussin YYDESTRUCT_DECL()
6720c8de5b0SBaptiste Daroussin {
6730c8de5b0SBaptiste Daroussin switch (psymb)
6740c8de5b0SBaptiste Daroussin {
6750c8de5b0SBaptiste Daroussin case 43:
6760c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
6770c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
6780c8de5b0SBaptiste Daroussin msg,
6790c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
6800c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
6810c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
6828e022d3cSDag-Erling Smørgrav #line 683 "btyacc_demo.tab.c"
6830c8de5b0SBaptiste Daroussin break;
6840c8de5b0SBaptiste Daroussin case 45:
6850c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
6860c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
6870c8de5b0SBaptiste Daroussin msg,
6880c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
6890c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
6900c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
6918e022d3cSDag-Erling Smørgrav #line 692 "btyacc_demo.tab.c"
6920c8de5b0SBaptiste Daroussin break;
6930c8de5b0SBaptiste Daroussin case 42:
6940c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
6950c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
6960c8de5b0SBaptiste Daroussin msg,
6970c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
6980c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
6990c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7008e022d3cSDag-Erling Smørgrav #line 701 "btyacc_demo.tab.c"
7010c8de5b0SBaptiste Daroussin break;
7020c8de5b0SBaptiste Daroussin case 47:
7030c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7040c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7050c8de5b0SBaptiste Daroussin msg,
7060c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7070c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7080c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7098e022d3cSDag-Erling Smørgrav #line 710 "btyacc_demo.tab.c"
7100c8de5b0SBaptiste Daroussin break;
7110c8de5b0SBaptiste Daroussin case 37:
7120c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7130c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7140c8de5b0SBaptiste Daroussin msg,
7150c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7160c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7170c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7188e022d3cSDag-Erling Smørgrav #line 719 "btyacc_demo.tab.c"
7190c8de5b0SBaptiste Daroussin break;
7200c8de5b0SBaptiste Daroussin case 257:
7210c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7220c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7230c8de5b0SBaptiste Daroussin msg,
7240c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7250c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7260c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7278e022d3cSDag-Erling Smørgrav #line 728 "btyacc_demo.tab.c"
7280c8de5b0SBaptiste Daroussin break;
7290c8de5b0SBaptiste Daroussin case 258:
7300c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7310c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7320c8de5b0SBaptiste Daroussin msg,
7330c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7340c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7350c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7368e022d3cSDag-Erling Smørgrav #line 737 "btyacc_demo.tab.c"
7370c8de5b0SBaptiste Daroussin break;
7380c8de5b0SBaptiste Daroussin case 40:
7390c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7400c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7410c8de5b0SBaptiste Daroussin msg,
7420c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7430c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7440c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7458e022d3cSDag-Erling Smørgrav #line 746 "btyacc_demo.tab.c"
7460c8de5b0SBaptiste Daroussin break;
7470c8de5b0SBaptiste Daroussin case 91:
7480c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7490c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7500c8de5b0SBaptiste Daroussin msg,
7510c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7520c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7530c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7548e022d3cSDag-Erling Smørgrav #line 755 "btyacc_demo.tab.c"
7550c8de5b0SBaptiste Daroussin break;
7560c8de5b0SBaptiste Daroussin case 46:
7570c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7580c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7590c8de5b0SBaptiste Daroussin msg,
7600c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7610c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7620c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7638e022d3cSDag-Erling Smørgrav #line 764 "btyacc_demo.tab.c"
7640c8de5b0SBaptiste Daroussin break;
7650c8de5b0SBaptiste Daroussin case 259:
7660c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
7670c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
7680c8de5b0SBaptiste Daroussin msg,
7690c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7700c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7710c8de5b0SBaptiste Daroussin free((*val).id); }
7728e022d3cSDag-Erling Smørgrav #line 773 "btyacc_demo.tab.c"
7730c8de5b0SBaptiste Daroussin break;
7740c8de5b0SBaptiste Daroussin case 260:
7750c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
7760c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
7770c8de5b0SBaptiste Daroussin msg,
7780c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7790c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7800c8de5b0SBaptiste Daroussin free((*val).expr); }
7818e022d3cSDag-Erling Smørgrav #line 782 "btyacc_demo.tab.c"
7820c8de5b0SBaptiste Daroussin break;
7830c8de5b0SBaptiste Daroussin case 261:
7840c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7850c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7860c8de5b0SBaptiste Daroussin msg,
7870c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7880c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7890c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7908e022d3cSDag-Erling Smørgrav #line 791 "btyacc_demo.tab.c"
7910c8de5b0SBaptiste Daroussin break;
7920c8de5b0SBaptiste Daroussin case 262:
7930c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
7940c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
7950c8de5b0SBaptiste Daroussin msg,
7960c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
7970c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
7980c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
7998e022d3cSDag-Erling Smørgrav #line 800 "btyacc_demo.tab.c"
8000c8de5b0SBaptiste Daroussin break;
8010c8de5b0SBaptiste Daroussin case 263:
8020c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8030c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8040c8de5b0SBaptiste Daroussin msg,
8050c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8060c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8070c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8088e022d3cSDag-Erling Smørgrav #line 809 "btyacc_demo.tab.c"
8090c8de5b0SBaptiste Daroussin break;
8100c8de5b0SBaptiste Daroussin case 264:
8110c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8120c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8130c8de5b0SBaptiste Daroussin msg,
8140c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8150c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8160c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8178e022d3cSDag-Erling Smørgrav #line 818 "btyacc_demo.tab.c"
8180c8de5b0SBaptiste Daroussin break;
8190c8de5b0SBaptiste Daroussin case 265:
8200c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8210c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8220c8de5b0SBaptiste Daroussin msg,
8230c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8240c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8250c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8268e022d3cSDag-Erling Smørgrav #line 827 "btyacc_demo.tab.c"
8270c8de5b0SBaptiste Daroussin break;
8280c8de5b0SBaptiste Daroussin case 266:
8290c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8300c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8310c8de5b0SBaptiste Daroussin msg,
8320c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8330c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8340c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8358e022d3cSDag-Erling Smørgrav #line 836 "btyacc_demo.tab.c"
8360c8de5b0SBaptiste Daroussin break;
8370c8de5b0SBaptiste Daroussin case 267:
8380c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8390c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8400c8de5b0SBaptiste Daroussin msg,
8410c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8420c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8430c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8448e022d3cSDag-Erling Smørgrav #line 845 "btyacc_demo.tab.c"
8450c8de5b0SBaptiste Daroussin break;
8460c8de5b0SBaptiste Daroussin case 268:
8470c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8480c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8490c8de5b0SBaptiste Daroussin msg,
8500c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8510c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8520c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8538e022d3cSDag-Erling Smørgrav #line 854 "btyacc_demo.tab.c"
8540c8de5b0SBaptiste Daroussin break;
8550c8de5b0SBaptiste Daroussin case 269:
8560c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8570c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8580c8de5b0SBaptiste Daroussin msg,
8590c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8600c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8610c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8628e022d3cSDag-Erling Smørgrav #line 863 "btyacc_demo.tab.c"
8630c8de5b0SBaptiste Daroussin break;
8640c8de5b0SBaptiste Daroussin case 59:
8650c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8660c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8670c8de5b0SBaptiste Daroussin msg,
8680c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8690c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8700c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8718e022d3cSDag-Erling Smørgrav #line 872 "btyacc_demo.tab.c"
8720c8de5b0SBaptiste Daroussin break;
8730c8de5b0SBaptiste Daroussin case 44:
8740c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8750c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8760c8de5b0SBaptiste Daroussin msg,
8770c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8780c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8790c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8808e022d3cSDag-Erling Smørgrav #line 881 "btyacc_demo.tab.c"
8810c8de5b0SBaptiste Daroussin break;
8820c8de5b0SBaptiste Daroussin case 41:
8830c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8840c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8850c8de5b0SBaptiste Daroussin msg,
8860c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8870c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8880c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8898e022d3cSDag-Erling Smørgrav #line 890 "btyacc_demo.tab.c"
8900c8de5b0SBaptiste Daroussin break;
8910c8de5b0SBaptiste Daroussin case 93:
8920c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
8930c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
8940c8de5b0SBaptiste Daroussin msg,
8950c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
8960c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
8970c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
8988e022d3cSDag-Erling Smørgrav #line 899 "btyacc_demo.tab.c"
8990c8de5b0SBaptiste Daroussin break;
9000c8de5b0SBaptiste Daroussin case 123:
9010c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
9020c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
9030c8de5b0SBaptiste Daroussin msg,
9040c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9050c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9060c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
9078e022d3cSDag-Erling Smørgrav #line 908 "btyacc_demo.tab.c"
9080c8de5b0SBaptiste Daroussin break;
9090c8de5b0SBaptiste Daroussin case 125:
9100c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
9110c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
9120c8de5b0SBaptiste Daroussin msg,
9130c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9140c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9150c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
9168e022d3cSDag-Erling Smørgrav #line 917 "btyacc_demo.tab.c"
9170c8de5b0SBaptiste Daroussin break;
9180c8de5b0SBaptiste Daroussin case 270:
9190c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
9200c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
9210c8de5b0SBaptiste Daroussin msg,
9220c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9230c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9240c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
9258e022d3cSDag-Erling Smørgrav #line 926 "btyacc_demo.tab.c"
9260c8de5b0SBaptiste Daroussin break;
9270c8de5b0SBaptiste Daroussin case 271:
9280c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
9290c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
9300c8de5b0SBaptiste Daroussin msg,
9310c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9320c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9330c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
9348e022d3cSDag-Erling Smørgrav #line 935 "btyacc_demo.tab.c"
9350c8de5b0SBaptiste Daroussin break;
9360c8de5b0SBaptiste Daroussin case 272:
9370c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
9380c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
9390c8de5b0SBaptiste Daroussin msg,
9400c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9410c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9420c8de5b0SBaptiste Daroussin free((*val).expr); }
9438e022d3cSDag-Erling Smørgrav #line 944 "btyacc_demo.tab.c"
9440c8de5b0SBaptiste Daroussin break;
9450c8de5b0SBaptiste Daroussin case 273:
9460c8de5b0SBaptiste Daroussin #line 67 "btyacc_demo.y"
9470c8de5b0SBaptiste Daroussin { /* 'msg' is a 'char *' indicating the context of destructor invocation*/
9480c8de5b0SBaptiste Daroussin printf("%s accessed by symbol \"decl\" (case s.b. 273) @ position[%d,%d..%d,%d]\n",
9490c8de5b0SBaptiste Daroussin msg,
9500c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9510c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9520c8de5b0SBaptiste Daroussin free((*val).decl->scope); free((*val).decl->type); }
9538e022d3cSDag-Erling Smørgrav #line 954 "btyacc_demo.tab.c"
9540c8de5b0SBaptiste Daroussin break;
9550c8de5b0SBaptiste Daroussin case 274:
9560c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
9570c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
9580c8de5b0SBaptiste Daroussin msg,
9590c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9600c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9610c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
9628e022d3cSDag-Erling Smørgrav #line 963 "btyacc_demo.tab.c"
9630c8de5b0SBaptiste Daroussin break;
9640c8de5b0SBaptiste Daroussin case 275:
9650c8de5b0SBaptiste Daroussin #line 83 "btyacc_demo.y"
9660c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
9670c8de5b0SBaptiste Daroussin msg,
9680c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9690c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9700c8de5b0SBaptiste Daroussin /* in this example, we don't know what to do here */ }
9718e022d3cSDag-Erling Smørgrav #line 972 "btyacc_demo.tab.c"
9720c8de5b0SBaptiste Daroussin break;
9730c8de5b0SBaptiste Daroussin case 276:
9740c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
9750c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
9760c8de5b0SBaptiste Daroussin msg,
9770c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9780c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9790c8de5b0SBaptiste Daroussin free((*val).code); }
9808e022d3cSDag-Erling Smørgrav #line 981 "btyacc_demo.tab.c"
9810c8de5b0SBaptiste Daroussin break;
9820c8de5b0SBaptiste Daroussin case 277:
9830c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
9840c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
9850c8de5b0SBaptiste Daroussin msg,
9860c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9870c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9880c8de5b0SBaptiste Daroussin free((*val).code); }
9898e022d3cSDag-Erling Smørgrav #line 990 "btyacc_demo.tab.c"
9900c8de5b0SBaptiste Daroussin break;
9910c8de5b0SBaptiste Daroussin case 278:
9920c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
9930c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
9940c8de5b0SBaptiste Daroussin msg,
9950c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
9960c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
9970c8de5b0SBaptiste Daroussin free((*val).code); }
9988e022d3cSDag-Erling Smørgrav #line 999 "btyacc_demo.tab.c"
9990c8de5b0SBaptiste Daroussin break;
10000c8de5b0SBaptiste Daroussin case 279:
10010c8de5b0SBaptiste Daroussin #line 73 "btyacc_demo.y"
10020c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with type <decl> (case s.b. 279 & 280) @ position[%d,%d..%d,%d]\n",
10030c8de5b0SBaptiste Daroussin msg,
10040c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10050c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10060c8de5b0SBaptiste Daroussin free((*val).decl); }
10078e022d3cSDag-Erling Smørgrav #line 1008 "btyacc_demo.tab.c"
10080c8de5b0SBaptiste Daroussin break;
10090c8de5b0SBaptiste Daroussin case 280:
10100c8de5b0SBaptiste Daroussin #line 73 "btyacc_demo.y"
10110c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol with type <decl> (case s.b. 279 & 280) @ position[%d,%d..%d,%d]\n",
10120c8de5b0SBaptiste Daroussin msg,
10130c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10140c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10150c8de5b0SBaptiste Daroussin free((*val).decl); }
10168e022d3cSDag-Erling Smørgrav #line 1017 "btyacc_demo.tab.c"
10170c8de5b0SBaptiste Daroussin break;
10180c8de5b0SBaptiste Daroussin case 281:
10190c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10200c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10210c8de5b0SBaptiste Daroussin msg,
10220c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10230c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10240c8de5b0SBaptiste Daroussin free((*val).type); }
10258e022d3cSDag-Erling Smørgrav #line 1026 "btyacc_demo.tab.c"
10260c8de5b0SBaptiste Daroussin break;
10270c8de5b0SBaptiste Daroussin case 282:
10280c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10290c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10300c8de5b0SBaptiste Daroussin msg,
10310c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10320c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10330c8de5b0SBaptiste Daroussin free((*val).type); }
10348e022d3cSDag-Erling Smørgrav #line 1035 "btyacc_demo.tab.c"
10350c8de5b0SBaptiste Daroussin break;
10360c8de5b0SBaptiste Daroussin case 283:
10370c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10380c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10390c8de5b0SBaptiste Daroussin msg,
10400c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10410c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10420c8de5b0SBaptiste Daroussin free((*val).type); }
10438e022d3cSDag-Erling Smørgrav #line 1044 "btyacc_demo.tab.c"
10440c8de5b0SBaptiste Daroussin break;
10450c8de5b0SBaptiste Daroussin case 284:
10460c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10470c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10480c8de5b0SBaptiste Daroussin msg,
10490c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10500c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10510c8de5b0SBaptiste Daroussin free((*val).type); }
10528e022d3cSDag-Erling Smørgrav #line 1053 "btyacc_demo.tab.c"
10530c8de5b0SBaptiste Daroussin break;
10540c8de5b0SBaptiste Daroussin case 285:
10550c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10560c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10570c8de5b0SBaptiste Daroussin msg,
10580c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10590c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10600c8de5b0SBaptiste Daroussin free((*val).type); }
10618e022d3cSDag-Erling Smørgrav #line 1062 "btyacc_demo.tab.c"
10620c8de5b0SBaptiste Daroussin break;
10630c8de5b0SBaptiste Daroussin case 286:
10640c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10650c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10660c8de5b0SBaptiste Daroussin msg,
10670c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10680c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10690c8de5b0SBaptiste Daroussin free((*val).scope); }
10708e022d3cSDag-Erling Smørgrav #line 1071 "btyacc_demo.tab.c"
10710c8de5b0SBaptiste Daroussin break;
10720c8de5b0SBaptiste Daroussin case 287:
10730c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10740c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10750c8de5b0SBaptiste Daroussin msg,
10760c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10770c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10780c8de5b0SBaptiste Daroussin free((*val).dlist); }
10798e022d3cSDag-Erling Smørgrav #line 1080 "btyacc_demo.tab.c"
10800c8de5b0SBaptiste Daroussin break;
10810c8de5b0SBaptiste Daroussin case 288:
10820c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10830c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10840c8de5b0SBaptiste Daroussin msg,
10850c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10860c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10870c8de5b0SBaptiste Daroussin free((*val).dlist); }
10888e022d3cSDag-Erling Smørgrav #line 1089 "btyacc_demo.tab.c"
10890c8de5b0SBaptiste Daroussin break;
10900c8de5b0SBaptiste Daroussin case 289:
10910c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
10920c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
10930c8de5b0SBaptiste Daroussin msg,
10940c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
10950c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
10960c8de5b0SBaptiste Daroussin free((*val).scope); }
10978e022d3cSDag-Erling Smørgrav #line 1098 "btyacc_demo.tab.c"
10980c8de5b0SBaptiste Daroussin break;
10990c8de5b0SBaptiste Daroussin case 290:
11000c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11010c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11020c8de5b0SBaptiste Daroussin msg,
11030c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11040c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
11050c8de5b0SBaptiste Daroussin free((*val).scope); }
11068e022d3cSDag-Erling Smørgrav #line 1107 "btyacc_demo.tab.c"
11070c8de5b0SBaptiste Daroussin break;
11080c8de5b0SBaptiste Daroussin case 291:
11090c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11100c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11110c8de5b0SBaptiste Daroussin msg,
11120c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11130c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
1114c5b5d71aSJung-uk Kim free((*val).scope); }
11158e022d3cSDag-Erling Smørgrav #line 1116 "btyacc_demo.tab.c"
11160c8de5b0SBaptiste Daroussin break;
11170c8de5b0SBaptiste Daroussin case 292:
11180c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11190c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11200c8de5b0SBaptiste Daroussin msg,
11210c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11220c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
11230c8de5b0SBaptiste Daroussin free((*val).scope); }
11248e022d3cSDag-Erling Smørgrav #line 1125 "btyacc_demo.tab.c"
11250c8de5b0SBaptiste Daroussin break;
11260c8de5b0SBaptiste Daroussin case 293:
11270c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11280c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11290c8de5b0SBaptiste Daroussin msg,
11300c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11310c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
1132c5b5d71aSJung-uk Kim free((*val).type); }
11338e022d3cSDag-Erling Smørgrav #line 1134 "btyacc_demo.tab.c"
11340c8de5b0SBaptiste Daroussin break;
11350c8de5b0SBaptiste Daroussin case 294:
11360c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11370c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11380c8de5b0SBaptiste Daroussin msg,
11390c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11400c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
1141c5b5d71aSJung-uk Kim free((*val).scope); }
11428e022d3cSDag-Erling Smørgrav #line 1143 "btyacc_demo.tab.c"
1143c5b5d71aSJung-uk Kim break;
1144c5b5d71aSJung-uk Kim case 295:
1145c5b5d71aSJung-uk Kim #line 78 "btyacc_demo.y"
1146c5b5d71aSJung-uk Kim { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
1147c5b5d71aSJung-uk Kim msg,
1148c5b5d71aSJung-uk Kim (*loc).first_line, (*loc).first_column,
1149c5b5d71aSJung-uk Kim (*loc).last_line, (*loc).last_column);
11500c8de5b0SBaptiste Daroussin free((*val).type); }
11518e022d3cSDag-Erling Smørgrav #line 1152 "btyacc_demo.tab.c"
11520c8de5b0SBaptiste Daroussin break;
1153c5b5d71aSJung-uk Kim case 296:
11540c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11550c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11560c8de5b0SBaptiste Daroussin msg,
11570c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11580c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
11590c8de5b0SBaptiste Daroussin free((*val).scope); }
11608e022d3cSDag-Erling Smørgrav #line 1161 "btyacc_demo.tab.c"
11610c8de5b0SBaptiste Daroussin break;
11620c8de5b0SBaptiste Daroussin case 297:
11630c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11640c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11650c8de5b0SBaptiste Daroussin msg,
11660c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11670c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
11680c8de5b0SBaptiste Daroussin free((*val).scope); }
11698e022d3cSDag-Erling Smørgrav #line 1170 "btyacc_demo.tab.c"
11700c8de5b0SBaptiste Daroussin break;
11710c8de5b0SBaptiste Daroussin case 298:
11720c8de5b0SBaptiste Daroussin #line 78 "btyacc_demo.y"
11730c8de5b0SBaptiste Daroussin { printf("%s accessed by symbol of any type other than <decl> @ position[%d,%d..%d,%d]\n",
11740c8de5b0SBaptiste Daroussin msg,
11750c8de5b0SBaptiste Daroussin (*loc).first_line, (*loc).first_column,
11760c8de5b0SBaptiste Daroussin (*loc).last_line, (*loc).last_column);
11770c8de5b0SBaptiste Daroussin free((*val).scope); }
11788e022d3cSDag-Erling Smørgrav #line 1179 "btyacc_demo.tab.c"
11790c8de5b0SBaptiste Daroussin break;
11800c8de5b0SBaptiste Daroussin }
11810c8de5b0SBaptiste Daroussin }
11820c8de5b0SBaptiste Daroussin #define YYDESTRUCT_IS_DECLARED 1
11830c8de5b0SBaptiste Daroussin #endif
11840c8de5b0SBaptiste Daroussin
11850c8de5b0SBaptiste Daroussin /* For use in generated program */
11860c8de5b0SBaptiste Daroussin #define yydepth (int)(yystack.s_mark - yystack.s_base)
11870c8de5b0SBaptiste Daroussin #if YYBTYACC
11880c8de5b0SBaptiste Daroussin #define yytrial (yyps->save)
11890c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
11900c8de5b0SBaptiste Daroussin
11910c8de5b0SBaptiste Daroussin #if YYDEBUG
11920c8de5b0SBaptiste Daroussin #include <stdio.h> /* needed for printf */
11930c8de5b0SBaptiste Daroussin #endif
11940c8de5b0SBaptiste Daroussin
11950c8de5b0SBaptiste Daroussin #include <stdlib.h> /* needed for malloc, etc */
11960c8de5b0SBaptiste Daroussin #include <string.h> /* needed for memset */
11970c8de5b0SBaptiste Daroussin
11980c8de5b0SBaptiste Daroussin /* allocate initial stack or double stack size, up to YYMAXDEPTH */
yygrowstack(YYSTACKDATA * data)11990c8de5b0SBaptiste Daroussin static int yygrowstack(YYSTACKDATA *data)
12000c8de5b0SBaptiste Daroussin {
12010c8de5b0SBaptiste Daroussin int i;
12020c8de5b0SBaptiste Daroussin unsigned newsize;
1203c5b5d71aSJung-uk Kim YYINT *newss;
12040c8de5b0SBaptiste Daroussin YYSTYPE *newvs;
12050c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
12060c8de5b0SBaptiste Daroussin YYLTYPE *newps;
12070c8de5b0SBaptiste Daroussin #endif
12080c8de5b0SBaptiste Daroussin
12090c8de5b0SBaptiste Daroussin if ((newsize = data->stacksize) == 0)
12100c8de5b0SBaptiste Daroussin newsize = YYINITSTACKSIZE;
12110c8de5b0SBaptiste Daroussin else if (newsize >= YYMAXDEPTH)
12120c8de5b0SBaptiste Daroussin return YYENOMEM;
12130c8de5b0SBaptiste Daroussin else if ((newsize *= 2) > YYMAXDEPTH)
12140c8de5b0SBaptiste Daroussin newsize = YYMAXDEPTH;
12150c8de5b0SBaptiste Daroussin
12160c8de5b0SBaptiste Daroussin i = (int) (data->s_mark - data->s_base);
1217c5b5d71aSJung-uk Kim newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss));
1218bf80e08eSJung-uk Kim if (newss == NULL)
12190c8de5b0SBaptiste Daroussin return YYENOMEM;
12200c8de5b0SBaptiste Daroussin
12210c8de5b0SBaptiste Daroussin data->s_base = newss;
12220c8de5b0SBaptiste Daroussin data->s_mark = newss + i;
12230c8de5b0SBaptiste Daroussin
12240c8de5b0SBaptiste Daroussin newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
1225bf80e08eSJung-uk Kim if (newvs == NULL)
12260c8de5b0SBaptiste Daroussin return YYENOMEM;
12270c8de5b0SBaptiste Daroussin
12280c8de5b0SBaptiste Daroussin data->l_base = newvs;
12290c8de5b0SBaptiste Daroussin data->l_mark = newvs + i;
12300c8de5b0SBaptiste Daroussin
12310c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
12320c8de5b0SBaptiste Daroussin newps = (YYLTYPE *)realloc(data->p_base, newsize * sizeof(*newps));
1233bf80e08eSJung-uk Kim if (newps == NULL)
12340c8de5b0SBaptiste Daroussin return YYENOMEM;
12350c8de5b0SBaptiste Daroussin
12360c8de5b0SBaptiste Daroussin data->p_base = newps;
12370c8de5b0SBaptiste Daroussin data->p_mark = newps + i;
12380c8de5b0SBaptiste Daroussin #endif
12390c8de5b0SBaptiste Daroussin
12400c8de5b0SBaptiste Daroussin data->stacksize = newsize;
12410c8de5b0SBaptiste Daroussin data->s_last = data->s_base + newsize - 1;
12420c8de5b0SBaptiste Daroussin
12430c8de5b0SBaptiste Daroussin #if YYDEBUG
12440c8de5b0SBaptiste Daroussin if (yydebug)
12450c8de5b0SBaptiste Daroussin fprintf(stderr, "%sdebug: stack size increased to %d\n", YYPREFIX, newsize);
12460c8de5b0SBaptiste Daroussin #endif
12470c8de5b0SBaptiste Daroussin return 0;
12480c8de5b0SBaptiste Daroussin }
12490c8de5b0SBaptiste Daroussin
12500c8de5b0SBaptiste Daroussin #if YYPURE || defined(YY_NO_LEAKS)
yyfreestack(YYSTACKDATA * data)12510c8de5b0SBaptiste Daroussin static void yyfreestack(YYSTACKDATA *data)
12520c8de5b0SBaptiste Daroussin {
12530c8de5b0SBaptiste Daroussin free(data->s_base);
12540c8de5b0SBaptiste Daroussin free(data->l_base);
12550c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
12560c8de5b0SBaptiste Daroussin free(data->p_base);
12570c8de5b0SBaptiste Daroussin #endif
12580c8de5b0SBaptiste Daroussin memset(data, 0, sizeof(*data));
12590c8de5b0SBaptiste Daroussin }
12600c8de5b0SBaptiste Daroussin #else
12610c8de5b0SBaptiste Daroussin #define yyfreestack(data) /* nothing */
12620c8de5b0SBaptiste Daroussin #endif /* YYPURE || defined(YY_NO_LEAKS) */
12630c8de5b0SBaptiste Daroussin #if YYBTYACC
12640c8de5b0SBaptiste Daroussin
12650c8de5b0SBaptiste Daroussin static YYParseState *
yyNewState(unsigned size)12660c8de5b0SBaptiste Daroussin yyNewState(unsigned size)
12670c8de5b0SBaptiste Daroussin {
12680c8de5b0SBaptiste Daroussin YYParseState *p = (YYParseState *) malloc(sizeof(YYParseState));
12690c8de5b0SBaptiste Daroussin if (p == NULL) return NULL;
12700c8de5b0SBaptiste Daroussin
12710c8de5b0SBaptiste Daroussin p->yystack.stacksize = size;
12720c8de5b0SBaptiste Daroussin if (size == 0)
12730c8de5b0SBaptiste Daroussin {
12740c8de5b0SBaptiste Daroussin p->yystack.s_base = NULL;
12750c8de5b0SBaptiste Daroussin p->yystack.l_base = NULL;
12760c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
12770c8de5b0SBaptiste Daroussin p->yystack.p_base = NULL;
12780c8de5b0SBaptiste Daroussin #endif
12790c8de5b0SBaptiste Daroussin return p;
12800c8de5b0SBaptiste Daroussin }
1281c5b5d71aSJung-uk Kim p->yystack.s_base = (YYINT *) malloc(size * sizeof(YYINT));
12820c8de5b0SBaptiste Daroussin if (p->yystack.s_base == NULL) return NULL;
12830c8de5b0SBaptiste Daroussin p->yystack.l_base = (YYSTYPE *) malloc(size * sizeof(YYSTYPE));
12840c8de5b0SBaptiste Daroussin if (p->yystack.l_base == NULL) return NULL;
12850c8de5b0SBaptiste Daroussin memset(p->yystack.l_base, 0, size * sizeof(YYSTYPE));
12860c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
12870c8de5b0SBaptiste Daroussin p->yystack.p_base = (YYLTYPE *) malloc(size * sizeof(YYLTYPE));
12880c8de5b0SBaptiste Daroussin if (p->yystack.p_base == NULL) return NULL;
12890c8de5b0SBaptiste Daroussin memset(p->yystack.p_base, 0, size * sizeof(YYLTYPE));
12900c8de5b0SBaptiste Daroussin #endif
12910c8de5b0SBaptiste Daroussin
12920c8de5b0SBaptiste Daroussin return p;
12930c8de5b0SBaptiste Daroussin }
12940c8de5b0SBaptiste Daroussin
12950c8de5b0SBaptiste Daroussin static void
yyFreeState(YYParseState * p)12960c8de5b0SBaptiste Daroussin yyFreeState(YYParseState *p)
12970c8de5b0SBaptiste Daroussin {
12980c8de5b0SBaptiste Daroussin yyfreestack(&p->yystack);
12990c8de5b0SBaptiste Daroussin free(p);
13000c8de5b0SBaptiste Daroussin }
13010c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
13020c8de5b0SBaptiste Daroussin
13030c8de5b0SBaptiste Daroussin #define YYABORT goto yyabort
13040c8de5b0SBaptiste Daroussin #define YYREJECT goto yyabort
13050c8de5b0SBaptiste Daroussin #define YYACCEPT goto yyaccept
13060c8de5b0SBaptiste Daroussin #define YYERROR goto yyerrlab
13070c8de5b0SBaptiste Daroussin #if YYBTYACC
13080c8de5b0SBaptiste Daroussin #define YYVALID do { if (yyps->save) goto yyvalid; } while(0)
13090c8de5b0SBaptiste Daroussin #define YYVALID_NESTED do { if (yyps->save && \
13100c8de5b0SBaptiste Daroussin yyps->save->save == 0) goto yyvalid; } while(0)
13110c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
13120c8de5b0SBaptiste Daroussin
13130c8de5b0SBaptiste Daroussin int
YYPARSE_DECL()13140c8de5b0SBaptiste Daroussin YYPARSE_DECL()
13150c8de5b0SBaptiste Daroussin {
13160c8de5b0SBaptiste Daroussin int yym, yyn, yystate, yyresult;
13170c8de5b0SBaptiste Daroussin #if YYBTYACC
13180c8de5b0SBaptiste Daroussin int yynewerrflag;
13190c8de5b0SBaptiste Daroussin YYParseState *yyerrctx = NULL;
13200c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
13210c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
1322b53bb29fSJung-uk Kim YYLTYPE yyerror_loc_range[3]; /* position of error start/end (0 unused) */
13230c8de5b0SBaptiste Daroussin #endif
13240c8de5b0SBaptiste Daroussin #if YYDEBUG
13250c8de5b0SBaptiste Daroussin const char *yys;
13260c8de5b0SBaptiste Daroussin
1327bf80e08eSJung-uk Kim if ((yys = getenv("YYDEBUG")) != NULL)
13280c8de5b0SBaptiste Daroussin {
13290c8de5b0SBaptiste Daroussin yyn = *yys;
13300c8de5b0SBaptiste Daroussin if (yyn >= '0' && yyn <= '9')
13310c8de5b0SBaptiste Daroussin yydebug = yyn - '0';
13320c8de5b0SBaptiste Daroussin }
13330c8de5b0SBaptiste Daroussin if (yydebug)
13340c8de5b0SBaptiste Daroussin fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX);
13350c8de5b0SBaptiste Daroussin #endif
13366166fdceSJung-uk Kim #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
13376166fdceSJung-uk Kim memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range));
13386166fdceSJung-uk Kim #endif
13390c8de5b0SBaptiste Daroussin
13400c8de5b0SBaptiste Daroussin #if YYBTYACC
13410c8de5b0SBaptiste Daroussin yyps = yyNewState(0); if (yyps == 0) goto yyenomem;
13420c8de5b0SBaptiste Daroussin yyps->save = 0;
13430c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
1344c5b5d71aSJung-uk Kim yym = 0;
13458e022d3cSDag-Erling Smørgrav /* yyn is set below */
13460c8de5b0SBaptiste Daroussin yynerrs = 0;
13470c8de5b0SBaptiste Daroussin yyerrflag = 0;
13480c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
13490c8de5b0SBaptiste Daroussin yystate = 0;
13500c8de5b0SBaptiste Daroussin
13510c8de5b0SBaptiste Daroussin #if YYPURE
13520c8de5b0SBaptiste Daroussin memset(&yystack, 0, sizeof(yystack));
13530c8de5b0SBaptiste Daroussin #endif
13540c8de5b0SBaptiste Daroussin
13550c8de5b0SBaptiste Daroussin if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
13560c8de5b0SBaptiste Daroussin yystack.s_mark = yystack.s_base;
13570c8de5b0SBaptiste Daroussin yystack.l_mark = yystack.l_base;
13580c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
13590c8de5b0SBaptiste Daroussin yystack.p_mark = yystack.p_base;
13600c8de5b0SBaptiste Daroussin #endif
13610c8de5b0SBaptiste Daroussin yystate = 0;
13620c8de5b0SBaptiste Daroussin *yystack.s_mark = 0;
13630c8de5b0SBaptiste Daroussin
13640c8de5b0SBaptiste Daroussin yyloop:
13650c8de5b0SBaptiste Daroussin if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
13660c8de5b0SBaptiste Daroussin if (yychar < 0)
13670c8de5b0SBaptiste Daroussin {
13680c8de5b0SBaptiste Daroussin #if YYBTYACC
13690c8de5b0SBaptiste Daroussin do {
13700c8de5b0SBaptiste Daroussin if (yylvp < yylve)
13710c8de5b0SBaptiste Daroussin {
13720c8de5b0SBaptiste Daroussin /* we're currently re-reading tokens */
13730c8de5b0SBaptiste Daroussin yylval = *yylvp++;
13740c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
13750c8de5b0SBaptiste Daroussin yylloc = *yylpp++;
13760c8de5b0SBaptiste Daroussin #endif
13770c8de5b0SBaptiste Daroussin yychar = *yylexp++;
13780c8de5b0SBaptiste Daroussin break;
13790c8de5b0SBaptiste Daroussin }
13800c8de5b0SBaptiste Daroussin if (yyps->save)
13810c8de5b0SBaptiste Daroussin {
13820c8de5b0SBaptiste Daroussin /* in trial mode; save scanner results for future parse attempts */
13830c8de5b0SBaptiste Daroussin if (yylvp == yylvlim)
13840c8de5b0SBaptiste Daroussin { /* Enlarge lexical value queue */
138511fce282SBaptiste Daroussin size_t p = (size_t) (yylvp - yylvals);
138611fce282SBaptiste Daroussin size_t s = (size_t) (yylvlim - yylvals);
13870c8de5b0SBaptiste Daroussin
13880c8de5b0SBaptiste Daroussin s += YYLVQUEUEGROWTH;
1389b53bb29fSJung-uk Kim if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL) goto yyenomem;
1390b53bb29fSJung-uk Kim if ((yylvals = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL) goto yyenomem;
13910c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
1392b53bb29fSJung-uk Kim if ((yylpsns = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL) goto yyenomem;
13930c8de5b0SBaptiste Daroussin #endif
13940c8de5b0SBaptiste Daroussin yylvp = yylve = yylvals + p;
13950c8de5b0SBaptiste Daroussin yylvlim = yylvals + s;
13960c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
13970c8de5b0SBaptiste Daroussin yylpp = yylpe = yylpsns + p;
13980c8de5b0SBaptiste Daroussin yylplim = yylpsns + s;
13990c8de5b0SBaptiste Daroussin #endif
14000c8de5b0SBaptiste Daroussin yylexp = yylexemes + p;
14010c8de5b0SBaptiste Daroussin }
14022aca18c7SJung-uk Kim *yylexp = (YYINT) YYLEX;
14030c8de5b0SBaptiste Daroussin *yylvp++ = yylval;
14040c8de5b0SBaptiste Daroussin yylve++;
14050c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
14060c8de5b0SBaptiste Daroussin *yylpp++ = yylloc;
14070c8de5b0SBaptiste Daroussin yylpe++;
14080c8de5b0SBaptiste Daroussin #endif
14090c8de5b0SBaptiste Daroussin yychar = *yylexp++;
14100c8de5b0SBaptiste Daroussin break;
14110c8de5b0SBaptiste Daroussin }
14120c8de5b0SBaptiste Daroussin /* normal operation, no conflict encountered */
14130c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
14140c8de5b0SBaptiste Daroussin yychar = YYLEX;
14150c8de5b0SBaptiste Daroussin #if YYBTYACC
14160c8de5b0SBaptiste Daroussin } while (0);
14170c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
14180c8de5b0SBaptiste Daroussin if (yychar < 0) yychar = YYEOF;
14190c8de5b0SBaptiste Daroussin #if YYDEBUG
14200c8de5b0SBaptiste Daroussin if (yydebug)
14210c8de5b0SBaptiste Daroussin {
1422c5b5d71aSJung-uk Kim if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
14230c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, reading token %d (%s)",
14240c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yychar, yys);
14250c8de5b0SBaptiste Daroussin #ifdef YYSTYPE_TOSTRING
14260c8de5b0SBaptiste Daroussin #if YYBTYACC
14270c8de5b0SBaptiste Daroussin if (!yytrial)
14280c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
14290c8de5b0SBaptiste Daroussin fprintf(stderr, " <%s>", YYSTYPE_TOSTRING(yychar, yylval));
14300c8de5b0SBaptiste Daroussin #endif
14310c8de5b0SBaptiste Daroussin fputc('\n', stderr);
14320c8de5b0SBaptiste Daroussin }
14330c8de5b0SBaptiste Daroussin #endif
14340c8de5b0SBaptiste Daroussin }
14350c8de5b0SBaptiste Daroussin #if YYBTYACC
14360c8de5b0SBaptiste Daroussin
14370c8de5b0SBaptiste Daroussin /* Do we have a conflict? */
14380c8de5b0SBaptiste Daroussin if (((yyn = yycindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
14390c8de5b0SBaptiste Daroussin yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
14400c8de5b0SBaptiste Daroussin {
14410c8de5b0SBaptiste Daroussin YYINT ctry;
14420c8de5b0SBaptiste Daroussin
14430c8de5b0SBaptiste Daroussin if (yypath)
14440c8de5b0SBaptiste Daroussin {
14450c8de5b0SBaptiste Daroussin YYParseState *save;
14460c8de5b0SBaptiste Daroussin #if YYDEBUG
14470c8de5b0SBaptiste Daroussin if (yydebug)
14480c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: CONFLICT in state %d: following successful trial parse\n",
14490c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate);
14500c8de5b0SBaptiste Daroussin #endif
14510c8de5b0SBaptiste Daroussin /* Switch to the next conflict context */
14520c8de5b0SBaptiste Daroussin save = yypath;
14530c8de5b0SBaptiste Daroussin yypath = save->save;
14540c8de5b0SBaptiste Daroussin save->save = NULL;
14550c8de5b0SBaptiste Daroussin ctry = save->ctry;
14560c8de5b0SBaptiste Daroussin if (save->state != yystate) YYABORT;
14570c8de5b0SBaptiste Daroussin yyFreeState(save);
14580c8de5b0SBaptiste Daroussin
14590c8de5b0SBaptiste Daroussin }
14600c8de5b0SBaptiste Daroussin else
14610c8de5b0SBaptiste Daroussin {
14620c8de5b0SBaptiste Daroussin
14630c8de5b0SBaptiste Daroussin /* Unresolved conflict - start/continue trial parse */
14640c8de5b0SBaptiste Daroussin YYParseState *save;
14650c8de5b0SBaptiste Daroussin #if YYDEBUG
14660c8de5b0SBaptiste Daroussin if (yydebug)
14670c8de5b0SBaptiste Daroussin {
14680c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: CONFLICT in state %d. ", YYDEBUGSTR, yydepth, yystate);
14690c8de5b0SBaptiste Daroussin if (yyps->save)
14700c8de5b0SBaptiste Daroussin fputs("ALREADY in conflict, continuing trial parse.\n", stderr);
14710c8de5b0SBaptiste Daroussin else
14720c8de5b0SBaptiste Daroussin fputs("Starting trial parse.\n", stderr);
14730c8de5b0SBaptiste Daroussin }
14740c8de5b0SBaptiste Daroussin #endif
14750c8de5b0SBaptiste Daroussin save = yyNewState((unsigned)(yystack.s_mark - yystack.s_base + 1));
14760c8de5b0SBaptiste Daroussin if (save == NULL) goto yyenomem;
14770c8de5b0SBaptiste Daroussin save->save = yyps->save;
14780c8de5b0SBaptiste Daroussin save->state = yystate;
14790c8de5b0SBaptiste Daroussin save->errflag = yyerrflag;
14800c8de5b0SBaptiste Daroussin save->yystack.s_mark = save->yystack.s_base + (yystack.s_mark - yystack.s_base);
1481c5b5d71aSJung-uk Kim memcpy (save->yystack.s_base, yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
14820c8de5b0SBaptiste Daroussin save->yystack.l_mark = save->yystack.l_base + (yystack.l_mark - yystack.l_base);
148311fce282SBaptiste Daroussin memcpy (save->yystack.l_base, yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
14840c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
14850c8de5b0SBaptiste Daroussin save->yystack.p_mark = save->yystack.p_base + (yystack.p_mark - yystack.p_base);
148611fce282SBaptiste Daroussin memcpy (save->yystack.p_base, yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
14870c8de5b0SBaptiste Daroussin #endif
14880c8de5b0SBaptiste Daroussin ctry = yytable[yyn];
14890c8de5b0SBaptiste Daroussin if (yyctable[ctry] == -1)
14900c8de5b0SBaptiste Daroussin {
14910c8de5b0SBaptiste Daroussin #if YYDEBUG
14920c8de5b0SBaptiste Daroussin if (yydebug && yychar >= YYEOF)
14930c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: backtracking 1 token\n", YYDEBUGSTR, yydepth);
14940c8de5b0SBaptiste Daroussin #endif
14950c8de5b0SBaptiste Daroussin ctry++;
14960c8de5b0SBaptiste Daroussin }
14970c8de5b0SBaptiste Daroussin save->ctry = ctry;
14980c8de5b0SBaptiste Daroussin if (yyps->save == NULL)
14990c8de5b0SBaptiste Daroussin {
15000c8de5b0SBaptiste Daroussin /* If this is a first conflict in the stack, start saving lexemes */
15010c8de5b0SBaptiste Daroussin if (!yylexemes)
15020c8de5b0SBaptiste Daroussin {
1503b53bb29fSJung-uk Kim yylexemes = (YYINT *) malloc((YYLVQUEUEGROWTH) * sizeof(YYINT));
15040c8de5b0SBaptiste Daroussin if (yylexemes == NULL) goto yyenomem;
15050c8de5b0SBaptiste Daroussin yylvals = (YYSTYPE *) malloc((YYLVQUEUEGROWTH) * sizeof(YYSTYPE));
15060c8de5b0SBaptiste Daroussin if (yylvals == NULL) goto yyenomem;
15070c8de5b0SBaptiste Daroussin yylvlim = yylvals + YYLVQUEUEGROWTH;
15080c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15090c8de5b0SBaptiste Daroussin yylpsns = (YYLTYPE *) malloc((YYLVQUEUEGROWTH) * sizeof(YYLTYPE));
15100c8de5b0SBaptiste Daroussin if (yylpsns == NULL) goto yyenomem;
15110c8de5b0SBaptiste Daroussin yylplim = yylpsns + YYLVQUEUEGROWTH;
15120c8de5b0SBaptiste Daroussin #endif
15130c8de5b0SBaptiste Daroussin }
15140c8de5b0SBaptiste Daroussin if (yylvp == yylve)
15150c8de5b0SBaptiste Daroussin {
15160c8de5b0SBaptiste Daroussin yylvp = yylve = yylvals;
15170c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15180c8de5b0SBaptiste Daroussin yylpp = yylpe = yylpsns;
15190c8de5b0SBaptiste Daroussin #endif
15200c8de5b0SBaptiste Daroussin yylexp = yylexemes;
15210c8de5b0SBaptiste Daroussin if (yychar >= YYEOF)
15220c8de5b0SBaptiste Daroussin {
15230c8de5b0SBaptiste Daroussin *yylve++ = yylval;
15240c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15250c8de5b0SBaptiste Daroussin *yylpe++ = yylloc;
15260c8de5b0SBaptiste Daroussin #endif
15272aca18c7SJung-uk Kim *yylexp = (YYINT) yychar;
15280c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
15290c8de5b0SBaptiste Daroussin }
15300c8de5b0SBaptiste Daroussin }
15310c8de5b0SBaptiste Daroussin }
15320c8de5b0SBaptiste Daroussin if (yychar >= YYEOF)
15330c8de5b0SBaptiste Daroussin {
15340c8de5b0SBaptiste Daroussin yylvp--;
15350c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15360c8de5b0SBaptiste Daroussin yylpp--;
15370c8de5b0SBaptiste Daroussin #endif
15380c8de5b0SBaptiste Daroussin yylexp--;
15390c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
15400c8de5b0SBaptiste Daroussin }
154111fce282SBaptiste Daroussin save->lexeme = (int) (yylvp - yylvals);
15420c8de5b0SBaptiste Daroussin yyps->save = save;
15430c8de5b0SBaptiste Daroussin }
15440c8de5b0SBaptiste Daroussin if (yytable[yyn] == ctry)
15450c8de5b0SBaptiste Daroussin {
15460c8de5b0SBaptiste Daroussin #if YYDEBUG
15470c8de5b0SBaptiste Daroussin if (yydebug)
15480c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, shifting to state %d\n",
15490c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yyctable[ctry]);
15500c8de5b0SBaptiste Daroussin #endif
15510c8de5b0SBaptiste Daroussin if (yychar < 0)
15520c8de5b0SBaptiste Daroussin {
15530c8de5b0SBaptiste Daroussin yylvp++;
15540c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15550c8de5b0SBaptiste Daroussin yylpp++;
15560c8de5b0SBaptiste Daroussin #endif
15570c8de5b0SBaptiste Daroussin yylexp++;
15580c8de5b0SBaptiste Daroussin }
15590c8de5b0SBaptiste Daroussin if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
15600c8de5b0SBaptiste Daroussin goto yyoverflow;
15610c8de5b0SBaptiste Daroussin yystate = yyctable[ctry];
1562c5b5d71aSJung-uk Kim *++yystack.s_mark = (YYINT) yystate;
15630c8de5b0SBaptiste Daroussin *++yystack.l_mark = yylval;
15640c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15650c8de5b0SBaptiste Daroussin *++yystack.p_mark = yylloc;
15660c8de5b0SBaptiste Daroussin #endif
15670c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
15680c8de5b0SBaptiste Daroussin if (yyerrflag > 0) --yyerrflag;
15690c8de5b0SBaptiste Daroussin goto yyloop;
15700c8de5b0SBaptiste Daroussin }
15710c8de5b0SBaptiste Daroussin else
15720c8de5b0SBaptiste Daroussin {
15730c8de5b0SBaptiste Daroussin yyn = yyctable[ctry];
15740c8de5b0SBaptiste Daroussin goto yyreduce;
15750c8de5b0SBaptiste Daroussin }
15760c8de5b0SBaptiste Daroussin } /* End of code dealing with conflicts */
15770c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
15780c8de5b0SBaptiste Daroussin if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
15790c8de5b0SBaptiste Daroussin yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
15800c8de5b0SBaptiste Daroussin {
15810c8de5b0SBaptiste Daroussin #if YYDEBUG
15820c8de5b0SBaptiste Daroussin if (yydebug)
15830c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, shifting to state %d\n",
15840c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yytable[yyn]);
15850c8de5b0SBaptiste Daroussin #endif
15860c8de5b0SBaptiste Daroussin if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
15870c8de5b0SBaptiste Daroussin yystate = yytable[yyn];
15880c8de5b0SBaptiste Daroussin *++yystack.s_mark = yytable[yyn];
15890c8de5b0SBaptiste Daroussin *++yystack.l_mark = yylval;
15900c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
15910c8de5b0SBaptiste Daroussin *++yystack.p_mark = yylloc;
15920c8de5b0SBaptiste Daroussin #endif
15930c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
15940c8de5b0SBaptiste Daroussin if (yyerrflag > 0) --yyerrflag;
15950c8de5b0SBaptiste Daroussin goto yyloop;
15960c8de5b0SBaptiste Daroussin }
15970c8de5b0SBaptiste Daroussin if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
15980c8de5b0SBaptiste Daroussin yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
15990c8de5b0SBaptiste Daroussin {
16000c8de5b0SBaptiste Daroussin yyn = yytable[yyn];
16010c8de5b0SBaptiste Daroussin goto yyreduce;
16020c8de5b0SBaptiste Daroussin }
16030c8de5b0SBaptiste Daroussin if (yyerrflag != 0) goto yyinrecovery;
16040c8de5b0SBaptiste Daroussin #if YYBTYACC
16050c8de5b0SBaptiste Daroussin
16060c8de5b0SBaptiste Daroussin yynewerrflag = 1;
16070c8de5b0SBaptiste Daroussin goto yyerrhandler;
1608c5b5d71aSJung-uk Kim goto yyerrlab; /* redundant goto avoids 'unused label' warning */
16090c8de5b0SBaptiste Daroussin
16100c8de5b0SBaptiste Daroussin yyerrlab:
1611c5b5d71aSJung-uk Kim /* explicit YYERROR from an action -- pop the rhs of the rule reduced
1612c5b5d71aSJung-uk Kim * before looking for error recovery */
1613c5b5d71aSJung-uk Kim yystack.s_mark -= yym;
1614c5b5d71aSJung-uk Kim yystate = *yystack.s_mark;
1615c5b5d71aSJung-uk Kim yystack.l_mark -= yym;
1616c5b5d71aSJung-uk Kim #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
1617c5b5d71aSJung-uk Kim yystack.p_mark -= yym;
1618c5b5d71aSJung-uk Kim #endif
1619c5b5d71aSJung-uk Kim
16200c8de5b0SBaptiste Daroussin yynewerrflag = 0;
16210c8de5b0SBaptiste Daroussin yyerrhandler:
16220c8de5b0SBaptiste Daroussin while (yyps->save)
16230c8de5b0SBaptiste Daroussin {
16240c8de5b0SBaptiste Daroussin int ctry;
16250c8de5b0SBaptiste Daroussin YYParseState *save = yyps->save;
16260c8de5b0SBaptiste Daroussin #if YYDEBUG
16270c8de5b0SBaptiste Daroussin if (yydebug)
16280c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n",
16290c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yyps->save->state,
16300c8de5b0SBaptiste Daroussin (int)(yylvp - yylvals - yyps->save->lexeme));
16310c8de5b0SBaptiste Daroussin #endif
16320c8de5b0SBaptiste Daroussin /* Memorize most forward-looking error state in case it's really an error. */
16330c8de5b0SBaptiste Daroussin if (yyerrctx == NULL || yyerrctx->lexeme < yylvp - yylvals)
16340c8de5b0SBaptiste Daroussin {
16350c8de5b0SBaptiste Daroussin /* Free old saved error context state */
16360c8de5b0SBaptiste Daroussin if (yyerrctx) yyFreeState(yyerrctx);
16370c8de5b0SBaptiste Daroussin /* Create and fill out new saved error context state */
16380c8de5b0SBaptiste Daroussin yyerrctx = yyNewState((unsigned)(yystack.s_mark - yystack.s_base + 1));
16390c8de5b0SBaptiste Daroussin if (yyerrctx == NULL) goto yyenomem;
16400c8de5b0SBaptiste Daroussin yyerrctx->save = yyps->save;
16410c8de5b0SBaptiste Daroussin yyerrctx->state = yystate;
16420c8de5b0SBaptiste Daroussin yyerrctx->errflag = yyerrflag;
16430c8de5b0SBaptiste Daroussin yyerrctx->yystack.s_mark = yyerrctx->yystack.s_base + (yystack.s_mark - yystack.s_base);
1644c5b5d71aSJung-uk Kim memcpy (yyerrctx->yystack.s_base, yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
16450c8de5b0SBaptiste Daroussin yyerrctx->yystack.l_mark = yyerrctx->yystack.l_base + (yystack.l_mark - yystack.l_base);
164611fce282SBaptiste Daroussin memcpy (yyerrctx->yystack.l_base, yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
16470c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
16480c8de5b0SBaptiste Daroussin yyerrctx->yystack.p_mark = yyerrctx->yystack.p_base + (yystack.p_mark - yystack.p_base);
164911fce282SBaptiste Daroussin memcpy (yyerrctx->yystack.p_base, yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
16500c8de5b0SBaptiste Daroussin #endif
165111fce282SBaptiste Daroussin yyerrctx->lexeme = (int) (yylvp - yylvals);
16520c8de5b0SBaptiste Daroussin }
16530c8de5b0SBaptiste Daroussin yylvp = yylvals + save->lexeme;
16540c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
16550c8de5b0SBaptiste Daroussin yylpp = yylpsns + save->lexeme;
16560c8de5b0SBaptiste Daroussin #endif
16570c8de5b0SBaptiste Daroussin yylexp = yylexemes + save->lexeme;
16580c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
16590c8de5b0SBaptiste Daroussin yystack.s_mark = yystack.s_base + (save->yystack.s_mark - save->yystack.s_base);
1660c5b5d71aSJung-uk Kim memcpy (yystack.s_base, save->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
16610c8de5b0SBaptiste Daroussin yystack.l_mark = yystack.l_base + (save->yystack.l_mark - save->yystack.l_base);
166211fce282SBaptiste Daroussin memcpy (yystack.l_base, save->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
16630c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
16640c8de5b0SBaptiste Daroussin yystack.p_mark = yystack.p_base + (save->yystack.p_mark - save->yystack.p_base);
166511fce282SBaptiste Daroussin memcpy (yystack.p_base, save->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
16660c8de5b0SBaptiste Daroussin #endif
16670c8de5b0SBaptiste Daroussin ctry = ++save->ctry;
16680c8de5b0SBaptiste Daroussin yystate = save->state;
16690c8de5b0SBaptiste Daroussin /* We tried shift, try reduce now */
16700c8de5b0SBaptiste Daroussin if ((yyn = yyctable[ctry]) >= 0) goto yyreduce;
16710c8de5b0SBaptiste Daroussin yyps->save = save->save;
16720c8de5b0SBaptiste Daroussin save->save = NULL;
16730c8de5b0SBaptiste Daroussin yyFreeState(save);
16740c8de5b0SBaptiste Daroussin
16750c8de5b0SBaptiste Daroussin /* Nothing left on the stack -- error */
16760c8de5b0SBaptiste Daroussin if (!yyps->save)
16770c8de5b0SBaptiste Daroussin {
16780c8de5b0SBaptiste Daroussin #if YYDEBUG
16790c8de5b0SBaptiste Daroussin if (yydebug)
16800c8de5b0SBaptiste Daroussin fprintf(stderr, "%sdebug[%d,trial]: trial parse FAILED, entering ERROR mode\n",
16810c8de5b0SBaptiste Daroussin YYPREFIX, yydepth);
16820c8de5b0SBaptiste Daroussin #endif
16830c8de5b0SBaptiste Daroussin /* Restore state as it was in the most forward-advanced error */
16840c8de5b0SBaptiste Daroussin yylvp = yylvals + yyerrctx->lexeme;
16850c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
16860c8de5b0SBaptiste Daroussin yylpp = yylpsns + yyerrctx->lexeme;
16870c8de5b0SBaptiste Daroussin #endif
16880c8de5b0SBaptiste Daroussin yylexp = yylexemes + yyerrctx->lexeme;
16890c8de5b0SBaptiste Daroussin yychar = yylexp[-1];
16900c8de5b0SBaptiste Daroussin yylval = yylvp[-1];
16910c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
16920c8de5b0SBaptiste Daroussin yylloc = yylpp[-1];
16930c8de5b0SBaptiste Daroussin #endif
16940c8de5b0SBaptiste Daroussin yystack.s_mark = yystack.s_base + (yyerrctx->yystack.s_mark - yyerrctx->yystack.s_base);
1695c5b5d71aSJung-uk Kim memcpy (yystack.s_base, yyerrctx->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
16960c8de5b0SBaptiste Daroussin yystack.l_mark = yystack.l_base + (yyerrctx->yystack.l_mark - yyerrctx->yystack.l_base);
169711fce282SBaptiste Daroussin memcpy (yystack.l_base, yyerrctx->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
16980c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
16990c8de5b0SBaptiste Daroussin yystack.p_mark = yystack.p_base + (yyerrctx->yystack.p_mark - yyerrctx->yystack.p_base);
170011fce282SBaptiste Daroussin memcpy (yystack.p_base, yyerrctx->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
17010c8de5b0SBaptiste Daroussin #endif
17020c8de5b0SBaptiste Daroussin yystate = yyerrctx->state;
17030c8de5b0SBaptiste Daroussin yyFreeState(yyerrctx);
17040c8de5b0SBaptiste Daroussin yyerrctx = NULL;
17050c8de5b0SBaptiste Daroussin }
17060c8de5b0SBaptiste Daroussin yynewerrflag = 1;
17070c8de5b0SBaptiste Daroussin }
17080c8de5b0SBaptiste Daroussin if (yynewerrflag == 0) goto yyinrecovery;
17090c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
17100c8de5b0SBaptiste Daroussin
17110c8de5b0SBaptiste Daroussin YYERROR_CALL("syntax error");
17120c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
1713b53bb29fSJung-uk Kim yyerror_loc_range[1] = yylloc; /* lookahead position is error start position */
17140c8de5b0SBaptiste Daroussin #endif
17150c8de5b0SBaptiste Daroussin
17160c8de5b0SBaptiste Daroussin #if !YYBTYACC
1717c5b5d71aSJung-uk Kim goto yyerrlab; /* redundant goto avoids 'unused label' warning */
17180c8de5b0SBaptiste Daroussin yyerrlab:
17190c8de5b0SBaptiste Daroussin #endif
17200c8de5b0SBaptiste Daroussin ++yynerrs;
17210c8de5b0SBaptiste Daroussin
17220c8de5b0SBaptiste Daroussin yyinrecovery:
17230c8de5b0SBaptiste Daroussin if (yyerrflag < 3)
17240c8de5b0SBaptiste Daroussin {
17250c8de5b0SBaptiste Daroussin yyerrflag = 3;
17260c8de5b0SBaptiste Daroussin for (;;)
17270c8de5b0SBaptiste Daroussin {
17280c8de5b0SBaptiste Daroussin if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 &&
17290c8de5b0SBaptiste Daroussin yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE)
17300c8de5b0SBaptiste Daroussin {
17310c8de5b0SBaptiste Daroussin #if YYDEBUG
17320c8de5b0SBaptiste Daroussin if (yydebug)
17330c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, error recovery shifting to state %d\n",
17340c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, *yystack.s_mark, yytable[yyn]);
17350c8de5b0SBaptiste Daroussin #endif
17360c8de5b0SBaptiste Daroussin if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
17370c8de5b0SBaptiste Daroussin yystate = yytable[yyn];
17380c8de5b0SBaptiste Daroussin *++yystack.s_mark = yytable[yyn];
17390c8de5b0SBaptiste Daroussin *++yystack.l_mark = yylval;
17400c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
17410c8de5b0SBaptiste Daroussin /* lookahead position is error end position */
1742b53bb29fSJung-uk Kim yyerror_loc_range[2] = yylloc;
17430c8de5b0SBaptiste Daroussin YYLLOC_DEFAULT(yyloc, yyerror_loc_range, 2); /* position of error span */
17440c8de5b0SBaptiste Daroussin *++yystack.p_mark = yyloc;
17450c8de5b0SBaptiste Daroussin #endif
17460c8de5b0SBaptiste Daroussin goto yyloop;
17470c8de5b0SBaptiste Daroussin }
17480c8de5b0SBaptiste Daroussin else
17490c8de5b0SBaptiste Daroussin {
17500c8de5b0SBaptiste Daroussin #if YYDEBUG
17510c8de5b0SBaptiste Daroussin if (yydebug)
17520c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: error recovery discarding state %d\n",
17530c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, *yystack.s_mark);
17540c8de5b0SBaptiste Daroussin #endif
17550c8de5b0SBaptiste Daroussin if (yystack.s_mark <= yystack.s_base) goto yyabort;
17560c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
17570c8de5b0SBaptiste Daroussin /* the current TOS position is the error start position */
1758b53bb29fSJung-uk Kim yyerror_loc_range[1] = *yystack.p_mark;
17590c8de5b0SBaptiste Daroussin #endif
17600c8de5b0SBaptiste Daroussin #if defined(YYDESTRUCT_CALL)
17610c8de5b0SBaptiste Daroussin #if YYBTYACC
17620c8de5b0SBaptiste Daroussin if (!yytrial)
17630c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
17640c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
17650c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("error: discarding state",
17660c8de5b0SBaptiste Daroussin yystos[*yystack.s_mark], yystack.l_mark, yystack.p_mark);
17670c8de5b0SBaptiste Daroussin #else
17680c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("error: discarding state",
17690c8de5b0SBaptiste Daroussin yystos[*yystack.s_mark], yystack.l_mark);
17700c8de5b0SBaptiste Daroussin #endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
17710c8de5b0SBaptiste Daroussin #endif /* defined(YYDESTRUCT_CALL) */
17720c8de5b0SBaptiste Daroussin --yystack.s_mark;
17730c8de5b0SBaptiste Daroussin --yystack.l_mark;
17740c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
17750c8de5b0SBaptiste Daroussin --yystack.p_mark;
17760c8de5b0SBaptiste Daroussin #endif
17770c8de5b0SBaptiste Daroussin }
17780c8de5b0SBaptiste Daroussin }
17790c8de5b0SBaptiste Daroussin }
17800c8de5b0SBaptiste Daroussin else
17810c8de5b0SBaptiste Daroussin {
17820c8de5b0SBaptiste Daroussin if (yychar == YYEOF) goto yyabort;
17830c8de5b0SBaptiste Daroussin #if YYDEBUG
17840c8de5b0SBaptiste Daroussin if (yydebug)
17850c8de5b0SBaptiste Daroussin {
1786c5b5d71aSJung-uk Kim if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
17870c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, error recovery discarding token %d (%s)\n",
17880c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yychar, yys);
17890c8de5b0SBaptiste Daroussin }
17900c8de5b0SBaptiste Daroussin #endif
17910c8de5b0SBaptiste Daroussin #if defined(YYDESTRUCT_CALL)
17920c8de5b0SBaptiste Daroussin #if YYBTYACC
17930c8de5b0SBaptiste Daroussin if (!yytrial)
17940c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
17950c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
17960c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("error: discarding token", yychar, &yylval, &yylloc);
17970c8de5b0SBaptiste Daroussin #else
17980c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("error: discarding token", yychar, &yylval);
17990c8de5b0SBaptiste Daroussin #endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
18000c8de5b0SBaptiste Daroussin #endif /* defined(YYDESTRUCT_CALL) */
18010c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
18020c8de5b0SBaptiste Daroussin goto yyloop;
18030c8de5b0SBaptiste Daroussin }
18040c8de5b0SBaptiste Daroussin
18050c8de5b0SBaptiste Daroussin yyreduce:
18060c8de5b0SBaptiste Daroussin yym = yylen[yyn];
18070c8de5b0SBaptiste Daroussin #if YYDEBUG
18080c8de5b0SBaptiste Daroussin if (yydebug)
18090c8de5b0SBaptiste Daroussin {
18100c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, reducing by rule %d (%s)",
18110c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yyn, yyrule[yyn]);
18120c8de5b0SBaptiste Daroussin #ifdef YYSTYPE_TOSTRING
18130c8de5b0SBaptiste Daroussin #if YYBTYACC
18140c8de5b0SBaptiste Daroussin if (!yytrial)
18150c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
18160c8de5b0SBaptiste Daroussin if (yym > 0)
18170c8de5b0SBaptiste Daroussin {
18180c8de5b0SBaptiste Daroussin int i;
18190c8de5b0SBaptiste Daroussin fputc('<', stderr);
18200c8de5b0SBaptiste Daroussin for (i = yym; i > 0; i--)
18210c8de5b0SBaptiste Daroussin {
18220c8de5b0SBaptiste Daroussin if (i != yym) fputs(", ", stderr);
18230c8de5b0SBaptiste Daroussin fputs(YYSTYPE_TOSTRING(yystos[yystack.s_mark[1-i]],
18240c8de5b0SBaptiste Daroussin yystack.l_mark[1-i]), stderr);
18250c8de5b0SBaptiste Daroussin }
18260c8de5b0SBaptiste Daroussin fputc('>', stderr);
18270c8de5b0SBaptiste Daroussin }
18280c8de5b0SBaptiste Daroussin #endif
18290c8de5b0SBaptiste Daroussin fputc('\n', stderr);
18300c8de5b0SBaptiste Daroussin }
18310c8de5b0SBaptiste Daroussin #endif
18320c8de5b0SBaptiste Daroussin if (yym > 0)
18330c8de5b0SBaptiste Daroussin yyval = yystack.l_mark[1-yym];
18340c8de5b0SBaptiste Daroussin else
18350c8de5b0SBaptiste Daroussin memset(&yyval, 0, sizeof yyval);
18360c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
18370c8de5b0SBaptiste Daroussin
18380c8de5b0SBaptiste Daroussin /* Perform position reduction */
18390c8de5b0SBaptiste Daroussin memset(&yyloc, 0, sizeof(yyloc));
18400c8de5b0SBaptiste Daroussin #if YYBTYACC
18410c8de5b0SBaptiste Daroussin if (!yytrial)
18420c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
18430c8de5b0SBaptiste Daroussin {
1844b53bb29fSJung-uk Kim YYLLOC_DEFAULT(yyloc, &yystack.p_mark[-yym], yym);
18450c8de5b0SBaptiste Daroussin /* just in case YYERROR is invoked within the action, save
18460c8de5b0SBaptiste Daroussin the start of the rhs as the error start position */
1847b53bb29fSJung-uk Kim yyerror_loc_range[1] = yystack.p_mark[1-yym];
18480c8de5b0SBaptiste Daroussin }
18490c8de5b0SBaptiste Daroussin #endif
18500c8de5b0SBaptiste Daroussin
18510c8de5b0SBaptiste Daroussin switch (yyn)
18520c8de5b0SBaptiste Daroussin {
18530c8de5b0SBaptiste Daroussin case 1:
18540c8de5b0SBaptiste Daroussin #line 93 "btyacc_demo.y"
18550c8de5b0SBaptiste Daroussin { yyval.scope = yystack.l_mark[0].scope; }
18568e022d3cSDag-Erling Smørgrav #line 1857 "btyacc_demo.tab.c"
18570c8de5b0SBaptiste Daroussin break;
18580c8de5b0SBaptiste Daroussin case 2:
18590c8de5b0SBaptiste Daroussin #line 94 "btyacc_demo.y"
18600c8de5b0SBaptiste Daroussin { yyval.scope = global_scope; }
18618e022d3cSDag-Erling Smørgrav #line 1862 "btyacc_demo.tab.c"
18620c8de5b0SBaptiste Daroussin break;
18630c8de5b0SBaptiste Daroussin case 3:
18640c8de5b0SBaptiste Daroussin #line 95 "btyacc_demo.y"
18650c8de5b0SBaptiste Daroussin { Decl *d = lookup(yystack.l_mark[-2].scope, yystack.l_mark[-1].id);
18660c8de5b0SBaptiste Daroussin if (!d || !d->scope) YYERROR;
18670c8de5b0SBaptiste Daroussin yyval.scope = d->scope; }
18688e022d3cSDag-Erling Smørgrav #line 1869 "btyacc_demo.tab.c"
18690c8de5b0SBaptiste Daroussin break;
18700c8de5b0SBaptiste Daroussin case 4:
18710c8de5b0SBaptiste Daroussin #line 101 "btyacc_demo.y"
18720c8de5b0SBaptiste Daroussin { Decl *d = lookup(yystack.l_mark[-1].scope, yystack.l_mark[0].id);
18730c8de5b0SBaptiste Daroussin if (d == NULL || d->istype() == 0) YYERROR;
18740c8de5b0SBaptiste Daroussin yyval.type = d->type; }
18758e022d3cSDag-Erling Smørgrav #line 1876 "btyacc_demo.tab.c"
18760c8de5b0SBaptiste Daroussin break;
18770c8de5b0SBaptiste Daroussin case 5:
18780c8de5b0SBaptiste Daroussin #line 106 "btyacc_demo.y"
18790c8de5b0SBaptiste Daroussin yyval.scope = global_scope = new_scope(0);
18808e022d3cSDag-Erling Smørgrav #line 1881 "btyacc_demo.tab.c"
18810c8de5b0SBaptiste Daroussin break;
18820c8de5b0SBaptiste Daroussin case 8:
18830c8de5b0SBaptiste Daroussin #line 107 "btyacc_demo.y"
18840c8de5b0SBaptiste Daroussin yyval.scope = yystack.l_mark[-1].scope;
18858e022d3cSDag-Erling Smørgrav #line 1886 "btyacc_demo.tab.c"
18860c8de5b0SBaptiste Daroussin break;
18870c8de5b0SBaptiste Daroussin case 10:
18880c8de5b0SBaptiste Daroussin #line 109 "btyacc_demo.y"
18890c8de5b0SBaptiste Daroussin {YYVALID;}
18908e022d3cSDag-Erling Smørgrav #line 1891 "btyacc_demo.tab.c"
18910c8de5b0SBaptiste Daroussin break;
1892c5b5d71aSJung-uk Kim case 11:
18930c8de5b0SBaptiste Daroussin #line 110 "btyacc_demo.y"
1894c5b5d71aSJung-uk Kim yyval.scope = start_fn_def(yystack.l_mark[-2].scope, yystack.l_mark[0].decl);
18958e022d3cSDag-Erling Smørgrav #line 1896 "btyacc_demo.tab.c"
18960c8de5b0SBaptiste Daroussin break;
1897c5b5d71aSJung-uk Kim case 12:
18980c8de5b0SBaptiste Daroussin if (!yytrial)
18990c8de5b0SBaptiste Daroussin #line 111 "btyacc_demo.y"
19000c8de5b0SBaptiste Daroussin { /* demonstrate use of @$ & @N, although this is just the
19010c8de5b0SBaptiste Daroussin default computation and so is not necessary */
1902c5b5d71aSJung-uk Kim yyloc.first_line = yystack.p_mark[-3].first_line;
1903c5b5d71aSJung-uk Kim yyloc.first_column = yystack.p_mark[-3].first_column;
19040c8de5b0SBaptiste Daroussin yyloc.last_line = yystack.p_mark[0].last_line;
19050c8de5b0SBaptiste Daroussin yyloc.last_column = yystack.p_mark[0].last_column;
19060c8de5b0SBaptiste Daroussin finish_fn_def(yystack.l_mark[-2].decl, yystack.l_mark[0].code); }
19078e022d3cSDag-Erling Smørgrav #line 1908 "btyacc_demo.tab.c"
19080c8de5b0SBaptiste Daroussin break;
1909c5b5d71aSJung-uk Kim case 13:
19100c8de5b0SBaptiste Daroussin #line 121 "btyacc_demo.y"
19110c8de5b0SBaptiste Daroussin { yyval.type = yystack.l_mark[0].type; }
19128e022d3cSDag-Erling Smørgrav #line 1913 "btyacc_demo.tab.c"
19130c8de5b0SBaptiste Daroussin break;
1914c5b5d71aSJung-uk Kim case 14:
19150c8de5b0SBaptiste Daroussin #line 122 "btyacc_demo.y"
19160c8de5b0SBaptiste Daroussin { yyval.type = type_combine(yystack.l_mark[-2].type, yystack.l_mark[0].type); }
19178e022d3cSDag-Erling Smørgrav #line 1918 "btyacc_demo.tab.c"
19180c8de5b0SBaptiste Daroussin break;
1919c5b5d71aSJung-uk Kim case 15:
19200c8de5b0SBaptiste Daroussin #line 125 "btyacc_demo.y"
19210c8de5b0SBaptiste Daroussin { yyval.type = 0; }
19228e022d3cSDag-Erling Smørgrav #line 1923 "btyacc_demo.tab.c"
19230c8de5b0SBaptiste Daroussin break;
1924c5b5d71aSJung-uk Kim case 16:
19250c8de5b0SBaptiste Daroussin #line 126 "btyacc_demo.y"
19260c8de5b0SBaptiste Daroussin { yyval.type = type_combine(yystack.l_mark[-1].type, yystack.l_mark[0].type); }
19278e022d3cSDag-Erling Smørgrav #line 1928 "btyacc_demo.tab.c"
19280c8de5b0SBaptiste Daroussin break;
1929c5b5d71aSJung-uk Kim case 17:
19300c8de5b0SBaptiste Daroussin #line 130 "btyacc_demo.y"
19310c8de5b0SBaptiste Daroussin { yyval.type = yystack.l_mark[0].type; }
19328e022d3cSDag-Erling Smørgrav #line 1933 "btyacc_demo.tab.c"
19330c8de5b0SBaptiste Daroussin break;
1934c5b5d71aSJung-uk Kim case 18:
19350c8de5b0SBaptiste Daroussin #line 131 "btyacc_demo.y"
19360c8de5b0SBaptiste Daroussin { yyval.type = yystack.l_mark[0].type; }
19378e022d3cSDag-Erling Smørgrav #line 1938 "btyacc_demo.tab.c"
19380c8de5b0SBaptiste Daroussin break;
1939c5b5d71aSJung-uk Kim case 19:
19400c8de5b0SBaptiste Daroussin #line 132 "btyacc_demo.y"
19410c8de5b0SBaptiste Daroussin { yyval.type = bare_extern(); }
19428e022d3cSDag-Erling Smørgrav #line 1943 "btyacc_demo.tab.c"
19430c8de5b0SBaptiste Daroussin break;
1944c5b5d71aSJung-uk Kim case 20:
19450c8de5b0SBaptiste Daroussin #line 133 "btyacc_demo.y"
19460c8de5b0SBaptiste Daroussin { yyval.type = bare_register(); }
19478e022d3cSDag-Erling Smørgrav #line 1948 "btyacc_demo.tab.c"
19480c8de5b0SBaptiste Daroussin break;
1949c5b5d71aSJung-uk Kim case 21:
19500c8de5b0SBaptiste Daroussin #line 134 "btyacc_demo.y"
19510c8de5b0SBaptiste Daroussin { yyval.type = bare_static(); }
19528e022d3cSDag-Erling Smørgrav #line 1953 "btyacc_demo.tab.c"
19530c8de5b0SBaptiste Daroussin break;
1954c5b5d71aSJung-uk Kim case 22:
19550c8de5b0SBaptiste Daroussin #line 138 "btyacc_demo.y"
19560c8de5b0SBaptiste Daroussin { yyval.type = bare_const(); }
19578e022d3cSDag-Erling Smørgrav #line 1958 "btyacc_demo.tab.c"
19580c8de5b0SBaptiste Daroussin break;
1959c5b5d71aSJung-uk Kim case 23:
19600c8de5b0SBaptiste Daroussin #line 139 "btyacc_demo.y"
19610c8de5b0SBaptiste Daroussin { yyval.type = bare_volatile(); }
19628e022d3cSDag-Erling Smørgrav #line 1963 "btyacc_demo.tab.c"
19630c8de5b0SBaptiste Daroussin break;
1964c5b5d71aSJung-uk Kim case 24:
19650c8de5b0SBaptiste Daroussin #line 143 "btyacc_demo.y"
19660c8de5b0SBaptiste Daroussin yyval.scope = yystack.l_mark[-3].scope;
19678e022d3cSDag-Erling Smørgrav #line 1968 "btyacc_demo.tab.c"
19680c8de5b0SBaptiste Daroussin break;
1969c5b5d71aSJung-uk Kim case 25:
19700c8de5b0SBaptiste Daroussin #line 143 "btyacc_demo.y"
19710c8de5b0SBaptiste Daroussin yyval.type = yystack.l_mark[-3].type;
19728e022d3cSDag-Erling Smørgrav #line 1973 "btyacc_demo.tab.c"
19730c8de5b0SBaptiste Daroussin break;
1974c5b5d71aSJung-uk Kim case 28:
19750c8de5b0SBaptiste Daroussin #line 148 "btyacc_demo.y"
19760c8de5b0SBaptiste Daroussin { if (!yystack.l_mark[0].type) YYERROR; } if (!yytrial)
19770c8de5b0SBaptiste Daroussin #line 149 "btyacc_demo.y"
19780c8de5b0SBaptiste Daroussin { yyval.decl = declare(yystack.l_mark[-1].scope, 0, yystack.l_mark[0].type); }
19798e022d3cSDag-Erling Smørgrav #line 1980 "btyacc_demo.tab.c"
19800c8de5b0SBaptiste Daroussin break;
1981c5b5d71aSJung-uk Kim case 29:
19820c8de5b0SBaptiste Daroussin if (!yytrial)
19830c8de5b0SBaptiste Daroussin #line 150 "btyacc_demo.y"
19840c8de5b0SBaptiste Daroussin { yyval.decl = declare(yystack.l_mark[-2].scope, yystack.l_mark[0].id, yystack.l_mark[-1].type); }
19858e022d3cSDag-Erling Smørgrav #line 1986 "btyacc_demo.tab.c"
19860c8de5b0SBaptiste Daroussin break;
1987c5b5d71aSJung-uk Kim case 30:
19880c8de5b0SBaptiste Daroussin #line 151 "btyacc_demo.y"
19890c8de5b0SBaptiste Daroussin yyval.scope = yystack.l_mark[-2].scope;
19908e022d3cSDag-Erling Smørgrav #line 1991 "btyacc_demo.tab.c"
19910c8de5b0SBaptiste Daroussin break;
1992c5b5d71aSJung-uk Kim case 31:
19930c8de5b0SBaptiste Daroussin #line 151 "btyacc_demo.y"
19940c8de5b0SBaptiste Daroussin yyval.type = yystack.l_mark[-2].type;
19958e022d3cSDag-Erling Smørgrav #line 1996 "btyacc_demo.tab.c"
19960c8de5b0SBaptiste Daroussin break;
1997c5b5d71aSJung-uk Kim case 32:
19980c8de5b0SBaptiste Daroussin if (!yytrial)
19990c8de5b0SBaptiste Daroussin #line 151 "btyacc_demo.y"
20000c8de5b0SBaptiste Daroussin { yyval.decl = yystack.l_mark[-1].decl; }
20018e022d3cSDag-Erling Smørgrav #line 2002 "btyacc_demo.tab.c"
20020c8de5b0SBaptiste Daroussin break;
2003c5b5d71aSJung-uk Kim case 33:
20040c8de5b0SBaptiste Daroussin if (!yytrial)
20050c8de5b0SBaptiste Daroussin #line 153 "btyacc_demo.y"
20060c8de5b0SBaptiste Daroussin { yyval.decl = make_pointer(yystack.l_mark[0].decl, yystack.l_mark[-3].type); }
20078e022d3cSDag-Erling Smørgrav #line 2008 "btyacc_demo.tab.c"
20080c8de5b0SBaptiste Daroussin break;
2009c5b5d71aSJung-uk Kim case 34:
20100c8de5b0SBaptiste Daroussin if (!yytrial)
20110c8de5b0SBaptiste Daroussin #line 155 "btyacc_demo.y"
20120c8de5b0SBaptiste Daroussin { yyval.decl = make_array(yystack.l_mark[-4].decl->type, yystack.l_mark[-1].expr); }
20138e022d3cSDag-Erling Smørgrav #line 2014 "btyacc_demo.tab.c"
20140c8de5b0SBaptiste Daroussin break;
2015c5b5d71aSJung-uk Kim case 35:
20160c8de5b0SBaptiste Daroussin if (!yytrial)
20170c8de5b0SBaptiste Daroussin #line 157 "btyacc_demo.y"
20180c8de5b0SBaptiste Daroussin { yyval.decl = build_function(yystack.l_mark[-5].decl, yystack.l_mark[-2].dlist, yystack.l_mark[0].type); }
20198e022d3cSDag-Erling Smørgrav #line 2020 "btyacc_demo.tab.c"
20200c8de5b0SBaptiste Daroussin break;
2021c5b5d71aSJung-uk Kim case 36:
20220c8de5b0SBaptiste Daroussin if (!yytrial)
20230c8de5b0SBaptiste Daroussin #line 160 "btyacc_demo.y"
20240c8de5b0SBaptiste Daroussin { yyval.dlist = 0; }
20258e022d3cSDag-Erling Smørgrav #line 2026 "btyacc_demo.tab.c"
20260c8de5b0SBaptiste Daroussin break;
2027c5b5d71aSJung-uk Kim case 37:
20280c8de5b0SBaptiste Daroussin if (!yytrial)
20290c8de5b0SBaptiste Daroussin #line 161 "btyacc_demo.y"
20300c8de5b0SBaptiste Daroussin { yyval.dlist = yystack.l_mark[0].dlist; }
20318e022d3cSDag-Erling Smørgrav #line 2032 "btyacc_demo.tab.c"
20320c8de5b0SBaptiste Daroussin break;
2033c5b5d71aSJung-uk Kim case 38:
20340c8de5b0SBaptiste Daroussin if (!yytrial)
20350c8de5b0SBaptiste Daroussin #line 164 "btyacc_demo.y"
20360c8de5b0SBaptiste Daroussin { yyval.dlist = append_dlist(yystack.l_mark[-3].dlist, yystack.l_mark[0].decl); }
20378e022d3cSDag-Erling Smørgrav #line 2038 "btyacc_demo.tab.c"
20380c8de5b0SBaptiste Daroussin break;
2039c5b5d71aSJung-uk Kim case 39:
20400c8de5b0SBaptiste Daroussin if (!yytrial)
20410c8de5b0SBaptiste Daroussin #line 165 "btyacc_demo.y"
20420c8de5b0SBaptiste Daroussin { yyval.dlist = build_dlist(yystack.l_mark[0].decl); }
20438e022d3cSDag-Erling Smørgrav #line 2044 "btyacc_demo.tab.c"
20440c8de5b0SBaptiste Daroussin break;
2045c5b5d71aSJung-uk Kim case 40:
20460c8de5b0SBaptiste Daroussin if (!yytrial)
20470c8de5b0SBaptiste Daroussin #line 168 "btyacc_demo.y"
20480c8de5b0SBaptiste Daroussin { yyval.decl = yystack.l_mark[0].decl; }
20498e022d3cSDag-Erling Smørgrav #line 2050 "btyacc_demo.tab.c"
20500c8de5b0SBaptiste Daroussin break;
2051c5b5d71aSJung-uk Kim case 41:
20520c8de5b0SBaptiste Daroussin if (!yytrial)
20530c8de5b0SBaptiste Daroussin #line 172 "btyacc_demo.y"
20540c8de5b0SBaptiste Daroussin { yyval.expr = build_expr(yystack.l_mark[-3].expr, ADD, yystack.l_mark[0].expr); }
20558e022d3cSDag-Erling Smørgrav #line 2056 "btyacc_demo.tab.c"
20560c8de5b0SBaptiste Daroussin break;
2057c5b5d71aSJung-uk Kim case 42:
20580c8de5b0SBaptiste Daroussin if (!yytrial)
20590c8de5b0SBaptiste Daroussin #line 173 "btyacc_demo.y"
20600c8de5b0SBaptiste Daroussin { yyval.expr = build_expr(yystack.l_mark[-3].expr, SUB, yystack.l_mark[0].expr); }
20618e022d3cSDag-Erling Smørgrav #line 2062 "btyacc_demo.tab.c"
20620c8de5b0SBaptiste Daroussin break;
2063c5b5d71aSJung-uk Kim case 43:
20640c8de5b0SBaptiste Daroussin if (!yytrial)
20650c8de5b0SBaptiste Daroussin #line 174 "btyacc_demo.y"
20660c8de5b0SBaptiste Daroussin { yyval.expr = build_expr(yystack.l_mark[-3].expr, MUL, yystack.l_mark[0].expr); }
20678e022d3cSDag-Erling Smørgrav #line 2068 "btyacc_demo.tab.c"
20680c8de5b0SBaptiste Daroussin break;
2069c5b5d71aSJung-uk Kim case 44:
20700c8de5b0SBaptiste Daroussin if (!yytrial)
20710c8de5b0SBaptiste Daroussin #line 175 "btyacc_demo.y"
20720c8de5b0SBaptiste Daroussin { yyval.expr = build_expr(yystack.l_mark[-3].expr, MOD, yystack.l_mark[0].expr); }
20738e022d3cSDag-Erling Smørgrav #line 2074 "btyacc_demo.tab.c"
20740c8de5b0SBaptiste Daroussin break;
2075c5b5d71aSJung-uk Kim case 45:
20760c8de5b0SBaptiste Daroussin if (!yytrial)
20770c8de5b0SBaptiste Daroussin #line 176 "btyacc_demo.y"
20780c8de5b0SBaptiste Daroussin { yyval.expr = build_expr(yystack.l_mark[-3].expr, DIV, yystack.l_mark[0].expr); }
20798e022d3cSDag-Erling Smørgrav #line 2080 "btyacc_demo.tab.c"
20800c8de5b0SBaptiste Daroussin break;
2081c5b5d71aSJung-uk Kim case 46:
20820c8de5b0SBaptiste Daroussin if (!yytrial)
20830c8de5b0SBaptiste Daroussin #line 177 "btyacc_demo.y"
20840c8de5b0SBaptiste Daroussin { yyval.expr = build_expr(0, DEREF, yystack.l_mark[0].expr); }
20858e022d3cSDag-Erling Smørgrav #line 2086 "btyacc_demo.tab.c"
20860c8de5b0SBaptiste Daroussin break;
2087c5b5d71aSJung-uk Kim case 47:
20880c8de5b0SBaptiste Daroussin if (!yytrial)
20890c8de5b0SBaptiste Daroussin #line 178 "btyacc_demo.y"
20900c8de5b0SBaptiste Daroussin { yyval.expr = var_expr(yystack.l_mark[-1].scope, yystack.l_mark[0].id); }
20918e022d3cSDag-Erling Smørgrav #line 2092 "btyacc_demo.tab.c"
20920c8de5b0SBaptiste Daroussin break;
2093c5b5d71aSJung-uk Kim case 48:
20940c8de5b0SBaptiste Daroussin if (!yytrial)
20950c8de5b0SBaptiste Daroussin #line 179 "btyacc_demo.y"
20960c8de5b0SBaptiste Daroussin { yyval.expr = yystack.l_mark[0].expr; }
20978e022d3cSDag-Erling Smørgrav #line 2098 "btyacc_demo.tab.c"
20980c8de5b0SBaptiste Daroussin break;
2099c5b5d71aSJung-uk Kim case 49:
21000c8de5b0SBaptiste Daroussin if (!yytrial)
21010c8de5b0SBaptiste Daroussin #line 183 "btyacc_demo.y"
21020c8de5b0SBaptiste Daroussin { yyval.code = 0; }
21038e022d3cSDag-Erling Smørgrav #line 2104 "btyacc_demo.tab.c"
21040c8de5b0SBaptiste Daroussin break;
2105c5b5d71aSJung-uk Kim case 50:
21060c8de5b0SBaptiste Daroussin #line 184 "btyacc_demo.y"
21070c8de5b0SBaptiste Daroussin {YYVALID;} if (!yytrial)
21080c8de5b0SBaptiste Daroussin #line 184 "btyacc_demo.y"
21090c8de5b0SBaptiste Daroussin { yyval.code = build_expr_code(yystack.l_mark[-1].expr); }
21108e022d3cSDag-Erling Smørgrav #line 2111 "btyacc_demo.tab.c"
21110c8de5b0SBaptiste Daroussin break;
2112c5b5d71aSJung-uk Kim case 51:
21130c8de5b0SBaptiste Daroussin #line 185 "btyacc_demo.y"
21140c8de5b0SBaptiste Daroussin yyval.scope = yystack.l_mark[-6].scope;
21158e022d3cSDag-Erling Smørgrav #line 2116 "btyacc_demo.tab.c"
21160c8de5b0SBaptiste Daroussin break;
2117c5b5d71aSJung-uk Kim case 52:
21180c8de5b0SBaptiste Daroussin #line 185 "btyacc_demo.y"
21190c8de5b0SBaptiste Daroussin yyval.scope = yystack.l_mark[-9].scope;
21208e022d3cSDag-Erling Smørgrav #line 2121 "btyacc_demo.tab.c"
21210c8de5b0SBaptiste Daroussin break;
2122c5b5d71aSJung-uk Kim case 53:
21230c8de5b0SBaptiste Daroussin #line 185 "btyacc_demo.y"
21240c8de5b0SBaptiste Daroussin {YYVALID;} if (!yytrial)
21250c8de5b0SBaptiste Daroussin #line 186 "btyacc_demo.y"
21260c8de5b0SBaptiste Daroussin { yyval.code = build_if(yystack.l_mark[-7].expr, yystack.l_mark[-3].code, yystack.l_mark[0].code); }
21278e022d3cSDag-Erling Smørgrav #line 2128 "btyacc_demo.tab.c"
21280c8de5b0SBaptiste Daroussin break;
2129c5b5d71aSJung-uk Kim case 54:
21300c8de5b0SBaptiste Daroussin #line 187 "btyacc_demo.y"
21310c8de5b0SBaptiste Daroussin {YYVALID;} if (!yytrial)
21320c8de5b0SBaptiste Daroussin #line 188 "btyacc_demo.y"
21330c8de5b0SBaptiste Daroussin { yyval.code = build_if(yystack.l_mark[-4].expr, yystack.l_mark[0].code, 0); }
21348e022d3cSDag-Erling Smørgrav #line 2135 "btyacc_demo.tab.c"
21350c8de5b0SBaptiste Daroussin break;
2136c5b5d71aSJung-uk Kim case 55:
21370c8de5b0SBaptiste Daroussin #line 189 "btyacc_demo.y"
21380c8de5b0SBaptiste Daroussin yyval.scope = new_scope(yystack.l_mark[0].scope);
21398e022d3cSDag-Erling Smørgrav #line 2140 "btyacc_demo.tab.c"
21400c8de5b0SBaptiste Daroussin break;
2141c5b5d71aSJung-uk Kim case 56:
21420c8de5b0SBaptiste Daroussin #line 189 "btyacc_demo.y"
21430c8de5b0SBaptiste Daroussin {YYVALID;} if (!yytrial)
21440c8de5b0SBaptiste Daroussin #line 189 "btyacc_demo.y"
21450c8de5b0SBaptiste Daroussin { yyval.code = yystack.l_mark[0].code; }
21468e022d3cSDag-Erling Smørgrav #line 2147 "btyacc_demo.tab.c"
21470c8de5b0SBaptiste Daroussin break;
2148c5b5d71aSJung-uk Kim case 57:
21490c8de5b0SBaptiste Daroussin if (!yytrial)
21500c8de5b0SBaptiste Daroussin #line 192 "btyacc_demo.y"
21510c8de5b0SBaptiste Daroussin { yyval.code = 0; }
21528e022d3cSDag-Erling Smørgrav #line 2153 "btyacc_demo.tab.c"
21530c8de5b0SBaptiste Daroussin break;
2154c5b5d71aSJung-uk Kim case 58:
21550c8de5b0SBaptiste Daroussin if (!yytrial)
21560c8de5b0SBaptiste Daroussin #line 193 "btyacc_demo.y"
21570c8de5b0SBaptiste Daroussin { yyval.code = code_append(yystack.l_mark[-2].code, yystack.l_mark[0].code); }
21588e022d3cSDag-Erling Smørgrav #line 2159 "btyacc_demo.tab.c"
21590c8de5b0SBaptiste Daroussin break;
2160c5b5d71aSJung-uk Kim case 59:
21610c8de5b0SBaptiste Daroussin if (!yytrial)
21620c8de5b0SBaptiste Daroussin #line 197 "btyacc_demo.y"
21630c8de5b0SBaptiste Daroussin { yyval.code = yystack.l_mark[-1].code; }
21648e022d3cSDag-Erling Smørgrav #line 2165 "btyacc_demo.tab.c"
21650c8de5b0SBaptiste Daroussin break;
21668e022d3cSDag-Erling Smørgrav #line 2167 "btyacc_demo.tab.c"
21670c8de5b0SBaptiste Daroussin default:
21680c8de5b0SBaptiste Daroussin break;
21690c8de5b0SBaptiste Daroussin }
21700c8de5b0SBaptiste Daroussin yystack.s_mark -= yym;
21710c8de5b0SBaptiste Daroussin yystate = *yystack.s_mark;
21720c8de5b0SBaptiste Daroussin yystack.l_mark -= yym;
21730c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
21740c8de5b0SBaptiste Daroussin yystack.p_mark -= yym;
21750c8de5b0SBaptiste Daroussin #endif
21760c8de5b0SBaptiste Daroussin yym = yylhs[yyn];
21770c8de5b0SBaptiste Daroussin if (yystate == 0 && yym == 0)
21780c8de5b0SBaptiste Daroussin {
21790c8de5b0SBaptiste Daroussin #if YYDEBUG
21800c8de5b0SBaptiste Daroussin if (yydebug)
21810c8de5b0SBaptiste Daroussin {
21820c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: after reduction, ", YYDEBUGSTR, yydepth);
21830c8de5b0SBaptiste Daroussin #ifdef YYSTYPE_TOSTRING
21840c8de5b0SBaptiste Daroussin #if YYBTYACC
21850c8de5b0SBaptiste Daroussin if (!yytrial)
21860c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
21870c8de5b0SBaptiste Daroussin fprintf(stderr, "result is <%s>, ", YYSTYPE_TOSTRING(yystos[YYFINAL], yyval));
21880c8de5b0SBaptiste Daroussin #endif
21890c8de5b0SBaptiste Daroussin fprintf(stderr, "shifting from state 0 to final state %d\n", YYFINAL);
21900c8de5b0SBaptiste Daroussin }
21910c8de5b0SBaptiste Daroussin #endif
21920c8de5b0SBaptiste Daroussin yystate = YYFINAL;
21930c8de5b0SBaptiste Daroussin *++yystack.s_mark = YYFINAL;
21940c8de5b0SBaptiste Daroussin *++yystack.l_mark = yyval;
21950c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
21960c8de5b0SBaptiste Daroussin *++yystack.p_mark = yyloc;
21970c8de5b0SBaptiste Daroussin #endif
21980c8de5b0SBaptiste Daroussin if (yychar < 0)
21990c8de5b0SBaptiste Daroussin {
22000c8de5b0SBaptiste Daroussin #if YYBTYACC
22010c8de5b0SBaptiste Daroussin do {
22020c8de5b0SBaptiste Daroussin if (yylvp < yylve)
22030c8de5b0SBaptiste Daroussin {
22040c8de5b0SBaptiste Daroussin /* we're currently re-reading tokens */
22050c8de5b0SBaptiste Daroussin yylval = *yylvp++;
22060c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
22070c8de5b0SBaptiste Daroussin yylloc = *yylpp++;
22080c8de5b0SBaptiste Daroussin #endif
22090c8de5b0SBaptiste Daroussin yychar = *yylexp++;
22100c8de5b0SBaptiste Daroussin break;
22110c8de5b0SBaptiste Daroussin }
22120c8de5b0SBaptiste Daroussin if (yyps->save)
22130c8de5b0SBaptiste Daroussin {
22140c8de5b0SBaptiste Daroussin /* in trial mode; save scanner results for future parse attempts */
22150c8de5b0SBaptiste Daroussin if (yylvp == yylvlim)
22160c8de5b0SBaptiste Daroussin { /* Enlarge lexical value queue */
221711fce282SBaptiste Daroussin size_t p = (size_t) (yylvp - yylvals);
221811fce282SBaptiste Daroussin size_t s = (size_t) (yylvlim - yylvals);
22190c8de5b0SBaptiste Daroussin
22200c8de5b0SBaptiste Daroussin s += YYLVQUEUEGROWTH;
2221b53bb29fSJung-uk Kim if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL)
22220c8de5b0SBaptiste Daroussin goto yyenomem;
2223b53bb29fSJung-uk Kim if ((yylvals = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL)
22240c8de5b0SBaptiste Daroussin goto yyenomem;
22250c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
2226b53bb29fSJung-uk Kim if ((yylpsns = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL)
22270c8de5b0SBaptiste Daroussin goto yyenomem;
22280c8de5b0SBaptiste Daroussin #endif
22290c8de5b0SBaptiste Daroussin yylvp = yylve = yylvals + p;
22300c8de5b0SBaptiste Daroussin yylvlim = yylvals + s;
22310c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
22320c8de5b0SBaptiste Daroussin yylpp = yylpe = yylpsns + p;
22330c8de5b0SBaptiste Daroussin yylplim = yylpsns + s;
22340c8de5b0SBaptiste Daroussin #endif
22350c8de5b0SBaptiste Daroussin yylexp = yylexemes + p;
22360c8de5b0SBaptiste Daroussin }
22372aca18c7SJung-uk Kim *yylexp = (YYINT) YYLEX;
22380c8de5b0SBaptiste Daroussin *yylvp++ = yylval;
22390c8de5b0SBaptiste Daroussin yylve++;
22400c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
22410c8de5b0SBaptiste Daroussin *yylpp++ = yylloc;
22420c8de5b0SBaptiste Daroussin yylpe++;
22430c8de5b0SBaptiste Daroussin #endif
22440c8de5b0SBaptiste Daroussin yychar = *yylexp++;
22450c8de5b0SBaptiste Daroussin break;
22460c8de5b0SBaptiste Daroussin }
22470c8de5b0SBaptiste Daroussin /* normal operation, no conflict encountered */
22480c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
22490c8de5b0SBaptiste Daroussin yychar = YYLEX;
22500c8de5b0SBaptiste Daroussin #if YYBTYACC
22510c8de5b0SBaptiste Daroussin } while (0);
22520c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
22530c8de5b0SBaptiste Daroussin if (yychar < 0) yychar = YYEOF;
22540c8de5b0SBaptiste Daroussin #if YYDEBUG
22550c8de5b0SBaptiste Daroussin if (yydebug)
22560c8de5b0SBaptiste Daroussin {
2257c5b5d71aSJung-uk Kim if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
2258c5b5d71aSJung-uk Kim fprintf(stderr, "%s[%d]: state %d, reading token %d (%s)\n",
22590c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, YYFINAL, yychar, yys);
22600c8de5b0SBaptiste Daroussin }
22610c8de5b0SBaptiste Daroussin #endif
22620c8de5b0SBaptiste Daroussin }
22630c8de5b0SBaptiste Daroussin if (yychar == YYEOF) goto yyaccept;
22640c8de5b0SBaptiste Daroussin goto yyloop;
22650c8de5b0SBaptiste Daroussin }
22660c8de5b0SBaptiste Daroussin if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 &&
22670c8de5b0SBaptiste Daroussin yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate)
22680c8de5b0SBaptiste Daroussin yystate = yytable[yyn];
22690c8de5b0SBaptiste Daroussin else
22700c8de5b0SBaptiste Daroussin yystate = yydgoto[yym];
22710c8de5b0SBaptiste Daroussin #if YYDEBUG
22720c8de5b0SBaptiste Daroussin if (yydebug)
22730c8de5b0SBaptiste Daroussin {
22740c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: after reduction, ", YYDEBUGSTR, yydepth);
22750c8de5b0SBaptiste Daroussin #ifdef YYSTYPE_TOSTRING
22760c8de5b0SBaptiste Daroussin #if YYBTYACC
22770c8de5b0SBaptiste Daroussin if (!yytrial)
22780c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
22790c8de5b0SBaptiste Daroussin fprintf(stderr, "result is <%s>, ", YYSTYPE_TOSTRING(yystos[yystate], yyval));
22800c8de5b0SBaptiste Daroussin #endif
22810c8de5b0SBaptiste Daroussin fprintf(stderr, "shifting from state %d to state %d\n", *yystack.s_mark, yystate);
22820c8de5b0SBaptiste Daroussin }
22830c8de5b0SBaptiste Daroussin #endif
22840c8de5b0SBaptiste Daroussin if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
2285c5b5d71aSJung-uk Kim *++yystack.s_mark = (YYINT) yystate;
22860c8de5b0SBaptiste Daroussin *++yystack.l_mark = yyval;
22870c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
22880c8de5b0SBaptiste Daroussin *++yystack.p_mark = yyloc;
22890c8de5b0SBaptiste Daroussin #endif
22900c8de5b0SBaptiste Daroussin goto yyloop;
22910c8de5b0SBaptiste Daroussin #if YYBTYACC
22920c8de5b0SBaptiste Daroussin
22930c8de5b0SBaptiste Daroussin /* Reduction declares that this path is valid. Set yypath and do a full parse */
22940c8de5b0SBaptiste Daroussin yyvalid:
22950c8de5b0SBaptiste Daroussin if (yypath) YYABORT;
22960c8de5b0SBaptiste Daroussin while (yyps->save)
22970c8de5b0SBaptiste Daroussin {
22980c8de5b0SBaptiste Daroussin YYParseState *save = yyps->save;
22990c8de5b0SBaptiste Daroussin yyps->save = save->save;
23000c8de5b0SBaptiste Daroussin save->save = yypath;
23010c8de5b0SBaptiste Daroussin yypath = save;
23020c8de5b0SBaptiste Daroussin }
23030c8de5b0SBaptiste Daroussin #if YYDEBUG
23040c8de5b0SBaptiste Daroussin if (yydebug)
23050c8de5b0SBaptiste Daroussin fprintf(stderr, "%s[%d]: state %d, CONFLICT trial successful, backtracking to state %d, %d tokens\n",
23060c8de5b0SBaptiste Daroussin YYDEBUGSTR, yydepth, yystate, yypath->state, (int)(yylvp - yylvals - yypath->lexeme));
23070c8de5b0SBaptiste Daroussin #endif
23080c8de5b0SBaptiste Daroussin if (yyerrctx)
23090c8de5b0SBaptiste Daroussin {
23100c8de5b0SBaptiste Daroussin yyFreeState(yyerrctx);
23110c8de5b0SBaptiste Daroussin yyerrctx = NULL;
23120c8de5b0SBaptiste Daroussin }
23130c8de5b0SBaptiste Daroussin yylvp = yylvals + yypath->lexeme;
23140c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
23150c8de5b0SBaptiste Daroussin yylpp = yylpsns + yypath->lexeme;
23160c8de5b0SBaptiste Daroussin #endif
23170c8de5b0SBaptiste Daroussin yylexp = yylexemes + yypath->lexeme;
23180c8de5b0SBaptiste Daroussin yychar = YYEMPTY;
23190c8de5b0SBaptiste Daroussin yystack.s_mark = yystack.s_base + (yypath->yystack.s_mark - yypath->yystack.s_base);
2320c5b5d71aSJung-uk Kim memcpy (yystack.s_base, yypath->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
23210c8de5b0SBaptiste Daroussin yystack.l_mark = yystack.l_base + (yypath->yystack.l_mark - yypath->yystack.l_base);
232211fce282SBaptiste Daroussin memcpy (yystack.l_base, yypath->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
23230c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
23240c8de5b0SBaptiste Daroussin yystack.p_mark = yystack.p_base + (yypath->yystack.p_mark - yypath->yystack.p_base);
232511fce282SBaptiste Daroussin memcpy (yystack.p_base, yypath->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
23260c8de5b0SBaptiste Daroussin #endif
23270c8de5b0SBaptiste Daroussin yystate = yypath->state;
23280c8de5b0SBaptiste Daroussin goto yyloop;
23290c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
23300c8de5b0SBaptiste Daroussin
23310c8de5b0SBaptiste Daroussin yyoverflow:
23320c8de5b0SBaptiste Daroussin YYERROR_CALL("yacc stack overflow");
23330c8de5b0SBaptiste Daroussin #if YYBTYACC
23340c8de5b0SBaptiste Daroussin goto yyabort_nomem;
23350c8de5b0SBaptiste Daroussin yyenomem:
23360c8de5b0SBaptiste Daroussin YYERROR_CALL("memory exhausted");
23370c8de5b0SBaptiste Daroussin yyabort_nomem:
23380c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
23390c8de5b0SBaptiste Daroussin yyresult = 2;
23400c8de5b0SBaptiste Daroussin goto yyreturn;
23410c8de5b0SBaptiste Daroussin
23420c8de5b0SBaptiste Daroussin yyabort:
23430c8de5b0SBaptiste Daroussin yyresult = 1;
23440c8de5b0SBaptiste Daroussin goto yyreturn;
23450c8de5b0SBaptiste Daroussin
23460c8de5b0SBaptiste Daroussin yyaccept:
23470c8de5b0SBaptiste Daroussin #if YYBTYACC
23480c8de5b0SBaptiste Daroussin if (yyps->save) goto yyvalid;
23490c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
23500c8de5b0SBaptiste Daroussin yyresult = 0;
23510c8de5b0SBaptiste Daroussin
23520c8de5b0SBaptiste Daroussin yyreturn:
23530c8de5b0SBaptiste Daroussin #if defined(YYDESTRUCT_CALL)
23540c8de5b0SBaptiste Daroussin if (yychar != YYEOF && yychar != YYEMPTY)
23550c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
23560c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("cleanup: discarding token", yychar, &yylval, &yylloc);
23570c8de5b0SBaptiste Daroussin #else
23580c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("cleanup: discarding token", yychar, &yylval);
23590c8de5b0SBaptiste Daroussin #endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
23600c8de5b0SBaptiste Daroussin
23610c8de5b0SBaptiste Daroussin {
23620c8de5b0SBaptiste Daroussin YYSTYPE *pv;
23630c8de5b0SBaptiste Daroussin #if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
23640c8de5b0SBaptiste Daroussin YYLTYPE *pp;
23650c8de5b0SBaptiste Daroussin
23660c8de5b0SBaptiste Daroussin for (pv = yystack.l_base, pp = yystack.p_base; pv <= yystack.l_mark; ++pv, ++pp)
23670c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("cleanup: discarding state",
23680c8de5b0SBaptiste Daroussin yystos[*(yystack.s_base + (pv - yystack.l_base))], pv, pp);
23690c8de5b0SBaptiste Daroussin #else
23700c8de5b0SBaptiste Daroussin for (pv = yystack.l_base; pv <= yystack.l_mark; ++pv)
23710c8de5b0SBaptiste Daroussin YYDESTRUCT_CALL("cleanup: discarding state",
23720c8de5b0SBaptiste Daroussin yystos[*(yystack.s_base + (pv - yystack.l_base))], pv);
23730c8de5b0SBaptiste Daroussin #endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
23740c8de5b0SBaptiste Daroussin }
23750c8de5b0SBaptiste Daroussin #endif /* defined(YYDESTRUCT_CALL) */
23760c8de5b0SBaptiste Daroussin
23770c8de5b0SBaptiste Daroussin #if YYBTYACC
23780c8de5b0SBaptiste Daroussin if (yyerrctx)
23790c8de5b0SBaptiste Daroussin {
23800c8de5b0SBaptiste Daroussin yyFreeState(yyerrctx);
23810c8de5b0SBaptiste Daroussin yyerrctx = NULL;
23820c8de5b0SBaptiste Daroussin }
23830c8de5b0SBaptiste Daroussin while (yyps)
23840c8de5b0SBaptiste Daroussin {
23850c8de5b0SBaptiste Daroussin YYParseState *save = yyps;
23860c8de5b0SBaptiste Daroussin yyps = save->save;
23870c8de5b0SBaptiste Daroussin save->save = NULL;
23880c8de5b0SBaptiste Daroussin yyFreeState(save);
23890c8de5b0SBaptiste Daroussin }
23900c8de5b0SBaptiste Daroussin while (yypath)
23910c8de5b0SBaptiste Daroussin {
23920c8de5b0SBaptiste Daroussin YYParseState *save = yypath;
23930c8de5b0SBaptiste Daroussin yypath = save->save;
23940c8de5b0SBaptiste Daroussin save->save = NULL;
23950c8de5b0SBaptiste Daroussin yyFreeState(save);
23960c8de5b0SBaptiste Daroussin }
23970c8de5b0SBaptiste Daroussin #endif /* YYBTYACC */
23980c8de5b0SBaptiste Daroussin yyfreestack(&yystack);
23990c8de5b0SBaptiste Daroussin return (yyresult);
24000c8de5b0SBaptiste Daroussin }
2401