]> git.saurik.com Git - bison.git/blob - src/parse-gram.h
regen
[bison.git] / src / parse-gram.h
1 /* A Bison parser, made by GNU Bison 2.7.1127-02879-dirty. */
2
3 /* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
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.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
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.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 #ifndef YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED
34 # define YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED
35 /* Debug traces. */
36 #ifndef GRAM_DEBUG
37 # if defined YYDEBUG
38 #if YYDEBUG
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
48 extern int gram_debug;
49 #endif
50 /* "%code requires" blocks. */
51 #line 219 "src/parse-gram.y" /* yacc.c:1931 */
52
53 typedef enum
54 {
55 param_none = 0,
56 param_lex = 1 << 0,
57 param_parse = 1 << 1,
58 param_both = param_lex | param_parse
59 } param_type;
60
61
62 #line 63 "src/parse-gram.h" /* yacc.c:1931 */
63
64 /* Token type. */
65 #ifndef GRAM_TOKENTYPE
66 # define GRAM_TOKENTYPE
67 enum gram_tokentype
68 {
69 GRAM_EOF = 0,
70 STRING = 258,
71 PERCENT_TOKEN = 259,
72 PERCENT_NTERM = 260,
73 PERCENT_TYPE = 261,
74 PERCENT_DESTRUCTOR = 262,
75 PERCENT_PRINTER = 263,
76 PERCENT_LEFT = 264,
77 PERCENT_RIGHT = 265,
78 PERCENT_NONASSOC = 266,
79 PERCENT_PRECEDENCE = 267,
80 PERCENT_PREC = 268,
81 PERCENT_DPREC = 269,
82 PERCENT_MERGE = 270,
83 PERCENT_CODE = 271,
84 PERCENT_DEFAULT_PREC = 272,
85 PERCENT_DEFINE = 273,
86 PERCENT_DEFINES = 274,
87 PERCENT_ERROR_VERBOSE = 275,
88 PERCENT_EXPECT = 276,
89 PERCENT_EXPECT_RR = 277,
90 PERCENT_FLAG = 278,
91 PERCENT_FILE_PREFIX = 279,
92 PERCENT_GLR_PARSER = 280,
93 PERCENT_INITIAL_ACTION = 281,
94 PERCENT_LANGUAGE = 282,
95 PERCENT_NAME_PREFIX = 283,
96 PERCENT_NO_DEFAULT_PREC = 284,
97 PERCENT_NO_LINES = 285,
98 PERCENT_NONDETERMINISTIC_PARSER = 286,
99 PERCENT_OUTPUT = 287,
100 PERCENT_REQUIRE = 288,
101 PERCENT_SKELETON = 289,
102 PERCENT_START = 290,
103 PERCENT_TOKEN_TABLE = 291,
104 PERCENT_VERBOSE = 292,
105 PERCENT_YACC = 293,
106 BRACED_CODE = 294,
107 BRACED_PREDICATE = 295,
108 BRACKETED_ID = 296,
109 CHAR = 297,
110 EPILOGUE = 298,
111 EQUAL = 299,
112 ID = 300,
113 ID_COLON = 301,
114 PERCENT_PERCENT = 302,
115 PIPE = 303,
116 PROLOGUE = 304,
117 SEMICOLON = 305,
118 TAG = 306,
119 TAG_ANY = 307,
120 TAG_NONE = 308,
121 INT = 309,
122 PERCENT_PARAM = 310,
123 PERCENT_UNION = 311,
124 PERCENT_EMPTY = 312
125 };
126 #endif
127
128 /* Value type. */
129 #if ! defined GRAM_STYPE && ! defined GRAM_STYPE_IS_DECLARED
130 typedef union GRAM_STYPE GRAM_STYPE;
131 union GRAM_STYPE
132 {
133 #line 171 "src/parse-gram.y" /* yacc.c:1931 */
134 unsigned char character;
135 #line 178 "src/parse-gram.y" /* yacc.c:1931 */
136
137 char *code;
138 char const *chars;
139
140 #line 189 "src/parse-gram.y" /* yacc.c:1931 */
141 uniqstr uniqstr;
142 #line 197 "src/parse-gram.y" /* yacc.c:1931 */
143 int integer;
144 #line 201 "src/parse-gram.y" /* yacc.c:1931 */
145 symbol *symbol;
146 #line 206 "src/parse-gram.y" /* yacc.c:1931 */
147 assoc assoc;
148 #line 209 "src/parse-gram.y" /* yacc.c:1931 */
149 symbol_list *list;
150 #line 212 "src/parse-gram.y" /* yacc.c:1931 */
151 named_ref *named_ref;
152 #line 239 "src/parse-gram.y" /* yacc.c:1931 */
153 param_type param;
154 #line 413 "src/parse-gram.y" /* yacc.c:1931 */
155 code_props_type code_type;
156
157 #line 158 "src/parse-gram.h" /* yacc.c:1931 */
158 };
159 # define GRAM_STYPE_IS_TRIVIAL 1
160 # define GRAM_STYPE_IS_DECLARED 1
161 #endif
162
163 /* Location type. */
164 #if ! defined GRAM_LTYPE && ! defined GRAM_LTYPE_IS_DECLARED
165 typedef struct GRAM_LTYPE GRAM_LTYPE;
166 struct GRAM_LTYPE
167 {
168 int first_line;
169 int first_column;
170 int last_line;
171 int last_column;
172 };
173 # define GRAM_LTYPE_IS_DECLARED 1
174 # define GRAM_LTYPE_IS_TRIVIAL 1
175 #endif
176
177
178
179 int gram_parse (void);
180
181 #endif /* !YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED */