1 /* A Bison parser, made by GNU Bison 3.7.6. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 35 especially those whose name start with YY_ or yy_. They are 36 private implementation details that can be changed or removed. */ 37 38 #ifndef YY_YY_SCANNERPARSER_H_INCLUDED 39 # define YY_YY_SCANNERPARSER_H_INCLUDED 40 /* Debug traces. */ 41 #ifndef YYDEBUG 42 # define YYDEBUG 0 43 #endif 44 #if YYDEBUG 45 extern int yydebug; 46 #endif 47 48 /* Token kinds. */ 49 #ifndef YYTOKENTYPE 50 # define YYTOKENTYPE 51 enum yytokentype 52 { 53 YYEMPTY = -2, 54 YYEOF = 0, /* "end of file" */ 55 YYerror = 256, /* error */ 56 YYUNDEF = 257, /* "invalid token" */ 57 IDENTIFIER = 258, /* "identifier" */ 58 TYPEDEF_NAME = 259, /* "typedef-name" */ 59 INTEGER = 260, /* INTEGER */ 60 FLOATING = 261, /* FLOATING */ 61 CHARACTER = 262, /* CHARACTER */ 62 STRING = 263, /* STRING */ 63 ELLIPSIS = 264, /* ELLIPSIS */ 64 ADDEQ = 265, /* ADDEQ */ 65 SUBEQ = 266, /* SUBEQ */ 66 MULEQ = 267, /* MULEQ */ 67 DIVEQ = 268, /* DIVEQ */ 68 MODEQ = 269, /* MODEQ */ 69 XOREQ = 270, /* XOREQ */ 70 ANDEQ = 271, /* ANDEQ */ 71 OREQ = 272, /* OREQ */ 72 SL = 273, /* SL */ 73 SR = 274, /* SR */ 74 SLEQ = 275, /* SLEQ */ 75 SREQ = 276, /* SREQ */ 76 EQ = 277, /* EQ */ 77 NOTEQ = 278, /* NOTEQ */ 78 LTEQ = 279, /* LTEQ */ 79 GTEQ = 280, /* GTEQ */ 80 ANDAND = 281, /* ANDAND */ 81 OROR = 282, /* OROR */ 82 PLUSPLUS = 283, /* PLUSPLUS */ 83 MINUSMINUS = 284, /* MINUSMINUS */ 84 ARROW = 285, /* ARROW */ 85 AUTO = 286, /* AUTO */ 86 BOOL = 287, /* BOOL */ 87 BREAK = 288, /* BREAK */ 88 CASE = 289, /* CASE */ 89 CHAR = 290, /* CHAR */ 90 CONST = 291, /* CONST */ 91 CONTINUE = 292, /* CONTINUE */ 92 DEFAULT = 293, /* DEFAULT */ 93 DO = 294, /* DO */ 94 DOUBLE = 295, /* DOUBLE */ 95 ELSE = 296, /* ELSE */ 96 ENUM = 297, /* ENUM */ 97 EXTERN = 298, /* EXTERN */ 98 FLOAT = 299, /* FLOAT */ 99 FOR = 300, /* FOR */ 100 GOTO = 301, /* GOTO */ 101 IF = 302, /* IF */ 102 INLINE = 303, /* INLINE */ 103 INT = 304, /* INT */ 104 LONG = 305, /* LONG */ 105 REGISTER = 306, /* REGISTER */ 106 RESTRICT = 307, /* RESTRICT */ 107 RETURN = 308, /* RETURN */ 108 SHORT = 309, /* SHORT */ 109 SIGNED = 310, /* SIGNED */ 110 SIZEOF = 311, /* SIZEOF */ 111 STATIC = 312, /* STATIC */ 112 STRUCT = 313, /* STRUCT */ 113 SWITCH = 314, /* SWITCH */ 114 TYPEDEF = 315, /* TYPEDEF */ 115 UNION = 316, /* UNION */ 116 UNSIGNED = 317, /* UNSIGNED */ 117 VOID = 318, /* VOID */ 118 VOLATILE = 319, /* VOLATILE */ 119 WHILE = 320, /* WHILE */ 120 FUNCTION_MACRO = 321, /* FUNCTION_MACRO */ 121 OBJECT_MACRO = 322 /* OBJECT_MACRO */ 122 }; 123 typedef enum yytokentype yytoken_kind_t; 124 #endif 125 /* Token kinds. */ 126 #define YYEMPTY -2 127 #define YYEOF 0 128 #define YYerror 256 129 #define YYUNDEF 257 130 #define IDENTIFIER 258 131 #define TYPEDEF_NAME 259 132 #define INTEGER 260 133 #define FLOATING 261 134 #define CHARACTER 262 135 #define STRING 263 136 #define ELLIPSIS 264 137 #define ADDEQ 265 138 #define SUBEQ 266 139 #define MULEQ 267 140 #define DIVEQ 268 141 #define MODEQ 269 142 #define XOREQ 270 143 #define ANDEQ 271 144 #define OREQ 272 145 #define SL 273 146 #define SR 274 147 #define SLEQ 275 148 #define SREQ 276 149 #define EQ 277 150 #define NOTEQ 278 151 #define LTEQ 279 152 #define GTEQ 280 153 #define ANDAND 281 154 #define OROR 282 155 #define PLUSPLUS 283 156 #define MINUSMINUS 284 157 #define ARROW 285 158 #define AUTO 286 159 #define BOOL 287 160 #define BREAK 288 161 #define CASE 289 162 #define CHAR 290 163 #define CONST 291 164 #define CONTINUE 292 165 #define DEFAULT 293 166 #define DO 294 167 #define DOUBLE 295 168 #define ELSE 296 169 #define ENUM 297 170 #define EXTERN 298 171 #define FLOAT 299 172 #define FOR 300 173 #define GOTO 301 174 #define IF 302 175 #define INLINE 303 176 #define INT 304 177 #define LONG 305 178 #define REGISTER 306 179 #define RESTRICT 307 180 #define RETURN 308 181 #define SHORT 309 182 #define SIGNED 310 183 #define SIZEOF 311 184 #define STATIC 312 185 #define STRUCT 313 186 #define SWITCH 314 187 #define TYPEDEF 315 188 #define UNION 316 189 #define UNSIGNED 317 190 #define VOID 318 191 #define VOLATILE 319 192 #define WHILE 320 193 #define FUNCTION_MACRO 321 194 #define OBJECT_MACRO 322 195 196 /* Value type. */ 197 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 198 union YYSTYPE 199 { 200 #line 190 "scannerparser.y" 201 202 char *str; 203 GList *list; 204 CSymbol *symbol; 205 CType *ctype; 206 StorageClassSpecifier storage_class_specifier; 207 TypeQualifier type_qualifier; 208 FunctionSpecifier function_specifier; 209 UnaryOperator unary_operator; 210 211 #line 212 "scannerparser.h" 212 213 }; 214 typedef union YYSTYPE YYSTYPE; 215 # define YYSTYPE_IS_TRIVIAL 1 216 # define YYSTYPE_IS_DECLARED 1 217 #endif 218 219 220 extern YYSTYPE yylval; 221 222 int yyparse (GIGenerator* igenerator); 223 224 #endif /* !YY_YY_SCANNERPARSER_H_INCLUDED */ 225