]> git.saurik.com Git - bison.git/blob - src/parse-gram.h
50d754774cc51c09bab740da8ccef1077075bd50
[bison.git] / src / parse-gram.h
1 /* A Bison parser, made by GNU Bison 2.7.1164-a174b-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 218 "src/parse-gram.y" /* yacc.c:1926 */
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 #line 649 "src/parse-gram.y" /* yacc.c:1926 */
61 #include "muscle-tab.h"
62
63 #line 64 "src/parse-gram.h" /* yacc.c:1926 */
64
65 /* Token type. */
66 #ifndef GRAM_TOKENTYPE
67 # define GRAM_TOKENTYPE
68 enum gram_tokentype
69 {
70 GRAM_EOF = 0,
71 STRING = 258,
72 PERCENT_TOKEN = 259,
73 PERCENT_NTERM = 260,
74 PERCENT_TYPE = 261,
75 PERCENT_DESTRUCTOR = 262,
76 PERCENT_PRINTER = 263,
77 PERCENT_LEFT = 264,
78 PERCENT_RIGHT = 265,
79 PERCENT_NONASSOC = 266,
80 PERCENT_PRECEDENCE = 267,
81 PERCENT_PREC = 268,
82 PERCENT_DPREC = 269,
83 PERCENT_MERGE = 270,
84 PERCENT_CODE = 271,
85 PERCENT_DEFAULT_PREC = 272,
86 PERCENT_DEFINE = 273,
87 PERCENT_DEFINES = 274,
88 PERCENT_ERROR_VERBOSE = 275,
89 PERCENT_EXPECT = 276,
90 PERCENT_EXPECT_RR = 277,
91 PERCENT_FLAG = 278,
92 PERCENT_FILE_PREFIX = 279,
93 PERCENT_GLR_PARSER = 280,
94 PERCENT_INITIAL_ACTION = 281,
95 PERCENT_LANGUAGE = 282,
96 PERCENT_NAME_PREFIX = 283,
97 PERCENT_NO_DEFAULT_PREC = 284,
98 PERCENT_NO_LINES = 285,
99 PERCENT_NONDETERMINISTIC_PARSER = 286,
100 PERCENT_OUTPUT = 287,
101 PERCENT_REQUIRE = 288,
102 PERCENT_SKELETON = 289,
103 PERCENT_START = 290,
104 PERCENT_TOKEN_TABLE = 291,
105 PERCENT_VERBOSE = 292,
106 PERCENT_YACC = 293,
107 BRACED_CODE = 294,
108 BRACED_PREDICATE = 295,
109 BRACKETED_ID = 296,
110 CHAR = 297,
111 EPILOGUE = 298,
112 EQUAL = 299,
113 ID = 300,
114 ID_COLON = 301,
115 PERCENT_PERCENT = 302,
116 PIPE = 303,
117 PROLOGUE = 304,
118 SEMICOLON = 305,
119 TAG = 306,
120 TAG_ANY = 307,
121 TAG_NONE = 308,
122 INT = 309,
123 PERCENT_PARAM = 310,
124 PERCENT_UNION = 311,
125 PERCENT_EMPTY = 312
126 };
127 #endif
128
129 /* Value type. */
130 #if ! defined GRAM_STYPE && ! defined GRAM_STYPE_IS_DECLARED
131 typedef union GRAM_STYPE GRAM_STYPE;
132 union GRAM_STYPE
133 {
134 #line 170 "src/parse-gram.y" /* yacc.c:1926 */
135 unsigned char character;
136 #line 177 "src/parse-gram.y" /* yacc.c:1926 */
137
138 char *code;
139 char const *chars;
140 #line 188 "src/parse-gram.y" /* yacc.c:1926 */
141 uniqstr uniqstr;
142 #line 196 "src/parse-gram.y" /* yacc.c:1926 */
143 int integer;
144 #line 200 "src/parse-gram.y" /* yacc.c:1926 */
145 symbol *symbol;
146 #line 205 "src/parse-gram.y" /* yacc.c:1926 */
147 assoc assoc;
148 #line 208 "src/parse-gram.y" /* yacc.c:1926 */
149 symbol_list *list;
150 #line 211 "src/parse-gram.y" /* yacc.c:1926 */
151 named_ref *named_ref;
152 #line 238 "src/parse-gram.y" /* yacc.c:1926 */
153 param_type param;
154 #line 413 "src/parse-gram.y" /* yacc.c:1926 */
155 code_props_type code_type;
156 #line 651 "src/parse-gram.y" /* yacc.c:1926 */
157
158 struct
159 {
160 char const *chars;
161 muscle_kind kind;
162 } value;
163
164 #line 165 "src/parse-gram.h" /* yacc.c:1926 */
165 };
166 # define GRAM_STYPE_IS_TRIVIAL 1
167 # define GRAM_STYPE_IS_DECLARED 1
168 #endif
169
170 /* Location type. */
171 #if ! defined GRAM_LTYPE && ! defined GRAM_LTYPE_IS_DECLARED
172 typedef struct GRAM_LTYPE GRAM_LTYPE;
173 struct GRAM_LTYPE
174 {
175 int first_line;
176 int first_column;
177 int last_line;
178 int last_column;
179 };
180 # define GRAM_LTYPE_IS_DECLARED 1
181 # define GRAM_LTYPE_IS_TRIVIAL 1
182 #endif
183
184
185
186 int gram_parse (void);
187
188 #endif /* !YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED */