mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
LexerParser: Regenerate parser files with GNU Bison 3.7.4
Adjust expected test output.
This commit is contained in:
committed by
Brad King
parent
c95442b9b1
commit
699d50e376
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison implementation for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -34,6 +34,10 @@
|
||||
/* C LALR(1) parser skeleton written by Richard Stallman, by
|
||||
simplifying the original so-called "semantic" parser. */
|
||||
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
/* All symbols defined below should begin with yy or YY, to avoid
|
||||
infringing on user name space. This should be done even for local
|
||||
variables, as they might otherwise be expanded by user macros.
|
||||
@@ -41,14 +45,11 @@
|
||||
define necessary library symbols; they are noted "INFRINGES ON
|
||||
USER NAME SPACE" below. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* Identify Bison output, and Bison version. */
|
||||
#define YYBISON 30704
|
||||
|
||||
/* Identify Bison output. */
|
||||
#define YYBISON 1
|
||||
|
||||
/* Bison version. */
|
||||
#define YYBISON_VERSION "3.4.2"
|
||||
/* Bison version string. */
|
||||
#define YYBISON_VERSION "3.7.4"
|
||||
|
||||
/* Skeleton name. */
|
||||
#define YYSKELETON_NAME "yacc.c"
|
||||
@@ -70,7 +71,6 @@
|
||||
#define yydebug cmCommandArgument_yydebug
|
||||
#define yynerrs cmCommandArgument_yynerrs
|
||||
|
||||
|
||||
/* First part of user prologue. */
|
||||
#line 1 "cmCommandArgumentParser.y"
|
||||
|
||||
@@ -82,10 +82,7 @@ This file must be translated to C and modified to build everywhere.
|
||||
|
||||
Run bison like this:
|
||||
|
||||
bison --yacc --name-prefix=cmCommandArgument_yy --defines=cmCommandArgumentParserTokens.h -ocmCommandArgumentParser.cxx cmCommandArgumentParser.y
|
||||
|
||||
Modify cmCommandArgumentParser.cxx:
|
||||
- "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"]
|
||||
bison --name-prefix=cmCommandArgument_yy --defines=cmCommandArgumentParserTokens.h -ocmCommandArgumentParser.cxx cmCommandArgumentParser.y
|
||||
|
||||
*/
|
||||
|
||||
@@ -134,8 +131,17 @@ static void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message);
|
||||
# pragma GCC diagnostic ignored "-Wconversion"
|
||||
#endif
|
||||
|
||||
#line 138 "cmCommandArgumentParser.cxx"
|
||||
#line 135 "cmCommandArgumentParser.cxx"
|
||||
|
||||
# ifndef YY_CAST
|
||||
# ifdef __cplusplus
|
||||
# define YY_CAST(Type, Val) static_cast<Type> (Val)
|
||||
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
|
||||
# else
|
||||
# define YY_CAST(Type, Val) ((Type) (Val))
|
||||
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_NULLPTR
|
||||
# if defined __cplusplus
|
||||
# if 201103L <= __cplusplus
|
||||
@@ -148,66 +154,39 @@ static void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message);
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Enabling verbose error messages. */
|
||||
#ifdef YYERROR_VERBOSE
|
||||
# undef YYERROR_VERBOSE
|
||||
# define YYERROR_VERBOSE 1
|
||||
#else
|
||||
# define YYERROR_VERBOSE 1
|
||||
#endif
|
||||
#include "cmCommandArgumentParserTokens.h"
|
||||
/* Symbol kind. */
|
||||
enum yysymbol_kind_t
|
||||
{
|
||||
YYSYMBOL_YYEMPTY = -2,
|
||||
YYSYMBOL_YYEOF = 0, /* "end of file" */
|
||||
YYSYMBOL_YYerror = 1, /* error */
|
||||
YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
|
||||
YYSYMBOL_cal_ENVCURLY = 3, /* cal_ENVCURLY */
|
||||
YYSYMBOL_cal_NCURLY = 4, /* cal_NCURLY */
|
||||
YYSYMBOL_cal_DCURLY = 5, /* cal_DCURLY */
|
||||
YYSYMBOL_cal_DOLLAR = 6, /* "$" */
|
||||
YYSYMBOL_cal_LCURLY = 7, /* "{" */
|
||||
YYSYMBOL_cal_RCURLY = 8, /* "}" */
|
||||
YYSYMBOL_cal_NAME = 9, /* cal_NAME */
|
||||
YYSYMBOL_cal_BSLASH = 10, /* "\\" */
|
||||
YYSYMBOL_cal_SYMBOL = 11, /* cal_SYMBOL */
|
||||
YYSYMBOL_cal_AT = 12, /* "@" */
|
||||
YYSYMBOL_cal_ERROR = 13, /* cal_ERROR */
|
||||
YYSYMBOL_cal_ATNAME = 14, /* cal_ATNAME */
|
||||
YYSYMBOL_YYACCEPT = 15, /* $accept */
|
||||
YYSYMBOL_Start = 16, /* Start */
|
||||
YYSYMBOL_GoalWithOptionalBackSlash = 17, /* GoalWithOptionalBackSlash */
|
||||
YYSYMBOL_Goal = 18, /* Goal */
|
||||
YYSYMBOL_String = 19, /* String */
|
||||
YYSYMBOL_OuterText = 20, /* OuterText */
|
||||
YYSYMBOL_Variable = 21, /* Variable */
|
||||
YYSYMBOL_EnvVarName = 22, /* EnvVarName */
|
||||
YYSYMBOL_MultipleIds = 23, /* MultipleIds */
|
||||
YYSYMBOL_ID = 24 /* ID */
|
||||
};
|
||||
typedef enum yysymbol_kind_t yysymbol_kind_t;
|
||||
|
||||
/* Use api.header.include to #include this header
|
||||
instead of duplicating it here. */
|
||||
#ifndef YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
#endif
|
||||
#if YYDEBUG
|
||||
extern int cmCommandArgument_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
cal_ENVCURLY = 258,
|
||||
cal_NCURLY = 259,
|
||||
cal_DCURLY = 260,
|
||||
cal_DOLLAR = 261,
|
||||
cal_LCURLY = 262,
|
||||
cal_RCURLY = 263,
|
||||
cal_NAME = 264,
|
||||
cal_BSLASH = 265,
|
||||
cal_SYMBOL = 266,
|
||||
cal_AT = 267,
|
||||
cal_ERROR = 268,
|
||||
cal_ATNAME = 269
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define cal_ENVCURLY 258
|
||||
#define cal_NCURLY 259
|
||||
#define cal_DCURLY 260
|
||||
#define cal_DOLLAR 261
|
||||
#define cal_LCURLY 262
|
||||
#define cal_RCURLY 263
|
||||
#define cal_NAME 264
|
||||
#define cal_BSLASH 265
|
||||
#define cal_SYMBOL 266
|
||||
#define cal_AT 267
|
||||
#define cal_ERROR 268
|
||||
#define cal_ATNAME 269
|
||||
|
||||
/* Value type. */
|
||||
|
||||
|
||||
|
||||
int cmCommandArgument_yyparse (yyscan_t yyscanner);
|
||||
|
||||
#endif /* !YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED */
|
||||
|
||||
|
||||
|
||||
@@ -215,36 +194,83 @@ int cmCommandArgument_yyparse (yyscan_t yyscanner);
|
||||
# undef short
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_UINT8
|
||||
typedef YYTYPE_UINT8 yytype_uint8;
|
||||
#else
|
||||
typedef unsigned char yytype_uint8;
|
||||
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
|
||||
<limits.h> and (if available) <stdint.h> are included
|
||||
so that the code can choose integer types of a good width. */
|
||||
|
||||
#ifndef __PTRDIFF_MAX__
|
||||
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
||||
# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_STDINT_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_INT8
|
||||
typedef YYTYPE_INT8 yytype_int8;
|
||||
/* Narrow types that promote to a signed type and that can represent a
|
||||
signed or unsigned integer of at least N bits. In tables they can
|
||||
save space and decrease cache pressure. Promoting to a signed type
|
||||
helps avoid bugs in integer arithmetic. */
|
||||
|
||||
#ifdef __INT_LEAST8_MAX__
|
||||
typedef __INT_LEAST8_TYPE__ yytype_int8;
|
||||
#elif defined YY_STDINT_H
|
||||
typedef int_least8_t yytype_int8;
|
||||
#else
|
||||
typedef signed char yytype_int8;
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_UINT16
|
||||
typedef YYTYPE_UINT16 yytype_uint16;
|
||||
#else
|
||||
typedef unsigned short yytype_uint16;
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_INT16
|
||||
typedef YYTYPE_INT16 yytype_int16;
|
||||
#ifdef __INT_LEAST16_MAX__
|
||||
typedef __INT_LEAST16_TYPE__ yytype_int16;
|
||||
#elif defined YY_STDINT_H
|
||||
typedef int_least16_t yytype_int16;
|
||||
#else
|
||||
typedef short yytype_int16;
|
||||
#endif
|
||||
|
||||
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
|
||||
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
|
||||
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
|
||||
&& UINT_LEAST8_MAX <= INT_MAX)
|
||||
typedef uint_least8_t yytype_uint8;
|
||||
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
|
||||
typedef unsigned char yytype_uint8;
|
||||
#else
|
||||
typedef short yytype_uint8;
|
||||
#endif
|
||||
|
||||
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
|
||||
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
|
||||
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
|
||||
&& UINT_LEAST16_MAX <= INT_MAX)
|
||||
typedef uint_least16_t yytype_uint16;
|
||||
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
|
||||
typedef unsigned short yytype_uint16;
|
||||
#else
|
||||
typedef int yytype_uint16;
|
||||
#endif
|
||||
|
||||
#ifndef YYPTRDIFF_T
|
||||
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
|
||||
# define YYPTRDIFF_T __PTRDIFF_TYPE__
|
||||
# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
|
||||
# elif defined PTRDIFF_MAX
|
||||
# ifndef ptrdiff_t
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# define YYPTRDIFF_T ptrdiff_t
|
||||
# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
|
||||
# else
|
||||
# define YYPTRDIFF_T long
|
||||
# define YYPTRDIFF_MAXIMUM LONG_MAX
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YYSIZE_T
|
||||
# ifdef __SIZE_TYPE__
|
||||
# define YYSIZE_T __SIZE_TYPE__
|
||||
# elif defined size_t
|
||||
# define YYSIZE_T size_t
|
||||
# elif ! defined YYSIZE_T
|
||||
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# else
|
||||
@@ -252,7 +278,20 @@ typedef short yytype_int16;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
|
||||
#define YYSIZE_MAXIMUM \
|
||||
YY_CAST (YYPTRDIFF_T, \
|
||||
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
|
||||
? YYPTRDIFF_MAXIMUM \
|
||||
: YY_CAST (YYSIZE_T, -1)))
|
||||
|
||||
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
|
||||
|
||||
|
||||
/* Stored state numbers (used for stacks). */
|
||||
typedef yytype_int8 yy_state_t;
|
||||
|
||||
/* State numbers in computations. */
|
||||
typedef int yy_state_fast_t;
|
||||
|
||||
#ifndef YY_
|
||||
# if defined YYENABLE_NLS && YYENABLE_NLS
|
||||
@@ -266,22 +305,21 @@ typedef short yytype_int16;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE
|
||||
# if (defined __GNUC__ \
|
||||
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|
||||
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
|
||||
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
|
||||
|
||||
#ifndef YY_ATTRIBUTE_PURE
|
||||
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
||||
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
# else
|
||||
# define YY_ATTRIBUTE(Spec) /* empty */
|
||||
# define YY_ATTRIBUTE_PURE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE_PURE
|
||||
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE_UNUSED
|
||||
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
|
||||
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
||||
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||
# else
|
||||
# define YY_ATTRIBUTE_UNUSED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Suppress unused-variable warnings by "using" E. */
|
||||
@@ -293,11 +331,11 @@ typedef short yytype_int16;
|
||||
|
||||
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
|
||||
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#else
|
||||
# define YY_INITIAL_VALUE(Value) Value
|
||||
@@ -310,10 +348,22 @@ typedef short yytype_int16;
|
||||
# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
||||
#endif
|
||||
|
||||
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
|
||||
# define YY_IGNORE_USELESS_CAST_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
|
||||
# define YY_IGNORE_USELESS_CAST_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#endif
|
||||
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
|
||||
# define YY_IGNORE_USELESS_CAST_BEGIN
|
||||
# define YY_IGNORE_USELESS_CAST_END
|
||||
#endif
|
||||
|
||||
|
||||
#define YY_ASSERT(E) ((void) (0 && (E)))
|
||||
|
||||
#if ! defined yyoverflow || YYERROR_VERBOSE
|
||||
#if 1
|
||||
|
||||
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||
|
||||
@@ -378,8 +428,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
|
||||
|
||||
#endif /* 1 */
|
||||
|
||||
#if (! defined yyoverflow \
|
||||
&& (! defined __cplusplus \
|
||||
@@ -388,17 +437,17 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
/* A type that is properly aligned for any stack member. */
|
||||
union yyalloc
|
||||
{
|
||||
yytype_int16 yyss_alloc;
|
||||
yy_state_t yyss_alloc;
|
||||
YYSTYPE yyvs_alloc;
|
||||
};
|
||||
|
||||
/* The size of the maximum gap between one aligned stack and the next. */
|
||||
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
|
||||
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
|
||||
|
||||
/* The size of an array large to enough to hold all stacks, each with
|
||||
N elements. */
|
||||
# define YYSTACK_BYTES(N) \
|
||||
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
|
||||
((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
|
||||
+ YYSTACK_GAP_MAXIMUM)
|
||||
|
||||
# define YYCOPY_NEEDED 1
|
||||
@@ -411,11 +460,11 @@ union yyalloc
|
||||
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
|
||||
do \
|
||||
{ \
|
||||
YYSIZE_T yynewbytes; \
|
||||
YYPTRDIFF_T yynewbytes; \
|
||||
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
|
||||
Stack = &yyptr->Stack_alloc; \
|
||||
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
||||
yyptr += yynewbytes / sizeof (*yyptr); \
|
||||
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
||||
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
@@ -427,12 +476,12 @@ union yyalloc
|
||||
# ifndef YYCOPY
|
||||
# if defined __GNUC__ && 1 < __GNUC__
|
||||
# define YYCOPY(Dst, Src, Count) \
|
||||
__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
|
||||
__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
|
||||
# else
|
||||
# define YYCOPY(Dst, Src, Count) \
|
||||
do \
|
||||
{ \
|
||||
YYSIZE_T yyi; \
|
||||
YYPTRDIFF_T yyi; \
|
||||
for (yyi = 0; yyi < (Count); yyi++) \
|
||||
(Dst)[yyi] = (Src)[yyi]; \
|
||||
} \
|
||||
@@ -455,17 +504,20 @@ union yyalloc
|
||||
/* YYNSTATES -- Number of states. */
|
||||
#define YYNSTATES 33
|
||||
|
||||
#define YYUNDEFTOK 2
|
||||
/* YYMAXUTOK -- Last valid token kind. */
|
||||
#define YYMAXUTOK 269
|
||||
|
||||
|
||||
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
|
||||
as returned by yylex, with out-of-bounds checking. */
|
||||
#define YYTRANSLATE(YYX) \
|
||||
((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
||||
#define YYTRANSLATE(YYX) \
|
||||
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
|
||||
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
|
||||
: YYSYMBOL_YYUNDEF)
|
||||
|
||||
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
|
||||
as returned by yylex. */
|
||||
static const yytype_uint8 yytranslate[] =
|
||||
static const yytype_int8 yytranslate[] =
|
||||
{
|
||||
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
@@ -500,43 +552,56 @@ static const yytype_uint8 yytranslate[] =
|
||||
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
||||
static const yytype_uint8 yyrline[] =
|
||||
{
|
||||
0, 99, 99, 105, 108, 113, 116, 121, 124, 129,
|
||||
132, 135, 138, 141, 144, 149, 152, 155, 158, 163,
|
||||
166, 171, 174, 179, 182
|
||||
0, 96, 96, 102, 105, 110, 113, 118, 121, 126,
|
||||
129, 132, 135, 138, 141, 146, 149, 152, 155, 160,
|
||||
163, 168, 171, 176, 179
|
||||
};
|
||||
#endif
|
||||
|
||||
#if YYDEBUG || YYERROR_VERBOSE || 1
|
||||
/** Accessing symbol of state STATE. */
|
||||
#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
|
||||
|
||||
#if 1
|
||||
/* The user-facing name of the symbol whose (internal) number is
|
||||
YYSYMBOL. No bounds checking. */
|
||||
static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
|
||||
|
||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||
static const char *const yytname[] =
|
||||
{
|
||||
"$end", "error", "$undefined", "cal_ENVCURLY", "cal_NCURLY",
|
||||
"cal_DCURLY", "\"$\"", "\"{\"", "\"}\"", "cal_NAME", "\"\\\\\"",
|
||||
"cal_SYMBOL", "\"@\"", "cal_ERROR", "cal_ATNAME", "$accept", "Start",
|
||||
"GoalWithOptionalBackSlash", "Goal", "String", "OuterText", "Variable",
|
||||
"EnvVarName", "MultipleIds", "ID", YY_NULLPTR
|
||||
"\"end of file\"", "error", "\"invalid token\"", "cal_ENVCURLY",
|
||||
"cal_NCURLY", "cal_DCURLY", "\"$\"", "\"{\"", "\"}\"", "cal_NAME",
|
||||
"\"\\\\\"", "cal_SYMBOL", "\"@\"", "cal_ERROR", "cal_ATNAME", "$accept",
|
||||
"Start", "GoalWithOptionalBackSlash", "Goal", "String", "OuterText",
|
||||
"Variable", "EnvVarName", "MultipleIds", "ID", YY_NULLPTR
|
||||
};
|
||||
|
||||
static const char *
|
||||
yysymbol_name (yysymbol_kind_t yysymbol)
|
||||
{
|
||||
return yytname[yysymbol];
|
||||
}
|
||||
#endif
|
||||
|
||||
# ifdef YYPRINT
|
||||
#ifdef YYPRINT
|
||||
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
|
||||
(internal) symbol number NUM (which must be that of a token). */
|
||||
static const yytype_uint16 yytoknum[] =
|
||||
static const yytype_int16 yytoknum[] =
|
||||
{
|
||||
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
||||
265, 266, 267, 268, 269
|
||||
};
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define YYPACT_NINF -3
|
||||
#define YYPACT_NINF (-3)
|
||||
|
||||
#define yypact_value_is_default(Yystate) \
|
||||
(!!((Yystate) == (-3)))
|
||||
#define yypact_value_is_default(Yyn) \
|
||||
((Yyn) == YYPACT_NINF)
|
||||
|
||||
#define YYTABLE_NINF -1
|
||||
#define YYTABLE_NINF (-1)
|
||||
|
||||
#define yytable_value_is_error(Yytable_value) \
|
||||
#define yytable_value_is_error(Yyn) \
|
||||
0
|
||||
|
||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||
@@ -552,7 +617,7 @@ static const yytype_int8 yypact[] =
|
||||
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
||||
Performed when YYTABLE does not specify something else to do. Zero
|
||||
means the default is an error. */
|
||||
static const yytype_uint8 yydefact[] =
|
||||
static const yytype_int8 yydefact[] =
|
||||
{
|
||||
5, 21, 21, 21, 11, 12, 13, 9, 14, 10,
|
||||
18, 0, 2, 3, 5, 7, 8, 23, 21, 24,
|
||||
@@ -575,7 +640,7 @@ static const yytype_int8 yydefgoto[] =
|
||||
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
||||
positive, shift that token. If negative, reduce the rule whose
|
||||
number is the opposite. If YYTABLE_NINF, syntax error. */
|
||||
static const yytype_uint8 yytable[] =
|
||||
static const yytype_int8 yytable[] =
|
||||
{
|
||||
23, 24, 16, 1, 2, 3, 4, 5, 6, 7,
|
||||
25, 8, 9, 26, 10, 29, 16, 1, 2, 3,
|
||||
@@ -595,7 +660,7 @@ static const yytype_int8 yycheck[] =
|
||||
|
||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||
symbol of state STATE-NUM. */
|
||||
static const yytype_uint8 yystos[] =
|
||||
static const yytype_int8 yystos[] =
|
||||
{
|
||||
0, 3, 4, 5, 6, 7, 8, 9, 11, 12,
|
||||
14, 16, 17, 18, 19, 20, 21, 9, 11, 21,
|
||||
@@ -604,7 +669,7 @@ static const yytype_uint8 yystos[] =
|
||||
};
|
||||
|
||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||
static const yytype_uint8 yyr1[] =
|
||||
static const yytype_int8 yyr1[] =
|
||||
{
|
||||
0, 15, 16, 17, 17, 18, 18, 19, 19, 20,
|
||||
20, 20, 20, 20, 20, 21, 21, 21, 21, 22,
|
||||
@@ -612,7 +677,7 @@ static const yytype_uint8 yyr1[] =
|
||||
};
|
||||
|
||||
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
|
||||
static const yytype_uint8 yyr2[] =
|
||||
static const yytype_int8 yyr2[] =
|
||||
{
|
||||
0, 2, 1, 1, 2, 0, 2, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 3, 3, 3, 1, 1,
|
||||
@@ -620,10 +685,10 @@ static const yytype_uint8 yyr2[] =
|
||||
};
|
||||
|
||||
|
||||
enum { YYENOMEM = -2 };
|
||||
|
||||
#define yyerrok (yyerrstatus = 0)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define YYEMPTY (-2)
|
||||
#define YYEOF 0
|
||||
|
||||
#define YYACCEPT goto yyacceptlab
|
||||
#define YYABORT goto yyabortlab
|
||||
@@ -649,10 +714,9 @@ static const yytype_uint8 yyr2[] =
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Error token number */
|
||||
#define YYTERROR 1
|
||||
#define YYERRCODE 256
|
||||
|
||||
/* Backward compatibility with an undocumented macro.
|
||||
Use YYerror or YYUNDEF. */
|
||||
#define YYERRCODE YYUNDEF
|
||||
|
||||
|
||||
/* Enable debugging if requested. */
|
||||
@@ -670,18 +734,18 @@ do { \
|
||||
} while (0)
|
||||
|
||||
/* This macro is provided for backward compatibility. */
|
||||
#ifndef YY_LOCATION_PRINT
|
||||
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
#endif
|
||||
# ifndef YY_LOCATION_PRINT
|
||||
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
# endif
|
||||
|
||||
|
||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
|
||||
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
|
||||
do { \
|
||||
if (yydebug) \
|
||||
{ \
|
||||
YYFPRINTF (stderr, "%s ", Title); \
|
||||
yy_symbol_print (stderr, \
|
||||
Type, Value, yyscanner); \
|
||||
Kind, Value, yyscanner); \
|
||||
YYFPRINTF (stderr, "\n"); \
|
||||
} \
|
||||
} while (0)
|
||||
@@ -692,7 +756,8 @@ do { \
|
||||
`-----------------------------------*/
|
||||
|
||||
static void
|
||||
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
yy_symbol_value_print (FILE *yyo,
|
||||
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
FILE *yyoutput = yyo;
|
||||
YYUSE (yyoutput);
|
||||
@@ -700,11 +765,11 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yy
|
||||
if (!yyvaluep)
|
||||
return;
|
||||
# ifdef YYPRINT
|
||||
if (yytype < YYNTOKENS)
|
||||
YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
|
||||
if (yykind < YYNTOKENS)
|
||||
YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
|
||||
# endif
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
YYUSE (yytype);
|
||||
YYUSE (yykind);
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
}
|
||||
|
||||
@@ -714,12 +779,13 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yy
|
||||
`---------------------------*/
|
||||
|
||||
static void
|
||||
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
yy_symbol_print (FILE *yyo,
|
||||
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
YYFPRINTF (yyo, "%s %s (",
|
||||
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
|
||||
yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
|
||||
|
||||
yy_symbol_value_print (yyo, yytype, yyvaluep, yyscanner);
|
||||
yy_symbol_value_print (yyo, yykind, yyvaluep, yyscanner);
|
||||
YYFPRINTF (yyo, ")");
|
||||
}
|
||||
|
||||
@@ -729,7 +795,7 @@ yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
|
||||
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
|
||||
{
|
||||
YYFPRINTF (stderr, "Stack now");
|
||||
for (; yybottom <= yytop; yybottom++)
|
||||
@@ -752,21 +818,21 @@ do { \
|
||||
`------------------------------------------------*/
|
||||
|
||||
static void
|
||||
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
|
||||
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
|
||||
int yyrule, yyscan_t yyscanner)
|
||||
{
|
||||
unsigned long yylno = yyrline[yyrule];
|
||||
int yylno = yyrline[yyrule];
|
||||
int yynrhs = yyr2[yyrule];
|
||||
int yyi;
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
|
||||
yyrule - 1, yylno);
|
||||
/* The symbols being reduced. */
|
||||
for (yyi = 0; yyi < yynrhs; yyi++)
|
||||
{
|
||||
YYFPRINTF (stderr, " $%d = ", yyi + 1);
|
||||
yy_symbol_print (stderr,
|
||||
yystos[yyssp[yyi + 1 - yynrhs]],
|
||||
&yyvsp[(yyi + 1) - (yynrhs)]
|
||||
, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
|
||||
&yyvsp[(yyi + 1) - (yynrhs)], yyscanner);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
}
|
||||
}
|
||||
@@ -781,8 +847,8 @@ do { \
|
||||
multiple parsers can coexist. */
|
||||
int yydebug;
|
||||
#else /* !YYDEBUG */
|
||||
# define YYDPRINTF(Args)
|
||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
||||
# define YYDPRINTF(Args) ((void) 0)
|
||||
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
|
||||
# define YY_STACK_PRINT(Bottom, Top)
|
||||
# define YY_REDUCE_PRINT(Rule)
|
||||
#endif /* !YYDEBUG */
|
||||
@@ -805,28 +871,76 @@ int yydebug;
|
||||
#endif
|
||||
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
/* Context of a parse error. */
|
||||
typedef struct
|
||||
{
|
||||
yy_state_t *yyssp;
|
||||
yysymbol_kind_t yytoken;
|
||||
} yypcontext_t;
|
||||
|
||||
# ifndef yystrlen
|
||||
# if defined __GLIBC__ && defined _STRING_H
|
||||
# define yystrlen strlen
|
||||
# else
|
||||
/* Put in YYARG at most YYARGN of the expected tokens given the
|
||||
current YYCTX, and return the number of tokens stored in YYARG. If
|
||||
YYARG is null, return the number of expected tokens (guaranteed to
|
||||
be less than YYNTOKENS). Return YYENOMEM on memory exhaustion.
|
||||
Return 0 if there are more than YYARGN expected tokens, yet fill
|
||||
YYARG up to YYARGN. */
|
||||
static int
|
||||
yypcontext_expected_tokens (const yypcontext_t *yyctx,
|
||||
yysymbol_kind_t yyarg[], int yyargn)
|
||||
{
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = 0;
|
||||
int yyn = yypact[+*yyctx->yyssp];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. In other words, skip the first -YYN actions for
|
||||
this state because they are default actions. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn + 1;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yyx;
|
||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||
if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
|
||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
||||
{
|
||||
if (!yyarg)
|
||||
++yycount;
|
||||
else if (yycount == yyargn)
|
||||
return 0;
|
||||
else
|
||||
yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
|
||||
}
|
||||
}
|
||||
if (yyarg && yycount == 0 && 0 < yyargn)
|
||||
yyarg[0] = YYSYMBOL_YYEMPTY;
|
||||
return yycount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef yystrlen
|
||||
# if defined __GLIBC__ && defined _STRING_H
|
||||
# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
|
||||
# else
|
||||
/* Return the length of YYSTR. */
|
||||
static YYSIZE_T
|
||||
static YYPTRDIFF_T
|
||||
yystrlen (const char *yystr)
|
||||
{
|
||||
YYSIZE_T yylen;
|
||||
YYPTRDIFF_T yylen;
|
||||
for (yylen = 0; yystr[yylen]; yylen++)
|
||||
continue;
|
||||
return yylen;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifndef yystpcpy
|
||||
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
||||
# define yystpcpy stpcpy
|
||||
# else
|
||||
#ifndef yystpcpy
|
||||
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
||||
# define yystpcpy stpcpy
|
||||
# else
|
||||
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
|
||||
YYDEST. */
|
||||
static char *
|
||||
@@ -840,10 +954,10 @@ yystpcpy (char *yydest, const char *yysrc)
|
||||
|
||||
return yyd - 1;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifndef yytnamerr
|
||||
#ifndef yytnamerr
|
||||
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
|
||||
quotes and backslashes, so that it's suitable for yyerror. The
|
||||
heuristic is that double-quoting is unnecessary unless the string
|
||||
@@ -851,14 +965,13 @@ yystpcpy (char *yydest, const char *yysrc)
|
||||
backslash-backslash). YYSTR is taken from yytname. If YYRES is
|
||||
null, do not copy; instead, return the length of what the result
|
||||
would have been. */
|
||||
static YYSIZE_T
|
||||
static YYPTRDIFF_T
|
||||
yytnamerr (char *yyres, const char *yystr)
|
||||
{
|
||||
if (*yystr == '"')
|
||||
{
|
||||
YYSIZE_T yyn = 0;
|
||||
YYPTRDIFF_T yyn = 0;
|
||||
char const *yyp = yystr;
|
||||
|
||||
for (;;)
|
||||
switch (*++yyp)
|
||||
{
|
||||
@@ -887,36 +1000,20 @@ yytnamerr (char *yyres, const char *yystr)
|
||||
do_not_strip_quotes: ;
|
||||
}
|
||||
|
||||
if (! yyres)
|
||||
if (yyres)
|
||||
return yystpcpy (yyres, yystr) - yyres;
|
||||
else
|
||||
return yystrlen (yystr);
|
||||
|
||||
return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
||||
about the unexpected token YYTOKEN for the state stack whose top is
|
||||
YYSSP.
|
||||
|
||||
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
|
||||
not large enough to hold the message. In that case, also set
|
||||
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
|
||||
required number of bytes is too large to store. */
|
||||
static int
|
||||
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
yytype_int16 *yyssp, int yytoken)
|
||||
yy_syntax_error_arguments (const yypcontext_t *yyctx,
|
||||
yysymbol_kind_t yyarg[], int yyargn)
|
||||
{
|
||||
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
|
||||
YYSIZE_T yysize = yysize0;
|
||||
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
||||
/* Internationalized format string. */
|
||||
const char *yyformat = YY_NULLPTR;
|
||||
/* Arguments of yyformat. */
|
||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
||||
/* Number of reported tokens (one for the "unexpected", one per
|
||||
"expected"). */
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = 0;
|
||||
|
||||
/* There are many possibilities here to consider:
|
||||
- If this state is a consistent state with a default action, then
|
||||
the only way this function was invoked is if the default action
|
||||
@@ -940,49 +1037,54 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
one exception: it will still contain any token that will not be
|
||||
accepted due to an error action in a later state.
|
||||
*/
|
||||
if (yytoken != YYEMPTY)
|
||||
if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
|
||||
{
|
||||
int yyn = yypact[*yyssp];
|
||||
yyarg[yycount++] = yytname[yytoken];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. In other words, skip the first -YYN actions for
|
||||
this state because they are default actions. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn + 1;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yyx;
|
||||
|
||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
|
||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
||||
{
|
||||
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
||||
{
|
||||
yycount = 1;
|
||||
yysize = yysize0;
|
||||
break;
|
||||
}
|
||||
yyarg[yycount++] = yytname[yyx];
|
||||
{
|
||||
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
int yyn;
|
||||
if (yyarg)
|
||||
yyarg[yycount] = yyctx->yytoken;
|
||||
++yycount;
|
||||
yyn = yypcontext_expected_tokens (yyctx,
|
||||
yyarg ? yyarg + 1 : yyarg, yyargn - 1);
|
||||
if (yyn == YYENOMEM)
|
||||
return YYENOMEM;
|
||||
else
|
||||
yycount += yyn;
|
||||
}
|
||||
return yycount;
|
||||
}
|
||||
|
||||
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
||||
about the unexpected token YYTOKEN for the state stack whose top is
|
||||
YYSSP.
|
||||
|
||||
Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is
|
||||
not large enough to hold the message. In that case, also set
|
||||
*YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the
|
||||
required number of bytes is too large to store. */
|
||||
static int
|
||||
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
|
||||
const yypcontext_t *yyctx)
|
||||
{
|
||||
enum { YYARGS_MAX = 5 };
|
||||
/* Internationalized format string. */
|
||||
const char *yyformat = YY_NULLPTR;
|
||||
/* Arguments of yyformat: reported tokens (one for the "unexpected",
|
||||
one per "expected"). */
|
||||
yysymbol_kind_t yyarg[YYARGS_MAX];
|
||||
/* Cumulated lengths of YYARG. */
|
||||
YYPTRDIFF_T yysize = 0;
|
||||
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
|
||||
if (yycount == YYENOMEM)
|
||||
return YYENOMEM;
|
||||
|
||||
switch (yycount)
|
||||
{
|
||||
# define YYCASE_(N, S) \
|
||||
#define YYCASE_(N, S) \
|
||||
case N: \
|
||||
yyformat = S; \
|
||||
break
|
||||
break
|
||||
default: /* Avoid compiler warnings. */
|
||||
YYCASE_(0, YY_("syntax error"));
|
||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||
@@ -990,15 +1092,23 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
||||
# undef YYCASE_
|
||||
#undef YYCASE_
|
||||
}
|
||||
|
||||
/* Compute error message size. Don't count the "%s"s, but reserve
|
||||
room for the terminator. */
|
||||
yysize = yystrlen (yyformat) - 2 * yycount + 1;
|
||||
{
|
||||
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return 2;
|
||||
int yyi;
|
||||
for (yyi = 0; yyi < yycount; ++yyi)
|
||||
{
|
||||
YYPTRDIFF_T yysize1
|
||||
= yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return YYENOMEM;
|
||||
}
|
||||
}
|
||||
|
||||
if (*yymsg_alloc < yysize)
|
||||
@@ -1007,7 +1117,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
if (! (yysize <= *yymsg_alloc
|
||||
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
|
||||
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Avoid sprintf, as that infringes on the user's name space.
|
||||
@@ -1019,40 +1129,43 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
while ((*yyp = *yyformat) != '\0')
|
||||
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
|
||||
{
|
||||
yyp += yytnamerr (yyp, yyarg[yyi++]);
|
||||
yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
|
||||
yyformat += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
yyp++;
|
||||
yyformat++;
|
||||
++yyp;
|
||||
++yyformat;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif /* YYERROR_VERBOSE */
|
||||
|
||||
|
||||
/*-----------------------------------------------.
|
||||
| Release the memory associated to this symbol. |
|
||||
`-----------------------------------------------*/
|
||||
|
||||
static void
|
||||
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, yyscan_t yyscanner)
|
||||
yydestruct (const char *yymsg,
|
||||
yysymbol_kind_t yykind, YYSTYPE *yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
YYUSE (yyvaluep);
|
||||
YYUSE (yyscanner);
|
||||
if (!yymsg)
|
||||
yymsg = "Deleting";
|
||||
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
|
||||
YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
|
||||
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
YYUSE (yytype);
|
||||
YYUSE (yykind);
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*----------.
|
||||
| yyparse. |
|
||||
`----------*/
|
||||
@@ -1060,7 +1173,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, yyscan_t yyscanner
|
||||
int
|
||||
yyparse (yyscan_t yyscanner)
|
||||
{
|
||||
/* The lookahead symbol. */
|
||||
/* Lookahead token kind. */
|
||||
int yychar;
|
||||
|
||||
|
||||
@@ -1071,45 +1184,41 @@ YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
|
||||
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
||||
|
||||
/* Number of syntax errors so far. */
|
||||
int yynerrs;
|
||||
int yynerrs = 0;
|
||||
|
||||
int yystate;
|
||||
yy_state_fast_t yystate = 0;
|
||||
/* Number of tokens to shift before error messages enabled. */
|
||||
int yyerrstatus;
|
||||
int yyerrstatus = 0;
|
||||
|
||||
/* The stacks and their tools:
|
||||
'yyss': related to states.
|
||||
'yyvs': related to semantic values.
|
||||
|
||||
Refer to the stacks through separate pointers, to allow yyoverflow
|
||||
/* Refer to the stacks through separate pointers, to allow yyoverflow
|
||||
to reallocate them elsewhere. */
|
||||
|
||||
/* The state stack. */
|
||||
yytype_int16 yyssa[YYINITDEPTH];
|
||||
yytype_int16 *yyss;
|
||||
yytype_int16 *yyssp;
|
||||
/* Their size. */
|
||||
YYPTRDIFF_T yystacksize = YYINITDEPTH;
|
||||
|
||||
/* The semantic value stack. */
|
||||
/* The state stack: array, bottom, top. */
|
||||
yy_state_t yyssa[YYINITDEPTH];
|
||||
yy_state_t *yyss = yyssa;
|
||||
yy_state_t *yyssp = yyss;
|
||||
|
||||
/* The semantic value stack: array, bottom, top. */
|
||||
YYSTYPE yyvsa[YYINITDEPTH];
|
||||
YYSTYPE *yyvs;
|
||||
YYSTYPE *yyvsp;
|
||||
|
||||
YYSIZE_T yystacksize;
|
||||
YYSTYPE *yyvs = yyvsa;
|
||||
YYSTYPE *yyvsp = yyvs;
|
||||
|
||||
int yyn;
|
||||
/* The return value of yyparse. */
|
||||
int yyresult;
|
||||
/* Lookahead token as an internal (translated) token number. */
|
||||
int yytoken = 0;
|
||||
/* Lookahead symbol kind. */
|
||||
yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
|
||||
/* The variables used to return semantic value and location from the
|
||||
action routines. */
|
||||
YYSTYPE yyval;
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
/* Buffer for error messages, and its allocated size. */
|
||||
char yymsgbuf[128];
|
||||
char *yymsg = yymsgbuf;
|
||||
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
|
||||
#endif
|
||||
YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
|
||||
|
||||
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
|
||||
|
||||
@@ -1117,15 +1226,8 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
||||
Keep to zero when no symbol should be popped. */
|
||||
int yylen = 0;
|
||||
|
||||
yyssp = yyss = yyssa;
|
||||
yyvsp = yyvs = yyvsa;
|
||||
yystacksize = YYINITDEPTH;
|
||||
|
||||
YYDPRINTF ((stderr, "Starting parse\n"));
|
||||
|
||||
yystate = 0;
|
||||
yyerrstatus = 0;
|
||||
yynerrs = 0;
|
||||
yychar = YYEMPTY; /* Cause a token to be read. */
|
||||
goto yysetstate;
|
||||
|
||||
@@ -1140,12 +1242,15 @@ yynewstate:
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------.
|
||||
| yynewstate -- set current state (the top of the stack) to yystate. |
|
||||
| yysetstate -- set current state (the top of the stack) to yystate. |
|
||||
`--------------------------------------------------------------------*/
|
||||
yysetstate:
|
||||
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
||||
YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
|
||||
*yyssp = (yytype_int16) yystate;
|
||||
YY_IGNORE_USELESS_CAST_BEGIN
|
||||
*yyssp = YY_CAST (yy_state_t, yystate);
|
||||
YY_IGNORE_USELESS_CAST_END
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
|
||||
@@ -1153,23 +1258,23 @@ yysetstate:
|
||||
#else
|
||||
{
|
||||
/* Get the current used size of the three stacks, in elements. */
|
||||
YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
|
||||
YYPTRDIFF_T yysize = yyssp - yyss + 1;
|
||||
|
||||
# if defined yyoverflow
|
||||
{
|
||||
/* Give user a chance to reallocate the stack. Use copies of
|
||||
these so that the &'s don't force the real ones into
|
||||
memory. */
|
||||
yy_state_t *yyss1 = yyss;
|
||||
YYSTYPE *yyvs1 = yyvs;
|
||||
yytype_int16 *yyss1 = yyss;
|
||||
|
||||
/* Each stack pointer address is followed by the size of the
|
||||
data in use in that stack, in bytes. This used to be a
|
||||
conditional around just the two extra args, but that might
|
||||
be undefined if yyoverflow is a macro. */
|
||||
yyoverflow (YY_("memory exhausted"),
|
||||
&yyss1, yysize * sizeof (*yyssp),
|
||||
&yyvs1, yysize * sizeof (*yyvsp),
|
||||
&yyss1, yysize * YYSIZEOF (*yyssp),
|
||||
&yyvs1, yysize * YYSIZEOF (*yyvsp),
|
||||
&yystacksize);
|
||||
yyss = yyss1;
|
||||
yyvs = yyvs1;
|
||||
@@ -1183,14 +1288,15 @@ yysetstate:
|
||||
yystacksize = YYMAXDEPTH;
|
||||
|
||||
{
|
||||
yytype_int16 *yyss1 = yyss;
|
||||
yy_state_t *yyss1 = yyss;
|
||||
union yyalloc *yyptr =
|
||||
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
|
||||
YY_CAST (union yyalloc *,
|
||||
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
|
||||
if (! yyptr)
|
||||
goto yyexhaustedlab;
|
||||
YYSTACK_RELOCATE (yyss_alloc, yyss);
|
||||
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
|
||||
# undef YYSTACK_RELOCATE
|
||||
# undef YYSTACK_RELOCATE
|
||||
if (yyss1 != yyssa)
|
||||
YYSTACK_FREE (yyss1);
|
||||
}
|
||||
@@ -1199,8 +1305,10 @@ yysetstate:
|
||||
yyssp = yyss + yysize - 1;
|
||||
yyvsp = yyvs + yysize - 1;
|
||||
|
||||
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
||||
(unsigned long) yystacksize));
|
||||
YY_IGNORE_USELESS_CAST_BEGIN
|
||||
YYDPRINTF ((stderr, "Stack size increased to %ld\n",
|
||||
YY_CAST (long, yystacksize)));
|
||||
YY_IGNORE_USELESS_CAST_END
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
YYABORT;
|
||||
@@ -1227,18 +1335,29 @@ yybackup:
|
||||
|
||||
/* Not known => get a lookahead token if don't already have one. */
|
||||
|
||||
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
|
||||
/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
|
||||
if (yychar == YYEMPTY)
|
||||
{
|
||||
YYDPRINTF ((stderr, "Reading a token: "));
|
||||
YYDPRINTF ((stderr, "Reading a token\n"));
|
||||
yychar = yylex (&yylval, yyscanner);
|
||||
}
|
||||
|
||||
if (yychar <= YYEOF)
|
||||
{
|
||||
yychar = yytoken = YYEOF;
|
||||
yychar = YYEOF;
|
||||
yytoken = YYSYMBOL_YYEOF;
|
||||
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
||||
}
|
||||
else if (yychar == YYerror)
|
||||
{
|
||||
/* The scanner already issued an error message, process directly
|
||||
to error recovery. But do not keep the error token as
|
||||
lookahead, it is too special and may lead us to an endless
|
||||
loop in error recovery. */
|
||||
yychar = YYUNDEF;
|
||||
yytoken = YYSYMBOL_YYerror;
|
||||
goto yyerrlab1;
|
||||
}
|
||||
else
|
||||
{
|
||||
yytoken = YYTRANSLATE (yychar);
|
||||
@@ -1266,14 +1385,13 @@ yybackup:
|
||||
|
||||
/* Shift the lookahead token. */
|
||||
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
|
||||
|
||||
/* Discard the shifted token. */
|
||||
yychar = YYEMPTY;
|
||||
|
||||
yystate = yyn;
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
*++yyvsp = yylval;
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
|
||||
/* Discard the shifted token. */
|
||||
yychar = YYEMPTY;
|
||||
goto yynewstate;
|
||||
|
||||
|
||||
@@ -1308,193 +1426,193 @@ yyreduce:
|
||||
YY_REDUCE_PRINT (yyn);
|
||||
switch (yyn)
|
||||
{
|
||||
case 2:
|
||||
#line 99 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 2: /* Start: GoalWithOptionalBackSlash */
|
||||
#line 96 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = 0;
|
||||
yyGetParser->SetResult((yyvsp[0].str));
|
||||
}
|
||||
#line 1318 "cmCommandArgumentParser.cxx"
|
||||
#line 1436 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 3:
|
||||
#line 105 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 3: /* GoalWithOptionalBackSlash: Goal */
|
||||
#line 102 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1326 "cmCommandArgumentParser.cxx"
|
||||
#line 1444 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 4:
|
||||
#line 108 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 4: /* GoalWithOptionalBackSlash: Goal "\\" */
|
||||
#line 105 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
|
||||
}
|
||||
#line 1334 "cmCommandArgumentParser.cxx"
|
||||
#line 1452 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 5:
|
||||
#line 113 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 5: /* Goal: %empty */
|
||||
#line 110 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = 0;
|
||||
}
|
||||
#line 1342 "cmCommandArgumentParser.cxx"
|
||||
#line 1460 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 6:
|
||||
#line 116 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 6: /* Goal: String Goal */
|
||||
#line 113 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
|
||||
}
|
||||
#line 1350 "cmCommandArgumentParser.cxx"
|
||||
#line 1468 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 7:
|
||||
case 7: /* String: OuterText */
|
||||
#line 118 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1476 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 8: /* String: Variable */
|
||||
#line 121 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1358 "cmCommandArgumentParser.cxx"
|
||||
#line 1484 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 8:
|
||||
#line 124 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 9: /* OuterText: cal_NAME */
|
||||
#line 126 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1366 "cmCommandArgumentParser.cxx"
|
||||
#line 1492 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 9:
|
||||
case 10: /* OuterText: "@" */
|
||||
#line 129 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1374 "cmCommandArgumentParser.cxx"
|
||||
#line 1500 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 10:
|
||||
case 11: /* OuterText: "$" */
|
||||
#line 132 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1382 "cmCommandArgumentParser.cxx"
|
||||
#line 1508 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 11:
|
||||
case 12: /* OuterText: "{" */
|
||||
#line 135 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1390 "cmCommandArgumentParser.cxx"
|
||||
#line 1516 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 12:
|
||||
case 13: /* OuterText: "}" */
|
||||
#line 138 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1398 "cmCommandArgumentParser.cxx"
|
||||
#line 1524 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 13:
|
||||
case 14: /* OuterText: cal_SYMBOL */
|
||||
#line 141 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1406 "cmCommandArgumentParser.cxx"
|
||||
#line 1532 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 14:
|
||||
#line 144 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
case 15: /* Variable: cal_ENVCURLY EnvVarName "}" */
|
||||
#line 146 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
|
||||
}
|
||||
#line 1414 "cmCommandArgumentParser.cxx"
|
||||
#line 1540 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 15:
|
||||
case 16: /* Variable: cal_NCURLY MultipleIds "}" */
|
||||
#line 149 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
|
||||
}
|
||||
#line 1422 "cmCommandArgumentParser.cxx"
|
||||
#line 1548 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 16:
|
||||
case 17: /* Variable: cal_DCURLY MultipleIds "}" */
|
||||
#line 152 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
|
||||
}
|
||||
#line 1430 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 17:
|
||||
#line 155 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = yyGetParser->ExpandVariable((yyvsp[-1].str));
|
||||
}
|
||||
#line 1438 "cmCommandArgumentParser.cxx"
|
||||
#line 1556 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 18:
|
||||
#line 158 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 18: /* Variable: cal_ATNAME */
|
||||
#line 155 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = yyGetParser->ExpandVariableForAt((yyvsp[0].str));
|
||||
}
|
||||
#line 1446 "cmCommandArgumentParser.cxx"
|
||||
#line 1564 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 19:
|
||||
#line 163 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 19: /* EnvVarName: MultipleIds */
|
||||
#line 160 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1454 "cmCommandArgumentParser.cxx"
|
||||
#line 1572 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 20:
|
||||
#line 166 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 20: /* EnvVarName: cal_SYMBOL EnvVarName */
|
||||
#line 163 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[-1].str);
|
||||
}
|
||||
#line 1462 "cmCommandArgumentParser.cxx"
|
||||
#line 1580 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 21:
|
||||
#line 171 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 21: /* MultipleIds: %empty */
|
||||
#line 168 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = 0;
|
||||
}
|
||||
#line 1470 "cmCommandArgumentParser.cxx"
|
||||
#line 1588 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 22:
|
||||
#line 174 "cmCommandArgumentParser.y"
|
||||
{
|
||||
case 22: /* MultipleIds: ID MultipleIds */
|
||||
#line 171 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
|
||||
}
|
||||
#line 1478 "cmCommandArgumentParser.cxx"
|
||||
#line 1596 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 23:
|
||||
case 23: /* ID: cal_NAME */
|
||||
#line 176 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1604 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 24: /* ID: Variable */
|
||||
#line 179 "cmCommandArgumentParser.y"
|
||||
{
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1486 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
case 24:
|
||||
#line 182 "cmCommandArgumentParser.y"
|
||||
{
|
||||
(yyval.str) = (yyvsp[0].str);
|
||||
}
|
||||
#line 1494 "cmCommandArgumentParser.cxx"
|
||||
#line 1612 "cmCommandArgumentParser.cxx"
|
||||
break;
|
||||
|
||||
|
||||
#line 1498 "cmCommandArgumentParser.cxx"
|
||||
#line 1616 "cmCommandArgumentParser.cxx"
|
||||
|
||||
default: break;
|
||||
}
|
||||
@@ -1509,11 +1627,10 @@ yyreduce:
|
||||
case of YYERROR or YYBACKUP, subsequent parser actions might lead
|
||||
to an incorrect destructor call or verbose syntax error message
|
||||
before the lookahead is translated. */
|
||||
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
||||
YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
|
||||
|
||||
YYPOPSTACK (yylen);
|
||||
yylen = 0;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
|
||||
*++yyvsp = yyval;
|
||||
|
||||
@@ -1537,50 +1654,44 @@ yyreduce:
|
||||
yyerrlab:
|
||||
/* Make sure we have latest lookahead translation. See comments at
|
||||
user semantic actions for why this is necessary. */
|
||||
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
||||
|
||||
yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
|
||||
/* If not already recovering from an error, report this error. */
|
||||
if (!yyerrstatus)
|
||||
{
|
||||
++yynerrs;
|
||||
#if ! YYERROR_VERBOSE
|
||||
yyerror (yyscanner, YY_("syntax error"));
|
||||
#else
|
||||
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
|
||||
yyssp, yytoken)
|
||||
{
|
||||
yypcontext_t yyctx
|
||||
= {yyssp, yytoken};
|
||||
char const *yymsgp = YY_("syntax error");
|
||||
int yysyntax_error_status;
|
||||
yysyntax_error_status = YYSYNTAX_ERROR;
|
||||
yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
|
||||
if (yysyntax_error_status == 0)
|
||||
yymsgp = yymsg;
|
||||
else if (yysyntax_error_status == 1)
|
||||
else if (yysyntax_error_status == -1)
|
||||
{
|
||||
if (yymsg != yymsgbuf)
|
||||
YYSTACK_FREE (yymsg);
|
||||
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
|
||||
if (!yymsg)
|
||||
yymsg = YY_CAST (char *,
|
||||
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
|
||||
if (yymsg)
|
||||
{
|
||||
yymsg = yymsgbuf;
|
||||
yymsg_alloc = sizeof yymsgbuf;
|
||||
yysyntax_error_status = 2;
|
||||
yysyntax_error_status
|
||||
= yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
|
||||
yymsgp = yymsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
yysyntax_error_status = YYSYNTAX_ERROR;
|
||||
yymsgp = yymsg;
|
||||
yymsg = yymsgbuf;
|
||||
yymsg_alloc = sizeof yymsgbuf;
|
||||
yysyntax_error_status = YYENOMEM;
|
||||
}
|
||||
}
|
||||
yyerror (yyscanner, yymsgp);
|
||||
if (yysyntax_error_status == 2)
|
||||
if (yysyntax_error_status == YYENOMEM)
|
||||
goto yyexhaustedlab;
|
||||
}
|
||||
# undef YYSYNTAX_ERROR
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (yyerrstatus == 3)
|
||||
{
|
||||
/* If just tried and failed to reuse lookahead token after an
|
||||
@@ -1600,7 +1711,6 @@ yyerrlab:
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Else will try to reuse lookahead token after shifting the error
|
||||
token. */
|
||||
goto yyerrlab1;
|
||||
@@ -1628,16 +1738,16 @@ yyerrorlab:
|
||||
| yyerrlab1 -- common code for both syntax error and YYERROR. |
|
||||
`-------------------------------------------------------------*/
|
||||
yyerrlab1:
|
||||
#endif
|
||||
yyerrstatus = 3; /* Each real token shifted decrements this. */
|
||||
|
||||
/* Pop stack until we find a state that shifts the error token. */
|
||||
for (;;)
|
||||
{
|
||||
yyn = yypact[yystate];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
yyn += YYTERROR;
|
||||
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
|
||||
yyn += YYSYMBOL_YYerror;
|
||||
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
|
||||
{
|
||||
yyn = yytable[yyn];
|
||||
if (0 < yyn)
|
||||
@@ -1651,7 +1761,7 @@ yyerrlab1:
|
||||
|
||||
|
||||
yydestruct ("Error: popping",
|
||||
yystos[yystate], yyvsp, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (yystate), yyvsp, yyscanner);
|
||||
YYPOPSTACK (1);
|
||||
yystate = *yyssp;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
@@ -1663,7 +1773,7 @@ yyerrlab1:
|
||||
|
||||
|
||||
/* Shift the error token. */
|
||||
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
|
||||
YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
|
||||
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
@@ -1685,20 +1795,20 @@ yyabortlab:
|
||||
goto yyreturn;
|
||||
|
||||
|
||||
#if !defined yyoverflow || YYERROR_VERBOSE
|
||||
#if 1
|
||||
/*-------------------------------------------------.
|
||||
| yyexhaustedlab -- memory exhaustion comes here. |
|
||||
`-------------------------------------------------*/
|
||||
yyexhaustedlab:
|
||||
yyerror (yyscanner, YY_("memory exhausted"));
|
||||
yyresult = 2;
|
||||
/* Fall through. */
|
||||
goto yyreturn;
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------.
|
||||
| yyreturn -- parsing is finished, return the result. |
|
||||
`-----------------------------------------------------*/
|
||||
/*-------------------------------------------------------.
|
||||
| yyreturn -- parsing is finished, clean up and return. |
|
||||
`-------------------------------------------------------*/
|
||||
yyreturn:
|
||||
if (yychar != YYEMPTY)
|
||||
{
|
||||
@@ -1715,20 +1825,19 @@ yyreturn:
|
||||
while (yyssp != yyss)
|
||||
{
|
||||
yydestruct ("Cleanup: popping",
|
||||
yystos[*yyssp], yyvsp, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yyscanner);
|
||||
YYPOPSTACK (1);
|
||||
}
|
||||
#ifndef yyoverflow
|
||||
if (yyss != yyssa)
|
||||
YYSTACK_FREE (yyss);
|
||||
#endif
|
||||
#if YYERROR_VERBOSE
|
||||
if (yymsg != yymsgbuf)
|
||||
YYSTACK_FREE (yymsg);
|
||||
#endif
|
||||
return yyresult;
|
||||
}
|
||||
#line 187 "cmCommandArgumentParser.y"
|
||||
|
||||
#line 184 "cmCommandArgumentParser.y"
|
||||
|
||||
/* End of grammar */
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -31,8 +31,9 @@
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
#ifndef YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
|
||||
@@ -44,38 +45,30 @@
|
||||
extern int cmCommandArgument_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
/* Token kinds. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
cal_ENVCURLY = 258,
|
||||
cal_NCURLY = 259,
|
||||
cal_DCURLY = 260,
|
||||
cal_DOLLAR = 261,
|
||||
cal_LCURLY = 262,
|
||||
cal_RCURLY = 263,
|
||||
cal_NAME = 264,
|
||||
cal_BSLASH = 265,
|
||||
cal_SYMBOL = 266,
|
||||
cal_AT = 267,
|
||||
cal_ERROR = 268,
|
||||
cal_ATNAME = 269
|
||||
YYEMPTY = -2,
|
||||
YYEOF = 0, /* "end of file" */
|
||||
YYerror = 256, /* error */
|
||||
YYUNDEF = 257, /* "invalid token" */
|
||||
cal_ENVCURLY = 258, /* cal_ENVCURLY */
|
||||
cal_NCURLY = 259, /* cal_NCURLY */
|
||||
cal_DCURLY = 260, /* cal_DCURLY */
|
||||
cal_DOLLAR = 261, /* "$" */
|
||||
cal_LCURLY = 262, /* "{" */
|
||||
cal_RCURLY = 263, /* "}" */
|
||||
cal_NAME = 264, /* cal_NAME */
|
||||
cal_BSLASH = 265, /* "\\" */
|
||||
cal_SYMBOL = 266, /* cal_SYMBOL */
|
||||
cal_AT = 267, /* "@" */
|
||||
cal_ERROR = 268, /* cal_ERROR */
|
||||
cal_ATNAME = 269 /* cal_ATNAME */
|
||||
};
|
||||
typedef enum yytokentype yytoken_kind_t;
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define cal_ENVCURLY 258
|
||||
#define cal_NCURLY 259
|
||||
#define cal_DCURLY 260
|
||||
#define cal_DOLLAR 261
|
||||
#define cal_LCURLY 262
|
||||
#define cal_RCURLY 263
|
||||
#define cal_NAME 264
|
||||
#define cal_BSLASH 265
|
||||
#define cal_SYMBOL 266
|
||||
#define cal_AT 267
|
||||
#define cal_ERROR 268
|
||||
#define cal_ATNAME 269
|
||||
|
||||
/* Value type. */
|
||||
|
||||
|
||||
+3637
-3471
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -31,8 +31,9 @@
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
#ifndef YY_CMDEPENDSJAVA_YY_CMDEPENDSJAVAPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMDEPENDSJAVA_YY_CMDEPENDSJAVAPARSERTOKENS_H_INCLUDED
|
||||
@@ -44,220 +45,121 @@
|
||||
extern int cmDependsJava_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
/* Token kinds. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
jp_ABSTRACT = 258,
|
||||
jp_ASSERT = 259,
|
||||
jp_BOOLEAN_TYPE = 260,
|
||||
jp_BREAK = 261,
|
||||
jp_BYTE_TYPE = 262,
|
||||
jp_CASE = 263,
|
||||
jp_CATCH = 264,
|
||||
jp_CHAR_TYPE = 265,
|
||||
jp_CLASS = 266,
|
||||
jp_CONTINUE = 267,
|
||||
jp_DEFAULT = 268,
|
||||
jp_DO = 269,
|
||||
jp_DOUBLE_TYPE = 270,
|
||||
jp_ELSE = 271,
|
||||
jp_EXTENDS = 272,
|
||||
jp_FINAL = 273,
|
||||
jp_FINALLY = 274,
|
||||
jp_FLOAT_TYPE = 275,
|
||||
jp_FOR = 276,
|
||||
jp_IF = 277,
|
||||
jp_IMPLEMENTS = 278,
|
||||
jp_IMPORT = 279,
|
||||
jp_INSTANCEOF = 280,
|
||||
jp_INT_TYPE = 281,
|
||||
jp_INTERFACE = 282,
|
||||
jp_LONG_TYPE = 283,
|
||||
jp_NATIVE = 284,
|
||||
jp_NEW = 285,
|
||||
jp_PACKAGE = 286,
|
||||
jp_PRIVATE = 287,
|
||||
jp_PROTECTED = 288,
|
||||
jp_PUBLIC = 289,
|
||||
jp_RETURN = 290,
|
||||
jp_SHORT_TYPE = 291,
|
||||
jp_STATIC = 292,
|
||||
jp_STRICTFP = 293,
|
||||
jp_SUPER = 294,
|
||||
jp_SWITCH = 295,
|
||||
jp_SYNCHRONIZED = 296,
|
||||
jp_THIS = 297,
|
||||
jp_THROW = 298,
|
||||
jp_THROWS = 299,
|
||||
jp_TRANSIENT = 300,
|
||||
jp_TRY = 301,
|
||||
jp_VOID = 302,
|
||||
jp_VOLATILE = 303,
|
||||
jp_WHILE = 304,
|
||||
jp_BOOLEANLITERAL = 305,
|
||||
jp_CHARACTERLITERAL = 306,
|
||||
jp_DECIMALINTEGERLITERAL = 307,
|
||||
jp_FLOATINGPOINTLITERAL = 308,
|
||||
jp_HEXINTEGERLITERAL = 309,
|
||||
jp_NULLLITERAL = 310,
|
||||
jp_STRINGLITERAL = 311,
|
||||
jp_NAME = 312,
|
||||
jp_AND = 313,
|
||||
jp_ANDAND = 314,
|
||||
jp_ANDEQUALS = 315,
|
||||
jp_BRACKETEND = 316,
|
||||
jp_BRACKETSTART = 317,
|
||||
jp_CARROT = 318,
|
||||
jp_CARROTEQUALS = 319,
|
||||
jp_COLON = 320,
|
||||
jp_COMMA = 321,
|
||||
jp_CURLYEND = 322,
|
||||
jp_CURLYSTART = 323,
|
||||
jp_DIVIDE = 324,
|
||||
jp_DIVIDEEQUALS = 325,
|
||||
jp_DOLLAR = 326,
|
||||
jp_DOT = 327,
|
||||
jp_EQUALS = 328,
|
||||
jp_EQUALSEQUALS = 329,
|
||||
jp_EXCLAMATION = 330,
|
||||
jp_EXCLAMATIONEQUALS = 331,
|
||||
jp_GREATER = 332,
|
||||
jp_GTEQUALS = 333,
|
||||
jp_GTGT = 334,
|
||||
jp_GTGTEQUALS = 335,
|
||||
jp_GTGTGT = 336,
|
||||
jp_GTGTGTEQUALS = 337,
|
||||
jp_LESLESEQUALS = 338,
|
||||
jp_LESSTHAN = 339,
|
||||
jp_LTEQUALS = 340,
|
||||
jp_LTLT = 341,
|
||||
jp_MINUS = 342,
|
||||
jp_MINUSEQUALS = 343,
|
||||
jp_MINUSMINUS = 344,
|
||||
jp_PAREEND = 345,
|
||||
jp_PARESTART = 346,
|
||||
jp_PERCENT = 347,
|
||||
jp_PERCENTEQUALS = 348,
|
||||
jp_PIPE = 349,
|
||||
jp_PIPEEQUALS = 350,
|
||||
jp_PIPEPIPE = 351,
|
||||
jp_PLUS = 352,
|
||||
jp_PLUSEQUALS = 353,
|
||||
jp_PLUSPLUS = 354,
|
||||
jp_QUESTION = 355,
|
||||
jp_SEMICOL = 356,
|
||||
jp_TILDE = 357,
|
||||
jp_TIMES = 358,
|
||||
jp_TIMESEQUALS = 359,
|
||||
jp_ERROR = 360
|
||||
YYEMPTY = -2,
|
||||
YYEOF = 0, /* "end of file" */
|
||||
YYerror = 256, /* error */
|
||||
YYUNDEF = 257, /* "invalid token" */
|
||||
jp_ABSTRACT = 258, /* jp_ABSTRACT */
|
||||
jp_ASSERT = 259, /* jp_ASSERT */
|
||||
jp_BOOLEAN_TYPE = 260, /* jp_BOOLEAN_TYPE */
|
||||
jp_BREAK = 261, /* jp_BREAK */
|
||||
jp_BYTE_TYPE = 262, /* jp_BYTE_TYPE */
|
||||
jp_CASE = 263, /* jp_CASE */
|
||||
jp_CATCH = 264, /* jp_CATCH */
|
||||
jp_CHAR_TYPE = 265, /* jp_CHAR_TYPE */
|
||||
jp_CLASS = 266, /* jp_CLASS */
|
||||
jp_CONTINUE = 267, /* jp_CONTINUE */
|
||||
jp_DEFAULT = 268, /* jp_DEFAULT */
|
||||
jp_DO = 269, /* jp_DO */
|
||||
jp_DOUBLE_TYPE = 270, /* jp_DOUBLE_TYPE */
|
||||
jp_ELSE = 271, /* jp_ELSE */
|
||||
jp_EXTENDS = 272, /* jp_EXTENDS */
|
||||
jp_FINAL = 273, /* jp_FINAL */
|
||||
jp_FINALLY = 274, /* jp_FINALLY */
|
||||
jp_FLOAT_TYPE = 275, /* jp_FLOAT_TYPE */
|
||||
jp_FOR = 276, /* jp_FOR */
|
||||
jp_IF = 277, /* jp_IF */
|
||||
jp_IMPLEMENTS = 278, /* jp_IMPLEMENTS */
|
||||
jp_IMPORT = 279, /* jp_IMPORT */
|
||||
jp_INSTANCEOF = 280, /* jp_INSTANCEOF */
|
||||
jp_INT_TYPE = 281, /* jp_INT_TYPE */
|
||||
jp_INTERFACE = 282, /* jp_INTERFACE */
|
||||
jp_LONG_TYPE = 283, /* jp_LONG_TYPE */
|
||||
jp_NATIVE = 284, /* jp_NATIVE */
|
||||
jp_NEW = 285, /* jp_NEW */
|
||||
jp_PACKAGE = 286, /* jp_PACKAGE */
|
||||
jp_PRIVATE = 287, /* jp_PRIVATE */
|
||||
jp_PROTECTED = 288, /* jp_PROTECTED */
|
||||
jp_PUBLIC = 289, /* jp_PUBLIC */
|
||||
jp_RETURN = 290, /* jp_RETURN */
|
||||
jp_SHORT_TYPE = 291, /* jp_SHORT_TYPE */
|
||||
jp_STATIC = 292, /* jp_STATIC */
|
||||
jp_STRICTFP = 293, /* jp_STRICTFP */
|
||||
jp_SUPER = 294, /* jp_SUPER */
|
||||
jp_SWITCH = 295, /* jp_SWITCH */
|
||||
jp_SYNCHRONIZED = 296, /* jp_SYNCHRONIZED */
|
||||
jp_THIS = 297, /* jp_THIS */
|
||||
jp_THROW = 298, /* jp_THROW */
|
||||
jp_THROWS = 299, /* jp_THROWS */
|
||||
jp_TRANSIENT = 300, /* jp_TRANSIENT */
|
||||
jp_TRY = 301, /* jp_TRY */
|
||||
jp_VOID = 302, /* jp_VOID */
|
||||
jp_VOLATILE = 303, /* jp_VOLATILE */
|
||||
jp_WHILE = 304, /* jp_WHILE */
|
||||
jp_BOOLEANLITERAL = 305, /* jp_BOOLEANLITERAL */
|
||||
jp_CHARACTERLITERAL = 306, /* jp_CHARACTERLITERAL */
|
||||
jp_DECIMALINTEGERLITERAL = 307, /* jp_DECIMALINTEGERLITERAL */
|
||||
jp_FLOATINGPOINTLITERAL = 308, /* jp_FLOATINGPOINTLITERAL */
|
||||
jp_HEXINTEGERLITERAL = 309, /* jp_HEXINTEGERLITERAL */
|
||||
jp_NULLLITERAL = 310, /* jp_NULLLITERAL */
|
||||
jp_STRINGLITERAL = 311, /* jp_STRINGLITERAL */
|
||||
jp_NAME = 312, /* jp_NAME */
|
||||
jp_AND = 313, /* jp_AND */
|
||||
jp_ANDAND = 314, /* jp_ANDAND */
|
||||
jp_ANDEQUALS = 315, /* jp_ANDEQUALS */
|
||||
jp_BRACKETEND = 316, /* jp_BRACKETEND */
|
||||
jp_BRACKETSTART = 317, /* jp_BRACKETSTART */
|
||||
jp_CARROT = 318, /* jp_CARROT */
|
||||
jp_CARROTEQUALS = 319, /* jp_CARROTEQUALS */
|
||||
jp_COLON = 320, /* jp_COLON */
|
||||
jp_COMMA = 321, /* jp_COMMA */
|
||||
jp_CURLYEND = 322, /* jp_CURLYEND */
|
||||
jp_CURLYSTART = 323, /* jp_CURLYSTART */
|
||||
jp_DIVIDE = 324, /* jp_DIVIDE */
|
||||
jp_DIVIDEEQUALS = 325, /* jp_DIVIDEEQUALS */
|
||||
jp_DOLLAR = 326, /* jp_DOLLAR */
|
||||
jp_DOT = 327, /* jp_DOT */
|
||||
jp_EQUALS = 328, /* jp_EQUALS */
|
||||
jp_EQUALSEQUALS = 329, /* jp_EQUALSEQUALS */
|
||||
jp_EXCLAMATION = 330, /* jp_EXCLAMATION */
|
||||
jp_EXCLAMATIONEQUALS = 331, /* jp_EXCLAMATIONEQUALS */
|
||||
jp_GREATER = 332, /* jp_GREATER */
|
||||
jp_GTEQUALS = 333, /* jp_GTEQUALS */
|
||||
jp_GTGT = 334, /* jp_GTGT */
|
||||
jp_GTGTEQUALS = 335, /* jp_GTGTEQUALS */
|
||||
jp_GTGTGT = 336, /* jp_GTGTGT */
|
||||
jp_GTGTGTEQUALS = 337, /* jp_GTGTGTEQUALS */
|
||||
jp_LESLESEQUALS = 338, /* jp_LESLESEQUALS */
|
||||
jp_LESSTHAN = 339, /* jp_LESSTHAN */
|
||||
jp_LTEQUALS = 340, /* jp_LTEQUALS */
|
||||
jp_LTLT = 341, /* jp_LTLT */
|
||||
jp_MINUS = 342, /* jp_MINUS */
|
||||
jp_MINUSEQUALS = 343, /* jp_MINUSEQUALS */
|
||||
jp_MINUSMINUS = 344, /* jp_MINUSMINUS */
|
||||
jp_PAREEND = 345, /* jp_PAREEND */
|
||||
jp_PARESTART = 346, /* jp_PARESTART */
|
||||
jp_PERCENT = 347, /* jp_PERCENT */
|
||||
jp_PERCENTEQUALS = 348, /* jp_PERCENTEQUALS */
|
||||
jp_PIPE = 349, /* jp_PIPE */
|
||||
jp_PIPEEQUALS = 350, /* jp_PIPEEQUALS */
|
||||
jp_PIPEPIPE = 351, /* jp_PIPEPIPE */
|
||||
jp_PLUS = 352, /* jp_PLUS */
|
||||
jp_PLUSEQUALS = 353, /* jp_PLUSEQUALS */
|
||||
jp_PLUSPLUS = 354, /* jp_PLUSPLUS */
|
||||
jp_QUESTION = 355, /* jp_QUESTION */
|
||||
jp_SEMICOL = 356, /* jp_SEMICOL */
|
||||
jp_TILDE = 357, /* jp_TILDE */
|
||||
jp_TIMES = 358, /* jp_TIMES */
|
||||
jp_TIMESEQUALS = 359, /* jp_TIMESEQUALS */
|
||||
jp_ERROR = 360 /* jp_ERROR */
|
||||
};
|
||||
typedef enum yytokentype yytoken_kind_t;
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define jp_ABSTRACT 258
|
||||
#define jp_ASSERT 259
|
||||
#define jp_BOOLEAN_TYPE 260
|
||||
#define jp_BREAK 261
|
||||
#define jp_BYTE_TYPE 262
|
||||
#define jp_CASE 263
|
||||
#define jp_CATCH 264
|
||||
#define jp_CHAR_TYPE 265
|
||||
#define jp_CLASS 266
|
||||
#define jp_CONTINUE 267
|
||||
#define jp_DEFAULT 268
|
||||
#define jp_DO 269
|
||||
#define jp_DOUBLE_TYPE 270
|
||||
#define jp_ELSE 271
|
||||
#define jp_EXTENDS 272
|
||||
#define jp_FINAL 273
|
||||
#define jp_FINALLY 274
|
||||
#define jp_FLOAT_TYPE 275
|
||||
#define jp_FOR 276
|
||||
#define jp_IF 277
|
||||
#define jp_IMPLEMENTS 278
|
||||
#define jp_IMPORT 279
|
||||
#define jp_INSTANCEOF 280
|
||||
#define jp_INT_TYPE 281
|
||||
#define jp_INTERFACE 282
|
||||
#define jp_LONG_TYPE 283
|
||||
#define jp_NATIVE 284
|
||||
#define jp_NEW 285
|
||||
#define jp_PACKAGE 286
|
||||
#define jp_PRIVATE 287
|
||||
#define jp_PROTECTED 288
|
||||
#define jp_PUBLIC 289
|
||||
#define jp_RETURN 290
|
||||
#define jp_SHORT_TYPE 291
|
||||
#define jp_STATIC 292
|
||||
#define jp_STRICTFP 293
|
||||
#define jp_SUPER 294
|
||||
#define jp_SWITCH 295
|
||||
#define jp_SYNCHRONIZED 296
|
||||
#define jp_THIS 297
|
||||
#define jp_THROW 298
|
||||
#define jp_THROWS 299
|
||||
#define jp_TRANSIENT 300
|
||||
#define jp_TRY 301
|
||||
#define jp_VOID 302
|
||||
#define jp_VOLATILE 303
|
||||
#define jp_WHILE 304
|
||||
#define jp_BOOLEANLITERAL 305
|
||||
#define jp_CHARACTERLITERAL 306
|
||||
#define jp_DECIMALINTEGERLITERAL 307
|
||||
#define jp_FLOATINGPOINTLITERAL 308
|
||||
#define jp_HEXINTEGERLITERAL 309
|
||||
#define jp_NULLLITERAL 310
|
||||
#define jp_STRINGLITERAL 311
|
||||
#define jp_NAME 312
|
||||
#define jp_AND 313
|
||||
#define jp_ANDAND 314
|
||||
#define jp_ANDEQUALS 315
|
||||
#define jp_BRACKETEND 316
|
||||
#define jp_BRACKETSTART 317
|
||||
#define jp_CARROT 318
|
||||
#define jp_CARROTEQUALS 319
|
||||
#define jp_COLON 320
|
||||
#define jp_COMMA 321
|
||||
#define jp_CURLYEND 322
|
||||
#define jp_CURLYSTART 323
|
||||
#define jp_DIVIDE 324
|
||||
#define jp_DIVIDEEQUALS 325
|
||||
#define jp_DOLLAR 326
|
||||
#define jp_DOT 327
|
||||
#define jp_EQUALS 328
|
||||
#define jp_EQUALSEQUALS 329
|
||||
#define jp_EXCLAMATION 330
|
||||
#define jp_EXCLAMATIONEQUALS 331
|
||||
#define jp_GREATER 332
|
||||
#define jp_GTEQUALS 333
|
||||
#define jp_GTGT 334
|
||||
#define jp_GTGTEQUALS 335
|
||||
#define jp_GTGTGT 336
|
||||
#define jp_GTGTGTEQUALS 337
|
||||
#define jp_LESLESEQUALS 338
|
||||
#define jp_LESSTHAN 339
|
||||
#define jp_LTEQUALS 340
|
||||
#define jp_LTLT 341
|
||||
#define jp_MINUS 342
|
||||
#define jp_MINUSEQUALS 343
|
||||
#define jp_MINUSMINUS 344
|
||||
#define jp_PAREEND 345
|
||||
#define jp_PARESTART 346
|
||||
#define jp_PERCENT 347
|
||||
#define jp_PERCENTEQUALS 348
|
||||
#define jp_PIPE 349
|
||||
#define jp_PIPEEQUALS 350
|
||||
#define jp_PIPEPIPE 351
|
||||
#define jp_PLUS 352
|
||||
#define jp_PLUSEQUALS 353
|
||||
#define jp_PLUSPLUS 354
|
||||
#define jp_QUESTION 355
|
||||
#define jp_SEMICOL 356
|
||||
#define jp_TILDE 357
|
||||
#define jp_TIMES 358
|
||||
#define jp_TIMESEQUALS 359
|
||||
#define jp_ERROR 360
|
||||
|
||||
/* Value type. */
|
||||
|
||||
|
||||
+550
-442
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison implementation for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -34,6 +34,10 @@
|
||||
/* C LALR(1) parser skeleton written by Richard Stallman, by
|
||||
simplifying the original so-called "semantic" parser. */
|
||||
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
/* All symbols defined below should begin with yy or YY, to avoid
|
||||
infringing on user name space. This should be done even for local
|
||||
variables, as they might otherwise be expanded by user macros.
|
||||
@@ -41,14 +45,11 @@
|
||||
define necessary library symbols; they are noted "INFRINGES ON
|
||||
USER NAME SPACE" below. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* Identify Bison output, and Bison version. */
|
||||
#define YYBISON 30704
|
||||
|
||||
/* Identify Bison output. */
|
||||
#define YYBISON 1
|
||||
|
||||
/* Bison version. */
|
||||
#define YYBISON_VERSION "3.4.2"
|
||||
/* Bison version string. */
|
||||
#define YYBISON_VERSION "3.7.4"
|
||||
|
||||
/* Skeleton name. */
|
||||
#define YYSKELETON_NAME "yacc.c"
|
||||
@@ -70,7 +71,6 @@
|
||||
#define yydebug cmExpr_yydebug
|
||||
#define yynerrs cmExpr_yynerrs
|
||||
|
||||
|
||||
/* First part of user prologue. */
|
||||
#line 1 "cmExprParser.y"
|
||||
|
||||
@@ -82,10 +82,7 @@ This file must be translated to C and modified to build everywhere.
|
||||
|
||||
Run bison like this:
|
||||
|
||||
bison --yacc --name-prefix=cmExpr_yy --defines=cmExprParserTokens.h -ocmExprParser.cxx cmExprParser.y
|
||||
|
||||
Modify cmExprParser.cxx:
|
||||
- "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"]
|
||||
bison --name-prefix=cmExpr_yy --defines=cmExprParserTokens.h -ocmExprParser.cxx cmExprParser.y
|
||||
|
||||
*/
|
||||
|
||||
@@ -116,8 +113,17 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
|
||||
# pragma GCC diagnostic ignored "-Wconversion"
|
||||
#endif
|
||||
|
||||
#line 120 "cmExprParser.cxx"
|
||||
#line 117 "cmExprParser.cxx"
|
||||
|
||||
# ifndef YY_CAST
|
||||
# ifdef __cplusplus
|
||||
# define YY_CAST(Type, Val) static_cast<Type> (Val)
|
||||
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
|
||||
# else
|
||||
# define YY_CAST(Type, Val) ((Type) (Val))
|
||||
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_NULLPTR
|
||||
# if defined __cplusplus
|
||||
# if 201103L <= __cplusplus
|
||||
@@ -130,70 +136,41 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Enabling verbose error messages. */
|
||||
#ifdef YYERROR_VERBOSE
|
||||
# undef YYERROR_VERBOSE
|
||||
# define YYERROR_VERBOSE 1
|
||||
#else
|
||||
# define YYERROR_VERBOSE 1
|
||||
#endif
|
||||
#include "cmExprParserTokens.h"
|
||||
/* Symbol kind. */
|
||||
enum yysymbol_kind_t
|
||||
{
|
||||
YYSYMBOL_YYEMPTY = -2,
|
||||
YYSYMBOL_YYEOF = 0, /* "end of file" */
|
||||
YYSYMBOL_YYerror = 1, /* error */
|
||||
YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
|
||||
YYSYMBOL_exp_PLUS = 3, /* exp_PLUS */
|
||||
YYSYMBOL_exp_MINUS = 4, /* exp_MINUS */
|
||||
YYSYMBOL_exp_TIMES = 5, /* exp_TIMES */
|
||||
YYSYMBOL_exp_DIVIDE = 6, /* exp_DIVIDE */
|
||||
YYSYMBOL_exp_MOD = 7, /* exp_MOD */
|
||||
YYSYMBOL_exp_SHIFTLEFT = 8, /* exp_SHIFTLEFT */
|
||||
YYSYMBOL_exp_SHIFTRIGHT = 9, /* exp_SHIFTRIGHT */
|
||||
YYSYMBOL_exp_OPENPARENT = 10, /* exp_OPENPARENT */
|
||||
YYSYMBOL_exp_CLOSEPARENT = 11, /* exp_CLOSEPARENT */
|
||||
YYSYMBOL_exp_OR = 12, /* exp_OR */
|
||||
YYSYMBOL_exp_AND = 13, /* exp_AND */
|
||||
YYSYMBOL_exp_XOR = 14, /* exp_XOR */
|
||||
YYSYMBOL_exp_NOT = 15, /* exp_NOT */
|
||||
YYSYMBOL_exp_NUMBER = 16, /* exp_NUMBER */
|
||||
YYSYMBOL_YYACCEPT = 17, /* $accept */
|
||||
YYSYMBOL_start = 18, /* start */
|
||||
YYSYMBOL_exp = 19, /* exp */
|
||||
YYSYMBOL_bitwiseor = 20, /* bitwiseor */
|
||||
YYSYMBOL_bitwisexor = 21, /* bitwisexor */
|
||||
YYSYMBOL_bitwiseand = 22, /* bitwiseand */
|
||||
YYSYMBOL_shift = 23, /* shift */
|
||||
YYSYMBOL_term = 24, /* term */
|
||||
YYSYMBOL_unary = 25, /* unary */
|
||||
YYSYMBOL_factor = 26 /* factor */
|
||||
};
|
||||
typedef enum yysymbol_kind_t yysymbol_kind_t;
|
||||
|
||||
/* Use api.header.include to #include this header
|
||||
instead of duplicating it here. */
|
||||
#ifndef YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
#endif
|
||||
#if YYDEBUG
|
||||
extern int cmExpr_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
exp_PLUS = 258,
|
||||
exp_MINUS = 259,
|
||||
exp_TIMES = 260,
|
||||
exp_DIVIDE = 261,
|
||||
exp_MOD = 262,
|
||||
exp_SHIFTLEFT = 263,
|
||||
exp_SHIFTRIGHT = 264,
|
||||
exp_OPENPARENT = 265,
|
||||
exp_CLOSEPARENT = 266,
|
||||
exp_OR = 267,
|
||||
exp_AND = 268,
|
||||
exp_XOR = 269,
|
||||
exp_NOT = 270,
|
||||
exp_NUMBER = 271
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define exp_PLUS 258
|
||||
#define exp_MINUS 259
|
||||
#define exp_TIMES 260
|
||||
#define exp_DIVIDE 261
|
||||
#define exp_MOD 262
|
||||
#define exp_SHIFTLEFT 263
|
||||
#define exp_SHIFTRIGHT 264
|
||||
#define exp_OPENPARENT 265
|
||||
#define exp_CLOSEPARENT 266
|
||||
#define exp_OR 267
|
||||
#define exp_AND 268
|
||||
#define exp_XOR 269
|
||||
#define exp_NOT 270
|
||||
#define exp_NUMBER 271
|
||||
|
||||
/* Value type. */
|
||||
|
||||
|
||||
|
||||
int cmExpr_yyparse (yyscan_t yyscanner);
|
||||
|
||||
#endif /* !YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED */
|
||||
|
||||
|
||||
|
||||
@@ -201,36 +178,83 @@ int cmExpr_yyparse (yyscan_t yyscanner);
|
||||
# undef short
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_UINT8
|
||||
typedef YYTYPE_UINT8 yytype_uint8;
|
||||
#else
|
||||
typedef unsigned char yytype_uint8;
|
||||
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
|
||||
<limits.h> and (if available) <stdint.h> are included
|
||||
so that the code can choose integer types of a good width. */
|
||||
|
||||
#ifndef __PTRDIFF_MAX__
|
||||
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
||||
# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_STDINT_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_INT8
|
||||
typedef YYTYPE_INT8 yytype_int8;
|
||||
/* Narrow types that promote to a signed type and that can represent a
|
||||
signed or unsigned integer of at least N bits. In tables they can
|
||||
save space and decrease cache pressure. Promoting to a signed type
|
||||
helps avoid bugs in integer arithmetic. */
|
||||
|
||||
#ifdef __INT_LEAST8_MAX__
|
||||
typedef __INT_LEAST8_TYPE__ yytype_int8;
|
||||
#elif defined YY_STDINT_H
|
||||
typedef int_least8_t yytype_int8;
|
||||
#else
|
||||
typedef signed char yytype_int8;
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_UINT16
|
||||
typedef YYTYPE_UINT16 yytype_uint16;
|
||||
#else
|
||||
typedef unsigned short yytype_uint16;
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_INT16
|
||||
typedef YYTYPE_INT16 yytype_int16;
|
||||
#ifdef __INT_LEAST16_MAX__
|
||||
typedef __INT_LEAST16_TYPE__ yytype_int16;
|
||||
#elif defined YY_STDINT_H
|
||||
typedef int_least16_t yytype_int16;
|
||||
#else
|
||||
typedef short yytype_int16;
|
||||
#endif
|
||||
|
||||
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
|
||||
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
|
||||
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
|
||||
&& UINT_LEAST8_MAX <= INT_MAX)
|
||||
typedef uint_least8_t yytype_uint8;
|
||||
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
|
||||
typedef unsigned char yytype_uint8;
|
||||
#else
|
||||
typedef short yytype_uint8;
|
||||
#endif
|
||||
|
||||
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
|
||||
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
|
||||
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
|
||||
&& UINT_LEAST16_MAX <= INT_MAX)
|
||||
typedef uint_least16_t yytype_uint16;
|
||||
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
|
||||
typedef unsigned short yytype_uint16;
|
||||
#else
|
||||
typedef int yytype_uint16;
|
||||
#endif
|
||||
|
||||
#ifndef YYPTRDIFF_T
|
||||
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
|
||||
# define YYPTRDIFF_T __PTRDIFF_TYPE__
|
||||
# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
|
||||
# elif defined PTRDIFF_MAX
|
||||
# ifndef ptrdiff_t
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# define YYPTRDIFF_T ptrdiff_t
|
||||
# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
|
||||
# else
|
||||
# define YYPTRDIFF_T long
|
||||
# define YYPTRDIFF_MAXIMUM LONG_MAX
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YYSIZE_T
|
||||
# ifdef __SIZE_TYPE__
|
||||
# define YYSIZE_T __SIZE_TYPE__
|
||||
# elif defined size_t
|
||||
# define YYSIZE_T size_t
|
||||
# elif ! defined YYSIZE_T
|
||||
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# else
|
||||
@@ -238,7 +262,20 @@ typedef short yytype_int16;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
|
||||
#define YYSIZE_MAXIMUM \
|
||||
YY_CAST (YYPTRDIFF_T, \
|
||||
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
|
||||
? YYPTRDIFF_MAXIMUM \
|
||||
: YY_CAST (YYSIZE_T, -1)))
|
||||
|
||||
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
|
||||
|
||||
|
||||
/* Stored state numbers (used for stacks). */
|
||||
typedef yytype_int8 yy_state_t;
|
||||
|
||||
/* State numbers in computations. */
|
||||
typedef int yy_state_fast_t;
|
||||
|
||||
#ifndef YY_
|
||||
# if defined YYENABLE_NLS && YYENABLE_NLS
|
||||
@@ -252,22 +289,21 @@ typedef short yytype_int16;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE
|
||||
# if (defined __GNUC__ \
|
||||
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|
||||
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
|
||||
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
|
||||
|
||||
#ifndef YY_ATTRIBUTE_PURE
|
||||
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
||||
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
# else
|
||||
# define YY_ATTRIBUTE(Spec) /* empty */
|
||||
# define YY_ATTRIBUTE_PURE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE_PURE
|
||||
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE_UNUSED
|
||||
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
|
||||
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
||||
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||
# else
|
||||
# define YY_ATTRIBUTE_UNUSED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Suppress unused-variable warnings by "using" E. */
|
||||
@@ -279,11 +315,11 @@ typedef short yytype_int16;
|
||||
|
||||
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
|
||||
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#else
|
||||
# define YY_INITIAL_VALUE(Value) Value
|
||||
@@ -296,10 +332,22 @@ typedef short yytype_int16;
|
||||
# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
||||
#endif
|
||||
|
||||
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
|
||||
# define YY_IGNORE_USELESS_CAST_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
|
||||
# define YY_IGNORE_USELESS_CAST_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#endif
|
||||
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
|
||||
# define YY_IGNORE_USELESS_CAST_BEGIN
|
||||
# define YY_IGNORE_USELESS_CAST_END
|
||||
#endif
|
||||
|
||||
|
||||
#define YY_ASSERT(E) ((void) (0 && (E)))
|
||||
|
||||
#if ! defined yyoverflow || YYERROR_VERBOSE
|
||||
#if 1
|
||||
|
||||
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||
|
||||
@@ -364,8 +412,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
|
||||
|
||||
#endif /* 1 */
|
||||
|
||||
#if (! defined yyoverflow \
|
||||
&& (! defined __cplusplus \
|
||||
@@ -374,17 +421,17 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
/* A type that is properly aligned for any stack member. */
|
||||
union yyalloc
|
||||
{
|
||||
yytype_int16 yyss_alloc;
|
||||
yy_state_t yyss_alloc;
|
||||
YYSTYPE yyvs_alloc;
|
||||
};
|
||||
|
||||
/* The size of the maximum gap between one aligned stack and the next. */
|
||||
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
|
||||
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
|
||||
|
||||
/* The size of an array large to enough to hold all stacks, each with
|
||||
N elements. */
|
||||
# define YYSTACK_BYTES(N) \
|
||||
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
|
||||
((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
|
||||
+ YYSTACK_GAP_MAXIMUM)
|
||||
|
||||
# define YYCOPY_NEEDED 1
|
||||
@@ -397,11 +444,11 @@ union yyalloc
|
||||
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
|
||||
do \
|
||||
{ \
|
||||
YYSIZE_T yynewbytes; \
|
||||
YYPTRDIFF_T yynewbytes; \
|
||||
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
|
||||
Stack = &yyptr->Stack_alloc; \
|
||||
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
||||
yyptr += yynewbytes / sizeof (*yyptr); \
|
||||
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
||||
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
@@ -413,12 +460,12 @@ union yyalloc
|
||||
# ifndef YYCOPY
|
||||
# if defined __GNUC__ && 1 < __GNUC__
|
||||
# define YYCOPY(Dst, Src, Count) \
|
||||
__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
|
||||
__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
|
||||
# else
|
||||
# define YYCOPY(Dst, Src, Count) \
|
||||
do \
|
||||
{ \
|
||||
YYSIZE_T yyi; \
|
||||
YYPTRDIFF_T yyi; \
|
||||
for (yyi = 0; yyi < (Count); yyi++) \
|
||||
(Dst)[yyi] = (Src)[yyi]; \
|
||||
} \
|
||||
@@ -441,17 +488,20 @@ union yyalloc
|
||||
/* YYNSTATES -- Number of states. */
|
||||
#define YYNSTATES 41
|
||||
|
||||
#define YYUNDEFTOK 2
|
||||
/* YYMAXUTOK -- Last valid token kind. */
|
||||
#define YYMAXUTOK 271
|
||||
|
||||
|
||||
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
|
||||
as returned by yylex, with out-of-bounds checking. */
|
||||
#define YYTRANSLATE(YYX) \
|
||||
((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
||||
#define YYTRANSLATE(YYX) \
|
||||
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
|
||||
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
|
||||
: YYSYMBOL_YYUNDEF)
|
||||
|
||||
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
|
||||
as returned by yylex. */
|
||||
static const yytype_uint8 yytranslate[] =
|
||||
static const yytype_int8 yytranslate[] =
|
||||
{
|
||||
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
@@ -487,43 +537,57 @@ static const yytype_uint8 yytranslate[] =
|
||||
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
||||
static const yytype_uint8 yyrline[] =
|
||||
{
|
||||
0, 77, 77, 82, 85, 90, 93, 98, 101, 106,
|
||||
109, 112, 117, 120, 123, 128, 131, 134, 140, 145,
|
||||
148, 151, 154, 159, 162
|
||||
0, 74, 74, 79, 82, 87, 90, 95, 98, 103,
|
||||
106, 109, 114, 117, 120, 125, 128, 131, 137, 142,
|
||||
145, 148, 151, 156, 159
|
||||
};
|
||||
#endif
|
||||
|
||||
#if YYDEBUG || YYERROR_VERBOSE || 1
|
||||
/** Accessing symbol of state STATE. */
|
||||
#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
|
||||
|
||||
#if 1
|
||||
/* The user-facing name of the symbol whose (internal) number is
|
||||
YYSYMBOL. No bounds checking. */
|
||||
static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
|
||||
|
||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||
static const char *const yytname[] =
|
||||
{
|
||||
"$end", "error", "$undefined", "exp_PLUS", "exp_MINUS", "exp_TIMES",
|
||||
"exp_DIVIDE", "exp_MOD", "exp_SHIFTLEFT", "exp_SHIFTRIGHT",
|
||||
"exp_OPENPARENT", "exp_CLOSEPARENT", "exp_OR", "exp_AND", "exp_XOR",
|
||||
"exp_NOT", "exp_NUMBER", "$accept", "start", "exp", "bitwiseor",
|
||||
"bitwisexor", "bitwiseand", "shift", "term", "unary", "factor", YY_NULLPTR
|
||||
"\"end of file\"", "error", "\"invalid token\"", "exp_PLUS",
|
||||
"exp_MINUS", "exp_TIMES", "exp_DIVIDE", "exp_MOD", "exp_SHIFTLEFT",
|
||||
"exp_SHIFTRIGHT", "exp_OPENPARENT", "exp_CLOSEPARENT", "exp_OR",
|
||||
"exp_AND", "exp_XOR", "exp_NOT", "exp_NUMBER", "$accept", "start", "exp",
|
||||
"bitwiseor", "bitwisexor", "bitwiseand", "shift", "term", "unary",
|
||||
"factor", YY_NULLPTR
|
||||
};
|
||||
|
||||
static const char *
|
||||
yysymbol_name (yysymbol_kind_t yysymbol)
|
||||
{
|
||||
return yytname[yysymbol];
|
||||
}
|
||||
#endif
|
||||
|
||||
# ifdef YYPRINT
|
||||
#ifdef YYPRINT
|
||||
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
|
||||
(internal) symbol number NUM (which must be that of a token). */
|
||||
static const yytype_uint16 yytoknum[] =
|
||||
static const yytype_int16 yytoknum[] =
|
||||
{
|
||||
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
||||
265, 266, 267, 268, 269, 270, 271
|
||||
};
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define YYPACT_NINF -11
|
||||
#define YYPACT_NINF (-11)
|
||||
|
||||
#define yypact_value_is_default(Yystate) \
|
||||
(!!((Yystate) == (-11)))
|
||||
#define yypact_value_is_default(Yyn) \
|
||||
((Yyn) == YYPACT_NINF)
|
||||
|
||||
#define YYTABLE_NINF -1
|
||||
#define YYTABLE_NINF (-1)
|
||||
|
||||
#define yytable_value_is_error(Yytable_value) \
|
||||
#define yytable_value_is_error(Yyn) \
|
||||
0
|
||||
|
||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||
@@ -540,7 +604,7 @@ static const yytype_int8 yypact[] =
|
||||
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
||||
Performed when YYTABLE does not specify something else to do. Zero
|
||||
means the default is an error. */
|
||||
static const yytype_uint8 yydefact[] =
|
||||
static const yytype_int8 yydefact[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 23, 0, 2, 3, 5,
|
||||
7, 9, 12, 15, 19, 20, 21, 0, 22, 1,
|
||||
@@ -564,7 +628,7 @@ static const yytype_int8 yydefgoto[] =
|
||||
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
||||
positive, shift that token. If negative, reduce the rule whose
|
||||
number is the opposite. If YYTABLE_NINF, syntax error. */
|
||||
static const yytype_uint8 yytable[] =
|
||||
static const yytype_int8 yytable[] =
|
||||
{
|
||||
15, 16, 20, 18, 1, 2, 19, 27, 28, 29,
|
||||
21, 3, 23, 24, 25, 26, 4, 5, 30, 20,
|
||||
@@ -582,7 +646,7 @@ static const yytype_int8 yycheck[] =
|
||||
|
||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||
symbol of state STATE-NUM. */
|
||||
static const yytype_uint8 yystos[] =
|
||||
static const yytype_int8 yystos[] =
|
||||
{
|
||||
0, 3, 4, 10, 15, 16, 18, 19, 20, 21,
|
||||
22, 23, 24, 25, 26, 25, 25, 19, 25, 0,
|
||||
@@ -592,7 +656,7 @@ static const yytype_uint8 yystos[] =
|
||||
};
|
||||
|
||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||
static const yytype_uint8 yyr1[] =
|
||||
static const yytype_int8 yyr1[] =
|
||||
{
|
||||
0, 17, 18, 19, 19, 20, 20, 21, 21, 22,
|
||||
22, 22, 23, 23, 23, 24, 24, 24, 24, 25,
|
||||
@@ -600,7 +664,7 @@ static const yytype_uint8 yyr1[] =
|
||||
};
|
||||
|
||||
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
|
||||
static const yytype_uint8 yyr2[] =
|
||||
static const yytype_int8 yyr2[] =
|
||||
{
|
||||
0, 2, 1, 1, 3, 1, 3, 1, 3, 1,
|
||||
3, 3, 1, 3, 3, 1, 3, 3, 3, 1,
|
||||
@@ -608,10 +672,10 @@ static const yytype_uint8 yyr2[] =
|
||||
};
|
||||
|
||||
|
||||
enum { YYENOMEM = -2 };
|
||||
|
||||
#define yyerrok (yyerrstatus = 0)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define YYEMPTY (-2)
|
||||
#define YYEOF 0
|
||||
|
||||
#define YYACCEPT goto yyacceptlab
|
||||
#define YYABORT goto yyabortlab
|
||||
@@ -637,10 +701,9 @@ static const yytype_uint8 yyr2[] =
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Error token number */
|
||||
#define YYTERROR 1
|
||||
#define YYERRCODE 256
|
||||
|
||||
/* Backward compatibility with an undocumented macro.
|
||||
Use YYerror or YYUNDEF. */
|
||||
#define YYERRCODE YYUNDEF
|
||||
|
||||
|
||||
/* Enable debugging if requested. */
|
||||
@@ -658,18 +721,18 @@ do { \
|
||||
} while (0)
|
||||
|
||||
/* This macro is provided for backward compatibility. */
|
||||
#ifndef YY_LOCATION_PRINT
|
||||
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
#endif
|
||||
# ifndef YY_LOCATION_PRINT
|
||||
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
# endif
|
||||
|
||||
|
||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
|
||||
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
|
||||
do { \
|
||||
if (yydebug) \
|
||||
{ \
|
||||
YYFPRINTF (stderr, "%s ", Title); \
|
||||
yy_symbol_print (stderr, \
|
||||
Type, Value, yyscanner); \
|
||||
Kind, Value, yyscanner); \
|
||||
YYFPRINTF (stderr, "\n"); \
|
||||
} \
|
||||
} while (0)
|
||||
@@ -680,7 +743,8 @@ do { \
|
||||
`-----------------------------------*/
|
||||
|
||||
static void
|
||||
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
yy_symbol_value_print (FILE *yyo,
|
||||
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
FILE *yyoutput = yyo;
|
||||
YYUSE (yyoutput);
|
||||
@@ -688,11 +752,11 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yy
|
||||
if (!yyvaluep)
|
||||
return;
|
||||
# ifdef YYPRINT
|
||||
if (yytype < YYNTOKENS)
|
||||
YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
|
||||
if (yykind < YYNTOKENS)
|
||||
YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
|
||||
# endif
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
YYUSE (yytype);
|
||||
YYUSE (yykind);
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
}
|
||||
|
||||
@@ -702,12 +766,13 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yy
|
||||
`---------------------------*/
|
||||
|
||||
static void
|
||||
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
yy_symbol_print (FILE *yyo,
|
||||
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
YYFPRINTF (yyo, "%s %s (",
|
||||
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
|
||||
yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
|
||||
|
||||
yy_symbol_value_print (yyo, yytype, yyvaluep, yyscanner);
|
||||
yy_symbol_value_print (yyo, yykind, yyvaluep, yyscanner);
|
||||
YYFPRINTF (yyo, ")");
|
||||
}
|
||||
|
||||
@@ -717,7 +782,7 @@ yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
|
||||
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
|
||||
{
|
||||
YYFPRINTF (stderr, "Stack now");
|
||||
for (; yybottom <= yytop; yybottom++)
|
||||
@@ -740,21 +805,21 @@ do { \
|
||||
`------------------------------------------------*/
|
||||
|
||||
static void
|
||||
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
|
||||
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
|
||||
int yyrule, yyscan_t yyscanner)
|
||||
{
|
||||
unsigned long yylno = yyrline[yyrule];
|
||||
int yylno = yyrline[yyrule];
|
||||
int yynrhs = yyr2[yyrule];
|
||||
int yyi;
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
|
||||
yyrule - 1, yylno);
|
||||
/* The symbols being reduced. */
|
||||
for (yyi = 0; yyi < yynrhs; yyi++)
|
||||
{
|
||||
YYFPRINTF (stderr, " $%d = ", yyi + 1);
|
||||
yy_symbol_print (stderr,
|
||||
yystos[yyssp[yyi + 1 - yynrhs]],
|
||||
&yyvsp[(yyi + 1) - (yynrhs)]
|
||||
, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
|
||||
&yyvsp[(yyi + 1) - (yynrhs)], yyscanner);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
}
|
||||
}
|
||||
@@ -769,8 +834,8 @@ do { \
|
||||
multiple parsers can coexist. */
|
||||
int yydebug;
|
||||
#else /* !YYDEBUG */
|
||||
# define YYDPRINTF(Args)
|
||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
||||
# define YYDPRINTF(Args) ((void) 0)
|
||||
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
|
||||
# define YY_STACK_PRINT(Bottom, Top)
|
||||
# define YY_REDUCE_PRINT(Rule)
|
||||
#endif /* !YYDEBUG */
|
||||
@@ -793,28 +858,76 @@ int yydebug;
|
||||
#endif
|
||||
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
/* Context of a parse error. */
|
||||
typedef struct
|
||||
{
|
||||
yy_state_t *yyssp;
|
||||
yysymbol_kind_t yytoken;
|
||||
} yypcontext_t;
|
||||
|
||||
# ifndef yystrlen
|
||||
# if defined __GLIBC__ && defined _STRING_H
|
||||
# define yystrlen strlen
|
||||
# else
|
||||
/* Put in YYARG at most YYARGN of the expected tokens given the
|
||||
current YYCTX, and return the number of tokens stored in YYARG. If
|
||||
YYARG is null, return the number of expected tokens (guaranteed to
|
||||
be less than YYNTOKENS). Return YYENOMEM on memory exhaustion.
|
||||
Return 0 if there are more than YYARGN expected tokens, yet fill
|
||||
YYARG up to YYARGN. */
|
||||
static int
|
||||
yypcontext_expected_tokens (const yypcontext_t *yyctx,
|
||||
yysymbol_kind_t yyarg[], int yyargn)
|
||||
{
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = 0;
|
||||
int yyn = yypact[+*yyctx->yyssp];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. In other words, skip the first -YYN actions for
|
||||
this state because they are default actions. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn + 1;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yyx;
|
||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||
if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
|
||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
||||
{
|
||||
if (!yyarg)
|
||||
++yycount;
|
||||
else if (yycount == yyargn)
|
||||
return 0;
|
||||
else
|
||||
yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
|
||||
}
|
||||
}
|
||||
if (yyarg && yycount == 0 && 0 < yyargn)
|
||||
yyarg[0] = YYSYMBOL_YYEMPTY;
|
||||
return yycount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef yystrlen
|
||||
# if defined __GLIBC__ && defined _STRING_H
|
||||
# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
|
||||
# else
|
||||
/* Return the length of YYSTR. */
|
||||
static YYSIZE_T
|
||||
static YYPTRDIFF_T
|
||||
yystrlen (const char *yystr)
|
||||
{
|
||||
YYSIZE_T yylen;
|
||||
YYPTRDIFF_T yylen;
|
||||
for (yylen = 0; yystr[yylen]; yylen++)
|
||||
continue;
|
||||
return yylen;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifndef yystpcpy
|
||||
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
||||
# define yystpcpy stpcpy
|
||||
# else
|
||||
#ifndef yystpcpy
|
||||
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
||||
# define yystpcpy stpcpy
|
||||
# else
|
||||
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
|
||||
YYDEST. */
|
||||
static char *
|
||||
@@ -828,10 +941,10 @@ yystpcpy (char *yydest, const char *yysrc)
|
||||
|
||||
return yyd - 1;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifndef yytnamerr
|
||||
#ifndef yytnamerr
|
||||
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
|
||||
quotes and backslashes, so that it's suitable for yyerror. The
|
||||
heuristic is that double-quoting is unnecessary unless the string
|
||||
@@ -839,14 +952,13 @@ yystpcpy (char *yydest, const char *yysrc)
|
||||
backslash-backslash). YYSTR is taken from yytname. If YYRES is
|
||||
null, do not copy; instead, return the length of what the result
|
||||
would have been. */
|
||||
static YYSIZE_T
|
||||
static YYPTRDIFF_T
|
||||
yytnamerr (char *yyres, const char *yystr)
|
||||
{
|
||||
if (*yystr == '"')
|
||||
{
|
||||
YYSIZE_T yyn = 0;
|
||||
YYPTRDIFF_T yyn = 0;
|
||||
char const *yyp = yystr;
|
||||
|
||||
for (;;)
|
||||
switch (*++yyp)
|
||||
{
|
||||
@@ -875,36 +987,20 @@ yytnamerr (char *yyres, const char *yystr)
|
||||
do_not_strip_quotes: ;
|
||||
}
|
||||
|
||||
if (! yyres)
|
||||
if (yyres)
|
||||
return yystpcpy (yyres, yystr) - yyres;
|
||||
else
|
||||
return yystrlen (yystr);
|
||||
|
||||
return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
||||
about the unexpected token YYTOKEN for the state stack whose top is
|
||||
YYSSP.
|
||||
|
||||
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
|
||||
not large enough to hold the message. In that case, also set
|
||||
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
|
||||
required number of bytes is too large to store. */
|
||||
static int
|
||||
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
yytype_int16 *yyssp, int yytoken)
|
||||
yy_syntax_error_arguments (const yypcontext_t *yyctx,
|
||||
yysymbol_kind_t yyarg[], int yyargn)
|
||||
{
|
||||
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
|
||||
YYSIZE_T yysize = yysize0;
|
||||
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
||||
/* Internationalized format string. */
|
||||
const char *yyformat = YY_NULLPTR;
|
||||
/* Arguments of yyformat. */
|
||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
||||
/* Number of reported tokens (one for the "unexpected", one per
|
||||
"expected"). */
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = 0;
|
||||
|
||||
/* There are many possibilities here to consider:
|
||||
- If this state is a consistent state with a default action, then
|
||||
the only way this function was invoked is if the default action
|
||||
@@ -928,49 +1024,54 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
one exception: it will still contain any token that will not be
|
||||
accepted due to an error action in a later state.
|
||||
*/
|
||||
if (yytoken != YYEMPTY)
|
||||
if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
|
||||
{
|
||||
int yyn = yypact[*yyssp];
|
||||
yyarg[yycount++] = yytname[yytoken];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. In other words, skip the first -YYN actions for
|
||||
this state because they are default actions. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn + 1;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yyx;
|
||||
|
||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
|
||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
||||
{
|
||||
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
||||
{
|
||||
yycount = 1;
|
||||
yysize = yysize0;
|
||||
break;
|
||||
}
|
||||
yyarg[yycount++] = yytname[yyx];
|
||||
{
|
||||
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
int yyn;
|
||||
if (yyarg)
|
||||
yyarg[yycount] = yyctx->yytoken;
|
||||
++yycount;
|
||||
yyn = yypcontext_expected_tokens (yyctx,
|
||||
yyarg ? yyarg + 1 : yyarg, yyargn - 1);
|
||||
if (yyn == YYENOMEM)
|
||||
return YYENOMEM;
|
||||
else
|
||||
yycount += yyn;
|
||||
}
|
||||
return yycount;
|
||||
}
|
||||
|
||||
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
||||
about the unexpected token YYTOKEN for the state stack whose top is
|
||||
YYSSP.
|
||||
|
||||
Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is
|
||||
not large enough to hold the message. In that case, also set
|
||||
*YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the
|
||||
required number of bytes is too large to store. */
|
||||
static int
|
||||
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
|
||||
const yypcontext_t *yyctx)
|
||||
{
|
||||
enum { YYARGS_MAX = 5 };
|
||||
/* Internationalized format string. */
|
||||
const char *yyformat = YY_NULLPTR;
|
||||
/* Arguments of yyformat: reported tokens (one for the "unexpected",
|
||||
one per "expected"). */
|
||||
yysymbol_kind_t yyarg[YYARGS_MAX];
|
||||
/* Cumulated lengths of YYARG. */
|
||||
YYPTRDIFF_T yysize = 0;
|
||||
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
|
||||
if (yycount == YYENOMEM)
|
||||
return YYENOMEM;
|
||||
|
||||
switch (yycount)
|
||||
{
|
||||
# define YYCASE_(N, S) \
|
||||
#define YYCASE_(N, S) \
|
||||
case N: \
|
||||
yyformat = S; \
|
||||
break
|
||||
break
|
||||
default: /* Avoid compiler warnings. */
|
||||
YYCASE_(0, YY_("syntax error"));
|
||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||
@@ -978,15 +1079,23 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
||||
# undef YYCASE_
|
||||
#undef YYCASE_
|
||||
}
|
||||
|
||||
/* Compute error message size. Don't count the "%s"s, but reserve
|
||||
room for the terminator. */
|
||||
yysize = yystrlen (yyformat) - 2 * yycount + 1;
|
||||
{
|
||||
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return 2;
|
||||
int yyi;
|
||||
for (yyi = 0; yyi < yycount; ++yyi)
|
||||
{
|
||||
YYPTRDIFF_T yysize1
|
||||
= yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return YYENOMEM;
|
||||
}
|
||||
}
|
||||
|
||||
if (*yymsg_alloc < yysize)
|
||||
@@ -995,7 +1104,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
if (! (yysize <= *yymsg_alloc
|
||||
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
|
||||
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Avoid sprintf, as that infringes on the user's name space.
|
||||
@@ -1007,40 +1116,43 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
while ((*yyp = *yyformat) != '\0')
|
||||
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
|
||||
{
|
||||
yyp += yytnamerr (yyp, yyarg[yyi++]);
|
||||
yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
|
||||
yyformat += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
yyp++;
|
||||
yyformat++;
|
||||
++yyp;
|
||||
++yyformat;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif /* YYERROR_VERBOSE */
|
||||
|
||||
|
||||
/*-----------------------------------------------.
|
||||
| Release the memory associated to this symbol. |
|
||||
`-----------------------------------------------*/
|
||||
|
||||
static void
|
||||
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, yyscan_t yyscanner)
|
||||
yydestruct (const char *yymsg,
|
||||
yysymbol_kind_t yykind, YYSTYPE *yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
YYUSE (yyvaluep);
|
||||
YYUSE (yyscanner);
|
||||
if (!yymsg)
|
||||
yymsg = "Deleting";
|
||||
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
|
||||
YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
|
||||
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
YYUSE (yytype);
|
||||
YYUSE (yykind);
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*----------.
|
||||
| yyparse. |
|
||||
`----------*/
|
||||
@@ -1048,7 +1160,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, yyscan_t yyscanner
|
||||
int
|
||||
yyparse (yyscan_t yyscanner)
|
||||
{
|
||||
/* The lookahead symbol. */
|
||||
/* Lookahead token kind. */
|
||||
int yychar;
|
||||
|
||||
|
||||
@@ -1059,45 +1171,41 @@ YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
|
||||
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
||||
|
||||
/* Number of syntax errors so far. */
|
||||
int yynerrs;
|
||||
int yynerrs = 0;
|
||||
|
||||
int yystate;
|
||||
yy_state_fast_t yystate = 0;
|
||||
/* Number of tokens to shift before error messages enabled. */
|
||||
int yyerrstatus;
|
||||
int yyerrstatus = 0;
|
||||
|
||||
/* The stacks and their tools:
|
||||
'yyss': related to states.
|
||||
'yyvs': related to semantic values.
|
||||
|
||||
Refer to the stacks through separate pointers, to allow yyoverflow
|
||||
/* Refer to the stacks through separate pointers, to allow yyoverflow
|
||||
to reallocate them elsewhere. */
|
||||
|
||||
/* The state stack. */
|
||||
yytype_int16 yyssa[YYINITDEPTH];
|
||||
yytype_int16 *yyss;
|
||||
yytype_int16 *yyssp;
|
||||
/* Their size. */
|
||||
YYPTRDIFF_T yystacksize = YYINITDEPTH;
|
||||
|
||||
/* The semantic value stack. */
|
||||
/* The state stack: array, bottom, top. */
|
||||
yy_state_t yyssa[YYINITDEPTH];
|
||||
yy_state_t *yyss = yyssa;
|
||||
yy_state_t *yyssp = yyss;
|
||||
|
||||
/* The semantic value stack: array, bottom, top. */
|
||||
YYSTYPE yyvsa[YYINITDEPTH];
|
||||
YYSTYPE *yyvs;
|
||||
YYSTYPE *yyvsp;
|
||||
|
||||
YYSIZE_T yystacksize;
|
||||
YYSTYPE *yyvs = yyvsa;
|
||||
YYSTYPE *yyvsp = yyvs;
|
||||
|
||||
int yyn;
|
||||
/* The return value of yyparse. */
|
||||
int yyresult;
|
||||
/* Lookahead token as an internal (translated) token number. */
|
||||
int yytoken = 0;
|
||||
/* Lookahead symbol kind. */
|
||||
yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
|
||||
/* The variables used to return semantic value and location from the
|
||||
action routines. */
|
||||
YYSTYPE yyval;
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
/* Buffer for error messages, and its allocated size. */
|
||||
char yymsgbuf[128];
|
||||
char *yymsg = yymsgbuf;
|
||||
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
|
||||
#endif
|
||||
YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
|
||||
|
||||
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
|
||||
|
||||
@@ -1105,15 +1213,8 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
||||
Keep to zero when no symbol should be popped. */
|
||||
int yylen = 0;
|
||||
|
||||
yyssp = yyss = yyssa;
|
||||
yyvsp = yyvs = yyvsa;
|
||||
yystacksize = YYINITDEPTH;
|
||||
|
||||
YYDPRINTF ((stderr, "Starting parse\n"));
|
||||
|
||||
yystate = 0;
|
||||
yyerrstatus = 0;
|
||||
yynerrs = 0;
|
||||
yychar = YYEMPTY; /* Cause a token to be read. */
|
||||
goto yysetstate;
|
||||
|
||||
@@ -1128,12 +1229,15 @@ yynewstate:
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------.
|
||||
| yynewstate -- set current state (the top of the stack) to yystate. |
|
||||
| yysetstate -- set current state (the top of the stack) to yystate. |
|
||||
`--------------------------------------------------------------------*/
|
||||
yysetstate:
|
||||
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
||||
YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
|
||||
*yyssp = (yytype_int16) yystate;
|
||||
YY_IGNORE_USELESS_CAST_BEGIN
|
||||
*yyssp = YY_CAST (yy_state_t, yystate);
|
||||
YY_IGNORE_USELESS_CAST_END
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
|
||||
@@ -1141,23 +1245,23 @@ yysetstate:
|
||||
#else
|
||||
{
|
||||
/* Get the current used size of the three stacks, in elements. */
|
||||
YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
|
||||
YYPTRDIFF_T yysize = yyssp - yyss + 1;
|
||||
|
||||
# if defined yyoverflow
|
||||
{
|
||||
/* Give user a chance to reallocate the stack. Use copies of
|
||||
these so that the &'s don't force the real ones into
|
||||
memory. */
|
||||
yy_state_t *yyss1 = yyss;
|
||||
YYSTYPE *yyvs1 = yyvs;
|
||||
yytype_int16 *yyss1 = yyss;
|
||||
|
||||
/* Each stack pointer address is followed by the size of the
|
||||
data in use in that stack, in bytes. This used to be a
|
||||
conditional around just the two extra args, but that might
|
||||
be undefined if yyoverflow is a macro. */
|
||||
yyoverflow (YY_("memory exhausted"),
|
||||
&yyss1, yysize * sizeof (*yyssp),
|
||||
&yyvs1, yysize * sizeof (*yyvsp),
|
||||
&yyss1, yysize * YYSIZEOF (*yyssp),
|
||||
&yyvs1, yysize * YYSIZEOF (*yyvsp),
|
||||
&yystacksize);
|
||||
yyss = yyss1;
|
||||
yyvs = yyvs1;
|
||||
@@ -1171,14 +1275,15 @@ yysetstate:
|
||||
yystacksize = YYMAXDEPTH;
|
||||
|
||||
{
|
||||
yytype_int16 *yyss1 = yyss;
|
||||
yy_state_t *yyss1 = yyss;
|
||||
union yyalloc *yyptr =
|
||||
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
|
||||
YY_CAST (union yyalloc *,
|
||||
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
|
||||
if (! yyptr)
|
||||
goto yyexhaustedlab;
|
||||
YYSTACK_RELOCATE (yyss_alloc, yyss);
|
||||
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
|
||||
# undef YYSTACK_RELOCATE
|
||||
# undef YYSTACK_RELOCATE
|
||||
if (yyss1 != yyssa)
|
||||
YYSTACK_FREE (yyss1);
|
||||
}
|
||||
@@ -1187,8 +1292,10 @@ yysetstate:
|
||||
yyssp = yyss + yysize - 1;
|
||||
yyvsp = yyvs + yysize - 1;
|
||||
|
||||
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
||||
(unsigned long) yystacksize));
|
||||
YY_IGNORE_USELESS_CAST_BEGIN
|
||||
YYDPRINTF ((stderr, "Stack size increased to %ld\n",
|
||||
YY_CAST (long, yystacksize)));
|
||||
YY_IGNORE_USELESS_CAST_END
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
YYABORT;
|
||||
@@ -1215,18 +1322,29 @@ yybackup:
|
||||
|
||||
/* Not known => get a lookahead token if don't already have one. */
|
||||
|
||||
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
|
||||
/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
|
||||
if (yychar == YYEMPTY)
|
||||
{
|
||||
YYDPRINTF ((stderr, "Reading a token: "));
|
||||
YYDPRINTF ((stderr, "Reading a token\n"));
|
||||
yychar = yylex (&yylval, yyscanner);
|
||||
}
|
||||
|
||||
if (yychar <= YYEOF)
|
||||
{
|
||||
yychar = yytoken = YYEOF;
|
||||
yychar = YYEOF;
|
||||
yytoken = YYSYMBOL_YYEOF;
|
||||
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
||||
}
|
||||
else if (yychar == YYerror)
|
||||
{
|
||||
/* The scanner already issued an error message, process directly
|
||||
to error recovery. But do not keep the error token as
|
||||
lookahead, it is too special and may lead us to an endless
|
||||
loop in error recovery. */
|
||||
yychar = YYUNDEF;
|
||||
yytoken = YYSYMBOL_YYerror;
|
||||
goto yyerrlab1;
|
||||
}
|
||||
else
|
||||
{
|
||||
yytoken = YYTRANSLATE (yychar);
|
||||
@@ -1254,14 +1372,13 @@ yybackup:
|
||||
|
||||
/* Shift the lookahead token. */
|
||||
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
|
||||
|
||||
/* Discard the shifted token. */
|
||||
yychar = YYEMPTY;
|
||||
|
||||
yystate = yyn;
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
*++yyvsp = yylval;
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
|
||||
/* Discard the shifted token. */
|
||||
yychar = YYEMPTY;
|
||||
goto yynewstate;
|
||||
|
||||
|
||||
@@ -1296,195 +1413,195 @@ yyreduce:
|
||||
YY_REDUCE_PRINT (yyn);
|
||||
switch (yyn)
|
||||
{
|
||||
case 2:
|
||||
#line 77 "cmExprParser.y"
|
||||
{
|
||||
case 2: /* start: exp */
|
||||
#line 74 "cmExprParser.y"
|
||||
{
|
||||
cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
|
||||
}
|
||||
#line 1305 "cmExprParser.cxx"
|
||||
#line 1422 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 3:
|
||||
#line 82 "cmExprParser.y"
|
||||
{
|
||||
case 3: /* exp: bitwiseor */
|
||||
#line 79 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1313 "cmExprParser.cxx"
|
||||
#line 1430 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 4:
|
||||
#line 85 "cmExprParser.y"
|
||||
{
|
||||
case 4: /* exp: exp exp_OR bitwiseor */
|
||||
#line 82 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
|
||||
}
|
||||
#line 1321 "cmExprParser.cxx"
|
||||
#line 1438 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 5:
|
||||
#line 90 "cmExprParser.y"
|
||||
{
|
||||
case 5: /* bitwiseor: bitwisexor */
|
||||
#line 87 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1329 "cmExprParser.cxx"
|
||||
#line 1446 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 6:
|
||||
#line 93 "cmExprParser.y"
|
||||
{
|
||||
case 6: /* bitwiseor: bitwiseor exp_XOR bitwisexor */
|
||||
#line 90 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
|
||||
}
|
||||
#line 1337 "cmExprParser.cxx"
|
||||
#line 1454 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 7:
|
||||
#line 98 "cmExprParser.y"
|
||||
{
|
||||
case 7: /* bitwisexor: bitwiseand */
|
||||
#line 95 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1345 "cmExprParser.cxx"
|
||||
#line 1462 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 8:
|
||||
#line 101 "cmExprParser.y"
|
||||
{
|
||||
case 8: /* bitwisexor: bitwisexor exp_AND bitwiseand */
|
||||
#line 98 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
|
||||
}
|
||||
#line 1353 "cmExprParser.cxx"
|
||||
#line 1470 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 9:
|
||||
#line 106 "cmExprParser.y"
|
||||
{
|
||||
case 9: /* bitwiseand: shift */
|
||||
#line 103 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1361 "cmExprParser.cxx"
|
||||
#line 1478 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 10:
|
||||
#line 109 "cmExprParser.y"
|
||||
{
|
||||
case 10: /* bitwiseand: bitwiseand exp_SHIFTLEFT shift */
|
||||
#line 106 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
|
||||
}
|
||||
#line 1369 "cmExprParser.cxx"
|
||||
#line 1486 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 11:
|
||||
#line 112 "cmExprParser.y"
|
||||
{
|
||||
case 11: /* bitwiseand: bitwiseand exp_SHIFTRIGHT shift */
|
||||
#line 109 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
|
||||
}
|
||||
#line 1377 "cmExprParser.cxx"
|
||||
#line 1494 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 12:
|
||||
#line 117 "cmExprParser.y"
|
||||
{
|
||||
case 12: /* shift: term */
|
||||
#line 114 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1385 "cmExprParser.cxx"
|
||||
#line 1502 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 13:
|
||||
#line 120 "cmExprParser.y"
|
||||
{
|
||||
case 13: /* shift: shift exp_PLUS term */
|
||||
#line 117 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
|
||||
}
|
||||
#line 1393 "cmExprParser.cxx"
|
||||
#line 1510 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 14:
|
||||
#line 123 "cmExprParser.y"
|
||||
{
|
||||
case 14: /* shift: shift exp_MINUS term */
|
||||
#line 120 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
|
||||
}
|
||||
#line 1401 "cmExprParser.cxx"
|
||||
#line 1518 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 15:
|
||||
#line 128 "cmExprParser.y"
|
||||
{
|
||||
case 15: /* term: unary */
|
||||
#line 125 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1409 "cmExprParser.cxx"
|
||||
#line 1526 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 16:
|
||||
#line 131 "cmExprParser.y"
|
||||
{
|
||||
case 16: /* term: term exp_TIMES unary */
|
||||
#line 128 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
|
||||
}
|
||||
#line 1417 "cmExprParser.cxx"
|
||||
#line 1534 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 17:
|
||||
#line 134 "cmExprParser.y"
|
||||
{
|
||||
case 17: /* term: term exp_DIVIDE unary */
|
||||
#line 131 "cmExprParser.y"
|
||||
{
|
||||
if (yyvsp[0].Number == 0) {
|
||||
throw std::overflow_error("divide by zero");
|
||||
}
|
||||
(yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
|
||||
}
|
||||
#line 1428 "cmExprParser.cxx"
|
||||
#line 1545 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 18:
|
||||
#line 140 "cmExprParser.y"
|
||||
{
|
||||
case 18: /* term: term exp_MOD unary */
|
||||
#line 137 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
|
||||
}
|
||||
#line 1436 "cmExprParser.cxx"
|
||||
#line 1553 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 19:
|
||||
#line 145 "cmExprParser.y"
|
||||
{
|
||||
case 19: /* unary: factor */
|
||||
#line 142 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1444 "cmExprParser.cxx"
|
||||
#line 1561 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 20:
|
||||
#line 148 "cmExprParser.y"
|
||||
{
|
||||
case 20: /* unary: exp_PLUS unary */
|
||||
#line 145 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = + (yyvsp[0].Number);
|
||||
}
|
||||
#line 1452 "cmExprParser.cxx"
|
||||
#line 1569 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 21:
|
||||
#line 151 "cmExprParser.y"
|
||||
{
|
||||
case 21: /* unary: exp_MINUS unary */
|
||||
#line 148 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = - (yyvsp[0].Number);
|
||||
}
|
||||
#line 1460 "cmExprParser.cxx"
|
||||
#line 1577 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 22:
|
||||
#line 154 "cmExprParser.y"
|
||||
{
|
||||
case 22: /* unary: exp_NOT unary */
|
||||
#line 151 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = ~ (yyvsp[0].Number);
|
||||
}
|
||||
#line 1468 "cmExprParser.cxx"
|
||||
#line 1585 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 23:
|
||||
#line 159 "cmExprParser.y"
|
||||
{
|
||||
case 23: /* factor: exp_NUMBER */
|
||||
#line 156 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[0].Number);
|
||||
}
|
||||
#line 1476 "cmExprParser.cxx"
|
||||
#line 1593 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
case 24:
|
||||
#line 162 "cmExprParser.y"
|
||||
{
|
||||
case 24: /* factor: exp_OPENPARENT exp exp_CLOSEPARENT */
|
||||
#line 159 "cmExprParser.y"
|
||||
{
|
||||
(yyval.Number) = (yyvsp[-1].Number);
|
||||
}
|
||||
#line 1484 "cmExprParser.cxx"
|
||||
#line 1601 "cmExprParser.cxx"
|
||||
break;
|
||||
|
||||
|
||||
#line 1488 "cmExprParser.cxx"
|
||||
#line 1605 "cmExprParser.cxx"
|
||||
|
||||
default: break;
|
||||
}
|
||||
@@ -1499,11 +1616,10 @@ yyreduce:
|
||||
case of YYERROR or YYBACKUP, subsequent parser actions might lead
|
||||
to an incorrect destructor call or verbose syntax error message
|
||||
before the lookahead is translated. */
|
||||
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
||||
YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
|
||||
|
||||
YYPOPSTACK (yylen);
|
||||
yylen = 0;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
|
||||
*++yyvsp = yyval;
|
||||
|
||||
@@ -1527,50 +1643,44 @@ yyreduce:
|
||||
yyerrlab:
|
||||
/* Make sure we have latest lookahead translation. See comments at
|
||||
user semantic actions for why this is necessary. */
|
||||
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
||||
|
||||
yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
|
||||
/* If not already recovering from an error, report this error. */
|
||||
if (!yyerrstatus)
|
||||
{
|
||||
++yynerrs;
|
||||
#if ! YYERROR_VERBOSE
|
||||
yyerror (yyscanner, YY_("syntax error"));
|
||||
#else
|
||||
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
|
||||
yyssp, yytoken)
|
||||
{
|
||||
yypcontext_t yyctx
|
||||
= {yyssp, yytoken};
|
||||
char const *yymsgp = YY_("syntax error");
|
||||
int yysyntax_error_status;
|
||||
yysyntax_error_status = YYSYNTAX_ERROR;
|
||||
yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
|
||||
if (yysyntax_error_status == 0)
|
||||
yymsgp = yymsg;
|
||||
else if (yysyntax_error_status == 1)
|
||||
else if (yysyntax_error_status == -1)
|
||||
{
|
||||
if (yymsg != yymsgbuf)
|
||||
YYSTACK_FREE (yymsg);
|
||||
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
|
||||
if (!yymsg)
|
||||
yymsg = YY_CAST (char *,
|
||||
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
|
||||
if (yymsg)
|
||||
{
|
||||
yymsg = yymsgbuf;
|
||||
yymsg_alloc = sizeof yymsgbuf;
|
||||
yysyntax_error_status = 2;
|
||||
yysyntax_error_status
|
||||
= yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
|
||||
yymsgp = yymsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
yysyntax_error_status = YYSYNTAX_ERROR;
|
||||
yymsgp = yymsg;
|
||||
yymsg = yymsgbuf;
|
||||
yymsg_alloc = sizeof yymsgbuf;
|
||||
yysyntax_error_status = YYENOMEM;
|
||||
}
|
||||
}
|
||||
yyerror (yyscanner, yymsgp);
|
||||
if (yysyntax_error_status == 2)
|
||||
if (yysyntax_error_status == YYENOMEM)
|
||||
goto yyexhaustedlab;
|
||||
}
|
||||
# undef YYSYNTAX_ERROR
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (yyerrstatus == 3)
|
||||
{
|
||||
/* If just tried and failed to reuse lookahead token after an
|
||||
@@ -1590,7 +1700,6 @@ yyerrlab:
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Else will try to reuse lookahead token after shifting the error
|
||||
token. */
|
||||
goto yyerrlab1;
|
||||
@@ -1618,16 +1727,16 @@ yyerrorlab:
|
||||
| yyerrlab1 -- common code for both syntax error and YYERROR. |
|
||||
`-------------------------------------------------------------*/
|
||||
yyerrlab1:
|
||||
#endif
|
||||
yyerrstatus = 3; /* Each real token shifted decrements this. */
|
||||
|
||||
/* Pop stack until we find a state that shifts the error token. */
|
||||
for (;;)
|
||||
{
|
||||
yyn = yypact[yystate];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
yyn += YYTERROR;
|
||||
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
|
||||
yyn += YYSYMBOL_YYerror;
|
||||
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
|
||||
{
|
||||
yyn = yytable[yyn];
|
||||
if (0 < yyn)
|
||||
@@ -1641,7 +1750,7 @@ yyerrlab1:
|
||||
|
||||
|
||||
yydestruct ("Error: popping",
|
||||
yystos[yystate], yyvsp, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (yystate), yyvsp, yyscanner);
|
||||
YYPOPSTACK (1);
|
||||
yystate = *yyssp;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
@@ -1653,7 +1762,7 @@ yyerrlab1:
|
||||
|
||||
|
||||
/* Shift the error token. */
|
||||
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
|
||||
YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
|
||||
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
@@ -1675,20 +1784,20 @@ yyabortlab:
|
||||
goto yyreturn;
|
||||
|
||||
|
||||
#if !defined yyoverflow || YYERROR_VERBOSE
|
||||
#if 1
|
||||
/*-------------------------------------------------.
|
||||
| yyexhaustedlab -- memory exhaustion comes here. |
|
||||
`-------------------------------------------------*/
|
||||
yyexhaustedlab:
|
||||
yyerror (yyscanner, YY_("memory exhausted"));
|
||||
yyresult = 2;
|
||||
/* Fall through. */
|
||||
goto yyreturn;
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------.
|
||||
| yyreturn -- parsing is finished, return the result. |
|
||||
`-----------------------------------------------------*/
|
||||
/*-------------------------------------------------------.
|
||||
| yyreturn -- parsing is finished, clean up and return. |
|
||||
`-------------------------------------------------------*/
|
||||
yyreturn:
|
||||
if (yychar != YYEMPTY)
|
||||
{
|
||||
@@ -1705,20 +1814,19 @@ yyreturn:
|
||||
while (yyssp != yyss)
|
||||
{
|
||||
yydestruct ("Cleanup: popping",
|
||||
yystos[*yyssp], yyvsp, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yyscanner);
|
||||
YYPOPSTACK (1);
|
||||
}
|
||||
#ifndef yyoverflow
|
||||
if (yyss != yyssa)
|
||||
YYSTACK_FREE (yyss);
|
||||
#endif
|
||||
#if YYERROR_VERBOSE
|
||||
if (yymsg != yymsgbuf)
|
||||
YYSTACK_FREE (yymsg);
|
||||
#endif
|
||||
return yyresult;
|
||||
}
|
||||
#line 167 "cmExprParser.y"
|
||||
|
||||
#line 164 "cmExprParser.y"
|
||||
|
||||
/* End of grammar */
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -31,8 +31,9 @@
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
#ifndef YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
|
||||
@@ -44,42 +45,32 @@
|
||||
extern int cmExpr_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
/* Token kinds. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
exp_PLUS = 258,
|
||||
exp_MINUS = 259,
|
||||
exp_TIMES = 260,
|
||||
exp_DIVIDE = 261,
|
||||
exp_MOD = 262,
|
||||
exp_SHIFTLEFT = 263,
|
||||
exp_SHIFTRIGHT = 264,
|
||||
exp_OPENPARENT = 265,
|
||||
exp_CLOSEPARENT = 266,
|
||||
exp_OR = 267,
|
||||
exp_AND = 268,
|
||||
exp_XOR = 269,
|
||||
exp_NOT = 270,
|
||||
exp_NUMBER = 271
|
||||
YYEMPTY = -2,
|
||||
YYEOF = 0, /* "end of file" */
|
||||
YYerror = 256, /* error */
|
||||
YYUNDEF = 257, /* "invalid token" */
|
||||
exp_PLUS = 258, /* exp_PLUS */
|
||||
exp_MINUS = 259, /* exp_MINUS */
|
||||
exp_TIMES = 260, /* exp_TIMES */
|
||||
exp_DIVIDE = 261, /* exp_DIVIDE */
|
||||
exp_MOD = 262, /* exp_MOD */
|
||||
exp_SHIFTLEFT = 263, /* exp_SHIFTLEFT */
|
||||
exp_SHIFTRIGHT = 264, /* exp_SHIFTRIGHT */
|
||||
exp_OPENPARENT = 265, /* exp_OPENPARENT */
|
||||
exp_CLOSEPARENT = 266, /* exp_CLOSEPARENT */
|
||||
exp_OR = 267, /* exp_OR */
|
||||
exp_AND = 268, /* exp_AND */
|
||||
exp_XOR = 269, /* exp_XOR */
|
||||
exp_NOT = 270, /* exp_NOT */
|
||||
exp_NUMBER = 271 /* exp_NUMBER */
|
||||
};
|
||||
typedef enum yytokentype yytoken_kind_t;
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define exp_PLUS 258
|
||||
#define exp_MINUS 259
|
||||
#define exp_TIMES 260
|
||||
#define exp_DIVIDE 261
|
||||
#define exp_MOD 262
|
||||
#define exp_SHIFTLEFT 263
|
||||
#define exp_SHIFTRIGHT 264
|
||||
#define exp_OPENPARENT 265
|
||||
#define exp_CLOSEPARENT 266
|
||||
#define exp_OR 267
|
||||
#define exp_AND 268
|
||||
#define exp_XOR 269
|
||||
#define exp_NOT 270
|
||||
#define exp_NUMBER 271
|
||||
|
||||
/* Value type. */
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison implementation for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -34,6 +34,10 @@
|
||||
/* C LALR(1) parser skeleton written by Richard Stallman, by
|
||||
simplifying the original so-called "semantic" parser. */
|
||||
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
/* All symbols defined below should begin with yy or YY, to avoid
|
||||
infringing on user name space. This should be done even for local
|
||||
variables, as they might otherwise be expanded by user macros.
|
||||
@@ -41,14 +45,11 @@
|
||||
define necessary library symbols; they are noted "INFRINGES ON
|
||||
USER NAME SPACE" below. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* Identify Bison output, and Bison version. */
|
||||
#define YYBISON 30704
|
||||
|
||||
/* Identify Bison output. */
|
||||
#define YYBISON 1
|
||||
|
||||
/* Bison version. */
|
||||
#define YYBISON_VERSION "3.4.2"
|
||||
/* Bison version string. */
|
||||
#define YYBISON_VERSION "3.7.4"
|
||||
|
||||
/* Skeleton name. */
|
||||
#define YYSKELETON_NAME "yacc.c"
|
||||
@@ -70,7 +71,6 @@
|
||||
#define yydebug cmFortran_yydebug
|
||||
#define yynerrs cmFortran_yynerrs
|
||||
|
||||
|
||||
/* First part of user prologue. */
|
||||
#line 1 "cmFortranParser.y"
|
||||
|
||||
@@ -92,13 +92,11 @@ This file must be translated to C and modified to build everywhere.
|
||||
|
||||
Run bison like this:
|
||||
|
||||
bison --yacc --name-prefix=cmFortran_yy
|
||||
bison --name-prefix=cmFortran_yy
|
||||
--defines=cmFortranParserTokens.h
|
||||
-ocmFortranParser.cxx
|
||||
cmFortranParser.y
|
||||
|
||||
Modify cmFortranParser.cxx:
|
||||
- "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"]
|
||||
*/
|
||||
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
@@ -135,8 +133,17 @@ static void cmFortran_yyerror(yyscan_t yyscanner, const char* message)
|
||||
# pragma GCC diagnostic ignored "-Wconversion"
|
||||
#endif
|
||||
|
||||
#line 139 "cmFortranParser.cxx"
|
||||
#line 137 "cmFortranParser.cxx"
|
||||
|
||||
# ifndef YY_CAST
|
||||
# ifdef __cplusplus
|
||||
# define YY_CAST(Type, Val) static_cast<Type> (Val)
|
||||
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
|
||||
# else
|
||||
# define YY_CAST(Type, Val) ((Type) (Val))
|
||||
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_NULLPTR
|
||||
# if defined __cplusplus
|
||||
# if 201103L <= __cplusplus
|
||||
@@ -149,169 +156,153 @@ static void cmFortran_yyerror(yyscan_t yyscanner, const char* message)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Enabling verbose error messages. */
|
||||
#ifdef YYERROR_VERBOSE
|
||||
# undef YYERROR_VERBOSE
|
||||
# define YYERROR_VERBOSE 1
|
||||
#else
|
||||
# define YYERROR_VERBOSE 1
|
||||
#endif
|
||||
|
||||
/* Use api.header.include to #include this header
|
||||
instead of duplicating it here. */
|
||||
#ifndef YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
#endif
|
||||
#if YYDEBUG
|
||||
extern int cmFortran_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
EOSTMT = 258,
|
||||
ASSIGNMENT_OP = 259,
|
||||
GARBAGE = 260,
|
||||
CPP_LINE_DIRECTIVE = 261,
|
||||
CPP_INCLUDE = 262,
|
||||
F90PPR_INCLUDE = 263,
|
||||
COCO_INCLUDE = 264,
|
||||
F90PPR_DEFINE = 265,
|
||||
CPP_DEFINE = 266,
|
||||
F90PPR_UNDEF = 267,
|
||||
CPP_UNDEF = 268,
|
||||
CPP_IFDEF = 269,
|
||||
CPP_IFNDEF = 270,
|
||||
CPP_IF = 271,
|
||||
CPP_ELSE = 272,
|
||||
CPP_ELIF = 273,
|
||||
CPP_ENDIF = 274,
|
||||
F90PPR_IFDEF = 275,
|
||||
F90PPR_IFNDEF = 276,
|
||||
F90PPR_IF = 277,
|
||||
F90PPR_ELSE = 278,
|
||||
F90PPR_ELIF = 279,
|
||||
F90PPR_ENDIF = 280,
|
||||
COMMA = 281,
|
||||
COLON = 282,
|
||||
DCOLON = 283,
|
||||
LPAREN = 284,
|
||||
RPAREN = 285,
|
||||
UNTERMINATED_STRING = 286,
|
||||
STRING = 287,
|
||||
WORD = 288,
|
||||
CPP_INCLUDE_ANGLE = 289,
|
||||
END = 290,
|
||||
INCLUDE = 291,
|
||||
INTERFACE = 292,
|
||||
MODULE = 293,
|
||||
SUBMODULE = 294,
|
||||
USE = 295
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define EOSTMT 258
|
||||
#define ASSIGNMENT_OP 259
|
||||
#define GARBAGE 260
|
||||
#define CPP_LINE_DIRECTIVE 261
|
||||
#define CPP_INCLUDE 262
|
||||
#define F90PPR_INCLUDE 263
|
||||
#define COCO_INCLUDE 264
|
||||
#define F90PPR_DEFINE 265
|
||||
#define CPP_DEFINE 266
|
||||
#define F90PPR_UNDEF 267
|
||||
#define CPP_UNDEF 268
|
||||
#define CPP_IFDEF 269
|
||||
#define CPP_IFNDEF 270
|
||||
#define CPP_IF 271
|
||||
#define CPP_ELSE 272
|
||||
#define CPP_ELIF 273
|
||||
#define CPP_ENDIF 274
|
||||
#define F90PPR_IFDEF 275
|
||||
#define F90PPR_IFNDEF 276
|
||||
#define F90PPR_IF 277
|
||||
#define F90PPR_ELSE 278
|
||||
#define F90PPR_ELIF 279
|
||||
#define F90PPR_ENDIF 280
|
||||
#define COMMA 281
|
||||
#define COLON 282
|
||||
#define DCOLON 283
|
||||
#define LPAREN 284
|
||||
#define RPAREN 285
|
||||
#define UNTERMINATED_STRING 286
|
||||
#define STRING 287
|
||||
#define WORD 288
|
||||
#define CPP_INCLUDE_ANGLE 289
|
||||
#define END 290
|
||||
#define INCLUDE 291
|
||||
#define INTERFACE 292
|
||||
#define MODULE 293
|
||||
#define SUBMODULE 294
|
||||
#define USE 295
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
union YYSTYPE
|
||||
#include "cmFortranParserTokens.h"
|
||||
/* Symbol kind. */
|
||||
enum yysymbol_kind_t
|
||||
{
|
||||
#line 73 "cmFortranParser.y"
|
||||
|
||||
char* string;
|
||||
|
||||
#line 266 "cmFortranParser.cxx"
|
||||
|
||||
YYSYMBOL_YYEMPTY = -2,
|
||||
YYSYMBOL_YYEOF = 0, /* "end of file" */
|
||||
YYSYMBOL_YYerror = 1, /* error */
|
||||
YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
|
||||
YYSYMBOL_EOSTMT = 3, /* EOSTMT */
|
||||
YYSYMBOL_ASSIGNMENT_OP = 4, /* ASSIGNMENT_OP */
|
||||
YYSYMBOL_GARBAGE = 5, /* GARBAGE */
|
||||
YYSYMBOL_CPP_LINE_DIRECTIVE = 6, /* CPP_LINE_DIRECTIVE */
|
||||
YYSYMBOL_CPP_INCLUDE = 7, /* CPP_INCLUDE */
|
||||
YYSYMBOL_F90PPR_INCLUDE = 8, /* F90PPR_INCLUDE */
|
||||
YYSYMBOL_COCO_INCLUDE = 9, /* COCO_INCLUDE */
|
||||
YYSYMBOL_F90PPR_DEFINE = 10, /* F90PPR_DEFINE */
|
||||
YYSYMBOL_CPP_DEFINE = 11, /* CPP_DEFINE */
|
||||
YYSYMBOL_F90PPR_UNDEF = 12, /* F90PPR_UNDEF */
|
||||
YYSYMBOL_CPP_UNDEF = 13, /* CPP_UNDEF */
|
||||
YYSYMBOL_CPP_IFDEF = 14, /* CPP_IFDEF */
|
||||
YYSYMBOL_CPP_IFNDEF = 15, /* CPP_IFNDEF */
|
||||
YYSYMBOL_CPP_IF = 16, /* CPP_IF */
|
||||
YYSYMBOL_CPP_ELSE = 17, /* CPP_ELSE */
|
||||
YYSYMBOL_CPP_ELIF = 18, /* CPP_ELIF */
|
||||
YYSYMBOL_CPP_ENDIF = 19, /* CPP_ENDIF */
|
||||
YYSYMBOL_F90PPR_IFDEF = 20, /* F90PPR_IFDEF */
|
||||
YYSYMBOL_F90PPR_IFNDEF = 21, /* F90PPR_IFNDEF */
|
||||
YYSYMBOL_F90PPR_IF = 22, /* F90PPR_IF */
|
||||
YYSYMBOL_F90PPR_ELSE = 23, /* F90PPR_ELSE */
|
||||
YYSYMBOL_F90PPR_ELIF = 24, /* F90PPR_ELIF */
|
||||
YYSYMBOL_F90PPR_ENDIF = 25, /* F90PPR_ENDIF */
|
||||
YYSYMBOL_COMMA = 26, /* COMMA */
|
||||
YYSYMBOL_COLON = 27, /* COLON */
|
||||
YYSYMBOL_DCOLON = 28, /* DCOLON */
|
||||
YYSYMBOL_LPAREN = 29, /* LPAREN */
|
||||
YYSYMBOL_RPAREN = 30, /* RPAREN */
|
||||
YYSYMBOL_UNTERMINATED_STRING = 31, /* UNTERMINATED_STRING */
|
||||
YYSYMBOL_STRING = 32, /* STRING */
|
||||
YYSYMBOL_WORD = 33, /* WORD */
|
||||
YYSYMBOL_CPP_INCLUDE_ANGLE = 34, /* CPP_INCLUDE_ANGLE */
|
||||
YYSYMBOL_END = 35, /* END */
|
||||
YYSYMBOL_INCLUDE = 36, /* INCLUDE */
|
||||
YYSYMBOL_INTERFACE = 37, /* INTERFACE */
|
||||
YYSYMBOL_MODULE = 38, /* MODULE */
|
||||
YYSYMBOL_SUBMODULE = 39, /* SUBMODULE */
|
||||
YYSYMBOL_USE = 40, /* USE */
|
||||
YYSYMBOL_YYACCEPT = 41, /* $accept */
|
||||
YYSYMBOL_code = 42, /* code */
|
||||
YYSYMBOL_stmt = 43, /* stmt */
|
||||
YYSYMBOL_include = 44, /* include */
|
||||
YYSYMBOL_define = 45, /* define */
|
||||
YYSYMBOL_undef = 46, /* undef */
|
||||
YYSYMBOL_ifdef = 47, /* ifdef */
|
||||
YYSYMBOL_ifndef = 48, /* ifndef */
|
||||
YYSYMBOL_if = 49, /* if */
|
||||
YYSYMBOL_elif = 50, /* elif */
|
||||
YYSYMBOL_else = 51, /* else */
|
||||
YYSYMBOL_endif = 52, /* endif */
|
||||
YYSYMBOL_other = 53, /* other */
|
||||
YYSYMBOL_misc_code = 54 /* misc_code */
|
||||
};
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
#endif
|
||||
typedef enum yysymbol_kind_t yysymbol_kind_t;
|
||||
|
||||
|
||||
|
||||
int cmFortran_yyparse (yyscan_t yyscanner);
|
||||
|
||||
#endif /* !YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED */
|
||||
|
||||
|
||||
|
||||
#ifdef short
|
||||
# undef short
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_UINT8
|
||||
typedef YYTYPE_UINT8 yytype_uint8;
|
||||
#else
|
||||
typedef unsigned char yytype_uint8;
|
||||
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
|
||||
<limits.h> and (if available) <stdint.h> are included
|
||||
so that the code can choose integer types of a good width. */
|
||||
|
||||
#ifndef __PTRDIFF_MAX__
|
||||
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
||||
# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_STDINT_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_INT8
|
||||
typedef YYTYPE_INT8 yytype_int8;
|
||||
/* Narrow types that promote to a signed type and that can represent a
|
||||
signed or unsigned integer of at least N bits. In tables they can
|
||||
save space and decrease cache pressure. Promoting to a signed type
|
||||
helps avoid bugs in integer arithmetic. */
|
||||
|
||||
#ifdef __INT_LEAST8_MAX__
|
||||
typedef __INT_LEAST8_TYPE__ yytype_int8;
|
||||
#elif defined YY_STDINT_H
|
||||
typedef int_least8_t yytype_int8;
|
||||
#else
|
||||
typedef signed char yytype_int8;
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_UINT16
|
||||
typedef YYTYPE_UINT16 yytype_uint16;
|
||||
#else
|
||||
typedef unsigned short yytype_uint16;
|
||||
#endif
|
||||
|
||||
#ifdef YYTYPE_INT16
|
||||
typedef YYTYPE_INT16 yytype_int16;
|
||||
#ifdef __INT_LEAST16_MAX__
|
||||
typedef __INT_LEAST16_TYPE__ yytype_int16;
|
||||
#elif defined YY_STDINT_H
|
||||
typedef int_least16_t yytype_int16;
|
||||
#else
|
||||
typedef short yytype_int16;
|
||||
#endif
|
||||
|
||||
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
|
||||
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
|
||||
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
|
||||
&& UINT_LEAST8_MAX <= INT_MAX)
|
||||
typedef uint_least8_t yytype_uint8;
|
||||
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
|
||||
typedef unsigned char yytype_uint8;
|
||||
#else
|
||||
typedef short yytype_uint8;
|
||||
#endif
|
||||
|
||||
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
|
||||
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
|
||||
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
|
||||
&& UINT_LEAST16_MAX <= INT_MAX)
|
||||
typedef uint_least16_t yytype_uint16;
|
||||
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
|
||||
typedef unsigned short yytype_uint16;
|
||||
#else
|
||||
typedef int yytype_uint16;
|
||||
#endif
|
||||
|
||||
#ifndef YYPTRDIFF_T
|
||||
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
|
||||
# define YYPTRDIFF_T __PTRDIFF_TYPE__
|
||||
# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
|
||||
# elif defined PTRDIFF_MAX
|
||||
# ifndef ptrdiff_t
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# define YYPTRDIFF_T ptrdiff_t
|
||||
# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
|
||||
# else
|
||||
# define YYPTRDIFF_T long
|
||||
# define YYPTRDIFF_MAXIMUM LONG_MAX
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YYSIZE_T
|
||||
# ifdef __SIZE_TYPE__
|
||||
# define YYSIZE_T __SIZE_TYPE__
|
||||
# elif defined size_t
|
||||
# define YYSIZE_T size_t
|
||||
# elif ! defined YYSIZE_T
|
||||
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# else
|
||||
@@ -319,7 +310,20 @@ typedef short yytype_int16;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
|
||||
#define YYSIZE_MAXIMUM \
|
||||
YY_CAST (YYPTRDIFF_T, \
|
||||
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
|
||||
? YYPTRDIFF_MAXIMUM \
|
||||
: YY_CAST (YYSIZE_T, -1)))
|
||||
|
||||
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
|
||||
|
||||
|
||||
/* Stored state numbers (used for stacks). */
|
||||
typedef yytype_int8 yy_state_t;
|
||||
|
||||
/* State numbers in computations. */
|
||||
typedef int yy_state_fast_t;
|
||||
|
||||
#ifndef YY_
|
||||
# if defined YYENABLE_NLS && YYENABLE_NLS
|
||||
@@ -333,22 +337,21 @@ typedef short yytype_int16;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE
|
||||
# if (defined __GNUC__ \
|
||||
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|
||||
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
|
||||
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
|
||||
|
||||
#ifndef YY_ATTRIBUTE_PURE
|
||||
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
||||
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
# else
|
||||
# define YY_ATTRIBUTE(Spec) /* empty */
|
||||
# define YY_ATTRIBUTE_PURE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE_PURE
|
||||
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
|
||||
#endif
|
||||
|
||||
#ifndef YY_ATTRIBUTE_UNUSED
|
||||
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
|
||||
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
||||
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||
# else
|
||||
# define YY_ATTRIBUTE_UNUSED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Suppress unused-variable warnings by "using" E. */
|
||||
@@ -360,11 +363,11 @@ typedef short yytype_int16;
|
||||
|
||||
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
|
||||
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
||||
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#else
|
||||
# define YY_INITIAL_VALUE(Value) Value
|
||||
@@ -377,10 +380,22 @@ typedef short yytype_int16;
|
||||
# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
||||
#endif
|
||||
|
||||
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
|
||||
# define YY_IGNORE_USELESS_CAST_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
|
||||
# define YY_IGNORE_USELESS_CAST_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#endif
|
||||
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
|
||||
# define YY_IGNORE_USELESS_CAST_BEGIN
|
||||
# define YY_IGNORE_USELESS_CAST_END
|
||||
#endif
|
||||
|
||||
|
||||
#define YY_ASSERT(E) ((void) (0 && (E)))
|
||||
|
||||
#if ! defined yyoverflow || YYERROR_VERBOSE
|
||||
#if 1
|
||||
|
||||
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||
|
||||
@@ -445,8 +460,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
|
||||
|
||||
#endif /* 1 */
|
||||
|
||||
#if (! defined yyoverflow \
|
||||
&& (! defined __cplusplus \
|
||||
@@ -455,17 +469,17 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
/* A type that is properly aligned for any stack member. */
|
||||
union yyalloc
|
||||
{
|
||||
yytype_int16 yyss_alloc;
|
||||
yy_state_t yyss_alloc;
|
||||
YYSTYPE yyvs_alloc;
|
||||
};
|
||||
|
||||
/* The size of the maximum gap between one aligned stack and the next. */
|
||||
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
|
||||
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
|
||||
|
||||
/* The size of an array large to enough to hold all stacks, each with
|
||||
N elements. */
|
||||
# define YYSTACK_BYTES(N) \
|
||||
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
|
||||
((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
|
||||
+ YYSTACK_GAP_MAXIMUM)
|
||||
|
||||
# define YYCOPY_NEEDED 1
|
||||
@@ -478,11 +492,11 @@ union yyalloc
|
||||
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
|
||||
do \
|
||||
{ \
|
||||
YYSIZE_T yynewbytes; \
|
||||
YYPTRDIFF_T yynewbytes; \
|
||||
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
|
||||
Stack = &yyptr->Stack_alloc; \
|
||||
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
||||
yyptr += yynewbytes / sizeof (*yyptr); \
|
||||
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
||||
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
@@ -494,12 +508,12 @@ union yyalloc
|
||||
# ifndef YYCOPY
|
||||
# if defined __GNUC__ && 1 < __GNUC__
|
||||
# define YYCOPY(Dst, Src, Count) \
|
||||
__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
|
||||
__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
|
||||
# else
|
||||
# define YYCOPY(Dst, Src, Count) \
|
||||
do \
|
||||
{ \
|
||||
YYSIZE_T yyi; \
|
||||
YYPTRDIFF_T yyi; \
|
||||
for (yyi = 0; yyi < (Count); yyi++) \
|
||||
(Dst)[yyi] = (Src)[yyi]; \
|
||||
} \
|
||||
@@ -522,17 +536,20 @@ union yyalloc
|
||||
/* YYNSTATES -- Number of states. */
|
||||
#define YYNSTATES 127
|
||||
|
||||
#define YYUNDEFTOK 2
|
||||
/* YYMAXUTOK -- Last valid token kind. */
|
||||
#define YYMAXUTOK 295
|
||||
|
||||
|
||||
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
|
||||
as returned by yylex, with out-of-bounds checking. */
|
||||
#define YYTRANSLATE(YYX) \
|
||||
((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
||||
#define YYTRANSLATE(YYX) \
|
||||
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
|
||||
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
|
||||
: YYSYMBOL_YYUNDEF)
|
||||
|
||||
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
|
||||
as returned by yylex. */
|
||||
static const yytype_uint8 yytranslate[] =
|
||||
static const yytype_int8 yytranslate[] =
|
||||
{
|
||||
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
@@ -570,38 +587,52 @@ static const yytype_uint8 yytranslate[] =
|
||||
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
||||
static const yytype_uint8 yyrline[] =
|
||||
{
|
||||
0, 101, 101, 101, 104, 108, 113, 122, 128, 135,
|
||||
140, 144, 149, 157, 162, 167, 172, 177, 182, 187,
|
||||
192, 197, 201, 205, 209, 213, 214, 219, 219, 219,
|
||||
220, 220, 221, 221, 222, 222, 223, 223, 224, 224,
|
||||
225, 225, 226, 226, 227, 227, 228, 228, 231, 232,
|
||||
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
|
||||
243, 244, 245, 246, 247
|
||||
0, 99, 99, 99, 102, 106, 111, 120, 126, 133,
|
||||
138, 142, 147, 155, 160, 165, 170, 175, 180, 185,
|
||||
190, 195, 199, 203, 207, 211, 212, 217, 217, 217,
|
||||
218, 218, 219, 219, 220, 220, 221, 221, 222, 222,
|
||||
223, 223, 224, 224, 225, 225, 226, 226, 229, 230,
|
||||
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
|
||||
241, 242, 243, 244, 245
|
||||
};
|
||||
#endif
|
||||
|
||||
#if YYDEBUG || YYERROR_VERBOSE || 1
|
||||
/** Accessing symbol of state STATE. */
|
||||
#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
|
||||
|
||||
#if 1
|
||||
/* The user-facing name of the symbol whose (internal) number is
|
||||
YYSYMBOL. No bounds checking. */
|
||||
static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
|
||||
|
||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||
static const char *const yytname[] =
|
||||
{
|
||||
"$end", "error", "$undefined", "EOSTMT", "ASSIGNMENT_OP", "GARBAGE",
|
||||
"CPP_LINE_DIRECTIVE", "CPP_INCLUDE", "F90PPR_INCLUDE", "COCO_INCLUDE",
|
||||
"F90PPR_DEFINE", "CPP_DEFINE", "F90PPR_UNDEF", "CPP_UNDEF", "CPP_IFDEF",
|
||||
"CPP_IFNDEF", "CPP_IF", "CPP_ELSE", "CPP_ELIF", "CPP_ENDIF",
|
||||
"F90PPR_IFDEF", "F90PPR_IFNDEF", "F90PPR_IF", "F90PPR_ELSE",
|
||||
"F90PPR_ELIF", "F90PPR_ENDIF", "COMMA", "COLON", "DCOLON", "LPAREN",
|
||||
"RPAREN", "UNTERMINATED_STRING", "STRING", "WORD", "CPP_INCLUDE_ANGLE",
|
||||
"END", "INCLUDE", "INTERFACE", "MODULE", "SUBMODULE", "USE", "$accept",
|
||||
"code", "stmt", "include", "define", "undef", "ifdef", "ifndef", "if",
|
||||
"elif", "else", "endif", "other", "misc_code", YY_NULLPTR
|
||||
"\"end of file\"", "error", "\"invalid token\"", "EOSTMT",
|
||||
"ASSIGNMENT_OP", "GARBAGE", "CPP_LINE_DIRECTIVE", "CPP_INCLUDE",
|
||||
"F90PPR_INCLUDE", "COCO_INCLUDE", "F90PPR_DEFINE", "CPP_DEFINE",
|
||||
"F90PPR_UNDEF", "CPP_UNDEF", "CPP_IFDEF", "CPP_IFNDEF", "CPP_IF",
|
||||
"CPP_ELSE", "CPP_ELIF", "CPP_ENDIF", "F90PPR_IFDEF", "F90PPR_IFNDEF",
|
||||
"F90PPR_IF", "F90PPR_ELSE", "F90PPR_ELIF", "F90PPR_ENDIF", "COMMA",
|
||||
"COLON", "DCOLON", "LPAREN", "RPAREN", "UNTERMINATED_STRING", "STRING",
|
||||
"WORD", "CPP_INCLUDE_ANGLE", "END", "INCLUDE", "INTERFACE", "MODULE",
|
||||
"SUBMODULE", "USE", "$accept", "code", "stmt", "include", "define",
|
||||
"undef", "ifdef", "ifndef", "if", "elif", "else", "endif", "other",
|
||||
"misc_code", YY_NULLPTR
|
||||
};
|
||||
|
||||
static const char *
|
||||
yysymbol_name (yysymbol_kind_t yysymbol)
|
||||
{
|
||||
return yytname[yysymbol];
|
||||
}
|
||||
#endif
|
||||
|
||||
# ifdef YYPRINT
|
||||
#ifdef YYPRINT
|
||||
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
|
||||
(internal) symbol number NUM (which must be that of a token). */
|
||||
static const yytype_uint16 yytoknum[] =
|
||||
static const yytype_int16 yytoknum[] =
|
||||
{
|
||||
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
||||
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
||||
@@ -609,16 +640,16 @@ static const yytype_uint16 yytoknum[] =
|
||||
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
|
||||
295
|
||||
};
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define YYPACT_NINF -39
|
||||
#define YYPACT_NINF (-39)
|
||||
|
||||
#define yypact_value_is_default(Yystate) \
|
||||
(!!((Yystate) == (-39)))
|
||||
#define yypact_value_is_default(Yyn) \
|
||||
((Yyn) == YYPACT_NINF)
|
||||
|
||||
#define YYTABLE_NINF -1
|
||||
#define YYTABLE_NINF (-1)
|
||||
|
||||
#define yytable_value_is_error(Yytable_value) \
|
||||
#define yytable_value_is_error(Yyn) \
|
||||
0
|
||||
|
||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||
@@ -643,7 +674,7 @@ static const yytype_int16 yypact[] =
|
||||
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
||||
Performed when YYTABLE does not specify something else to do. Zero
|
||||
means the default is an error. */
|
||||
static const yytype_uint8 yydefact[] =
|
||||
static const yytype_int8 yydefact[] =
|
||||
{
|
||||
2, 0, 1, 0, 25, 0, 27, 28, 29, 31,
|
||||
30, 33, 32, 34, 36, 38, 42, 40, 44, 35,
|
||||
@@ -677,7 +708,7 @@ static const yytype_int8 yydefgoto[] =
|
||||
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
||||
positive, shift that token. If negative, reduce the rule whose
|
||||
number is the opposite. If YYTABLE_NINF, syntax error. */
|
||||
static const yytype_uint8 yytable[] =
|
||||
static const yytype_int8 yytable[] =
|
||||
{
|
||||
59, 60, 61, 62, 42, 63, 105, 83, 84, 106,
|
||||
85, 86, 43, 45, 46, 90, 91, 92, 93, 94,
|
||||
@@ -807,7 +838,7 @@ static const yytype_int8 yycheck[] =
|
||||
|
||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||
symbol of state STATE-NUM. */
|
||||
static const yytype_uint8 yystos[] =
|
||||
static const yytype_int8 yystos[] =
|
||||
{
|
||||
0, 42, 0, 1, 3, 6, 7, 8, 9, 10,
|
||||
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
||||
@@ -825,7 +856,7 @@ static const yytype_uint8 yystos[] =
|
||||
};
|
||||
|
||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||
static const yytype_uint8 yyr1[] =
|
||||
static const yytype_int8 yyr1[] =
|
||||
{
|
||||
0, 41, 42, 42, 43, 43, 43, 43, 43, 43,
|
||||
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
|
||||
@@ -837,7 +868,7 @@ static const yytype_uint8 yyr1[] =
|
||||
};
|
||||
|
||||
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
|
||||
static const yytype_uint8 yyr2[] =
|
||||
static const yytype_int8 yyr2[] =
|
||||
{
|
||||
0, 2, 0, 2, 2, 4, 4, 7, 9, 4,
|
||||
4, 5, 7, 4, 4, 3, 4, 4, 4, 4,
|
||||
@@ -849,10 +880,10 @@ static const yytype_uint8 yyr2[] =
|
||||
};
|
||||
|
||||
|
||||
enum { YYENOMEM = -2 };
|
||||
|
||||
#define yyerrok (yyerrstatus = 0)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define YYEMPTY (-2)
|
||||
#define YYEOF 0
|
||||
|
||||
#define YYACCEPT goto yyacceptlab
|
||||
#define YYABORT goto yyabortlab
|
||||
@@ -878,10 +909,9 @@ static const yytype_uint8 yyr2[] =
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Error token number */
|
||||
#define YYTERROR 1
|
||||
#define YYERRCODE 256
|
||||
|
||||
/* Backward compatibility with an undocumented macro.
|
||||
Use YYerror or YYUNDEF. */
|
||||
#define YYERRCODE YYUNDEF
|
||||
|
||||
|
||||
/* Enable debugging if requested. */
|
||||
@@ -899,18 +929,18 @@ do { \
|
||||
} while (0)
|
||||
|
||||
/* This macro is provided for backward compatibility. */
|
||||
#ifndef YY_LOCATION_PRINT
|
||||
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
#endif
|
||||
# ifndef YY_LOCATION_PRINT
|
||||
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
# endif
|
||||
|
||||
|
||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
|
||||
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
|
||||
do { \
|
||||
if (yydebug) \
|
||||
{ \
|
||||
YYFPRINTF (stderr, "%s ", Title); \
|
||||
yy_symbol_print (stderr, \
|
||||
Type, Value, yyscanner); \
|
||||
Kind, Value, yyscanner); \
|
||||
YYFPRINTF (stderr, "\n"); \
|
||||
} \
|
||||
} while (0)
|
||||
@@ -921,7 +951,8 @@ do { \
|
||||
`-----------------------------------*/
|
||||
|
||||
static void
|
||||
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
yy_symbol_value_print (FILE *yyo,
|
||||
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
FILE *yyoutput = yyo;
|
||||
YYUSE (yyoutput);
|
||||
@@ -929,11 +960,11 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yy
|
||||
if (!yyvaluep)
|
||||
return;
|
||||
# ifdef YYPRINT
|
||||
if (yytype < YYNTOKENS)
|
||||
YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
|
||||
if (yykind < YYNTOKENS)
|
||||
YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
|
||||
# endif
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
YYUSE (yytype);
|
||||
YYUSE (yykind);
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
}
|
||||
|
||||
@@ -943,12 +974,13 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yy
|
||||
`---------------------------*/
|
||||
|
||||
static void
|
||||
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
yy_symbol_print (FILE *yyo,
|
||||
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
YYFPRINTF (yyo, "%s %s (",
|
||||
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
|
||||
yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
|
||||
|
||||
yy_symbol_value_print (yyo, yytype, yyvaluep, yyscanner);
|
||||
yy_symbol_value_print (yyo, yykind, yyvaluep, yyscanner);
|
||||
YYFPRINTF (yyo, ")");
|
||||
}
|
||||
|
||||
@@ -958,7 +990,7 @@ yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
|
||||
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
|
||||
{
|
||||
YYFPRINTF (stderr, "Stack now");
|
||||
for (; yybottom <= yytop; yybottom++)
|
||||
@@ -981,21 +1013,21 @@ do { \
|
||||
`------------------------------------------------*/
|
||||
|
||||
static void
|
||||
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
|
||||
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
|
||||
int yyrule, yyscan_t yyscanner)
|
||||
{
|
||||
unsigned long yylno = yyrline[yyrule];
|
||||
int yylno = yyrline[yyrule];
|
||||
int yynrhs = yyr2[yyrule];
|
||||
int yyi;
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
|
||||
yyrule - 1, yylno);
|
||||
/* The symbols being reduced. */
|
||||
for (yyi = 0; yyi < yynrhs; yyi++)
|
||||
{
|
||||
YYFPRINTF (stderr, " $%d = ", yyi + 1);
|
||||
yy_symbol_print (stderr,
|
||||
yystos[yyssp[yyi + 1 - yynrhs]],
|
||||
&yyvsp[(yyi + 1) - (yynrhs)]
|
||||
, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
|
||||
&yyvsp[(yyi + 1) - (yynrhs)], yyscanner);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
}
|
||||
}
|
||||
@@ -1010,8 +1042,8 @@ do { \
|
||||
multiple parsers can coexist. */
|
||||
int yydebug;
|
||||
#else /* !YYDEBUG */
|
||||
# define YYDPRINTF(Args)
|
||||
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
||||
# define YYDPRINTF(Args) ((void) 0)
|
||||
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
|
||||
# define YY_STACK_PRINT(Bottom, Top)
|
||||
# define YY_REDUCE_PRINT(Rule)
|
||||
#endif /* !YYDEBUG */
|
||||
@@ -1034,28 +1066,76 @@ int yydebug;
|
||||
#endif
|
||||
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
/* Context of a parse error. */
|
||||
typedef struct
|
||||
{
|
||||
yy_state_t *yyssp;
|
||||
yysymbol_kind_t yytoken;
|
||||
} yypcontext_t;
|
||||
|
||||
# ifndef yystrlen
|
||||
# if defined __GLIBC__ && defined _STRING_H
|
||||
# define yystrlen strlen
|
||||
# else
|
||||
/* Put in YYARG at most YYARGN of the expected tokens given the
|
||||
current YYCTX, and return the number of tokens stored in YYARG. If
|
||||
YYARG is null, return the number of expected tokens (guaranteed to
|
||||
be less than YYNTOKENS). Return YYENOMEM on memory exhaustion.
|
||||
Return 0 if there are more than YYARGN expected tokens, yet fill
|
||||
YYARG up to YYARGN. */
|
||||
static int
|
||||
yypcontext_expected_tokens (const yypcontext_t *yyctx,
|
||||
yysymbol_kind_t yyarg[], int yyargn)
|
||||
{
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = 0;
|
||||
int yyn = yypact[+*yyctx->yyssp];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. In other words, skip the first -YYN actions for
|
||||
this state because they are default actions. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn + 1;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yyx;
|
||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||
if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
|
||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
||||
{
|
||||
if (!yyarg)
|
||||
++yycount;
|
||||
else if (yycount == yyargn)
|
||||
return 0;
|
||||
else
|
||||
yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
|
||||
}
|
||||
}
|
||||
if (yyarg && yycount == 0 && 0 < yyargn)
|
||||
yyarg[0] = YYSYMBOL_YYEMPTY;
|
||||
return yycount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef yystrlen
|
||||
# if defined __GLIBC__ && defined _STRING_H
|
||||
# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
|
||||
# else
|
||||
/* Return the length of YYSTR. */
|
||||
static YYSIZE_T
|
||||
static YYPTRDIFF_T
|
||||
yystrlen (const char *yystr)
|
||||
{
|
||||
YYSIZE_T yylen;
|
||||
YYPTRDIFF_T yylen;
|
||||
for (yylen = 0; yystr[yylen]; yylen++)
|
||||
continue;
|
||||
return yylen;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifndef yystpcpy
|
||||
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
||||
# define yystpcpy stpcpy
|
||||
# else
|
||||
#ifndef yystpcpy
|
||||
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
||||
# define yystpcpy stpcpy
|
||||
# else
|
||||
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
|
||||
YYDEST. */
|
||||
static char *
|
||||
@@ -1069,10 +1149,10 @@ yystpcpy (char *yydest, const char *yysrc)
|
||||
|
||||
return yyd - 1;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifndef yytnamerr
|
||||
#ifndef yytnamerr
|
||||
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
|
||||
quotes and backslashes, so that it's suitable for yyerror. The
|
||||
heuristic is that double-quoting is unnecessary unless the string
|
||||
@@ -1080,14 +1160,13 @@ yystpcpy (char *yydest, const char *yysrc)
|
||||
backslash-backslash). YYSTR is taken from yytname. If YYRES is
|
||||
null, do not copy; instead, return the length of what the result
|
||||
would have been. */
|
||||
static YYSIZE_T
|
||||
static YYPTRDIFF_T
|
||||
yytnamerr (char *yyres, const char *yystr)
|
||||
{
|
||||
if (*yystr == '"')
|
||||
{
|
||||
YYSIZE_T yyn = 0;
|
||||
YYPTRDIFF_T yyn = 0;
|
||||
char const *yyp = yystr;
|
||||
|
||||
for (;;)
|
||||
switch (*++yyp)
|
||||
{
|
||||
@@ -1116,36 +1195,20 @@ yytnamerr (char *yyres, const char *yystr)
|
||||
do_not_strip_quotes: ;
|
||||
}
|
||||
|
||||
if (! yyres)
|
||||
if (yyres)
|
||||
return yystpcpy (yyres, yystr) - yyres;
|
||||
else
|
||||
return yystrlen (yystr);
|
||||
|
||||
return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
||||
about the unexpected token YYTOKEN for the state stack whose top is
|
||||
YYSSP.
|
||||
|
||||
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
|
||||
not large enough to hold the message. In that case, also set
|
||||
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
|
||||
required number of bytes is too large to store. */
|
||||
static int
|
||||
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
yytype_int16 *yyssp, int yytoken)
|
||||
yy_syntax_error_arguments (const yypcontext_t *yyctx,
|
||||
yysymbol_kind_t yyarg[], int yyargn)
|
||||
{
|
||||
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
|
||||
YYSIZE_T yysize = yysize0;
|
||||
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
||||
/* Internationalized format string. */
|
||||
const char *yyformat = YY_NULLPTR;
|
||||
/* Arguments of yyformat. */
|
||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
||||
/* Number of reported tokens (one for the "unexpected", one per
|
||||
"expected"). */
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = 0;
|
||||
|
||||
/* There are many possibilities here to consider:
|
||||
- If this state is a consistent state with a default action, then
|
||||
the only way this function was invoked is if the default action
|
||||
@@ -1169,49 +1232,54 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
one exception: it will still contain any token that will not be
|
||||
accepted due to an error action in a later state.
|
||||
*/
|
||||
if (yytoken != YYEMPTY)
|
||||
if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
|
||||
{
|
||||
int yyn = yypact[*yyssp];
|
||||
yyarg[yycount++] = yytname[yytoken];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. In other words, skip the first -YYN actions for
|
||||
this state because they are default actions. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn + 1;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yyx;
|
||||
|
||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
|
||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
||||
{
|
||||
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
||||
{
|
||||
yycount = 1;
|
||||
yysize = yysize0;
|
||||
break;
|
||||
}
|
||||
yyarg[yycount++] = yytname[yyx];
|
||||
{
|
||||
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
int yyn;
|
||||
if (yyarg)
|
||||
yyarg[yycount] = yyctx->yytoken;
|
||||
++yycount;
|
||||
yyn = yypcontext_expected_tokens (yyctx,
|
||||
yyarg ? yyarg + 1 : yyarg, yyargn - 1);
|
||||
if (yyn == YYENOMEM)
|
||||
return YYENOMEM;
|
||||
else
|
||||
yycount += yyn;
|
||||
}
|
||||
return yycount;
|
||||
}
|
||||
|
||||
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
||||
about the unexpected token YYTOKEN for the state stack whose top is
|
||||
YYSSP.
|
||||
|
||||
Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is
|
||||
not large enough to hold the message. In that case, also set
|
||||
*YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the
|
||||
required number of bytes is too large to store. */
|
||||
static int
|
||||
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
|
||||
const yypcontext_t *yyctx)
|
||||
{
|
||||
enum { YYARGS_MAX = 5 };
|
||||
/* Internationalized format string. */
|
||||
const char *yyformat = YY_NULLPTR;
|
||||
/* Arguments of yyformat: reported tokens (one for the "unexpected",
|
||||
one per "expected"). */
|
||||
yysymbol_kind_t yyarg[YYARGS_MAX];
|
||||
/* Cumulated lengths of YYARG. */
|
||||
YYPTRDIFF_T yysize = 0;
|
||||
|
||||
/* Actual size of YYARG. */
|
||||
int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
|
||||
if (yycount == YYENOMEM)
|
||||
return YYENOMEM;
|
||||
|
||||
switch (yycount)
|
||||
{
|
||||
# define YYCASE_(N, S) \
|
||||
#define YYCASE_(N, S) \
|
||||
case N: \
|
||||
yyformat = S; \
|
||||
break
|
||||
break
|
||||
default: /* Avoid compiler warnings. */
|
||||
YYCASE_(0, YY_("syntax error"));
|
||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||
@@ -1219,15 +1287,23 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
||||
# undef YYCASE_
|
||||
#undef YYCASE_
|
||||
}
|
||||
|
||||
/* Compute error message size. Don't count the "%s"s, but reserve
|
||||
room for the terminator. */
|
||||
yysize = yystrlen (yyformat) - 2 * yycount + 1;
|
||||
{
|
||||
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return 2;
|
||||
int yyi;
|
||||
for (yyi = 0; yyi < yycount; ++yyi)
|
||||
{
|
||||
YYPTRDIFF_T yysize1
|
||||
= yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
|
||||
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
|
||||
yysize = yysize1;
|
||||
else
|
||||
return YYENOMEM;
|
||||
}
|
||||
}
|
||||
|
||||
if (*yymsg_alloc < yysize)
|
||||
@@ -1236,7 +1312,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
if (! (yysize <= *yymsg_alloc
|
||||
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
|
||||
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Avoid sprintf, as that infringes on the user's name space.
|
||||
@@ -1248,40 +1324,43 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
while ((*yyp = *yyformat) != '\0')
|
||||
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
|
||||
{
|
||||
yyp += yytnamerr (yyp, yyarg[yyi++]);
|
||||
yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
|
||||
yyformat += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
yyp++;
|
||||
yyformat++;
|
||||
++yyp;
|
||||
++yyformat;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif /* YYERROR_VERBOSE */
|
||||
|
||||
|
||||
/*-----------------------------------------------.
|
||||
| Release the memory associated to this symbol. |
|
||||
`-----------------------------------------------*/
|
||||
|
||||
static void
|
||||
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, yyscan_t yyscanner)
|
||||
yydestruct (const char *yymsg,
|
||||
yysymbol_kind_t yykind, YYSTYPE *yyvaluep, yyscan_t yyscanner)
|
||||
{
|
||||
YYUSE (yyvaluep);
|
||||
YYUSE (yyscanner);
|
||||
if (!yymsg)
|
||||
yymsg = "Deleting";
|
||||
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
|
||||
YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
|
||||
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
YYUSE (yytype);
|
||||
YYUSE (yykind);
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*----------.
|
||||
| yyparse. |
|
||||
`----------*/
|
||||
@@ -1289,7 +1368,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, yyscan_t yyscanner
|
||||
int
|
||||
yyparse (yyscan_t yyscanner)
|
||||
{
|
||||
/* The lookahead symbol. */
|
||||
/* Lookahead token kind. */
|
||||
int yychar;
|
||||
|
||||
|
||||
@@ -1300,45 +1379,41 @@ YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
|
||||
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
||||
|
||||
/* Number of syntax errors so far. */
|
||||
int yynerrs;
|
||||
int yynerrs = 0;
|
||||
|
||||
int yystate;
|
||||
yy_state_fast_t yystate = 0;
|
||||
/* Number of tokens to shift before error messages enabled. */
|
||||
int yyerrstatus;
|
||||
int yyerrstatus = 0;
|
||||
|
||||
/* The stacks and their tools:
|
||||
'yyss': related to states.
|
||||
'yyvs': related to semantic values.
|
||||
|
||||
Refer to the stacks through separate pointers, to allow yyoverflow
|
||||
/* Refer to the stacks through separate pointers, to allow yyoverflow
|
||||
to reallocate them elsewhere. */
|
||||
|
||||
/* The state stack. */
|
||||
yytype_int16 yyssa[YYINITDEPTH];
|
||||
yytype_int16 *yyss;
|
||||
yytype_int16 *yyssp;
|
||||
/* Their size. */
|
||||
YYPTRDIFF_T yystacksize = YYINITDEPTH;
|
||||
|
||||
/* The semantic value stack. */
|
||||
/* The state stack: array, bottom, top. */
|
||||
yy_state_t yyssa[YYINITDEPTH];
|
||||
yy_state_t *yyss = yyssa;
|
||||
yy_state_t *yyssp = yyss;
|
||||
|
||||
/* The semantic value stack: array, bottom, top. */
|
||||
YYSTYPE yyvsa[YYINITDEPTH];
|
||||
YYSTYPE *yyvs;
|
||||
YYSTYPE *yyvsp;
|
||||
|
||||
YYSIZE_T yystacksize;
|
||||
YYSTYPE *yyvs = yyvsa;
|
||||
YYSTYPE *yyvsp = yyvs;
|
||||
|
||||
int yyn;
|
||||
/* The return value of yyparse. */
|
||||
int yyresult;
|
||||
/* Lookahead token as an internal (translated) token number. */
|
||||
int yytoken = 0;
|
||||
/* Lookahead symbol kind. */
|
||||
yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
|
||||
/* The variables used to return semantic value and location from the
|
||||
action routines. */
|
||||
YYSTYPE yyval;
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
/* Buffer for error messages, and its allocated size. */
|
||||
char yymsgbuf[128];
|
||||
char *yymsg = yymsgbuf;
|
||||
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
|
||||
#endif
|
||||
YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
|
||||
|
||||
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
|
||||
|
||||
@@ -1346,15 +1421,8 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
||||
Keep to zero when no symbol should be popped. */
|
||||
int yylen = 0;
|
||||
|
||||
yyssp = yyss = yyssa;
|
||||
yyvsp = yyvs = yyvsa;
|
||||
yystacksize = YYINITDEPTH;
|
||||
|
||||
YYDPRINTF ((stderr, "Starting parse\n"));
|
||||
|
||||
yystate = 0;
|
||||
yyerrstatus = 0;
|
||||
yynerrs = 0;
|
||||
yychar = YYEMPTY; /* Cause a token to be read. */
|
||||
goto yysetstate;
|
||||
|
||||
@@ -1369,12 +1437,15 @@ yynewstate:
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------.
|
||||
| yynewstate -- set current state (the top of the stack) to yystate. |
|
||||
| yysetstate -- set current state (the top of the stack) to yystate. |
|
||||
`--------------------------------------------------------------------*/
|
||||
yysetstate:
|
||||
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
||||
YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
|
||||
*yyssp = (yytype_int16) yystate;
|
||||
YY_IGNORE_USELESS_CAST_BEGIN
|
||||
*yyssp = YY_CAST (yy_state_t, yystate);
|
||||
YY_IGNORE_USELESS_CAST_END
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
|
||||
@@ -1382,23 +1453,23 @@ yysetstate:
|
||||
#else
|
||||
{
|
||||
/* Get the current used size of the three stacks, in elements. */
|
||||
YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
|
||||
YYPTRDIFF_T yysize = yyssp - yyss + 1;
|
||||
|
||||
# if defined yyoverflow
|
||||
{
|
||||
/* Give user a chance to reallocate the stack. Use copies of
|
||||
these so that the &'s don't force the real ones into
|
||||
memory. */
|
||||
yy_state_t *yyss1 = yyss;
|
||||
YYSTYPE *yyvs1 = yyvs;
|
||||
yytype_int16 *yyss1 = yyss;
|
||||
|
||||
/* Each stack pointer address is followed by the size of the
|
||||
data in use in that stack, in bytes. This used to be a
|
||||
conditional around just the two extra args, but that might
|
||||
be undefined if yyoverflow is a macro. */
|
||||
yyoverflow (YY_("memory exhausted"),
|
||||
&yyss1, yysize * sizeof (*yyssp),
|
||||
&yyvs1, yysize * sizeof (*yyvsp),
|
||||
&yyss1, yysize * YYSIZEOF (*yyssp),
|
||||
&yyvs1, yysize * YYSIZEOF (*yyvsp),
|
||||
&yystacksize);
|
||||
yyss = yyss1;
|
||||
yyvs = yyvs1;
|
||||
@@ -1412,14 +1483,15 @@ yysetstate:
|
||||
yystacksize = YYMAXDEPTH;
|
||||
|
||||
{
|
||||
yytype_int16 *yyss1 = yyss;
|
||||
yy_state_t *yyss1 = yyss;
|
||||
union yyalloc *yyptr =
|
||||
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
|
||||
YY_CAST (union yyalloc *,
|
||||
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
|
||||
if (! yyptr)
|
||||
goto yyexhaustedlab;
|
||||
YYSTACK_RELOCATE (yyss_alloc, yyss);
|
||||
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
|
||||
# undef YYSTACK_RELOCATE
|
||||
# undef YYSTACK_RELOCATE
|
||||
if (yyss1 != yyssa)
|
||||
YYSTACK_FREE (yyss1);
|
||||
}
|
||||
@@ -1428,8 +1500,10 @@ yysetstate:
|
||||
yyssp = yyss + yysize - 1;
|
||||
yyvsp = yyvs + yysize - 1;
|
||||
|
||||
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
||||
(unsigned long) yystacksize));
|
||||
YY_IGNORE_USELESS_CAST_BEGIN
|
||||
YYDPRINTF ((stderr, "Stack size increased to %ld\n",
|
||||
YY_CAST (long, yystacksize)));
|
||||
YY_IGNORE_USELESS_CAST_END
|
||||
|
||||
if (yyss + yystacksize - 1 <= yyssp)
|
||||
YYABORT;
|
||||
@@ -1456,18 +1530,29 @@ yybackup:
|
||||
|
||||
/* Not known => get a lookahead token if don't already have one. */
|
||||
|
||||
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
|
||||
/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
|
||||
if (yychar == YYEMPTY)
|
||||
{
|
||||
YYDPRINTF ((stderr, "Reading a token: "));
|
||||
YYDPRINTF ((stderr, "Reading a token\n"));
|
||||
yychar = yylex (&yylval, yyscanner);
|
||||
}
|
||||
|
||||
if (yychar <= YYEOF)
|
||||
{
|
||||
yychar = yytoken = YYEOF;
|
||||
yychar = YYEOF;
|
||||
yytoken = YYSYMBOL_YYEOF;
|
||||
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
||||
}
|
||||
else if (yychar == YYerror)
|
||||
{
|
||||
/* The scanner already issued an error message, process directly
|
||||
to error recovery. But do not keep the error token as
|
||||
lookahead, it is too special and may lead us to an endless
|
||||
loop in error recovery. */
|
||||
yychar = YYUNDEF;
|
||||
yytoken = YYSYMBOL_YYerror;
|
||||
goto yyerrlab1;
|
||||
}
|
||||
else
|
||||
{
|
||||
yytoken = YYTRANSLATE (yychar);
|
||||
@@ -1495,14 +1580,13 @@ yybackup:
|
||||
|
||||
/* Shift the lookahead token. */
|
||||
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
|
||||
|
||||
/* Discard the shifted token. */
|
||||
yychar = YYEMPTY;
|
||||
|
||||
yystate = yyn;
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
*++yyvsp = yylval;
|
||||
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
|
||||
/* Discard the shifted token. */
|
||||
yychar = YYEMPTY;
|
||||
goto yynewstate;
|
||||
|
||||
|
||||
@@ -1537,28 +1621,28 @@ yyreduce:
|
||||
YY_REDUCE_PRINT (yyn);
|
||||
switch (yyn)
|
||||
{
|
||||
case 4:
|
||||
#line 104 "cmFortranParser.y"
|
||||
{
|
||||
case 4: /* stmt: INTERFACE EOSTMT */
|
||||
#line 102 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_SetInInterface(parser, true);
|
||||
}
|
||||
#line 1547 "cmFortranParser.cxx"
|
||||
#line 1631 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 5:
|
||||
#line 108 "cmFortranParser.y"
|
||||
{
|
||||
case 5: /* stmt: USE WORD other EOSTMT */
|
||||
#line 106 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1557 "cmFortranParser.cxx"
|
||||
#line 1641 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 6:
|
||||
#line 113 "cmFortranParser.y"
|
||||
{
|
||||
case 6: /* stmt: MODULE WORD other EOSTMT */
|
||||
#line 111 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
if (cmsysString_strcasecmp((yyvsp[-2].string), "function") != 0 &&
|
||||
cmsysString_strcasecmp((yyvsp[-2].string), "procedure") != 0 &&
|
||||
@@ -1567,64 +1651,64 @@ yyreduce:
|
||||
}
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1571 "cmFortranParser.cxx"
|
||||
#line 1655 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 7:
|
||||
#line 122 "cmFortranParser.y"
|
||||
{
|
||||
case 7: /* stmt: SUBMODULE LPAREN WORD RPAREN WORD other EOSTMT */
|
||||
#line 120 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleSubmodule(parser, (yyvsp[-4].string), (yyvsp[-2].string));
|
||||
free((yyvsp[-4].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1582 "cmFortranParser.cxx"
|
||||
#line 1666 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 8:
|
||||
#line 128 "cmFortranParser.y"
|
||||
{
|
||||
case 8: /* stmt: SUBMODULE LPAREN WORD COLON WORD RPAREN WORD other EOSTMT */
|
||||
#line 126 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleSubmoduleNested(parser, (yyvsp[-6].string), (yyvsp[-4].string), (yyvsp[-2].string));
|
||||
free((yyvsp[-6].string));
|
||||
free((yyvsp[-4].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1594 "cmFortranParser.cxx"
|
||||
#line 1678 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 9:
|
||||
#line 135 "cmFortranParser.y"
|
||||
{
|
||||
case 9: /* stmt: INTERFACE WORD other EOSTMT */
|
||||
#line 133 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_SetInInterface(parser, true);
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1604 "cmFortranParser.cxx"
|
||||
#line 1688 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 10:
|
||||
#line 140 "cmFortranParser.y"
|
||||
{
|
||||
case 10: /* stmt: END INTERFACE other EOSTMT */
|
||||
#line 138 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_SetInInterface(parser, false);
|
||||
}
|
||||
#line 1613 "cmFortranParser.cxx"
|
||||
#line 1697 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 11:
|
||||
#line 144 "cmFortranParser.y"
|
||||
{
|
||||
case 11: /* stmt: USE DCOLON WORD other EOSTMT */
|
||||
#line 142 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1623 "cmFortranParser.cxx"
|
||||
#line 1707 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 12:
|
||||
#line 149 "cmFortranParser.y"
|
||||
{
|
||||
case 12: /* stmt: USE COMMA WORD DCOLON WORD other EOSTMT */
|
||||
#line 147 "cmFortranParser.y"
|
||||
{
|
||||
if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) {
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
|
||||
@@ -1632,139 +1716,139 @@ yyreduce:
|
||||
free((yyvsp[-4].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1636 "cmFortranParser.cxx"
|
||||
#line 1720 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 13:
|
||||
#line 157 "cmFortranParser.y"
|
||||
{
|
||||
case 13: /* stmt: INCLUDE STRING other EOSTMT */
|
||||
#line 155 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1646 "cmFortranParser.cxx"
|
||||
#line 1730 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 14:
|
||||
#line 162 "cmFortranParser.y"
|
||||
{
|
||||
case 14: /* stmt: CPP_LINE_DIRECTIVE STRING other EOSTMT */
|
||||
#line 160 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1656 "cmFortranParser.cxx"
|
||||
#line 1740 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 15:
|
||||
#line 167 "cmFortranParser.y"
|
||||
{
|
||||
case 15: /* stmt: CPP_INCLUDE_ANGLE other EOSTMT */
|
||||
#line 165 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1666 "cmFortranParser.cxx"
|
||||
#line 1750 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 16:
|
||||
#line 172 "cmFortranParser.y"
|
||||
{
|
||||
case 16: /* stmt: include STRING other EOSTMT */
|
||||
#line 170 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1676 "cmFortranParser.cxx"
|
||||
#line 1760 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 17:
|
||||
#line 177 "cmFortranParser.y"
|
||||
{
|
||||
case 17: /* stmt: define WORD other EOSTMT */
|
||||
#line 175 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleDefine(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1686 "cmFortranParser.cxx"
|
||||
#line 1770 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 18:
|
||||
#line 182 "cmFortranParser.y"
|
||||
{
|
||||
case 18: /* stmt: undef WORD other EOSTMT */
|
||||
#line 180 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleUndef(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1696 "cmFortranParser.cxx"
|
||||
#line 1780 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 19:
|
||||
#line 187 "cmFortranParser.y"
|
||||
{
|
||||
case 19: /* stmt: ifdef WORD other EOSTMT */
|
||||
#line 185 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1706 "cmFortranParser.cxx"
|
||||
#line 1790 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 20:
|
||||
#line 192 "cmFortranParser.y"
|
||||
{
|
||||
case 20: /* stmt: ifndef WORD other EOSTMT */
|
||||
#line 190 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string));
|
||||
free((yyvsp[-2].string));
|
||||
}
|
||||
#line 1716 "cmFortranParser.cxx"
|
||||
#line 1800 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 21:
|
||||
#line 197 "cmFortranParser.y"
|
||||
{
|
||||
case 21: /* stmt: if other EOSTMT */
|
||||
#line 195 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleIf(parser);
|
||||
}
|
||||
#line 1725 "cmFortranParser.cxx"
|
||||
#line 1809 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 22:
|
||||
#line 201 "cmFortranParser.y"
|
||||
{
|
||||
case 22: /* stmt: elif other EOSTMT */
|
||||
#line 199 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleElif(parser);
|
||||
}
|
||||
#line 1734 "cmFortranParser.cxx"
|
||||
#line 1818 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 23:
|
||||
#line 205 "cmFortranParser.y"
|
||||
{
|
||||
case 23: /* stmt: else other EOSTMT */
|
||||
#line 203 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleElse(parser);
|
||||
}
|
||||
#line 1743 "cmFortranParser.cxx"
|
||||
#line 1827 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 24:
|
||||
#line 209 "cmFortranParser.y"
|
||||
{
|
||||
case 24: /* stmt: endif other EOSTMT */
|
||||
#line 207 "cmFortranParser.y"
|
||||
{
|
||||
cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
|
||||
cmFortranParser_RuleEndif(parser);
|
||||
}
|
||||
#line 1752 "cmFortranParser.cxx"
|
||||
#line 1836 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 48:
|
||||
#line 231 "cmFortranParser.y"
|
||||
{ free ((yyvsp[0].string)); }
|
||||
#line 1758 "cmFortranParser.cxx"
|
||||
case 48: /* misc_code: WORD */
|
||||
#line 229 "cmFortranParser.y"
|
||||
{ free ((yyvsp[0].string)); }
|
||||
#line 1842 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
case 55:
|
||||
#line 238 "cmFortranParser.y"
|
||||
{ free ((yyvsp[0].string)); }
|
||||
#line 1764 "cmFortranParser.cxx"
|
||||
case 55: /* misc_code: STRING */
|
||||
#line 236 "cmFortranParser.y"
|
||||
{ free ((yyvsp[0].string)); }
|
||||
#line 1848 "cmFortranParser.cxx"
|
||||
break;
|
||||
|
||||
|
||||
#line 1768 "cmFortranParser.cxx"
|
||||
#line 1852 "cmFortranParser.cxx"
|
||||
|
||||
default: break;
|
||||
}
|
||||
@@ -1779,11 +1863,10 @@ yyreduce:
|
||||
case of YYERROR or YYBACKUP, subsequent parser actions might lead
|
||||
to an incorrect destructor call or verbose syntax error message
|
||||
before the lookahead is translated. */
|
||||
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
||||
YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
|
||||
|
||||
YYPOPSTACK (yylen);
|
||||
yylen = 0;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
|
||||
*++yyvsp = yyval;
|
||||
|
||||
@@ -1807,50 +1890,44 @@ yyreduce:
|
||||
yyerrlab:
|
||||
/* Make sure we have latest lookahead translation. See comments at
|
||||
user semantic actions for why this is necessary. */
|
||||
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
||||
|
||||
yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
|
||||
/* If not already recovering from an error, report this error. */
|
||||
if (!yyerrstatus)
|
||||
{
|
||||
++yynerrs;
|
||||
#if ! YYERROR_VERBOSE
|
||||
yyerror (yyscanner, YY_("syntax error"));
|
||||
#else
|
||||
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
|
||||
yyssp, yytoken)
|
||||
{
|
||||
yypcontext_t yyctx
|
||||
= {yyssp, yytoken};
|
||||
char const *yymsgp = YY_("syntax error");
|
||||
int yysyntax_error_status;
|
||||
yysyntax_error_status = YYSYNTAX_ERROR;
|
||||
yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
|
||||
if (yysyntax_error_status == 0)
|
||||
yymsgp = yymsg;
|
||||
else if (yysyntax_error_status == 1)
|
||||
else if (yysyntax_error_status == -1)
|
||||
{
|
||||
if (yymsg != yymsgbuf)
|
||||
YYSTACK_FREE (yymsg);
|
||||
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
|
||||
if (!yymsg)
|
||||
yymsg = YY_CAST (char *,
|
||||
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
|
||||
if (yymsg)
|
||||
{
|
||||
yymsg = yymsgbuf;
|
||||
yymsg_alloc = sizeof yymsgbuf;
|
||||
yysyntax_error_status = 2;
|
||||
yysyntax_error_status
|
||||
= yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
|
||||
yymsgp = yymsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
yysyntax_error_status = YYSYNTAX_ERROR;
|
||||
yymsgp = yymsg;
|
||||
yymsg = yymsgbuf;
|
||||
yymsg_alloc = sizeof yymsgbuf;
|
||||
yysyntax_error_status = YYENOMEM;
|
||||
}
|
||||
}
|
||||
yyerror (yyscanner, yymsgp);
|
||||
if (yysyntax_error_status == 2)
|
||||
if (yysyntax_error_status == YYENOMEM)
|
||||
goto yyexhaustedlab;
|
||||
}
|
||||
# undef YYSYNTAX_ERROR
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (yyerrstatus == 3)
|
||||
{
|
||||
/* If just tried and failed to reuse lookahead token after an
|
||||
@@ -1870,7 +1947,6 @@ yyerrlab:
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Else will try to reuse lookahead token after shifting the error
|
||||
token. */
|
||||
goto yyerrlab1;
|
||||
@@ -1898,16 +1974,16 @@ yyerrorlab:
|
||||
| yyerrlab1 -- common code for both syntax error and YYERROR. |
|
||||
`-------------------------------------------------------------*/
|
||||
yyerrlab1:
|
||||
#endif
|
||||
yyerrstatus = 3; /* Each real token shifted decrements this. */
|
||||
|
||||
/* Pop stack until we find a state that shifts the error token. */
|
||||
for (;;)
|
||||
{
|
||||
yyn = yypact[yystate];
|
||||
if (!yypact_value_is_default (yyn))
|
||||
{
|
||||
yyn += YYTERROR;
|
||||
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
|
||||
yyn += YYSYMBOL_YYerror;
|
||||
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
|
||||
{
|
||||
yyn = yytable[yyn];
|
||||
if (0 < yyn)
|
||||
@@ -1921,7 +1997,7 @@ yyerrlab1:
|
||||
|
||||
|
||||
yydestruct ("Error: popping",
|
||||
yystos[yystate], yyvsp, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (yystate), yyvsp, yyscanner);
|
||||
YYPOPSTACK (1);
|
||||
yystate = *yyssp;
|
||||
YY_STACK_PRINT (yyss, yyssp);
|
||||
@@ -1933,7 +2009,7 @@ yyerrlab1:
|
||||
|
||||
|
||||
/* Shift the error token. */
|
||||
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
|
||||
YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
|
||||
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
@@ -1955,20 +2031,20 @@ yyabortlab:
|
||||
goto yyreturn;
|
||||
|
||||
|
||||
#if !defined yyoverflow || YYERROR_VERBOSE
|
||||
#if 1
|
||||
/*-------------------------------------------------.
|
||||
| yyexhaustedlab -- memory exhaustion comes here. |
|
||||
`-------------------------------------------------*/
|
||||
yyexhaustedlab:
|
||||
yyerror (yyscanner, YY_("memory exhausted"));
|
||||
yyresult = 2;
|
||||
/* Fall through. */
|
||||
goto yyreturn;
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------.
|
||||
| yyreturn -- parsing is finished, return the result. |
|
||||
`-----------------------------------------------------*/
|
||||
/*-------------------------------------------------------.
|
||||
| yyreturn -- parsing is finished, clean up and return. |
|
||||
`-------------------------------------------------------*/
|
||||
yyreturn:
|
||||
if (yychar != YYEMPTY)
|
||||
{
|
||||
@@ -1985,19 +2061,18 @@ yyreturn:
|
||||
while (yyssp != yyss)
|
||||
{
|
||||
yydestruct ("Cleanup: popping",
|
||||
yystos[*yyssp], yyvsp, yyscanner);
|
||||
YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yyscanner);
|
||||
YYPOPSTACK (1);
|
||||
}
|
||||
#ifndef yyoverflow
|
||||
if (yyss != yyssa)
|
||||
YYSTACK_FREE (yyss);
|
||||
#endif
|
||||
#if YYERROR_VERBOSE
|
||||
if (yymsg != yymsgbuf)
|
||||
YYSTACK_FREE (yymsg);
|
||||
#endif
|
||||
return yyresult;
|
||||
}
|
||||
#line 250 "cmFortranParser.y"
|
||||
|
||||
#line 248 "cmFortranParser.y"
|
||||
|
||||
/* End of grammar */
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* A Bison parser, made by GNU Bison 3.4.2. */
|
||||
/* A Bison parser, made by GNU Bison 3.7.4. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -31,8 +31,9 @@
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
are private implementation details. Do not rely on them. */
|
||||
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
||||
especially those whose name start with YY_ or yy_. They are
|
||||
private implementation details that can be changed or removed. */
|
||||
|
||||
#ifndef YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
|
||||
# define YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
|
||||
@@ -44,100 +45,66 @@
|
||||
extern int cmFortran_yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
/* Token kinds. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
EOSTMT = 258,
|
||||
ASSIGNMENT_OP = 259,
|
||||
GARBAGE = 260,
|
||||
CPP_LINE_DIRECTIVE = 261,
|
||||
CPP_INCLUDE = 262,
|
||||
F90PPR_INCLUDE = 263,
|
||||
COCO_INCLUDE = 264,
|
||||
F90PPR_DEFINE = 265,
|
||||
CPP_DEFINE = 266,
|
||||
F90PPR_UNDEF = 267,
|
||||
CPP_UNDEF = 268,
|
||||
CPP_IFDEF = 269,
|
||||
CPP_IFNDEF = 270,
|
||||
CPP_IF = 271,
|
||||
CPP_ELSE = 272,
|
||||
CPP_ELIF = 273,
|
||||
CPP_ENDIF = 274,
|
||||
F90PPR_IFDEF = 275,
|
||||
F90PPR_IFNDEF = 276,
|
||||
F90PPR_IF = 277,
|
||||
F90PPR_ELSE = 278,
|
||||
F90PPR_ELIF = 279,
|
||||
F90PPR_ENDIF = 280,
|
||||
COMMA = 281,
|
||||
COLON = 282,
|
||||
DCOLON = 283,
|
||||
LPAREN = 284,
|
||||
RPAREN = 285,
|
||||
UNTERMINATED_STRING = 286,
|
||||
STRING = 287,
|
||||
WORD = 288,
|
||||
CPP_INCLUDE_ANGLE = 289,
|
||||
END = 290,
|
||||
INCLUDE = 291,
|
||||
INTERFACE = 292,
|
||||
MODULE = 293,
|
||||
SUBMODULE = 294,
|
||||
USE = 295
|
||||
YYEMPTY = -2,
|
||||
YYEOF = 0, /* "end of file" */
|
||||
YYerror = 256, /* error */
|
||||
YYUNDEF = 257, /* "invalid token" */
|
||||
EOSTMT = 258, /* EOSTMT */
|
||||
ASSIGNMENT_OP = 259, /* ASSIGNMENT_OP */
|
||||
GARBAGE = 260, /* GARBAGE */
|
||||
CPP_LINE_DIRECTIVE = 261, /* CPP_LINE_DIRECTIVE */
|
||||
CPP_INCLUDE = 262, /* CPP_INCLUDE */
|
||||
F90PPR_INCLUDE = 263, /* F90PPR_INCLUDE */
|
||||
COCO_INCLUDE = 264, /* COCO_INCLUDE */
|
||||
F90PPR_DEFINE = 265, /* F90PPR_DEFINE */
|
||||
CPP_DEFINE = 266, /* CPP_DEFINE */
|
||||
F90PPR_UNDEF = 267, /* F90PPR_UNDEF */
|
||||
CPP_UNDEF = 268, /* CPP_UNDEF */
|
||||
CPP_IFDEF = 269, /* CPP_IFDEF */
|
||||
CPP_IFNDEF = 270, /* CPP_IFNDEF */
|
||||
CPP_IF = 271, /* CPP_IF */
|
||||
CPP_ELSE = 272, /* CPP_ELSE */
|
||||
CPP_ELIF = 273, /* CPP_ELIF */
|
||||
CPP_ENDIF = 274, /* CPP_ENDIF */
|
||||
F90PPR_IFDEF = 275, /* F90PPR_IFDEF */
|
||||
F90PPR_IFNDEF = 276, /* F90PPR_IFNDEF */
|
||||
F90PPR_IF = 277, /* F90PPR_IF */
|
||||
F90PPR_ELSE = 278, /* F90PPR_ELSE */
|
||||
F90PPR_ELIF = 279, /* F90PPR_ELIF */
|
||||
F90PPR_ENDIF = 280, /* F90PPR_ENDIF */
|
||||
COMMA = 281, /* COMMA */
|
||||
COLON = 282, /* COLON */
|
||||
DCOLON = 283, /* DCOLON */
|
||||
LPAREN = 284, /* LPAREN */
|
||||
RPAREN = 285, /* RPAREN */
|
||||
UNTERMINATED_STRING = 286, /* UNTERMINATED_STRING */
|
||||
STRING = 287, /* STRING */
|
||||
WORD = 288, /* WORD */
|
||||
CPP_INCLUDE_ANGLE = 289, /* CPP_INCLUDE_ANGLE */
|
||||
END = 290, /* END */
|
||||
INCLUDE = 291, /* INCLUDE */
|
||||
INTERFACE = 292, /* INTERFACE */
|
||||
MODULE = 293, /* MODULE */
|
||||
SUBMODULE = 294, /* SUBMODULE */
|
||||
USE = 295 /* USE */
|
||||
};
|
||||
typedef enum yytokentype yytoken_kind_t;
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define EOSTMT 258
|
||||
#define ASSIGNMENT_OP 259
|
||||
#define GARBAGE 260
|
||||
#define CPP_LINE_DIRECTIVE 261
|
||||
#define CPP_INCLUDE 262
|
||||
#define F90PPR_INCLUDE 263
|
||||
#define COCO_INCLUDE 264
|
||||
#define F90PPR_DEFINE 265
|
||||
#define CPP_DEFINE 266
|
||||
#define F90PPR_UNDEF 267
|
||||
#define CPP_UNDEF 268
|
||||
#define CPP_IFDEF 269
|
||||
#define CPP_IFNDEF 270
|
||||
#define CPP_IF 271
|
||||
#define CPP_ELSE 272
|
||||
#define CPP_ELIF 273
|
||||
#define CPP_ENDIF 274
|
||||
#define F90PPR_IFDEF 275
|
||||
#define F90PPR_IFNDEF 276
|
||||
#define F90PPR_IF 277
|
||||
#define F90PPR_ELSE 278
|
||||
#define F90PPR_ELIF 279
|
||||
#define F90PPR_ENDIF 280
|
||||
#define COMMA 281
|
||||
#define COLON 282
|
||||
#define DCOLON 283
|
||||
#define LPAREN 284
|
||||
#define RPAREN 285
|
||||
#define UNTERMINATED_STRING 286
|
||||
#define STRING 287
|
||||
#define WORD 288
|
||||
#define CPP_INCLUDE_ANGLE 289
|
||||
#define END 290
|
||||
#define INCLUDE 291
|
||||
#define INTERFACE 292
|
||||
#define MODULE 293
|
||||
#define SUBMODULE 294
|
||||
#define USE 295
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
union YYSTYPE
|
||||
{
|
||||
#line 73 "cmFortranParser.y"
|
||||
#line 71 "cmFortranParser.y"
|
||||
|
||||
char* string;
|
||||
|
||||
#line 141 "cmFortranParserTokens.h"
|
||||
#line 108 "cmFortranParserTokens.h"
|
||||
|
||||
};
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
\${var
|
||||
|
||||
syntax error, unexpected \$end, expecting } \(6\)
|
||||
syntax error, unexpected end of file, expecting } \(6\)
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)$
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
|
||||
\${var
|
||||
|
||||
syntax error, unexpected \$end, expecting } \(6\)
|
||||
syntax error, unexpected end of file, expecting } \(6\)
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)$
|
||||
|
||||
@@ -9,12 +9,12 @@ This warning is for project developers. Use -Wno-dev to suppress it.
|
||||
CMake Error at ParenInENV.cmake:2 \(message\):
|
||||
Syntax error in cmake code at
|
||||
|
||||
.*Tests/RunCMake/Syntax/ParenInENV.cmake:2
|
||||
.*/Tests/RunCMake/Syntax/ParenInENV.cmake:2
|
||||
|
||||
when parsing string
|
||||
|
||||
-->\$ENV{e
|
||||
|
||||
syntax error, unexpected \$end, expecting } \(10\)
|
||||
syntax error, unexpected end of file, expecting } \(10\)
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
||||
@@ -7,6 +7,6 @@ CMake Error at UnterminatedBrace0.cmake:2 \(set\):
|
||||
|
||||
\${
|
||||
|
||||
syntax error, unexpected \$end, expecting } \(3\)
|
||||
syntax error, unexpected end of file, expecting } \(3\)
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
||||
@@ -7,7 +7,7 @@ CMake Warning \(dev\) at UnterminatedBrace1.cmake:3 \(set\):
|
||||
|
||||
\${
|
||||
|
||||
syntax error, unexpected \$end, expecting } \(3\)
|
||||
syntax error, unexpected end of file, expecting } \(3\)
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
This warning is for project developers. Use -Wno-dev to suppress it.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
^CMake Error at MATH-InvalidExpression.cmake:1 \(math\):
|
||||
math cannot parse the expression: "INVALID": syntax error, unexpected \$end
|
||||
\(7\).
|
||||
math cannot parse the expression: "INVALID": syntax error, unexpected end
|
||||
of file \(7\).
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)$
|
||||
|
||||
Reference in New Issue
Block a user