X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1921f1d7a44530a5196880d52ce83fea60da6255..9b33de72cd2469bedac2b5f0a48a8782571ea9db:/src/parse-gram.h?ds=inline diff --git a/src/parse-gram.h b/src/parse-gram.h index 7eccd219..69420645 100644 --- a/src/parse-gram.h +++ b/src/parse-gram.h @@ -1,124 +1,208 @@ -#ifndef BISON_PARSE_GRAM_H -# define BISON_PARSE_GRAM_H + +/* A Bison parser, made by GNU Bison 2.3a+. */ + +/* Skeleton interface for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + /* Tokens. */ #ifndef YYTOKENTYPE -# if defined (__STDC__) || defined (__cplusplus) +# define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { GRAM_EOF = 0, STRING = 258, - CHARACTER = 259, - INT = 260, - PERCENT_TOKEN = 261, - PERCENT_NTERM = 262, - PERCENT_TYPE = 263, - PERCENT_UNION = 264, - PERCENT_EXPECT = 265, - PERCENT_START = 266, - PERCENT_PREC = 267, - PERCENT_VERBOSE = 268, - PERCENT_ERROR_VERBOSE = 269, - PERCENT_OUTPUT = 270, - PERCENT_FILE_PREFIX = 271, - PERCENT_NAME_PREFIX = 272, - PERCENT_DEFINE = 273, - PERCENT_PURE_PARSER = 274, + INT = 259, + PERCENT_TOKEN = 260, + PERCENT_NTERM = 261, + PERCENT_TYPE = 262, + PERCENT_DESTRUCTOR = 263, + PERCENT_PRINTER = 264, + PERCENT_LEFT = 265, + PERCENT_RIGHT = 266, + PERCENT_NONASSOC = 267, + PERCENT_PREC = 268, + PERCENT_DPREC = 269, + PERCENT_MERGE = 270, + PERCENT_CODE = 271, + PERCENT_DEBUG = 272, + PERCENT_DEFAULT_PREC = 273, + PERCENT_DEFINE = 274, PERCENT_DEFINES = 275, - PERCENT_YACC = 276, - PERCENT_DEBUG = 277, - PERCENT_LOCATIONS = 278, - PERCENT_NO_LINES = 279, - PERCENT_SKELETON = 280, - PERCENT_TOKEN_TABLE = 281, - TYPE = 282, - EQUAL = 283, - SEMICOLON = 284, - COLON = 285, - PIPE = 286, - ID = 287, - PERCENT_PERCENT = 288, - PROLOGUE = 289, - EPILOGUE = 290, - BRACED_CODE = 291, - PERCENT_LEFT = 292, - PERCENT_RIGHT = 293, - PERCENT_NONASSOC = 294 + PERCENT_ERROR_VERBOSE = 276, + PERCENT_EXPECT = 277, + PERCENT_EXPECT_RR = 278, + PERCENT_FILE_PREFIX = 279, + PERCENT_GLR_PARSER = 280, + PERCENT_INITIAL_ACTION = 281, + PERCENT_LANGUAGE = 282, + PERCENT_LEX_PARAM = 283, + PERCENT_LOCATIONS = 284, + PERCENT_NAME_PREFIX = 285, + PERCENT_NO_DEFAULT_PREC = 286, + PERCENT_NO_LINES = 287, + PERCENT_NONDETERMINISTIC_PARSER = 288, + PERCENT_OUTPUT = 289, + PERCENT_PARSE_PARAM = 290, + PERCENT_PURE_PARSER = 291, + PERCENT_PUSH_PARSER = 292, + PERCENT_PUSH_PULL_PARSER = 293, + PERCENT_REQUIRE = 294, + PERCENT_SKELETON = 295, + PERCENT_START = 296, + PERCENT_TOKEN_TABLE = 297, + PERCENT_VERBOSE = 298, + PERCENT_YACC = 299, + BRACED_CODE = 300, + CHAR = 301, + EPILOGUE = 302, + EQUAL = 303, + ID = 304, + ID_COLON = 305, + PERCENT_PERCENT = 306, + PIPE = 307, + PROLOGUE = 308, + SEMICOLON = 309, + TYPE = 310, + TYPE_TAG_ANY = 311, + TYPE_TAG_NONE = 312, + PERCENT_UNION = 313 }; -# endif - /* POSIX requires `int' for tokens in interfaces. */ -# define YYTOKENTYPE int -#endif /* !YYTOKENTYPE */ +#endif +/* Tokens. */ #define GRAM_EOF 0 #define STRING 258 -#define CHARACTER 259 -#define INT 260 -#define PERCENT_TOKEN 261 -#define PERCENT_NTERM 262 -#define PERCENT_TYPE 263 -#define PERCENT_UNION 264 -#define PERCENT_EXPECT 265 -#define PERCENT_START 266 -#define PERCENT_PREC 267 -#define PERCENT_VERBOSE 268 -#define PERCENT_ERROR_VERBOSE 269 -#define PERCENT_OUTPUT 270 -#define PERCENT_FILE_PREFIX 271 -#define PERCENT_NAME_PREFIX 272 -#define PERCENT_DEFINE 273 -#define PERCENT_PURE_PARSER 274 +#define INT 259 +#define PERCENT_TOKEN 260 +#define PERCENT_NTERM 261 +#define PERCENT_TYPE 262 +#define PERCENT_DESTRUCTOR 263 +#define PERCENT_PRINTER 264 +#define PERCENT_LEFT 265 +#define PERCENT_RIGHT 266 +#define PERCENT_NONASSOC 267 +#define PERCENT_PREC 268 +#define PERCENT_DPREC 269 +#define PERCENT_MERGE 270 +#define PERCENT_CODE 271 +#define PERCENT_DEBUG 272 +#define PERCENT_DEFAULT_PREC 273 +#define PERCENT_DEFINE 274 #define PERCENT_DEFINES 275 -#define PERCENT_YACC 276 -#define PERCENT_DEBUG 277 -#define PERCENT_LOCATIONS 278 -#define PERCENT_NO_LINES 279 -#define PERCENT_SKELETON 280 -#define PERCENT_TOKEN_TABLE 281 -#define TYPE 282 -#define EQUAL 283 -#define SEMICOLON 284 -#define COLON 285 -#define PIPE 286 -#define ID 287 -#define PERCENT_PERCENT 288 -#define PROLOGUE 289 -#define EPILOGUE 290 -#define BRACED_CODE 291 -#define PERCENT_LEFT 292 -#define PERCENT_RIGHT 293 -#define PERCENT_NONASSOC 294 - - - - -#ifndef YYSTYPE -#line 74 "parse-gram.y" -typedef union { - symbol_t *symbol; +#define PERCENT_ERROR_VERBOSE 276 +#define PERCENT_EXPECT 277 +#define PERCENT_EXPECT_RR 278 +#define PERCENT_FILE_PREFIX 279 +#define PERCENT_GLR_PARSER 280 +#define PERCENT_INITIAL_ACTION 281 +#define PERCENT_LANGUAGE 282 +#define PERCENT_LEX_PARAM 283 +#define PERCENT_LOCATIONS 284 +#define PERCENT_NAME_PREFIX 285 +#define PERCENT_NO_DEFAULT_PREC 286 +#define PERCENT_NO_LINES 287 +#define PERCENT_NONDETERMINISTIC_PARSER 288 +#define PERCENT_OUTPUT 289 +#define PERCENT_PARSE_PARAM 290 +#define PERCENT_PURE_PARSER 291 +#define PERCENT_PUSH_PARSER 292 +#define PERCENT_PUSH_PULL_PARSER 293 +#define PERCENT_REQUIRE 294 +#define PERCENT_SKELETON 295 +#define PERCENT_START 296 +#define PERCENT_TOKEN_TABLE 297 +#define PERCENT_VERBOSE 298 +#define PERCENT_YACC 299 +#define BRACED_CODE 300 +#define CHAR 301 +#define EPILOGUE 302 +#define EQUAL 303 +#define ID 304 +#define ID_COLON 305 +#define PERCENT_PERCENT 306 +#define PIPE 307 +#define PROLOGUE 308 +#define SEMICOLON 309 +#define TYPE 310 +#define TYPE_TAG_ANY 311 +#define TYPE_TAG_NONE 312 +#define PERCENT_UNION 313 + + + + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +{ + +/* Line 1537 of yacc.c */ +#line 97 "parse-gram.y" + + symbol *symbol; + symbol_list *list; int integer; - char *string; - associativity assoc; -} yystype; -/* Line 1271 of /home/akim/src/bison/data/bison.simple. */ -#line 105 "y.tab.h" -# define YYSTYPE yystype + char const *chars; + char *code; + assoc assoc; + uniqstr uniqstr; + unsigned char character; + + + +/* Line 1537 of yacc.c */ +#line 185 "parse-gram.h" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 #endif -#ifndef YYLTYPE -typedef struct yyltype +#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED +typedef struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; -} yyltype; -# define YYLTYPE yyltype +} YYLTYPE; +# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ +# define YYLTYPE_IS_DECLARED 1 +# define YYLTYPE_IS_TRIVIAL 1 #endif -#endif /* not BISON_PARSE_GRAM_H */