]>
Commit | Line | Data |
---|---|---|
a62a7b01 | 1 | /* A Bison parser, made by GNU Bison 3.0. */ |
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 |
48 | extern int gram_debug; |
49 | #endif | |
b18cdd91 | 50 | /* "%code requires" blocks. */ |
a62a7b01 | 51 | #line 21 "src/parse-gram.y" /* yacc.c:1909 */ |
7dbadca2 | 52 | |
332019e1 AD |
53 | #include "symlist.h" |
54 | #include "symtab.h" | |
a62a7b01 | 55 | #line 221 "src/parse-gram.y" /* yacc.c:1909 */ |
b18cdd91 | 56 | |
b18cdd91 AD |
57 | typedef enum |
58 | { | |
dd875058 | 59 | param_none = 0, |
b18cdd91 AD |
60 | param_lex = 1 << 0, |
61 | param_parse = 1 << 1, | |
62 | param_both = param_lex | param_parse | |
63 | } param_type; | |
a62a7b01 | 64 | #line 645 "src/parse-gram.y" /* yacc.c:1909 */ |
de5fb744 | 65 | #include "muscle-tab.h" |
b18cdd91 | 66 | |
a62a7b01 | 67 | #line 68 "src/parse-gram.h" /* yacc.c:1909 */ |
04b6e11e | 68 | |
0a9042a6 | 69 | /* Token type. */ |
8d9cffff AD |
70 | #ifndef GRAM_TOKENTYPE |
71 | # define GRAM_TOKENTYPE | |
8d9cffff | 72 | enum gram_tokentype |
a9439670 AD |
73 | { |
74 | GRAM_EOF = 0, | |
75 | STRING = 258, | |
8a928349 AD |
76 | PERCENT_TOKEN = 259, |
77 | PERCENT_NTERM = 260, | |
78 | PERCENT_TYPE = 261, | |
79 | PERCENT_DESTRUCTOR = 262, | |
80 | PERCENT_PRINTER = 263, | |
81 | PERCENT_LEFT = 264, | |
82 | PERCENT_RIGHT = 265, | |
83 | PERCENT_NONASSOC = 266, | |
84 | PERCENT_PRECEDENCE = 267, | |
85 | PERCENT_PREC = 268, | |
86 | PERCENT_DPREC = 269, | |
87 | PERCENT_MERGE = 270, | |
88 | PERCENT_CODE = 271, | |
89 | PERCENT_DEFAULT_PREC = 272, | |
90 | PERCENT_DEFINE = 273, | |
91 | PERCENT_DEFINES = 274, | |
92 | PERCENT_ERROR_VERBOSE = 275, | |
93 | PERCENT_EXPECT = 276, | |
94 | PERCENT_EXPECT_RR = 277, | |
95 | PERCENT_FLAG = 278, | |
96 | PERCENT_FILE_PREFIX = 279, | |
97 | PERCENT_GLR_PARSER = 280, | |
98 | PERCENT_INITIAL_ACTION = 281, | |
99 | PERCENT_LANGUAGE = 282, | |
100 | PERCENT_NAME_PREFIX = 283, | |
101 | PERCENT_NO_DEFAULT_PREC = 284, | |
102 | PERCENT_NO_LINES = 285, | |
103 | PERCENT_NONDETERMINISTIC_PARSER = 286, | |
104 | PERCENT_OUTPUT = 287, | |
105 | PERCENT_REQUIRE = 288, | |
106 | PERCENT_SKELETON = 289, | |
107 | PERCENT_START = 290, | |
108 | PERCENT_TOKEN_TABLE = 291, | |
109 | PERCENT_VERBOSE = 292, | |
110 | PERCENT_YACC = 293, | |
111 | BRACED_CODE = 294, | |
112 | BRACED_PREDICATE = 295, | |
113 | BRACKETED_ID = 296, | |
114 | CHAR = 297, | |
115 | EPILOGUE = 298, | |
116 | EQUAL = 299, | |
117 | ID = 300, | |
118 | ID_COLON = 301, | |
119 | PERCENT_PERCENT = 302, | |
120 | PIPE = 303, | |
121 | PROLOGUE = 304, | |
122 | SEMICOLON = 305, | |
123 | TAG = 306, | |
124 | TAG_ANY = 307, | |
125 | TAG_NONE = 308, | |
126 | INT = 309, | |
a9439670 | 127 | PERCENT_PARAM = 310, |
8ecac08f AD |
128 | PERCENT_UNION = 311, |
129 | PERCENT_EMPTY = 312 | |
a9439670 | 130 | }; |
ae7453f2 | 131 | #endif |
8f7ebfc8 | 132 | |
0a9042a6 | 133 | /* Value type. */ |
8d9cffff | 134 | #if ! defined GRAM_STYPE && ! defined GRAM_STYPE_IS_DECLARED |
0a9042a6 AD |
135 | typedef union GRAM_STYPE GRAM_STYPE; |
136 | union GRAM_STYPE | |
136a0f76 | 137 | { |
a62a7b01 | 138 | #line 182 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 139 | unsigned char character; |
a62a7b01 | 140 | #line 186 "src/parse-gram.y" /* yacc.c:1909 */ |
e37054cf | 141 | char *code; |
a62a7b01 | 142 | #line 191 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 143 | uniqstr uniqstr; |
a62a7b01 | 144 | #line 199 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 145 | int integer; |
a62a7b01 | 146 | #line 203 "src/parse-gram.y" /* yacc.c:1909 */ |
e37054cf | 147 | symbol *symbol; |
a62a7b01 | 148 | #line 208 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 149 | assoc assoc; |
a62a7b01 | 150 | #line 211 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 151 | symbol_list *list; |
a62a7b01 | 152 | #line 214 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 153 | named_ref *named_ref; |
a62a7b01 | 154 | #line 241 "src/parse-gram.y" /* yacc.c:1909 */ |
8a928349 | 155 | param_type param; |
a62a7b01 | 156 | #line 409 "src/parse-gram.y" /* yacc.c:1909 */ |
0294b130 | 157 | code_props_type code_type; |
a62a7b01 | 158 | #line 647 "src/parse-gram.y" /* yacc.c:1909 */ |
7ecec4dd | 159 | |
de5fb744 AD |
160 | struct |
161 | { | |
162 | char const *chars; | |
163 | muscle_kind kind; | |
164 | } value; | |
165 | ||
a62a7b01 | 166 | #line 167 "src/parse-gram.h" /* yacc.c:1909 */ |
0a9042a6 | 167 | }; |
8d9cffff AD |
168 | # define GRAM_STYPE_IS_TRIVIAL 1 |
169 | # define GRAM_STYPE_IS_DECLARED 1 | |
e9955c83 AD |
170 | #endif |
171 | ||
0a9042a6 | 172 | /* Location type. */ |
8d9cffff | 173 | #if ! defined GRAM_LTYPE && ! defined GRAM_LTYPE_IS_DECLARED |
0a9042a6 AD |
174 | typedef struct GRAM_LTYPE GRAM_LTYPE; |
175 | struct GRAM_LTYPE | |
e9955c83 AD |
176 | { |
177 | int first_line; | |
178 | int first_column; | |
179 | int last_line; | |
180 | int last_column; | |
0a9042a6 | 181 | }; |
8d9cffff AD |
182 | # define GRAM_LTYPE_IS_DECLARED 1 |
183 | # define GRAM_LTYPE_IS_TRIVIAL 1 | |
e9955c83 AD |
184 | #endif |
185 | ||
415b8823 | 186 | |
0a9042a6 | 187 | |
dda2c1ad | 188 | int gram_parse (void); |
e9955c83 | 189 | |
bb8e56ff | 190 | #endif /* !YY_GRAM_SRC_PARSE_GRAM_H_INCLUDED */ |