1 /* Copyright (C) 1986-2016 Free Software Foundation, Inc.
3 This file is part of GDB.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
18 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
19 etc), as well as gratuitiously global symbol names, so we can have
20 multiple yacc generated parsers in gdb. Note that these are only
21 the variables produced by yacc. If other parser generators (bison,
22 byacc, etc) produce additional global names that conflict at link
23 time, then those parser generators need to be fixed instead of
24 adding those names to this list. */
26 /* NOTE: This is clumsy since BISON and FLEX provide --prefix options.
27 We are maintaining it to accommodate systems without BISON. */
29 /* Define GDB_YY_REMAP_PREFIX to the desired remapping prefix before
30 including this file. */
31 #ifndef GDB_YY_REMAP_PREFIX
32 # error "GDB_YY_REMAP_PREFIX not defined"
35 #define GDB_YY_REMAP_2(PREFIX, YYSYM) PREFIX ## YYSYM
36 #define GDB_YY_REMAP_1(PREFIX, YYSYM) GDB_YY_REMAP_2 (PREFIX, YYSYM)
37 #define GDB_YY_REMAP(YYSYM) GDB_YY_REMAP_1 (GDB_YY_REMAP_PREFIX, YYSYM)
39 #define yymaxdepth GDB_YY_REMAP (yymaxdepth)
40 #define yyparse GDB_YY_REMAP (yyparse)
41 #define yylex GDB_YY_REMAP (yylex)
42 #define yyerror GDB_YY_REMAP (yyerror)
43 #define yylval GDB_YY_REMAP (yylval)
44 #define yychar GDB_YY_REMAP (yychar)
45 #define yydebug GDB_YY_REMAP (yydebug)
46 #define yypact GDB_YY_REMAP (yypact)
47 #define yyr1 GDB_YY_REMAP (yyr1)
48 #define yyr2 GDB_YY_REMAP (yyr2)
49 #define yydef GDB_YY_REMAP (yydef)
50 #define yychk GDB_YY_REMAP (yychk)
51 #define yypgo GDB_YY_REMAP (yypgo)
52 #define yyact GDB_YY_REMAP (yyact)
53 #define yyexca GDB_YY_REMAP (yyexca)
54 #define yyerrflag GDB_YY_REMAP (yyerrflag)
55 #define yynerrs GDB_YY_REMAP (yynerrs)
56 #define yyps GDB_YY_REMAP (yyps)
57 #define yypv GDB_YY_REMAP (yypv)
58 #define yys GDB_YY_REMAP (yys)
59 #define yy_yys GDB_YY_REMAP (yy_yys)
60 #define yystate GDB_YY_REMAP (yystate)
61 #define yytmp GDB_YY_REMAP (yytmp)
62 #define yyv GDB_YY_REMAP (yyv)
63 #define yy_yyv GDB_YY_REMAP (yy_yyv)
64 #define yyval GDB_YY_REMAP (yyval)
65 #define yylloc GDB_YY_REMAP (yylloc)
66 #define yyreds GDB_YY_REMAP (yyreds) /* With YYDEBUG defined */
67 #define yytoks GDB_YY_REMAP (yytoks) /* With YYDEBUG defined */
68 #define yyname GDB_YY_REMAP (yyname) /* With YYDEBUG defined */
69 #define yyrule GDB_YY_REMAP (yyrule) /* With YYDEBUG defined */
70 #define yylhs GDB_YY_REMAP (yylhs)
71 #define yylen GDB_YY_REMAP (yylen)
72 #define yydefred GDB_YY_REMAP (yydefred)
73 #define yydgoto GDB_YY_REMAP (yydgoto)
74 #define yysindex GDB_YY_REMAP (yysindex)
75 #define yyrindex GDB_YY_REMAP (yyrindex)
76 #define yygindex GDB_YY_REMAP (yygindex)
77 #define yytable GDB_YY_REMAP (yytable)
78 #define yycheck GDB_YY_REMAP (yycheck)
79 #define yyss GDB_YY_REMAP (yyss)
80 #define yysslim GDB_YY_REMAP (yysslim)
81 #define yyssp GDB_YY_REMAP (yyssp)
82 #define yystacksize GDB_YY_REMAP (yystacksize)
83 #define yyvs GDB_YY_REMAP (yyvs)
84 #define yyvsp GDB_YY_REMAP (yyvsp)
86 /* The following are common to all parsers. */
89 # define YYDEBUG 1 /* Default to yydebug support */
92 #define YYFPRINTF parser_fprintf