X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/886b69d1973c695205bb176e90d9f8e848edf535..3eb4f1a3e62807125a815dc572da9204b5b51865:/src/parse-gram.h?ds=inline diff --git a/src/parse-gram.h b/src/parse-gram.h index f62b4959..53e552ae 100644 --- a/src/parse-gram.h +++ b/src/parse-gram.h @@ -1,12 +1,13 @@ -/* A Bison parser, made by GNU Bison 1.75b. */ +/* A Bison parser, made by GNU Bison 2.5.1.815-22b0. */ -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. +/* Bison interface for Yacc-like parsers in C - This program is free software; you can redistribute it and/or modify + Copyright (C) 1984, 1989-1990, 2000-2012 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. + the Free Software Foundation, either version 3 of the License, 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 @@ -14,14 +15,48 @@ 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., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ + +/* 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. */ + +#ifndef GRAM_______SRC_PARSE_GRAM_H +# define GRAM_______SRC_PARSE_GRAM_H +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int gram_debug; +#endif +/* "%code requires" blocks. */ +/* Line 1996 of yacc.c */ +#line 221 "src/parse-gram.y" + +# ifndef PARAM_TYPE +# define PARAM_TYPE + typedef enum + { + param_none = 0, + param_lex = 1 << 0, + param_parse = 1 << 1, + param_both = param_lex | param_parse + } param_type; +# endif + -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ +/* Line 1996 of yacc.c */ +#line 60 "src/parse-gram.h" /* Tokens. */ #ifndef YYTOKENTYPE @@ -37,45 +72,56 @@ PERCENT_TYPE = 262, PERCENT_DESTRUCTOR = 263, PERCENT_PRINTER = 264, - PERCENT_UNION = 265, - PERCENT_LEFT = 266, - PERCENT_RIGHT = 267, - PERCENT_NONASSOC = 268, + PERCENT_LEFT = 265, + PERCENT_RIGHT = 266, + PERCENT_NONASSOC = 267, + PERCENT_PRECEDENCE = 268, PERCENT_PREC = 269, PERCENT_DPREC = 270, PERCENT_MERGE = 271, - PERCENT_DEBUG = 272, - PERCENT_DEFINE = 273, - PERCENT_DEFINES = 274, - PERCENT_ERROR_VERBOSE = 275, - PERCENT_EXPECT = 276, - PERCENT_FILE_PREFIX = 277, - PERCENT_GLR_PARSER = 278, - PERCENT_LEX_PARAM = 279, - PERCENT_LOCATIONS = 280, - PERCENT_NAME_PREFIX = 281, - PERCENT_NO_LINES = 282, - PERCENT_OUTPUT = 283, - PERCENT_PARSE_PARAM = 284, - PERCENT_PURE_PARSER = 285, - PERCENT_SKELETON = 286, - PERCENT_START = 287, - PERCENT_TOKEN_TABLE = 288, - PERCENT_VERBOSE = 289, - PERCENT_YACC = 290, - TYPE = 291, - EQUAL = 292, - SEMICOLON = 293, - COLON = 294, - COMMA = 295, - PIPE = 296, - ID = 297, - PERCENT_PERCENT = 298, - PROLOGUE = 299, - EPILOGUE = 300, - BRACED_CODE = 301 + PERCENT_CODE = 272, + PERCENT_DEFAULT_PREC = 273, + PERCENT_DEFINE = 274, + PERCENT_DEFINES = 275, + PERCENT_ERROR_VERBOSE = 276, + PERCENT_EXPECT = 277, + PERCENT_EXPECT_RR = 278, + PERCENT_FLAG = 279, + PERCENT_FILE_PREFIX = 280, + PERCENT_GLR_PARSER = 281, + PERCENT_INITIAL_ACTION = 282, + PERCENT_LANGUAGE = 283, + PERCENT_NAME_PREFIX = 284, + PERCENT_NO_DEFAULT_PREC = 285, + PERCENT_NO_LINES = 286, + PERCENT_NONDETERMINISTIC_PARSER = 287, + PERCENT_OUTPUT = 288, + PERCENT_REQUIRE = 289, + PERCENT_SKELETON = 290, + PERCENT_START = 291, + PERCENT_TOKEN_TABLE = 292, + PERCENT_VERBOSE = 293, + PERCENT_YACC = 294, + BRACED_CODE = 295, + BRACED_PREDICATE = 296, + BRACKETED_ID = 297, + CHAR = 298, + EPILOGUE = 299, + EQUAL = 300, + ID = 301, + ID_COLON = 302, + PERCENT_PERCENT = 303, + PIPE = 304, + PROLOGUE = 305, + SEMICOLON = 306, + TAG = 307, + TAG_ANY = 308, + TAG_NONE = 309, + PERCENT_PARAM = 310, + PERCENT_UNION = 311 }; #endif +/* Tokens. */ #define GRAM_EOF 0 #define STRING 258 #define INT 259 @@ -84,76 +130,114 @@ #define PERCENT_TYPE 262 #define PERCENT_DESTRUCTOR 263 #define PERCENT_PRINTER 264 -#define PERCENT_UNION 265 -#define PERCENT_LEFT 266 -#define PERCENT_RIGHT 267 -#define PERCENT_NONASSOC 268 +#define PERCENT_LEFT 265 +#define PERCENT_RIGHT 266 +#define PERCENT_NONASSOC 267 +#define PERCENT_PRECEDENCE 268 #define PERCENT_PREC 269 #define PERCENT_DPREC 270 #define PERCENT_MERGE 271 -#define PERCENT_DEBUG 272 -#define PERCENT_DEFINE 273 -#define PERCENT_DEFINES 274 -#define PERCENT_ERROR_VERBOSE 275 -#define PERCENT_EXPECT 276 -#define PERCENT_FILE_PREFIX 277 -#define PERCENT_GLR_PARSER 278 -#define PERCENT_LEX_PARAM 279 -#define PERCENT_LOCATIONS 280 -#define PERCENT_NAME_PREFIX 281 -#define PERCENT_NO_LINES 282 -#define PERCENT_OUTPUT 283 -#define PERCENT_PARSE_PARAM 284 -#define PERCENT_PURE_PARSER 285 -#define PERCENT_SKELETON 286 -#define PERCENT_START 287 -#define PERCENT_TOKEN_TABLE 288 -#define PERCENT_VERBOSE 289 -#define PERCENT_YACC 290 -#define TYPE 291 -#define EQUAL 292 -#define SEMICOLON 293 -#define COLON 294 -#define COMMA 295 -#define PIPE 296 -#define ID 297 -#define PERCENT_PERCENT 298 -#define PROLOGUE 299 -#define EPILOGUE 300 -#define BRACED_CODE 301 - - - - -#ifndef YYSTYPE -#line 89 "parse-gram.y" -typedef union { - symbol_t *symbol; - symbol_list_t *list; +#define PERCENT_CODE 272 +#define PERCENT_DEFAULT_PREC 273 +#define PERCENT_DEFINE 274 +#define PERCENT_DEFINES 275 +#define PERCENT_ERROR_VERBOSE 276 +#define PERCENT_EXPECT 277 +#define PERCENT_EXPECT_RR 278 +#define PERCENT_FLAG 279 +#define PERCENT_FILE_PREFIX 280 +#define PERCENT_GLR_PARSER 281 +#define PERCENT_INITIAL_ACTION 282 +#define PERCENT_LANGUAGE 283 +#define PERCENT_NAME_PREFIX 284 +#define PERCENT_NO_DEFAULT_PREC 285 +#define PERCENT_NO_LINES 286 +#define PERCENT_NONDETERMINISTIC_PARSER 287 +#define PERCENT_OUTPUT 288 +#define PERCENT_REQUIRE 289 +#define PERCENT_SKELETON 290 +#define PERCENT_START 291 +#define PERCENT_TOKEN_TABLE 292 +#define PERCENT_VERBOSE 293 +#define PERCENT_YACC 294 +#define BRACED_CODE 295 +#define BRACED_PREDICATE 296 +#define BRACKETED_ID 297 +#define CHAR 298 +#define EPILOGUE 299 +#define EQUAL 300 +#define ID 301 +#define ID_COLON 302 +#define PERCENT_PERCENT 303 +#define PIPE 304 +#define PROLOGUE 305 +#define SEMICOLON 306 +#define TAG 307 +#define TAG_ANY 308 +#define TAG_NONE 309 +#define PERCENT_PARAM 310 +#define PERCENT_UNION 311 + + + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +{ +/* Line 1996 of yacc.c */ +#line 107 "src/parse-gram.y" + + assoc assoc; + char *code; + char const *chars; int integer; - char *string; - assoc_t assoc; - struniq_t struniq; -} yystype; -/* Line 1212 of /usr/local/share/bison/yacc.c. */ -#line 139 "y.tab.h" -# define YYSTYPE yystype -# define YYSTYPE_IS_TRIVIAL 1 -#endif + named_ref *named_ref; + symbol *symbol; + symbol_list *list; + uniqstr uniqstr; + unsigned char character; + +/* Line 1996 of yacc.c */ +#line 245 "src/parse-gram.y" + param_type param; -#ifndef YYLTYPE -typedef struct yyltype +/* Line 1996 of yacc.c */ +#line 207 "src/parse-gram.h" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +#endif + +#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 +#ifdef YYPARSE_PARAM +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +int gram_parse (void *YYPARSE_PARAM); +#else +int gram_parse (); +#endif +#else /* ! YYPARSE_PARAM */ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +int gram_parse (void); +#else +int gram_parse (); +#endif +#endif /* ! YYPARSE_PARAM */ - +#endif /* !GRAM_______SRC_PARSE_GRAM_H */