summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceStorm/Grammar.cpp927
-rw-r--r--cpp/src/IceStorm/Grammar.h65
-rw-r--r--cpp/src/Slice/Scanner.cpp967
-rw-r--r--cpp/src/Slice/Scanner.l4
4 files changed, 937 insertions, 1026 deletions
diff --git a/cpp/src/IceStorm/Grammar.cpp b/cpp/src/IceStorm/Grammar.cpp
index 94336b3c320..44d4bd246c6 100644
--- a/cpp/src/IceStorm/Grammar.cpp
+++ b/cpp/src/IceStorm/Grammar.cpp
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 3.0.5. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.0.5"
+#define YYBISON_VERSION "2.7"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -62,7 +62,8 @@
/* Copy the first part of user declarations. */
-#line 1 "src/IceStorm/Grammar.y" /* yacc.c:339 */
+/* Line 371 of yacc.c */
+#line 1 "src/IceStorm/Grammar.y"
// **********************************************************************
@@ -106,13 +107,14 @@ yyerror(const char* s)
}
-#line 110 "src/IceStorm/Grammar.cpp" /* yacc.c:339 */
+/* Line 371 of yacc.c */
+#line 112 "src/IceStorm/Grammar.cpp"
-# ifndef YY_NULLPTR
+# ifndef YY_NULL
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
+# define YY_NULL nullptr
# else
-# define YY_NULLPTR 0
+# define YY_NULL 0
# endif
# endif
@@ -128,7 +130,7 @@ yyerror(const char* s)
by #include "Grammar.hpp". */
#ifndef YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED
# define YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED
-/* Debug traces. */
+/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
@@ -136,42 +138,56 @@ yyerror(const char* s)
extern int yydebug;
#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- ICE_STORM_HELP = 258,
- ICE_STORM_EXIT = 259,
- ICE_STORM_CURRENT = 260,
- ICE_STORM_CREATE = 261,
- ICE_STORM_DESTROY = 262,
- ICE_STORM_LINK = 263,
- ICE_STORM_UNLINK = 264,
- ICE_STORM_LINKS = 265,
- ICE_STORM_TOPICS = 266,
- ICE_STORM_REPLICA = 267,
- ICE_STORM_SUBSCRIBERS = 268,
- ICE_STORM_STRING = 269
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_STORM_HELP = 258,
+ ICE_STORM_EXIT = 259,
+ ICE_STORM_CURRENT = 260,
+ ICE_STORM_CREATE = 261,
+ ICE_STORM_DESTROY = 262,
+ ICE_STORM_LINK = 263,
+ ICE_STORM_UNLINK = 264,
+ ICE_STORM_LINKS = 265,
+ ICE_STORM_TOPICS = 266,
+ ICE_STORM_REPLICA = 267,
+ ICE_STORM_SUBSCRIBERS = 268,
+ ICE_STORM_STRING = 269
+ };
#endif
-/* Value type. */
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED */
/* Copy the second part of user declarations. */
-#line 175 "src/IceStorm/Grammar.cpp" /* yacc.c:358 */
+/* Line 390 of yacc.c */
+#line 191 "src/IceStorm/Grammar.cpp"
#ifdef short
# undef short
@@ -185,8 +201,11 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#else
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -206,7 +225,8 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -228,33 +248,6 @@ typedef short int 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)
-# else
-# define YY_ATTRIBUTE(Spec) /* empty */
-# 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__))
-#endif
-
-#if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
-# else
-# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
@@ -262,26 +255,24 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-#if defined __GNUC__ && 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\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(N) (N)
#else
-# define YY_INITIAL_VALUE(Value) Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+ int yyi;
#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
+{
+ return yyi;
+}
#endif
-
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -299,7 +290,8 @@ typedef short int yytype_int16;
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -311,8 +303,8 @@ typedef short int yytype_int16;
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -328,7 +320,7 @@ typedef short int yytype_int16;
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -336,13 +328,15 @@ typedef short int yytype_int16;
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS
+# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS
+# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -352,7 +346,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -377,16 +371,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
#endif
@@ -405,7 +399,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (0)
+ while (YYID (0))
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -421,19 +415,17 @@ union yyalloc
#define YYNNTS 6
/* YYNRULES -- Number of rules. */
#define YYNRULES 31
-/* YYNSTATES -- Number of states. */
+/* YYNRULES -- Number of states. */
#define YYNSTATES 56
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 269
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -466,7 +458,31 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
- /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const yytype_uint8 yyprhs[] =
+{
+ 0, 0, 3, 5, 6, 9, 11, 14, 17, 21,
+ 25, 29, 33, 37, 41, 45, 49, 53, 57, 60,
+ 62, 65, 68, 69, 71, 73, 75, 77, 79, 81,
+ 83, 85
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int8 yyrhs[] =
+{
+ 17, 0, -1, 18, -1, -1, 18, 19, -1, 19,
+ -1, 3, 15, -1, 4, 15, -1, 6, 20, 15,
+ -1, 5, 20, 15, -1, 7, 20, 15, -1, 8,
+ 20, 15, -1, 9, 20, 15, -1, 10, 20, 15,
+ -1, 11, 20, 15, -1, 12, 20, 15, -1, 13,
+ 20, 15, -1, 14, 1, 15, -1, 1, 15, -1,
+ 15, -1, 14, 20, -1, 21, 20, -1, -1, 3,
+ -1, 4, -1, 5, -1, 6, -1, 7, -1, 8,
+ -1, 9, -1, 10, -1, 11, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] =
{
0, 70, 70, 74, 81, 84, 92, 96, 100, 104,
@@ -486,13 +502,13 @@ static const char *const yytname[] =
"ICE_STORM_LINK", "ICE_STORM_UNLINK", "ICE_STORM_LINKS",
"ICE_STORM_TOPICS", "ICE_STORM_REPLICA", "ICE_STORM_SUBSCRIBERS",
"ICE_STORM_STRING", "';'", "$accept", "start", "commands", "command",
- "strings", "keyword", YY_NULLPTR
+ "strings", "keyword", YY_NULL
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -500,31 +516,27 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-#define YYPACT_NINF -6
-
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-6)))
-
-#define YYTABLE_NINF -4
-
-#define yytable_value_is_error(Yytable_value) \
- 0
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 16, 17, 17, 18, 18, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 20, 20, 20, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21
+};
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-static const yytype_int8 yypact[] =
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
{
- 8, 9, 11, 15, 41, 41, 41, 41, 41, 41,
- 41, 41, 41, 52, -6, 10, 28, -6, -6, -6,
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- 41, 39, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, -6, -6, -6, -6, -6, -6, -6, -6,
- -6, -6, -6, -6, -6, -6
+ 0, 2, 1, 0, 2, 1, 2, 2, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 2, 1,
+ 2, 2, 0, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1
};
- /* 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. */
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
static const yytype_uint8 yydefact[] =
{
0, 0, 0, 0, 22, 22, 22, 22, 22, 22,
@@ -535,21 +547,35 @@ static const yytype_uint8 yydefact[] =
12, 13, 14, 15, 16, 17
};
- /* YYPGOTO[NTERM-NUM]. */
-static const yytype_int8 yypgoto[] =
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
{
- -6, -6, -6, 40, -5, -6
+ -1, 15, 16, 17, 31, 32
};
- /* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int8 yydefgoto[] =
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -6
+static const yytype_int8 yypact[] =
{
- -1, 15, 16, 17, 31, 32
+ 8, 9, 11, 15, 41, 41, 41, 41, 41, 41,
+ 41, 41, 41, 52, -6, 10, 28, -6, -6, -6,
+ -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
+ 41, 39, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, -6, -6, -6, -6, -6, -6, -6, -6,
+ -6, -6, -6, -6, -6, -6
};
- /* 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. */
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int8 yypgoto[] =
+{
+ -6, -6, -6, 40, -5, -6
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -4
static const yytype_int8 yytable[] =
{
33, 34, 35, 36, 37, 38, 39, 40, -3, 1,
@@ -561,6 +587,12 @@ static const yytype_int8 yytable[] =
50, 51, 52, 53, 54, 55
};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-6)))
+
+#define yytable_value_is_error(Yytable_value) \
+ YYID (0)
+
static const yytype_uint8 yycheck[] =
{
5, 6, 7, 8, 9, 10, 11, 12, 0, 1,
@@ -572,8 +604,8 @@ static const yytype_uint8 yycheck[] =
15, 15, 15, 15, 15, 15
};
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 1, 3, 4, 5, 6, 7, 8, 9, 10,
@@ -584,34 +616,30 @@ static const yytype_uint8 yystos[] =
15, 15, 15, 15, 15, 15
};
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 16, 17, 17, 18, 18, 19, 19, 19, 19,
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 20, 20, 20, 21, 21, 21, 21, 21, 21, 21,
- 21, 21
-};
-
- /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 1, 0, 2, 1, 2, 2, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 2, 1,
- 2, 2, 0, 1, 1, 1, 1, 1, 1, 1,
- 1, 1
-};
-
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. However,
+ YYFAIL appears to be in use. Nevertheless, it is formally deprecated
+ in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+ discussed. */
+
+#define YYFAIL goto yyerrlab
+#if defined YYFAIL
+ /* This is here to suppress warnings from the GCC cpp's
+ -Wunused-macros. Normally we don't worry about that warning, but
+ some users do, and we want to make it easy for users to remove
+ YYFAIL uses, which will produce warnings from Bison 2.5. */
+#endif
#define YYRECOVERING() (!!yyerrstatus)
@@ -628,15 +656,27 @@ do \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
+ YYERROR; \
+ } \
+while (YYID (0))
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
+#define YYTERROR 1
+#define YYERRCODE 256
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
/* Enable debugging if requested. */
#if YYDEBUG
@@ -646,36 +686,40 @@ while (0)
# define YYFPRINTF fprintf
# endif
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
-
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (YYID (0))
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (YYID (0))
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
@@ -684,8 +728,14 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
# endif
- YYUSE (yytype);
+ switch (yytype)
+ {
+ default:
+ break;
+ }
}
@@ -693,11 +743,22 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
{
- YYFPRINTF (yyoutput, "%s %s (",
- yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
yy_symbol_value_print (yyoutput, yytype, yyvaluep);
YYFPRINTF (yyoutput, ")");
@@ -708,8 +769,16 @@ yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
| TOP (included). |
`------------------------------------------------------------------*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
+#endif
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -720,42 +789,49 @@ yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (0)
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (YYID (0))
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
-yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+ YYSTYPE *yyvsp;
+ int yyrule;
+#endif
{
- unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
+ unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
+ 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)])
- );
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, Rule); \
-} while (0)
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -769,7 +845,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -792,8 +868,15 @@ int yydebug;
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+ const char *yystr;
+#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
@@ -809,8 +892,16 @@ yystrlen (const char *yystr)
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+#endif
{
char *yyd = yydest;
const char *yys = yysrc;
@@ -840,27 +931,27 @@ yytnamerr (char *yyres, const char *yystr)
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -883,11 +974,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
- const char *yyformat = YY_NULLPTR;
+ const char *yyformat = YY_NULL;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@@ -895,6 +986,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
int yycount = 0;
/* There are many possibilities here to consider:
+ - Assume YYFAIL is not used. It's too flawed to consider. See
+ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
+ for details. YYERROR is fine as it does not invoke this
+ function.
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
@@ -944,7 +1039,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@@ -960,7 +1055,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
case N: \
yyformat = S; \
break
- default: /* Avoid compiler warnings. */
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -1012,17 +1106,31 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
{
YYUSE (yyvaluep);
+
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- YYUSE (yytype);
- YY_IGNORE_MAYBE_UNINITIALIZED_END
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
}
@@ -1032,18 +1140,56 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
| yyparse. |
`----------*/
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
int
yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
{
/* The lookahead symbol. */
int yychar;
-/* The semantic value of the lookahead symbol. */
+#if defined __GNUC__ && 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\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
+#else
/* Default value used for initialization, for pacifying older GCCs
or non-GCC compilers. */
-YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
-YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
+static YYSTYPE yyval_default;
+# define YY_INITIAL_VALUE(Value) = Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
/* Number of syntax errors so far. */
int yynerrs;
@@ -1053,8 +1199,8 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
int yyerrstatus;
/* The stacks and their tools:
- 'yyss': related to states.
- 'yyvs': related to semantic values.
+ `yyss': related to states.
+ `yyvs': related to semantic values.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -1122,23 +1268,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
#ifdef 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. */
- 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),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ 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),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -1146,22 +1292,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -1170,10 +1316,10 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -1202,7 +1348,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = yylex (&yylval);
+ yychar = YYLEX;
}
if (yychar <= YYEOF)
@@ -1267,7 +1413,7 @@ yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'.
+ `$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
@@ -1281,235 +1427,236 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 71 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 71 "src/IceStorm/Grammar.y"
{
}
-#line 1288 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 3:
-#line 74 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 74 "src/IceStorm/Grammar.y"
{
}
-#line 1295 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 4:
-#line 82 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 82 "src/IceStorm/Grammar.y"
{
}
-#line 1302 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 5:
-#line 85 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 85 "src/IceStorm/Grammar.y"
{
}
-#line 1309 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 6:
-#line 93 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 93 "src/IceStorm/Grammar.y"
{
parser->usage();
}
-#line 1317 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 7:
-#line 97 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 97 "src/IceStorm/Grammar.y"
{
return 0;
}
-#line 1325 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 8:
-#line 101 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 101 "src/IceStorm/Grammar.y"
{
- parser->create((yyvsp[-1]));
+ parser->create((yyvsp[(2) - (3)]));
}
-#line 1333 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 9:
-#line 105 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 105 "src/IceStorm/Grammar.y"
{
- parser->current((yyvsp[-1]));
+ parser->current((yyvsp[(2) - (3)]));
}
-#line 1341 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 10:
-#line 109 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 109 "src/IceStorm/Grammar.y"
{
- parser->destroy((yyvsp[-1]));
+ parser->destroy((yyvsp[(2) - (3)]));
}
-#line 1349 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 11:
-#line 113 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 113 "src/IceStorm/Grammar.y"
{
- parser->link((yyvsp[-1]));
+ parser->link((yyvsp[(2) - (3)]));
}
-#line 1357 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 12:
-#line 117 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 117 "src/IceStorm/Grammar.y"
{
- parser->unlink((yyvsp[-1]));
+ parser->unlink((yyvsp[(2) - (3)]));
}
-#line 1365 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 13:
-#line 121 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 121 "src/IceStorm/Grammar.y"
{
- parser->links((yyvsp[-1]));
+ parser->links((yyvsp[(2) - (3)]));
}
-#line 1373 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 14:
-#line 125 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 125 "src/IceStorm/Grammar.y"
{
- parser->topics((yyvsp[-1]));
+ parser->topics((yyvsp[(2) - (3)]));
}
-#line 1381 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 15:
-#line 129 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 129 "src/IceStorm/Grammar.y"
{
- parser->replica((yyvsp[-1]));
+ parser->replica((yyvsp[(2) - (3)]));
}
-#line 1389 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 16:
-#line 133 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 133 "src/IceStorm/Grammar.y"
{
- parser->subscribers((yyvsp[-1]));
+ parser->subscribers((yyvsp[(2) - (3)]));
}
-#line 1397 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 17:
-#line 137 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 137 "src/IceStorm/Grammar.y"
{
- parser->invalidCommand("unknown command `" + (yyvsp[-2]).front() + "' (type `help' for more info)");
+ parser->invalidCommand("unknown command `" + (yyvsp[(1) - (3)]).front() + "' (type `help' for more info)");
}
-#line 1405 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 18:
-#line 141 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 141 "src/IceStorm/Grammar.y"
{
yyerrok;
}
-#line 1413 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 19:
-#line 145 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 145 "src/IceStorm/Grammar.y"
{
}
-#line 1420 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 20:
-#line 153 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 153 "src/IceStorm/Grammar.y"
{
- (yyval) = (yyvsp[0]);
- (yyval).push_front((yyvsp[-1]).front());
+ (yyval) = (yyvsp[(2) - (2)]);
+ (yyval).push_front((yyvsp[(1) - (2)]).front());
}
-#line 1429 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 21:
-#line 158 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 158 "src/IceStorm/Grammar.y"
{
- (yyval) = (yyvsp[0]);
- (yyval).push_front((yyvsp[-1]).front());
+ (yyval) = (yyvsp[(2) - (2)]);
+ (yyval).push_front((yyvsp[(1) - (2)]).front());
}
-#line 1438 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 22:
-#line 163 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 163 "src/IceStorm/Grammar.y"
{
(yyval) = YYSTYPE();
}
-#line 1446 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 23:
-#line 172 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 172 "src/IceStorm/Grammar.y"
{
}
-#line 1453 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 24:
-#line 175 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 175 "src/IceStorm/Grammar.y"
{
}
-#line 1460 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 25:
-#line 178 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 178 "src/IceStorm/Grammar.y"
{
}
-#line 1467 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 26:
-#line 181 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 181 "src/IceStorm/Grammar.y"
{
}
-#line 1474 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 27:
-#line 184 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 184 "src/IceStorm/Grammar.y"
{
}
-#line 1481 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 28:
-#line 187 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 187 "src/IceStorm/Grammar.y"
{
}
-#line 1488 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 29:
-#line 190 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 190 "src/IceStorm/Grammar.y"
{
}
-#line 1495 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 30:
-#line 193 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 193 "src/IceStorm/Grammar.y"
{
}
-#line 1502 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
case 31:
-#line 196 "src/IceStorm/Grammar.y" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 196 "src/IceStorm/Grammar.y"
{
}
-#line 1509 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
break;
-#line 1513 "src/IceStorm/Grammar.cpp" /* yacc.c:1648 */
+/* Line 1792 of yacc.c */
+#line 1660 "src/IceStorm/Grammar.cpp"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -1531,7 +1678,7 @@ yyreduce:
*++yyvsp = yyval;
- /* Now 'shift' the result of the reduction. Determine what state
+ /* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -1546,9 +1693,9 @@ yyreduce:
goto yynewstate;
-/*--------------------------------------.
-| yyerrlab -- here on detecting error. |
-`--------------------------------------*/
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
@@ -1599,20 +1746,20 @@ yyerrlab:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -1631,7 +1778,7 @@ yyerrorlab:
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
- /* Do not reclaim the symbols of the rule whose action triggered
+ /* Do not reclaim the symbols of the rule which action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
@@ -1644,29 +1791,29 @@ yyerrorlab:
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
- YYABORT;
+ YYABORT;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp);
+ yystos[yystate], yyvsp);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -1717,14 +1864,14 @@ yyreturn:
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
}
- /* Do not reclaim the symbols of the rule whose action triggered
+ /* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
+ yystos[*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -1735,7 +1882,11 @@ yyreturn:
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- return yyresult;
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
}
-#line 199 "src/IceStorm/Grammar.y" /* yacc.c:1907 */
+
+
+/* Line 2055 of yacc.c */
+#line 199 "src/IceStorm/Grammar.y"
diff --git a/cpp/src/IceStorm/Grammar.h b/cpp/src/IceStorm/Grammar.h
index d6cafff0c42..0fa1457e828 100644
--- a/cpp/src/IceStorm/Grammar.h
+++ b/cpp/src/IceStorm/Grammar.h
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 3.0.5. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,13 +26,13 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#ifndef YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED
# define YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED
-/* Debug traces. */
+/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
@@ -40,35 +40,48 @@
extern int yydebug;
#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- ICE_STORM_HELP = 258,
- ICE_STORM_EXIT = 259,
- ICE_STORM_CURRENT = 260,
- ICE_STORM_CREATE = 261,
- ICE_STORM_DESTROY = 262,
- ICE_STORM_LINK = 263,
- ICE_STORM_UNLINK = 264,
- ICE_STORM_LINKS = 265,
- ICE_STORM_TOPICS = 266,
- ICE_STORM_REPLICA = 267,
- ICE_STORM_SUBSCRIBERS = 268,
- ICE_STORM_STRING = 269
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_STORM_HELP = 258,
+ ICE_STORM_EXIT = 259,
+ ICE_STORM_CURRENT = 260,
+ ICE_STORM_CREATE = 261,
+ ICE_STORM_DESTROY = 262,
+ ICE_STORM_LINK = 263,
+ ICE_STORM_UNLINK = 264,
+ ICE_STORM_LINKS = 265,
+ ICE_STORM_TOPICS = 266,
+ ICE_STORM_REPLICA = 267,
+ ICE_STORM_SUBSCRIBERS = 268,
+ ICE_STORM_STRING = 269
+ };
#endif
-/* Value type. */
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED */
diff --git a/cpp/src/Slice/Scanner.cpp b/cpp/src/Slice/Scanner.cpp
index 3c274219ac2..ece12353a4d 100644
--- a/cpp/src/Slice/Scanner.cpp
+++ b/cpp/src/Slice/Scanner.cpp
@@ -1,7 +1,7 @@
#include <IceUtil/ScannerConfig.h>
-#line 1 "src/Slice/Scanner.cpp"
+#line 2 "src/Slice/Scanner.cpp"
-#line 3 "src/Slice/Scanner.cpp"
+#line 4 "src/Slice/Scanner.cpp"
#define YY_INT_ALIGNED short int
@@ -9,17 +9,11 @@
#define yy_create_buffer slice__create_buffer
#define yy_delete_buffer slice__delete_buffer
-#define yy_scan_buffer slice__scan_buffer
-#define yy_scan_string slice__scan_string
-#define yy_scan_bytes slice__scan_bytes
+#define yy_flex_debug slice__flex_debug
#define yy_init_buffer slice__init_buffer
#define yy_flush_buffer slice__flush_buffer
#define yy_load_buffer_state slice__load_buffer_state
#define yy_switch_to_buffer slice__switch_to_buffer
-#define yypush_buffer_state slice_push_buffer_state
-#define yypop_buffer_state slice_pop_buffer_state
-#define yyensure_buffer_stack slice_ensure_buffer_stack
-#define yy_flex_debug slice__flex_debug
#define yyin slice_in
#define yyleng slice_leng
#define yylex slice_lex
@@ -34,246 +28,12 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 4
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
-#ifdef yy_create_buffer
-#define slice__create_buffer_ALREADY_DEFINED
-#else
-#define yy_create_buffer slice__create_buffer
-#endif
-
-#ifdef yy_delete_buffer
-#define slice__delete_buffer_ALREADY_DEFINED
-#else
-#define yy_delete_buffer slice__delete_buffer
-#endif
-
-#ifdef yy_scan_buffer
-#define slice__scan_buffer_ALREADY_DEFINED
-#else
-#define yy_scan_buffer slice__scan_buffer
-#endif
-
-#ifdef yy_scan_string
-#define slice__scan_string_ALREADY_DEFINED
-#else
-#define yy_scan_string slice__scan_string
-#endif
-
-#ifdef yy_scan_bytes
-#define slice__scan_bytes_ALREADY_DEFINED
-#else
-#define yy_scan_bytes slice__scan_bytes
-#endif
-
-#ifdef yy_init_buffer
-#define slice__init_buffer_ALREADY_DEFINED
-#else
-#define yy_init_buffer slice__init_buffer
-#endif
-
-#ifdef yy_flush_buffer
-#define slice__flush_buffer_ALREADY_DEFINED
-#else
-#define yy_flush_buffer slice__flush_buffer
-#endif
-
-#ifdef yy_load_buffer_state
-#define slice__load_buffer_state_ALREADY_DEFINED
-#else
-#define yy_load_buffer_state slice__load_buffer_state
-#endif
-
-#ifdef yy_switch_to_buffer
-#define slice__switch_to_buffer_ALREADY_DEFINED
-#else
-#define yy_switch_to_buffer slice__switch_to_buffer
-#endif
-
-#ifdef yypush_buffer_state
-#define slice_push_buffer_state_ALREADY_DEFINED
-#else
-#define yypush_buffer_state slice_push_buffer_state
-#endif
-
-#ifdef yypop_buffer_state
-#define slice_pop_buffer_state_ALREADY_DEFINED
-#else
-#define yypop_buffer_state slice_pop_buffer_state
-#endif
-
-#ifdef yyensure_buffer_stack
-#define slice_ensure_buffer_stack_ALREADY_DEFINED
-#else
-#define yyensure_buffer_stack slice_ensure_buffer_stack
-#endif
-
-#ifdef yylex
-#define slice_lex_ALREADY_DEFINED
-#else
-#define yylex slice_lex
-#endif
-
-#ifdef yyrestart
-#define slice_restart_ALREADY_DEFINED
-#else
-#define yyrestart slice_restart
-#endif
-
-#ifdef yylex_init
-#define slice_lex_init_ALREADY_DEFINED
-#else
-#define yylex_init slice_lex_init
-#endif
-
-#ifdef yylex_init_extra
-#define slice_lex_init_extra_ALREADY_DEFINED
-#else
-#define yylex_init_extra slice_lex_init_extra
-#endif
-
-#ifdef yylex_destroy
-#define slice_lex_destroy_ALREADY_DEFINED
-#else
-#define yylex_destroy slice_lex_destroy
-#endif
-
-#ifdef yyget_debug
-#define slice_get_debug_ALREADY_DEFINED
-#else
-#define yyget_debug slice_get_debug
-#endif
-
-#ifdef yyset_debug
-#define slice_set_debug_ALREADY_DEFINED
-#else
-#define yyset_debug slice_set_debug
-#endif
-
-#ifdef yyget_extra
-#define slice_get_extra_ALREADY_DEFINED
-#else
-#define yyget_extra slice_get_extra
-#endif
-
-#ifdef yyset_extra
-#define slice_set_extra_ALREADY_DEFINED
-#else
-#define yyset_extra slice_set_extra
-#endif
-
-#ifdef yyget_in
-#define slice_get_in_ALREADY_DEFINED
-#else
-#define yyget_in slice_get_in
-#endif
-
-#ifdef yyset_in
-#define slice_set_in_ALREADY_DEFINED
-#else
-#define yyset_in slice_set_in
-#endif
-
-#ifdef yyget_out
-#define slice_get_out_ALREADY_DEFINED
-#else
-#define yyget_out slice_get_out
-#endif
-
-#ifdef yyset_out
-#define slice_set_out_ALREADY_DEFINED
-#else
-#define yyset_out slice_set_out
-#endif
-
-#ifdef yyget_leng
-#define slice_get_leng_ALREADY_DEFINED
-#else
-#define yyget_leng slice_get_leng
-#endif
-
-#ifdef yyget_text
-#define slice_get_text_ALREADY_DEFINED
-#else
-#define yyget_text slice_get_text
-#endif
-
-#ifdef yyget_lineno
-#define slice_get_lineno_ALREADY_DEFINED
-#else
-#define yyget_lineno slice_get_lineno
-#endif
-
-#ifdef yyset_lineno
-#define slice_set_lineno_ALREADY_DEFINED
-#else
-#define yyset_lineno slice_set_lineno
-#endif
-
-#ifdef yywrap
-#define slice_wrap_ALREADY_DEFINED
-#else
-#define yywrap slice_wrap
-#endif
-
-#ifdef yyalloc
-#define slice_alloc_ALREADY_DEFINED
-#else
-#define yyalloc slice_alloc
-#endif
-
-#ifdef yyrealloc
-#define slice_realloc_ALREADY_DEFINED
-#else
-#define yyrealloc slice_realloc
-#endif
-
-#ifdef yyfree
-#define slice_free_ALREADY_DEFINED
-#else
-#define yyfree slice_free
-#endif
-
-#ifdef yytext
-#define slice_text_ALREADY_DEFINED
-#else
-#define yytext slice_text
-#endif
-
-#ifdef yyleng
-#define slice_leng_ALREADY_DEFINED
-#else
-#define yyleng slice_leng
-#endif
-
-#ifdef yyin
-#define slice_in_ALREADY_DEFINED
-#else
-#define yyin slice_in
-#endif
-
-#ifdef yyout
-#define slice_out_ALREADY_DEFINED
-#else
-#define yyout slice_out
-#endif
-
-#ifdef yy_flex_debug
-#define slice__flex_debug_ALREADY_DEFINED
-#else
-#define yy_flex_debug slice__flex_debug
-#endif
-
-#ifdef yylineno
-#define slice_lineno_ALREADY_DEFINED
-#else
-#define yylineno slice_lineno
-#endif
-
/* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */
@@ -314,6 +74,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@@ -344,61 +105,63 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
-#ifndef SIZE_MAX
-#define SIZE_MAX (~(size_t)0)
-#endif
+#endif /* ! FLEXINT_H */
-#endif /* ! C99 */
+#ifdef __cplusplus
-#endif /* ! FLEXINT_H */
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
-/* begin standard C++ headers. */
+#else /* ! __cplusplus */
-/* TODO: this is always defined, so inline it */
-#define yyconst const
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
-#if defined(__GNUC__) && __GNUC__ >= 3
-#define yynoreturn __attribute__((__noreturn__))
+#endif /* defined (__STDC__) */
+#endif /* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
#else
-#define yynoreturn
+#define yyconst
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
-/* Promotes a possibly negative, possibly signed char to an
- * integer in range [0..255] for use as an array index.
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
*/
-#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
/* Enter a start condition. This macro really ought to take a parameter,
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
#define BEGIN (yy_start) = 1 + 2 *
+
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
+
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
+#define YY_NEW_FILE slice_restart(slice_in )
+
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
#define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -410,37 +173,37 @@ typedef unsigned int flex_uint32_t;
typedef struct yy_buffer_state *YY_BUFFER_STATE;
#endif
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern int yyleng;
+extern int slice_leng;
-extern FILE *yyin, *yyout;
+extern FILE *slice_in, *slice_out;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
#define YY_LESS_LINENO(n)
- #define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up yytext. */ \
+ /* Undo effects of setting up slice_text. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ YY_DO_BEFORE_ACTION; /* set up slice_text again */ \
} \
while ( 0 )
+
#define unput(c) yyunput( c, (yytext_ptr) )
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
#ifndef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state
@@ -453,7 +216,7 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- int yy_buf_size;
+ yy_size_t yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
@@ -481,7 +244,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
@@ -498,8 +261,8 @@ struct yy_buffer_state
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
- * (via yyrestart()), so that the user can continue scanning by
- * just pointing yyin at a new input file.
+ * (via slice_restart()), so that the user can continue scanning by
+ * just pointing slice_in at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
@@ -509,7 +272,7 @@ struct yy_buffer_state
/* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
@@ -520,101 +283,106 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)
+
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-/* yy_hold_char holds the character lost when yytext is formed. */
+/* yy_hold_char holds the character lost when slice_text is formed. */
static char yy_hold_char;
static int yy_n_chars; /* number of characters read into yy_ch_buf */
-int yyleng;
+int slice_leng;
/* Points to current character in buffer. */
-static char *yy_c_buf_p = NULL;
+static char *yy_c_buf_p = (char *) 0;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin. A bit of a hack ...
+/* Flag which is used to allow slice_wrap()'s to do buffer switches
+ * instead of setting up a fresh slice_in. A bit of a hack ...
*/
static int yy_did_buffer_switch_on_eof;
-void yyrestart ( FILE *input_file );
-void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
-YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
-void yy_delete_buffer ( YY_BUFFER_STATE b );
-void yy_flush_buffer ( YY_BUFFER_STATE b );
-void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
-void yypop_buffer_state ( void );
+void slice_restart (FILE *input_file );
+void slice__switch_to_buffer (YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE slice__create_buffer (FILE *file,int size );
+void slice__delete_buffer (YY_BUFFER_STATE b );
+void slice__flush_buffer (YY_BUFFER_STATE b );
+void slice_push_buffer_state (YY_BUFFER_STATE new_buffer );
+void slice_pop_buffer_state (void );
+
+static void slice_ensure_buffer_stack (void );
+static void slice__load_buffer_state (void );
+static void slice__init_buffer (YY_BUFFER_STATE b,FILE *file );
-static void yyensure_buffer_stack ( void );
-static void yy_load_buffer_state ( void );
-static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
-#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
+#define YY_FLUSH_BUFFER slice__flush_buffer(YY_CURRENT_BUFFER )
-YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
-YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
+YY_BUFFER_STATE slice__scan_buffer (char *base,yy_size_t size );
+YY_BUFFER_STATE slice__scan_string (yyconst char *yy_str );
+YY_BUFFER_STATE slice__scan_bytes (yyconst char *bytes,int len );
-void *yyalloc ( yy_size_t );
-void *yyrealloc ( void *, yy_size_t );
-void yyfree ( void * );
+void *slice_alloc (yy_size_t );
+void *slice_realloc (void *,yy_size_t );
+void slice_free (void * );
+
+#define yy_new_buffer slice__create_buffer
-#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
- yyensure_buffer_stack (); \
+ slice_ensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ slice__create_buffer(slice_in,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
+
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
- yyensure_buffer_stack (); \
+ slice_ensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ slice__create_buffer(slice_in,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
+
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
-#define slice_wrap() (/*CONSTCOND*/1)
+#define slice_wrap(n) 1
#define YY_SKIP_YYWRAP
-typedef flex_uint8_t YY_CHAR;
-FILE *yyin = NULL, *yyout = NULL;
+typedef unsigned char YY_CHAR;
+
+FILE *slice_in = (FILE *) 0, *slice_out = (FILE *) 0;
typedef int yy_state_type;
-extern int yylineno;
-int yylineno = 1;
+extern int slice_lineno;
-extern char *yytext;
-#ifdef yytext_ptr
-#undef yytext_ptr
-#endif
-#define yytext_ptr yytext
+int slice_lineno = 1;
+
+extern char *slice_text;
+#define yytext_ptr slice_text
-static yy_state_type yy_get_previous_state ( void );
-static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
-static int yy_get_next_buffer ( void );
-static void yynoreturn yy_fatal_error ( const char* msg );
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[] );
/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
+ * corresponding action - sets up slice_text.
*/
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
- yyleng = (int) (yy_cp - yy_bp); \
+ slice_leng = (size_t) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
+
#define YY_NUM_RULES 19
#define YY_END_OF_BUFFER 20
/* This struct is not used in this scanner,
@@ -624,7 +392,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[76] =
+static yyconst flex_int16_t yy_accept[76] =
{ 0,
0, 0, 0, 0, 0, 0, 20, 18, 16, 16,
13, 18, 18, 18, 14, 14, 18, 12, 7, 18,
@@ -636,7 +404,7 @@ static const flex_int16_t yy_accept[76] =
0, 0, 0, 4, 0
} ;
-static const YY_CHAR yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
@@ -668,7 +436,7 @@ static const YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static const YY_CHAR yy_meta[32] =
+static yyconst flex_int32_t yy_meta[32] =
{ 0,
1, 2, 3, 1, 1, 1, 1, 1, 4, 4,
1, 1, 5, 5, 5, 1, 6, 6, 6, 7,
@@ -676,7 +444,7 @@ static const YY_CHAR yy_meta[32] =
1
} ;
-static const flex_int16_t yy_base[87] =
+static yyconst flex_int16_t yy_base[87] =
{ 0,
0, 140, 0, 26, 0, 139, 137, 197, 197, 197,
197, 22, 25, 33, 47, 35, 120, 74, 114, 0,
@@ -689,7 +457,7 @@ static const flex_int16_t yy_base[87] =
155, 160, 168, 175, 180, 188
} ;
-static const flex_int16_t yy_def[87] =
+static yyconst flex_int16_t yy_def[87] =
{ 0,
75, 1, 1, 1, 1, 1, 75, 75, 75, 75,
75, 75, 75, 75, 75, 15, 75, 75, 75, 76,
@@ -702,7 +470,7 @@ static const flex_int16_t yy_def[87] =
75, 75, 75, 75, 75, 75
} ;
-static const flex_int16_t yy_nxt[229] =
+static yyconst flex_int16_t yy_nxt[229] =
{ 0,
8, 9, 10, 9, 11, 8, 8, 8, 12, 12,
13, 14, 15, 16, 16, 17, 18, 18, 18, 18,
@@ -731,7 +499,7 @@ static const flex_int16_t yy_nxt[229] =
75, 75, 75, 75, 75, 75, 75, 75
} ;
-static const flex_int16_t yy_chk[229] =
+static yyconst flex_int16_t yy_chk[229] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -763,8 +531,8 @@ static const flex_int16_t yy_chk[229] =
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
+extern int slice__flex_debug;
+int slice__flex_debug = 0;
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
@@ -773,7 +541,7 @@ int yy_flex_debug = 0;
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
+char *slice_text;
#line 1 "src/Slice/Scanner.l"
#line 2 "src/Slice/Scanner.l"
@@ -852,9 +620,9 @@ int checkIdentifier(string&);
#define YY_USER_INIT initScanner();
-#line 854 "src/Slice/Scanner.cpp"
-#line 856 "src/Slice/Scanner.cpp"
+
+#line 625 "src/Slice/Scanner.cpp"
#define INITIAL 0
#define BOMSCAN 1
@@ -872,36 +640,36 @@ int checkIdentifier(string&);
#define YY_EXTRA_TYPE void *
#endif
-static int yy_init_globals ( void );
+static int yy_init_globals (void );
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int yylex_destroy ( void );
+int slice_lex_destroy (void );
-int yyget_debug ( void );
+int slice_get_debug (void );
-void yyset_debug ( int debug_flag );
+void slice_set_debug (int debug_flag );
-YY_EXTRA_TYPE yyget_extra ( void );
+YY_EXTRA_TYPE slice_get_extra (void );
-void yyset_extra ( YY_EXTRA_TYPE user_defined );
+void slice_set_extra (YY_EXTRA_TYPE user_defined );
-FILE *yyget_in ( void );
+FILE *slice_get_in (void );
-void yyset_in ( FILE * _in_str );
+void slice_set_in (FILE * in_str );
-FILE *yyget_out ( void );
+FILE *slice_get_out (void );
-void yyset_out ( FILE * _out_str );
+void slice_set_out (FILE * out_str );
- int yyget_leng ( void );
+int slice_get_leng (void );
-char *yyget_text ( void );
+char *slice_get_text (void );
-int yyget_lineno ( void );
+int slice_get_lineno (void );
-void yyset_lineno ( int _line_number );
+void slice_set_lineno (int line_number );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -909,43 +677,35 @@ void yyset_lineno ( int _line_number );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap ( void );
+extern "C" int slice_wrap (void );
#else
-extern int yywrap ( void );
+extern int slice_wrap (void );
#endif
#endif
-#ifndef YY_NO_UNPUT
+ static void yyunput (int c,char *buf_ptr );
- static void yyunput ( int c, char *buf_ptr );
-
-#endif
-
#ifndef yytext_ptr
-static void yy_flex_strncpy ( char *, const char *, int );
+static void yy_flex_strncpy (char *,yyconst char *,int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen ( const char * );
+static int yy_flex_strlen (yyconst char * );
#endif
#ifndef YY_NO_INPUT
+
#ifdef __cplusplus
-static int yyinput ( void );
+static int yyinput (void );
#else
-static int input ( void );
+static int input (void );
#endif
#endif
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
#define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
@@ -953,7 +713,7 @@ static int input ( void );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
+#define ECHO do { if (fwrite( slice_text, slice_leng, 1, slice_out )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -964,20 +724,20 @@ static int input ( void );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- int n; \
+ unsigned n; \
for ( n = 0; n < max_size && \
- (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ (c = getc( slice_in )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
- if ( c == EOF && ferror( yyin ) ) \
+ if ( c == EOF && ferror( slice_in ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else \
{ \
errno=0; \
- while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
+ while ( (result = fread(buf, 1, max_size, slice_in))==0 && ferror(slice_in)) \
{ \
if( errno != EINTR) \
{ \
@@ -985,7 +745,7 @@ static int input ( void );
break; \
} \
errno=0; \
- clearerr(yyin); \
+ clearerr(slice_in); \
} \
}\
\
@@ -1018,12 +778,12 @@ static int input ( void );
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
-extern int yylex (void);
+extern int slice_lex (void);
-#define YY_DECL int yylex (void)
+#define YY_DECL int slice_lex (void)
#endif /* !YY_DECL */
-/* Code executed at the beginning of each rule, after yytext and yyleng
+/* Code executed at the beginning of each rule, after slice_text and slice_leng
* have been set up.
*/
#ifndef YY_USER_ACTION
@@ -1032,23 +792,28 @@ extern int yylex (void);
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
-#define YY_BREAK /*LINTED*/break;
+#define YY_BREAK break;
#endif
#define YY_RULE_SETUP \
- if ( yyleng > 0 ) \
+ if ( slice_leng > 0 ) \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
- (yytext[yyleng - 1] == '\n'); \
+ (slice_text[slice_leng - 1] == '\n'); \
YY_USER_ACTION
/** The main scanner function which does all the work.
*/
YY_DECL
{
- yy_state_type yy_current_state;
- char *yy_cp, *yy_bp;
- int yy_act;
+ register yy_state_type yy_current_state;
+ register char *yy_cp, *yy_bp;
+ register int yy_act;
+#line 93 "src/Slice/Scanner.l"
+
+
+#line 815 "src/Slice/Scanner.cpp"
+
if ( !(yy_init) )
{
(yy_init) = 1;
@@ -1060,32 +825,26 @@ YY_DECL
if ( ! (yy_start) )
(yy_start) = 1; /* first start state */
- if ( ! yyin )
- yyin = stdin;
+ if ( ! slice_in )
+ slice_in = stdin;
- if ( ! yyout )
- yyout = stdout;
+ if ( ! slice_out )
+ slice_out = stdout;
if ( ! YY_CURRENT_BUFFER ) {
- yyensure_buffer_stack ();
+ slice_ensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer( yyin, YY_BUF_SIZE );
+ slice__create_buffer(slice_in,YY_BUF_SIZE );
}
- yy_load_buffer_state( );
+ slice__load_buffer_state( );
}
- {
-#line 93 "src/Slice/Scanner.l"
-
-
-#line 1081 "src/Slice/Scanner.cpp"
-
- while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
+ while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = (yy_c_buf_p);
- /* Support of yytext. */
+ /* Support of slice_text. */
*yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
@@ -1098,7 +857,7 @@ YY_DECL
yy_match:
do
{
- YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -1108,9 +867,9 @@ yy_match:
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 76 )
- yy_c = yy_meta[yy_c];
+ yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 75 );
@@ -1134,13 +893,13 @@ do_action: /* This label is used only to access EOF actions. */
goto yy_find_action;
case 1:
-*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+*yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
(yy_c_buf_p) = yy_cp -= 1;
-YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_DO_BEFORE_ACTION; /* set up slice_text again */
YY_RULE_SETUP
#line 95 "src/Slice/Scanner.l"
{
- if(unit->scanPosition(yytext))
+ if(unit->scanPosition(slice_text))
{
BEGIN(BOMSCAN);
}
@@ -1148,27 +907,26 @@ YY_RULE_SETUP
YY_BREAK
case 2:
/* rule 2 can match eol */
-*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
-YY_LINENO_REWIND_TO(yy_cp - 1);
+*yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
(yy_c_buf_p) = yy_cp -= 1;
-YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_DO_BEFORE_ACTION; /* set up slice_text again */
YY_RULE_SETUP
#line 102 "src/Slice/Scanner.l"
{
- if(unit->scanPosition(yytext))
+ if(unit->scanPosition(slice_text))
{
BEGIN(BOMSCAN);
}
}
YY_BREAK
case 3:
-*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+*yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
(yy_c_buf_p) = yy_cp -= 1;
-YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_DO_BEFORE_ACTION; /* set up slice_text again */
YY_RULE_SETUP
#line 109 "src/Slice/Scanner.l"
{
- if(unit->scanPosition(yytext))
+ if(unit->scanPosition(slice_text))
{
BEGIN(BOMSCAN);
}
@@ -1176,14 +934,13 @@ YY_RULE_SETUP
YY_BREAK
case 4:
/* rule 4 can match eol */
-*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
-YY_LINENO_REWIND_TO(yy_cp - 1);
+*yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
(yy_c_buf_p) = yy_cp -= 1;
-YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_DO_BEFORE_ACTION; /* set up slice_text again */
YY_RULE_SETUP
#line 116 "src/Slice/Scanner.l"
{
- if(unit->scanPosition(yytext))
+ if(unit->scanPosition(slice_text))
{
BEGIN(BOMSCAN);
}
@@ -1213,7 +970,7 @@ YY_RULE_SETUP
{
// C-style comment
BEGIN(MAINSCAN);
- string comment = yytext + 2;
+ string comment = slice_text + 2;
while(true)
{
int c = yyinput();
@@ -1290,10 +1047,10 @@ YY_RULE_SETUP
{
BEGIN(MAINSCAN);
StringTokPtr ident = new StringTok;
- ident->v = *yytext == '\\' ? yytext + 1 : yytext;
+ ident->v = *slice_text == '\\' ? slice_text + 1 : slice_text;
ident->v.erase(ident->v.find_first_of(" \t\v\n\r\f("));
*yylvalp = ident;
- if(*yytext == '\\')
+ if(*slice_text == '\\')
{
if(checkIdentifier(ident->v) == ICE_SCOPED_IDENTIFIER)
{
@@ -1327,9 +1084,9 @@ YY_RULE_SETUP
{
BEGIN(MAINSCAN);
StringTokPtr ident = new StringTok;
- ident->v = *yytext == '\\' ? yytext + 1 : yytext;
+ ident->v = *slice_text == '\\' ? slice_text + 1 : slice_text;
*yylvalp = ident;
- return *yytext == '\\' ? checkIdentifier(ident->v) : checkKeyword(ident->v);
+ return *slice_text == '\\' ? checkIdentifier(ident->v) : checkKeyword(ident->v);
}
YY_BREAK
case 13:
@@ -1491,7 +1248,7 @@ YY_RULE_SETUP
while(size > 0)
{
next = yyinput();
- if(!isxdigit(static_cast<unsigned char>(next)))
+ if(!isxdigit(next))
{
unit->error(string("unknown escape sequence in string literal: `\\") +
static_cast<char>(c) + escape + static_cast<char>(next) + "'");
@@ -1521,7 +1278,7 @@ YY_RULE_SETUP
default:
{
ostringstream os;
- os << "unknown escape sequence `\\" << next << "'";
+ os << "unknown escape sequence `\\" << static_cast<char>(next) << "'";
unit->warning(All, os.str());
// Escape the \ in this unknown escape sequence
@@ -1546,13 +1303,13 @@ YY_RULE_SETUP
{
BEGIN(MAINSCAN);
IntegerTokPtr itp = new IntegerTok;
- itp->literal = string(yytext);
+ itp->literal = string(slice_text);
*yylvalp = itp;
- if(!IceUtilInternal::stringToInt64(string(yytext), itp->v))
+ if(!IceUtilInternal::stringToInt64(string(slice_text), itp->v))
{
assert(itp->v != 0);
string msg = "integer constant `";
- msg += yytext;
+ msg += slice_text;
msg += "' out of range";
unit->error(msg);
}
@@ -1567,7 +1324,7 @@ YY_RULE_SETUP
errno = 0;
FloatingTokPtr ftp = new FloatingTok;
*yylvalp = ftp;
- string literal(yytext);
+ string literal(slice_text);
ftp->literal = literal;
char lastChar = literal[literal.size() - 1];
if(lastChar == 'f' || lastChar == 'F')
@@ -1578,14 +1335,14 @@ YY_RULE_SETUP
if((ftp->v == HUGE_VAL || ftp->v == -HUGE_VAL) && errno == ERANGE)
{
string msg = "floating-point constant `";
- msg += yytext;
+ msg += slice_text;
msg += "' too large (overflow)";
unit->error(msg);
}
else if(ftp->v == 0 && errno == ERANGE)
{
string msg = "floating-point constant `";
- msg += yytext;
+ msg += slice_text;
msg += "' too small (underflow)";
unit->error(msg);
}
@@ -1603,7 +1360,7 @@ YY_RULE_SETUP
{
BEGIN(MAINSCAN);
}
- if(yytext[0] == '\n')
+ if(slice_text[0] == '\n')
{
unit->nextLine();
}
@@ -1623,18 +1380,18 @@ YY_RULE_SETUP
#line 511 "src/Slice/Scanner.l"
{
BEGIN(MAINSCAN);
- if(yytext[0] < 32 || yytext[0] > 126)
+ if(slice_text[0] < 32 || slice_text[0] > 126)
{
stringstream s;
s << "illegal input character: '\\";
s.width(3);
s.fill('0');
- s << oct << static_cast<int>(static_cast<unsigned char>(yytext[0]));
+ s << oct << static_cast<int>(static_cast<unsigned char>(slice_text[0]));
s << "'";
unit->error(s.str());
return BAD_CHAR;
}
- return yytext[0];
+ return slice_text[0];
}
YY_BREAK
case 19:
@@ -1642,7 +1399,7 @@ YY_RULE_SETUP
#line 527 "src/Slice/Scanner.l"
ECHO;
YY_BREAK
-#line 1644 "src/Slice/Scanner.cpp"
+#line 1402 "src/Slice/Scanner.cpp"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(BOMSCAN):
case YY_STATE_EOF(MAINSCAN):
@@ -1661,15 +1418,15 @@ case YY_STATE_EOF(MAINSCAN):
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
- * just pointed yyin at a new source and called
- * yylex(). If so, then we have to assure
+ * just pointed slice_in at a new source and called
+ * slice_lex(). If so, then we have to assure
* consistency between YY_CURRENT_BUFFER and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
- YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = slice_in;
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
}
@@ -1723,11 +1480,11 @@ case YY_STATE_EOF(MAINSCAN):
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( yywrap( ) )
+ if ( slice_wrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
- * yytext, we can now set up
+ * slice_text, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
@@ -1776,8 +1533,7 @@ case YY_STATE_EOF(MAINSCAN):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
- } /* end of user's declarations */
-} /* end of yylex */
+} /* end of slice_lex */
/* yy_get_next_buffer - try to read in a new buffer
*
@@ -1788,9 +1544,9 @@ case YY_STATE_EOF(MAINSCAN):
*/
static int yy_get_next_buffer (void)
{
- char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- char *source = (yytext_ptr);
- int number_to_move, i;
+ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ register char *source = (yytext_ptr);
+ register int number_to_move, i;
int ret_val;
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
@@ -1819,7 +1575,7 @@ static int yy_get_next_buffer (void)
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
+ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -1839,7 +1595,7 @@ static int yy_get_next_buffer (void)
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
int yy_c_buf_p_offset =
(int) ((yy_c_buf_p) - b->yy_ch_buf);
@@ -1855,12 +1611,11 @@ static int yy_get_next_buffer (void)
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- yyrealloc( (void *) b->yy_ch_buf,
- (yy_size_t) (b->yy_buf_size + 2) );
+ slice_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
- b->yy_ch_buf = NULL;
+ b->yy_ch_buf = 0;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
@@ -1878,7 +1633,7 @@ static int yy_get_next_buffer (void)
/* Read in more data. */
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
- (yy_n_chars), num_to_read );
+ (yy_n_chars), (size_t) num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
}
@@ -1888,7 +1643,7 @@ static int yy_get_next_buffer (void)
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
+ slice_restart(slice_in );
}
else
@@ -1902,15 +1657,12 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
- (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
+ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) slice_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
- /* "- 2" to take care of EOB's */
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
(yy_n_chars) += number_to_move;
@@ -1926,15 +1678,15 @@ static int yy_get_next_buffer (void)
static yy_state_type yy_get_previous_state (void)
{
- yy_state_type yy_current_state;
- char *yy_cp;
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
yy_current_state = (yy_start);
yy_current_state += YY_AT_BOL();
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
- YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -1944,9 +1696,9 @@ static int yy_get_next_buffer (void)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 76 )
- yy_c = yy_meta[yy_c];
+ yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
}
return yy_current_state;
@@ -1959,10 +1711,10 @@ static int yy_get_next_buffer (void)
*/
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
{
- int yy_is_jam;
- char *yy_cp = (yy_c_buf_p);
+ register int yy_is_jam;
+ register char *yy_cp = (yy_c_buf_p);
- YY_CHAR yy_c = 1;
+ register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -1972,32 +1724,30 @@ static int yy_get_next_buffer (void)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 76 )
- yy_c = yy_meta[yy_c];
+ yy_c = yy_meta[(unsigned int) yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 75);
- return yy_is_jam ? 0 : yy_current_state;
+ return yy_is_jam ? 0 : yy_current_state;
}
-#ifndef YY_NO_UNPUT
-
- static void yyunput (int c, char * yy_bp )
+ static void yyunput (int c, register char * yy_bp )
{
- char *yy_cp;
+ register char *yy_cp;
yy_cp = (yy_c_buf_p);
- /* undo effects of setting up yytext */
+ /* undo effects of setting up slice_text */
*yy_cp = (yy_hold_char);
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- int number_to_move = (yy_n_chars) + 2;
- char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ register int number_to_move = (yy_n_chars) + 2;
+ register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
- char *source =
+ register char *source =
&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
@@ -2006,7 +1756,7 @@ static int yy_get_next_buffer (void)
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
- (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
@@ -2019,8 +1769,6 @@ static int yy_get_next_buffer (void)
(yy_c_buf_p) = yy_cp;
}
-#endif
-
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (void)
@@ -2045,7 +1793,7 @@ static int yy_get_next_buffer (void)
else
{ /* need more input */
- int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
+ int offset = (yy_c_buf_p) - (yytext_ptr);
++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) )
@@ -2062,14 +1810,14 @@ static int yy_get_next_buffer (void)
*/
/* Reset buffer status. */
- yyrestart( yyin );
+ slice_restart(slice_in );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( yywrap( ) )
- return 0;
+ if ( slice_wrap( ) )
+ return EOF;
if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
@@ -2088,7 +1836,7 @@ static int yy_get_next_buffer (void)
}
c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
- *(yy_c_buf_p) = '\0'; /* preserve yytext */
+ *(yy_c_buf_p) = '\0'; /* preserve slice_text */
(yy_hold_char) = *++(yy_c_buf_p);
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
@@ -2102,32 +1850,32 @@ static int yy_get_next_buffer (void)
*
* @note This function does not reset the start condition to @c INITIAL .
*/
- void yyrestart (FILE * input_file )
+ void slice_restart (FILE * input_file )
{
if ( ! YY_CURRENT_BUFFER ){
- yyensure_buffer_stack ();
+ slice_ensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer( yyin, YY_BUF_SIZE );
+ slice__create_buffer(slice_in,YY_BUF_SIZE );
}
- yy_init_buffer( YY_CURRENT_BUFFER, input_file );
- yy_load_buffer_state( );
+ slice__init_buffer(YY_CURRENT_BUFFER,input_file );
+ slice__load_buffer_state( );
}
/** Switch to a different input buffer.
* @param new_buffer The new input buffer.
*
*/
- void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
+ void slice__switch_to_buffer (YY_BUFFER_STATE new_buffer )
{
/* TODO. We should be able to replace this entire function body
* with
- * yypop_buffer_state();
- * yypush_buffer_state(new_buffer);
+ * slice_pop_buffer_state();
+ * slice_push_buffer_state(new_buffer);
*/
- yyensure_buffer_stack ();
+ slice_ensure_buffer_stack ();
if ( YY_CURRENT_BUFFER == new_buffer )
return;
@@ -2140,21 +1888,21 @@ static int yy_get_next_buffer (void)
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- yy_load_buffer_state( );
+ slice__load_buffer_state( );
/* We don't actually know whether we did this switch during
- * EOF (yywrap()) processing, but the only time this flag
- * is looked at is after yywrap() is called, so it's safe
+ * EOF (slice_wrap()) processing, but the only time this flag
+ * is looked at is after slice_wrap() is called, so it's safe
* to go ahead and always set it.
*/
(yy_did_buffer_switch_on_eof) = 1;
}
-static void yy_load_buffer_state (void)
+static void slice__load_buffer_state (void)
{
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
- yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ slice_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
(yy_hold_char) = *(yy_c_buf_p);
}
@@ -2164,35 +1912,35 @@ static void yy_load_buffer_state (void)
*
* @return the allocated buffer state.
*/
- YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
+ YY_BUFFER_STATE slice__create_buffer (FILE * file, int size )
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) slice_alloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in slice__create_buffer()" );
b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
+ b->yy_ch_buf = (char *) slice_alloc(b->yy_buf_size + 2 );
if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in slice__create_buffer()" );
b->yy_is_our_buffer = 1;
- yy_init_buffer( b, file );
+ slice__init_buffer(b,file );
return b;
}
/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
+ * @param b a buffer created with slice__create_buffer()
*
*/
- void yy_delete_buffer (YY_BUFFER_STATE b )
+ void slice__delete_buffer (YY_BUFFER_STATE b )
{
if ( ! b )
@@ -2202,27 +1950,27 @@ static void yy_load_buffer_state (void)
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- yyfree( (void *) b->yy_ch_buf );
+ slice_free((void *) b->yy_ch_buf );
- yyfree( (void *) b );
+ slice_free((void *) b );
}
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
+ * such as during a slice_restart() or at EOF.
*/
- static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
+ static void slice__init_buffer (YY_BUFFER_STATE b, FILE * file )
{
int oerrno = errno;
- yy_flush_buffer( b );
+ slice__flush_buffer(b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
- /* If b is the current buffer, then yy_init_buffer was _probably_
- * called from yyrestart() or through yy_get_next_buffer.
+ /* If b is the current buffer, then slice__init_buffer was _probably_
+ * called from slice_restart() or through yy_get_next_buffer.
* In that case, we don't want to reset the lineno or column.
*/
if (b != YY_CURRENT_BUFFER){
@@ -2239,7 +1987,7 @@ static void yy_load_buffer_state (void)
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
*
*/
- void yy_flush_buffer (YY_BUFFER_STATE b )
+ void slice__flush_buffer (YY_BUFFER_STATE b )
{
if ( ! b )
return;
@@ -2259,7 +2007,7 @@ static void yy_load_buffer_state (void)
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- yy_load_buffer_state( );
+ slice__load_buffer_state( );
}
/** Pushes the new state onto the stack. The new state becomes
@@ -2268,14 +2016,14 @@ static void yy_load_buffer_state (void)
* @param new_buffer The new state.
*
*/
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+void slice_push_buffer_state (YY_BUFFER_STATE new_buffer )
{
if (new_buffer == NULL)
return;
- yyensure_buffer_stack();
+ slice_ensure_buffer_stack();
- /* This block is copied from yy_switch_to_buffer. */
+ /* This block is copied from slice__switch_to_buffer. */
if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
@@ -2289,8 +2037,8 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
(yy_buffer_stack_top)++;
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- /* copied from yy_switch_to_buffer. */
- yy_load_buffer_state( );
+ /* copied from slice__switch_to_buffer. */
+ slice__load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
@@ -2298,18 +2046,18 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
* The next element becomes the new top.
*
*/
-void yypop_buffer_state (void)
+void slice_pop_buffer_state (void)
{
if (!YY_CURRENT_BUFFER)
return;
- yy_delete_buffer(YY_CURRENT_BUFFER );
+ slice__delete_buffer(YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
if ((yy_buffer_stack_top) > 0)
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- yy_load_buffer_state( );
+ slice__load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
@@ -2317,9 +2065,9 @@ void yypop_buffer_state (void)
/* Allocates the stack if it does not exist.
* Guarantees space for at least one push.
*/
-static void yyensure_buffer_stack (void)
+static void slice_ensure_buffer_stack (void)
{
- yy_size_t num_to_alloc;
+ int num_to_alloc;
if (!(yy_buffer_stack)) {
@@ -2327,15 +2075,15 @@ static void yyensure_buffer_stack (void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
- (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+ num_to_alloc = 1;
+ (yy_buffer_stack) = (struct yy_buffer_state**)slice_alloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
+ YY_FATAL_ERROR( "out of dynamic memory in slice_ensure_buffer_stack()" );
+
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-
+
(yy_buffer_stack_max) = num_to_alloc;
(yy_buffer_stack_top) = 0;
return;
@@ -2344,15 +2092,15 @@ static void yyensure_buffer_stack (void)
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
/* Increase the buffer to prepare for a possible push. */
- yy_size_t grow_size = 8 /* arbitrary grow size */;
+ int grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
- (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+ (yy_buffer_stack) = (struct yy_buffer_state**)slice_realloc
((yy_buffer_stack),
num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+ YY_FATAL_ERROR( "out of dynamic memory in slice_ensure_buffer_stack()" );
/* zero only the new slots.*/
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -2364,9 +2112,9 @@ static void yyensure_buffer_stack (void)
* @param base the character buffer
* @param size the size in bytes of the character buffer
*
- * @return the newly allocated buffer state object.
+ * @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
+YY_BUFFER_STATE slice__scan_buffer (char * base, yy_size_t size )
{
YY_BUFFER_STATE b;
@@ -2374,49 +2122,49 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
- return NULL;
+ return 0;
- b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) slice_alloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in slice__scan_buffer()" );
- b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
- b->yy_input_file = NULL;
+ b->yy_input_file = 0;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- yy_switch_to_buffer( b );
+ slice__switch_to_buffer(b );
return b;
}
-/** Setup the input buffer state to scan a string. The next call to yylex() will
+/** Setup the input buffer state to scan a string. The next call to slice_lex() will
* scan from a @e copy of @a str.
* @param yystr a NUL-terminated string to scan
*
* @return the newly allocated buffer state object.
* @note If you want to scan bytes that may contain NUL values, then use
- * yy_scan_bytes() instead.
+ * slice__scan_bytes() instead.
*/
-YY_BUFFER_STATE yy_scan_string (const char * yystr )
+YY_BUFFER_STATE slice__scan_string (yyconst char * yystr )
{
- return yy_scan_bytes( yystr, (int) strlen(yystr) );
+ return slice__scan_bytes(yystr,strlen(yystr) );
}
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+/** Setup the input buffer state to scan the given bytes. The next call to slice_lex() will
* scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
+YY_BUFFER_STATE slice__scan_bytes (yyconst char * yybytes, int _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
@@ -2424,19 +2172,19 @@ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = (yy_size_t) (_yybytes_len + 2);
- buf = (char *) yyalloc( n );
+ n = _yybytes_len + 2;
+ buf = (char *) slice_alloc(n );
if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+ YY_FATAL_ERROR( "out of dynamic memory in slice__scan_bytes()" );
for ( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i];
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = yy_scan_buffer( buf, n );
+ b = slice__scan_buffer(buf,n );
if ( ! b )
- YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+ YY_FATAL_ERROR( "bad buffer in slice__scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
@@ -2450,9 +2198,9 @@ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
#define YY_EXIT_FAILURE 2
#endif
-static void yynoreturn yy_fatal_error (const char* msg )
+static void yy_fatal_error (yyconst char* msg )
{
- fprintf( stderr, "%s\n", msg );
+ (void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
@@ -2462,14 +2210,14 @@ static void yynoreturn yy_fatal_error (const char* msg )
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up yytext. */ \
+ /* Undo effects of setting up slice_text. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
- yytext[yyleng] = (yy_hold_char); \
- (yy_c_buf_p) = yytext + yyless_macro_arg; \
+ slice_text[slice_leng] = (yy_hold_char); \
+ (yy_c_buf_p) = slice_text + yyless_macro_arg; \
(yy_hold_char) = *(yy_c_buf_p); \
*(yy_c_buf_p) = '\0'; \
- yyleng = yyless_macro_arg; \
+ slice_leng = yyless_macro_arg; \
} \
while ( 0 )
@@ -2478,126 +2226,126 @@ static void yynoreturn yy_fatal_error (const char* msg )
/** Get the current line number.
*
*/
-int yyget_lineno (void)
+int slice_get_lineno (void)
{
-
- return yylineno;
+
+ return slice_lineno;
}
/** Get the input stream.
*
*/
-FILE *yyget_in (void)
+FILE *slice_get_in (void)
{
- return yyin;
+ return slice_in;
}
/** Get the output stream.
*
*/
-FILE *yyget_out (void)
+FILE *slice_get_out (void)
{
- return yyout;
+ return slice_out;
}
/** Get the length of the current token.
*
*/
-int yyget_leng (void)
+int slice_get_leng (void)
{
- return yyleng;
+ return slice_leng;
}
/** Get the current token.
*
*/
-char *yyget_text (void)
+char *slice_get_text (void)
{
- return yytext;
+ return slice_text;
}
/** Set the current line number.
- * @param _line_number line number
+ * @param line_number
*
*/
-void yyset_lineno (int _line_number )
+void slice_set_lineno (int line_number )
{
- yylineno = _line_number;
+ slice_lineno = line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param _in_str A readable stream.
+ * @param in_str A readable stream.
*
- * @see yy_switch_to_buffer
+ * @see slice__switch_to_buffer
*/
-void yyset_in (FILE * _in_str )
+void slice_set_in (FILE * in_str )
{
- yyin = _in_str ;
+ slice_in = in_str ;
}
-void yyset_out (FILE * _out_str )
+void slice_set_out (FILE * out_str )
{
- yyout = _out_str ;
+ slice_out = out_str ;
}
-int yyget_debug (void)
+int slice_get_debug (void)
{
- return yy_flex_debug;
+ return slice__flex_debug;
}
-void yyset_debug (int _bdebug )
+void slice_set_debug (int bdebug )
{
- yy_flex_debug = _bdebug ;
+ slice__flex_debug = bdebug ;
}
static int yy_init_globals (void)
{
/* Initialization is the same as for the non-reentrant scanner.
- * This function is called from yylex_destroy(), so don't allocate here.
+ * This function is called from slice_lex_destroy(), so don't allocate here.
*/
- (yy_buffer_stack) = NULL;
+ (yy_buffer_stack) = 0;
(yy_buffer_stack_top) = 0;
(yy_buffer_stack_max) = 0;
- (yy_c_buf_p) = NULL;
+ (yy_c_buf_p) = (char *) 0;
(yy_init) = 0;
(yy_start) = 0;
/* Defined in main.c */
#ifdef YY_STDINIT
- yyin = stdin;
- yyout = stdout;
+ slice_in = stdin;
+ slice_out = stdout;
#else
- yyin = NULL;
- yyout = NULL;
+ slice_in = (FILE *) 0;
+ slice_out = (FILE *) 0;
#endif
/* For future reference: Set errno on error, since we are called by
- * yylex_init()
+ * slice_lex_init()
*/
return 0;
}
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy (void)
+/* slice_lex_destroy is for both reentrant and non-reentrant scanners. */
+int slice_lex_destroy (void)
{
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- yy_delete_buffer( YY_CURRENT_BUFFER );
+ slice__delete_buffer(YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
- yypop_buffer_state();
+ slice_pop_buffer_state();
}
/* Destroy the stack itself. */
- yyfree((yy_buffer_stack) );
+ slice_free((yy_buffer_stack) );
(yy_buffer_stack) = NULL;
/* Reset the globals. This is important in a non-reentrant scanner so the next time
- * yylex() is called, initialization will occur. */
+ * slice_lex() is called, initialization will occur. */
yy_init_globals( );
return 0;
@@ -2608,19 +2356,18 @@ int yylex_destroy (void)
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, const char * s2, int n )
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
{
-
- int i;
+ register int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (const char * s )
+static int yy_flex_strlen (yyconst char * s )
{
- int n;
+ register int n;
for ( n = 0; s[n]; ++n )
;
@@ -2628,14 +2375,13 @@ static int yy_flex_strlen (const char * s )
}
#endif
-void *yyalloc (yy_size_t size )
+void *slice_alloc (yy_size_t size )
{
- return malloc(size);
+ return (void *) malloc( size );
}
-void *yyrealloc (void * ptr, yy_size_t size )
+void *slice_realloc (void * ptr, yy_size_t size )
{
-
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
@@ -2643,12 +2389,12 @@ void *yyrealloc (void * ptr, yy_size_t size )
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
- return realloc(ptr, size);
+ return (void *) realloc( (char *) ptr, size );
}
-void yyfree (void * ptr )
+void slice_free (void * ptr )
{
- free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+ free( (char *) ptr ); /* see slice_realloc() for (char *) cast */
}
#define YYTABLES_NAME "yytables"
@@ -2656,6 +2402,7 @@ void yyfree (void * ptr )
#line 527 "src/Slice/Scanner.l"
+
namespace Slice {
//
diff --git a/cpp/src/Slice/Scanner.l b/cpp/src/Slice/Scanner.l
index 0f5e2db6962..55f675db3bf 100644
--- a/cpp/src/Slice/Scanner.l
+++ b/cpp/src/Slice/Scanner.l
@@ -394,7 +394,7 @@ floating_literal (({fractional_constant}{exponent_part}?)|((\+|-)?[[:digit:]]
while(size > 0)
{
next = yyinput();
- if(!isxdigit(static_cast<unsigned char>(next)))
+ if(!isxdigit(next))
{
unit->error(string("unknown escape sequence in string literal: `\\") +
static_cast<char>(c) + escape + static_cast<char>(next) + "'");
@@ -424,7 +424,7 @@ floating_literal (({fractional_constant}{exponent_part}?)|((\+|-)?[[:digit:]]
default:
{
ostringstream os;
- os << "unknown escape sequence `\\" << next << "'";
+ os << "unknown escape sequence `\\" << static_cast<char>(next) << "'";
unit->warning(All, os.str());
// Escape the \ in this unknown escape sequence