]> git.saurik.com Git - bison.git/blame - src/parse-gram.h
c++: fix several issues with locations
[bison.git] / src / parse-gram.h
CommitLineData
2dc8862b 1/* A Bison parser, made by GNU Bison 2.7.1127-02879-dirty. */
1c7b7e1d 2
3c9b20ff 3/* Bison interface for Yacc-like parsers in C
086fd113 4
3f4bc2c1 5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
086fd113 6
f16b0819 7 This program is free software: you can redistribute it and/or modify
04b6e11e 8 it under the terms of the GNU General Public License as published by
f16b0819
PE
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
086fd113 11
04b6e11e
PE
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
086fd113 16
04b6e11e 17 You should have received a copy of the GNU General Public License
f16b0819 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
04b6e11e 19
04c12cb8
PE
20/* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
086fd113 29
04c12cb8
PE
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
dda2c1ad 32
bb8e56ff
TR
33#ifndef YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED
34# define YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED
0a9042a6 35/* Debug traces. */
8d9cffff
AD
36#ifndef GRAM_DEBUG
37# if defined YYDEBUG
dda2c1ad 38#if YYDEBUG
8d9cffff
AD
39# define GRAM_DEBUG 1
40# else
41# define GRAM_DEBUG 0
42# endif
43# else /* ! defined YYDEBUG */
44# define GRAM_DEBUG 1
45# endif /* ! defined YYDEBUG */
46#endif /* ! defined GRAM_DEBUG */
47#if GRAM_DEBUG
dda2c1ad
AD
48extern int gram_debug;
49#endif
b18cdd91 50/* "%code requires" blocks. */
de5fb744 51#line 218 "src/parse-gram.y" /* yacc.c:1931 */
b18cdd91 52
b18cdd91
AD
53 typedef enum
54 {
dd875058 55 param_none = 0,
b18cdd91
AD
56 param_lex = 1 << 0,
57 param_parse = 1 << 1,
58 param_both = param_lex | param_parse
59 } param_type;
b18cdd91 60
de5fb744
AD
61#line 649 "src/parse-gram.y" /* yacc.c:1931 */
62#include "muscle-tab.h"
b18cdd91 63
de5fb744 64#line 65 "src/parse-gram.h" /* yacc.c:1931 */
04b6e11e 65
0a9042a6 66/* Token type. */
8d9cffff
AD
67#ifndef GRAM_TOKENTYPE
68# define GRAM_TOKENTYPE
8d9cffff 69 enum gram_tokentype
a9439670
AD
70 {
71 GRAM_EOF = 0,
72 STRING = 258,
8a928349
AD
73 PERCENT_TOKEN = 259,
74 PERCENT_NTERM = 260,
75 PERCENT_TYPE = 261,
76 PERCENT_DESTRUCTOR = 262,
77 PERCENT_PRINTER = 263,
78 PERCENT_LEFT = 264,
79 PERCENT_RIGHT = 265,
80 PERCENT_NONASSOC = 266,
81 PERCENT_PRECEDENCE = 267,
82 PERCENT_PREC = 268,
83 PERCENT_DPREC = 269,
84 PERCENT_MERGE = 270,
85 PERCENT_CODE = 271,
86 PERCENT_DEFAULT_PREC = 272,
87 PERCENT_DEFINE = 273,
88 PERCENT_DEFINES = 274,
89 PERCENT_ERROR_VERBOSE = 275,
90 PERCENT_EXPECT = 276,
91 PERCENT_EXPECT_RR = 277,
92 PERCENT_FLAG = 278,
93 PERCENT_FILE_PREFIX = 279,
94 PERCENT_GLR_PARSER = 280,
95 PERCENT_INITIAL_ACTION = 281,
96 PERCENT_LANGUAGE = 282,
97 PERCENT_NAME_PREFIX = 283,
98 PERCENT_NO_DEFAULT_PREC = 284,
99 PERCENT_NO_LINES = 285,
100 PERCENT_NONDETERMINISTIC_PARSER = 286,
101 PERCENT_OUTPUT = 287,
102 PERCENT_REQUIRE = 288,
103 PERCENT_SKELETON = 289,
104 PERCENT_START = 290,
105 PERCENT_TOKEN_TABLE = 291,
106 PERCENT_VERBOSE = 292,
107 PERCENT_YACC = 293,
108 BRACED_CODE = 294,
109 BRACED_PREDICATE = 295,
110 BRACKETED_ID = 296,
111 CHAR = 297,
112 EPILOGUE = 298,
113 EQUAL = 299,
114 ID = 300,
115 ID_COLON = 301,
116 PERCENT_PERCENT = 302,
117 PIPE = 303,
118 PROLOGUE = 304,
119 SEMICOLON = 305,
120 TAG = 306,
121 TAG_ANY = 307,
122 TAG_NONE = 308,
123 INT = 309,
a9439670 124 PERCENT_PARAM = 310,
8ecac08f
AD
125 PERCENT_UNION = 311,
126 PERCENT_EMPTY = 312
a9439670 127 };
ae7453f2 128#endif
8f7ebfc8 129
0a9042a6 130/* Value type. */
8d9cffff 131#if ! defined GRAM_STYPE && ! defined GRAM_STYPE_IS_DECLARED
0a9042a6
AD
132typedef union GRAM_STYPE GRAM_STYPE;
133union GRAM_STYPE
136a0f76 134{
de5fb744 135#line 170 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 136unsigned char character;
de5fb744 137#line 177 "src/parse-gram.y" /* yacc.c:1931 */
50a33993 138
b18cdd91
AD
139 char *code;
140 char const *chars;
b18cdd91 141
de5fb744 142#line 188 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 143uniqstr uniqstr;
de5fb744 144#line 196 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 145int integer;
de5fb744 146#line 200 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 147symbol *symbol;
de5fb744 148#line 205 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 149assoc assoc;
de5fb744 150#line 208 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 151symbol_list *list;
de5fb744 152#line 211 "src/parse-gram.y" /* yacc.c:1931 */
8a928349 153named_ref *named_ref;
de5fb744 154#line 238 "src/parse-gram.y" /* yacc.c:1931 */
8a928349
AD
155param_type param;
156#line 413 "src/parse-gram.y" /* yacc.c:1931 */
0294b130 157code_props_type code_type;
de5fb744 158#line 651 "src/parse-gram.y" /* yacc.c:1931 */
7ecec4dd 159
de5fb744
AD
160 struct
161 {
162 char const *chars;
163 muscle_kind kind;
164 } value;
165
166
167#line 168 "src/parse-gram.h" /* yacc.c:1931 */
0a9042a6 168};
8d9cffff
AD
169# define GRAM_STYPE_IS_TRIVIAL 1
170# define GRAM_STYPE_IS_DECLARED 1
e9955c83
AD
171#endif
172
0a9042a6 173/* Location type. */
8d9cffff 174#if ! defined GRAM_LTYPE && ! defined GRAM_LTYPE_IS_DECLARED
0a9042a6
AD
175typedef struct GRAM_LTYPE GRAM_LTYPE;
176struct GRAM_LTYPE
e9955c83
AD
177{
178 int first_line;
179 int first_column;
180 int last_line;
181 int last_column;
0a9042a6 182};
8d9cffff
AD
183# define GRAM_LTYPE_IS_DECLARED 1
184# define GRAM_LTYPE_IS_TRIVIAL 1
e9955c83
AD
185#endif
186
415b8823 187
0a9042a6 188
dda2c1ad 189int gram_parse (void);
e9955c83 190
bb8e56ff 191#endif /* !YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED */