parser CHANGE compile flag enabled_cache updated
Enables caching of some information, which
increases space complexity but improves time.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 13d1b9d..4c1a600 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,7 +14,15 @@
set(LIBYANG_MICRO_VERSION 27)
set(LIBYANG_VERSION ${LIBYANG_MAJOR_VERSION}.${LIBYANG_MINOR_VERSION}.${LIBYANG_MICRO_VERSION})
set(LIBYANG_SOVERSION ${LIBYANG_MAJOR_VERSION}.${LIBYANG_MINOR_VERSION})
-configure_file(${PROJECT_SOURCE_DIR}/src/libyang.h.in ${PROJECT_SOURCE_DIR}/src/libyang.h)
+
+option(ENABLE_CACHE "Enable schema caching (time-efficient at the cost of increased space-complexity)" OFF)
+if(ENABLE_CACHE)
+ set(ENABLE_CACHE_MACRO "/**\n * @brief Cache of some temporary information will be used.\n */\n#define LY_ENABLED_CACHE")
+else()
+ set(ENABLE_CACHE_MACRO "/**\n * @brief Cache of some temporary information will not be used.\n */")
+endif()
+
+configure_file(${PROJECT_SOURCE_DIR}/src/libyang.h.in ${PROJECT_SOURCE_DIR}/src/libyang.h @ONLY)
if(PLUGINS_DIR)
set(LIBYANG_EXT_PLUGINS_DIR ${PLUGINS_DIR})
@@ -133,13 +141,6 @@
option(ENABLE_VALGRIND_TESTS "Build tests with valgrind" OFF)
endif()
-option(ENABLE_CACHE "Enable schema caching (time-efficient at the cost of increased space-complexity)" OFF)
-if(ENABLE_CACHE)
- set(ENABLE_CACHE_MACRO "#define LY_ENABLED_CACHE")
-endif()
-
-configure_file("src/common.h.in" "src/common.h" @ONLY)
-
set(libsrc
src/common.c
src/context.c
diff --git a/src/common.h.in b/src/common.h
similarity index 99%
rename from src/common.h.in
rename to src/common.h
index 7f17461..6106ab9 100644
--- a/src/common.h.in
+++ b/src/common.h
@@ -17,12 +17,10 @@
#include <stdint.h>
-#include "dict_private.h"
#include "libyang.h"
+#include "dict_private.h"
#include "resolve.h"
-@ENABLE_CACHE_MACRO@
-
#ifdef __GNUC__
# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
#else
diff --git a/src/context.h b/src/context.h
index 698e979..8cc2549 100644
--- a/src/context.h
+++ b/src/context.h
@@ -15,9 +15,9 @@
#ifndef LY_CONTEXT_H_
#define LY_CONTEXT_H_
+#include "libyang.h"
#include "dict_private.h"
#include "tree_schema.h"
-#include "libyang.h"
struct ly_modules_list {
char **search_paths;
diff --git a/src/libyang.h.in b/src/libyang.h.in
index 923dcc3..e9fc41a 100644
--- a/src/libyang.h.in
+++ b/src/libyang.h.in
@@ -17,6 +17,8 @@
#include <stdio.h>
+@ENABLE_CACHE_MACRO@
+
#include "tree_schema.h"
#include "tree_data.h"
#include "xml.h"
diff --git a/src/parser.c b/src/parser.c
index 0a97f2c..5cb83f4 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -907,6 +907,9 @@
validate_pattern(const char *val_str, struct lys_type *type, struct lyd_node *node)
{
int i, rc;
+#ifndef LY_ENABLED_CACHE
+ pcre *precomp;
+#endif
assert(type->base == LY_TYPE_STRING);
@@ -918,9 +921,32 @@
return EXIT_FAILURE;
}
+#ifdef LY_ENABLED_CACHE
+ /* there is no cache, build it */
+ if (!type->info.str.patterns_pcre && type->info.str.pat_count) {
+ type->info.str.patterns_pcre = malloc(2 * type->info.str.pat_count * sizeof *type->info.str.patterns_pcre);
+ LY_CHECK_ERR_RETURN(!type->info.str.patterns_pcre, LOGMEM, -1);
+
+ for (i = 0; i < type->info.str.pat_count; ++i) {
+ if (lyp_precompile_pattern(&type->info.str.patterns[i].expr[1],
+ (pcre**)&type->info.str.patterns_pcre[i * 2],
+ (pcre_extra**)&type->info.str.patterns_pcre[i * 2 + 1])) {
+ return EXIT_FAILURE;
+ }
+ }
+ }
+#endif
+
for (i = 0; i < type->info.str.pat_count; ++i) {
- rc = pcre_exec((pcre*)type->info.str.patterns_pcre[2 * i], (pcre_extra*)type->info.str.patterns_pcre[2 * i + 1],
+#ifdef LY_ENABLED_CACHE
+ rc = pcre_exec((pcre *)type->info.str.patterns_pcre[2 * i], (pcre_extra *)type->info.str.patterns_pcre[2 * i + 1],
val_str, strlen(val_str), 0, 0, NULL, 0);
+#else
+ if (lyp_check_pattern(&type->info.str.patterns[i].expr[1], &precomp)) {
+ return EXIT_FAILURE;
+ }
+ rc = pcre_exec(precomp, NULL, val_str, strlen(val_str), 0, 0, NULL, 0);
+#endif
if ((rc && type->info.str.patterns[i].expr[0] == 0x06) || (!rc && type->info.str.patterns[i].expr[0] == 0x15)) {
LOGVAL(LYE_NOCONSTR, LY_VLOG_LYD, node, val_str, &type->info.str.patterns[i].expr[1]);
if (type->info.str.patterns[i].emsg) {
diff --git a/src/parser_yang.h b/src/parser_yang.h
index 8fbb34c..3032c9f 100644
--- a/src/parser_yang.h
+++ b/src/parser_yang.h
@@ -18,9 +18,10 @@
#include <stdlib.h>
#include <string.h>
-#include "tree_schema.h"
+#include "libyang.h"
#include "resolve.h"
#include "common.h"
+#include "tree_schema.h"
#include "context.h"
#define LYS_SYSTEMORDERED 0x40
@@ -172,7 +173,7 @@
int yang_check_ext_instance(struct lys_module *module, struct lys_ext_instance ***ext, uint size,
void *parent, struct unres_schema *unres);
-int yang_read_extcomplex_str(struct lys_module *module, struct lys_ext_instance_complex *ext, const char *arg_name,
+int yang_read_extcomplex_str(struct lys_module *module, struct lys_ext_instance_complex *ext, const char *arg_name,
const char *parent_name, char *value, int parent_stmt, LY_STMT stmt);
void **yang_getplace_for_extcomplex_struct(struct lys_ext_instance_complex *ext, int *index,
diff --git a/src/parser_yang_bis.c b/src/parser_yang_bis.c
index 7a18913..4dba793 100644
--- a/src/parser_yang_bis.c
+++ b/src/parser_yang_bis.c
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015 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.4"
+#define YYBISON_VERSION "2.7"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -68,9 +68,10 @@
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
+#include "libyang.h"
+#include "common.h"
#include "context.h"
#include "resolve.h"
-#include "common.h"
#include "parser_yang.h"
#include "parser_yang_lex.h"
#include "parser.h"
@@ -95,11 +96,11 @@
-# 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
@@ -115,7 +116,7 @@
by #include "parser_yang_bis.h". */
#ifndef YY_YY_PARSER_YANG_BIS_H_INCLUDED
# define YY_YY_PARSER_YANG_BIS_H_INCLUDED
-/* Debug traces. */
+/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -123,118 +124,118 @@
extern int yydebug;
#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- UNION_KEYWORD = 258,
- ANYXML_KEYWORD = 259,
- WHITESPACE = 260,
- ERROR = 261,
- EOL = 262,
- STRING = 263,
- STRINGS = 264,
- IDENTIFIER = 265,
- IDENTIFIERPREFIX = 266,
- REVISION_DATE = 267,
- TAB = 268,
- DOUBLEDOT = 269,
- URI = 270,
- INTEGER = 271,
- NON_NEGATIVE_INTEGER = 272,
- ZERO = 273,
- DECIMAL = 274,
- ARGUMENT_KEYWORD = 275,
- AUGMENT_KEYWORD = 276,
- BASE_KEYWORD = 277,
- BELONGS_TO_KEYWORD = 278,
- BIT_KEYWORD = 279,
- CASE_KEYWORD = 280,
- CHOICE_KEYWORD = 281,
- CONFIG_KEYWORD = 282,
- CONTACT_KEYWORD = 283,
- CONTAINER_KEYWORD = 284,
- DEFAULT_KEYWORD = 285,
- DESCRIPTION_KEYWORD = 286,
- ENUM_KEYWORD = 287,
- ERROR_APP_TAG_KEYWORD = 288,
- ERROR_MESSAGE_KEYWORD = 289,
- EXTENSION_KEYWORD = 290,
- DEVIATION_KEYWORD = 291,
- DEVIATE_KEYWORD = 292,
- FEATURE_KEYWORD = 293,
- FRACTION_DIGITS_KEYWORD = 294,
- GROUPING_KEYWORD = 295,
- IDENTITY_KEYWORD = 296,
- IF_FEATURE_KEYWORD = 297,
- IMPORT_KEYWORD = 298,
- INCLUDE_KEYWORD = 299,
- INPUT_KEYWORD = 300,
- KEY_KEYWORD = 301,
- LEAF_KEYWORD = 302,
- LEAF_LIST_KEYWORD = 303,
- LENGTH_KEYWORD = 304,
- LIST_KEYWORD = 305,
- MANDATORY_KEYWORD = 306,
- MAX_ELEMENTS_KEYWORD = 307,
- MIN_ELEMENTS_KEYWORD = 308,
- MODULE_KEYWORD = 309,
- MUST_KEYWORD = 310,
- NAMESPACE_KEYWORD = 311,
- NOTIFICATION_KEYWORD = 312,
- ORDERED_BY_KEYWORD = 313,
- ORGANIZATION_KEYWORD = 314,
- OUTPUT_KEYWORD = 315,
- PATH_KEYWORD = 316,
- PATTERN_KEYWORD = 317,
- POSITION_KEYWORD = 318,
- PREFIX_KEYWORD = 319,
- PRESENCE_KEYWORD = 320,
- RANGE_KEYWORD = 321,
- REFERENCE_KEYWORD = 322,
- REFINE_KEYWORD = 323,
- REQUIRE_INSTANCE_KEYWORD = 324,
- REVISION_KEYWORD = 325,
- REVISION_DATE_KEYWORD = 326,
- RPC_KEYWORD = 327,
- STATUS_KEYWORD = 328,
- SUBMODULE_KEYWORD = 329,
- TYPE_KEYWORD = 330,
- TYPEDEF_KEYWORD = 331,
- UNIQUE_KEYWORD = 332,
- UNITS_KEYWORD = 333,
- USES_KEYWORD = 334,
- VALUE_KEYWORD = 335,
- WHEN_KEYWORD = 336,
- YANG_VERSION_KEYWORD = 337,
- YIN_ELEMENT_KEYWORD = 338,
- ADD_KEYWORD = 339,
- CURRENT_KEYWORD = 340,
- DELETE_KEYWORD = 341,
- DEPRECATED_KEYWORD = 342,
- FALSE_KEYWORD = 343,
- NOT_SUPPORTED_KEYWORD = 344,
- OBSOLETE_KEYWORD = 345,
- REPLACE_KEYWORD = 346,
- SYSTEM_KEYWORD = 347,
- TRUE_KEYWORD = 348,
- UNBOUNDED_KEYWORD = 349,
- USER_KEYWORD = 350,
- ACTION_KEYWORD = 351,
- MODIFIER_KEYWORD = 352,
- ANYDATA_KEYWORD = 353,
- NODE = 354,
- NODE_PRINT = 355,
- EXTENSION_INSTANCE = 356,
- SUBMODULE_EXT_KEYWORD = 357
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ UNION_KEYWORD = 258,
+ ANYXML_KEYWORD = 259,
+ WHITESPACE = 260,
+ ERROR = 261,
+ EOL = 262,
+ STRING = 263,
+ STRINGS = 264,
+ IDENTIFIER = 265,
+ IDENTIFIERPREFIX = 266,
+ REVISION_DATE = 267,
+ TAB = 268,
+ DOUBLEDOT = 269,
+ URI = 270,
+ INTEGER = 271,
+ NON_NEGATIVE_INTEGER = 272,
+ ZERO = 273,
+ DECIMAL = 274,
+ ARGUMENT_KEYWORD = 275,
+ AUGMENT_KEYWORD = 276,
+ BASE_KEYWORD = 277,
+ BELONGS_TO_KEYWORD = 278,
+ BIT_KEYWORD = 279,
+ CASE_KEYWORD = 280,
+ CHOICE_KEYWORD = 281,
+ CONFIG_KEYWORD = 282,
+ CONTACT_KEYWORD = 283,
+ CONTAINER_KEYWORD = 284,
+ DEFAULT_KEYWORD = 285,
+ DESCRIPTION_KEYWORD = 286,
+ ENUM_KEYWORD = 287,
+ ERROR_APP_TAG_KEYWORD = 288,
+ ERROR_MESSAGE_KEYWORD = 289,
+ EXTENSION_KEYWORD = 290,
+ DEVIATION_KEYWORD = 291,
+ DEVIATE_KEYWORD = 292,
+ FEATURE_KEYWORD = 293,
+ FRACTION_DIGITS_KEYWORD = 294,
+ GROUPING_KEYWORD = 295,
+ IDENTITY_KEYWORD = 296,
+ IF_FEATURE_KEYWORD = 297,
+ IMPORT_KEYWORD = 298,
+ INCLUDE_KEYWORD = 299,
+ INPUT_KEYWORD = 300,
+ KEY_KEYWORD = 301,
+ LEAF_KEYWORD = 302,
+ LEAF_LIST_KEYWORD = 303,
+ LENGTH_KEYWORD = 304,
+ LIST_KEYWORD = 305,
+ MANDATORY_KEYWORD = 306,
+ MAX_ELEMENTS_KEYWORD = 307,
+ MIN_ELEMENTS_KEYWORD = 308,
+ MODULE_KEYWORD = 309,
+ MUST_KEYWORD = 310,
+ NAMESPACE_KEYWORD = 311,
+ NOTIFICATION_KEYWORD = 312,
+ ORDERED_BY_KEYWORD = 313,
+ ORGANIZATION_KEYWORD = 314,
+ OUTPUT_KEYWORD = 315,
+ PATH_KEYWORD = 316,
+ PATTERN_KEYWORD = 317,
+ POSITION_KEYWORD = 318,
+ PREFIX_KEYWORD = 319,
+ PRESENCE_KEYWORD = 320,
+ RANGE_KEYWORD = 321,
+ REFERENCE_KEYWORD = 322,
+ REFINE_KEYWORD = 323,
+ REQUIRE_INSTANCE_KEYWORD = 324,
+ REVISION_KEYWORD = 325,
+ REVISION_DATE_KEYWORD = 326,
+ RPC_KEYWORD = 327,
+ STATUS_KEYWORD = 328,
+ SUBMODULE_KEYWORD = 329,
+ TYPE_KEYWORD = 330,
+ TYPEDEF_KEYWORD = 331,
+ UNIQUE_KEYWORD = 332,
+ UNITS_KEYWORD = 333,
+ USES_KEYWORD = 334,
+ VALUE_KEYWORD = 335,
+ WHEN_KEYWORD = 336,
+ YANG_VERSION_KEYWORD = 337,
+ YIN_ELEMENT_KEYWORD = 338,
+ ADD_KEYWORD = 339,
+ CURRENT_KEYWORD = 340,
+ DELETE_KEYWORD = 341,
+ DEPRECATED_KEYWORD = 342,
+ FALSE_KEYWORD = 343,
+ NOT_SUPPORTED_KEYWORD = 344,
+ OBSOLETE_KEYWORD = 345,
+ REPLACE_KEYWORD = 346,
+ SYSTEM_KEYWORD = 347,
+ TRUE_KEYWORD = 348,
+ UNBOUNDED_KEYWORD = 349,
+ USER_KEYWORD = 350,
+ ACTION_KEYWORD = 351,
+ MODIFIER_KEYWORD = 352,
+ ANYDATA_KEYWORD = 353,
+ NODE = 354,
+ NODE_PRINT = 355,
+ EXTENSION_INSTANCE = 356,
+ SUBMODULE_EXT_KEYWORD = 357
+ };
#endif
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-union YYSTYPE
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
{
@@ -271,30 +272,40 @@
} revisions;
-};
-typedef union YYSTYPE YYSTYPE;
+} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE YYLTYPE;
-struct YYLTYPE
+typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
-};
+} YYLTYPE;
+# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
int yyparse (void *scanner, struct yang_parameter *param);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_PARSER_YANG_BIS_H_INCLUDED */
@@ -314,8 +325,11 @@
#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
@@ -335,7 +349,8 @@
# 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
@@ -357,33 +372,6 @@
# 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))
@@ -391,25 +379,23 @@
# 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
+#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_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+{
+ return yyi;
+}
#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
#if ! defined yyoverflow || YYERROR_VERBOSE
@@ -428,7 +414,8 @@
# 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
@@ -440,8 +427,8 @@
# 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
@@ -457,7 +444,7 @@
# 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
@@ -465,13 +452,15 @@
# 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
@@ -481,8 +470,8 @@
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
- && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
+ && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -508,16 +497,16 @@
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
@@ -536,7 +525,7 @@
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (0)
+ while (YYID (0))
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -552,19 +541,17 @@
#define YYNNTS 329
/* YYNRULES -- Number of rules. */
#define YYNRULES 827
-/* YYNSTATES -- Number of states. */
+/* YYNRULES -- Number of states. */
#define YYNSTATES 1320
-/* 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 357
-#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,
@@ -606,92 +593,429 @@
};
#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_uint16 yyprhs[] =
+{
+ 0, 0, 3, 5, 7, 9, 11, 15, 16, 17,
+ 24, 26, 40, 42, 43, 46, 49, 52, 54, 68,
+ 70, 71, 74, 78, 80, 85, 87, 92, 93, 97,
+ 101, 109, 111, 112, 115, 118, 121, 124, 126, 131,
+ 133, 138, 139, 142, 145, 148, 150, 155, 157, 165,
+ 167, 172, 173, 176, 179, 182, 185, 187, 192, 194,
+ 199, 201, 206, 208, 213, 215, 217, 218, 222, 227,
+ 229, 234, 235, 238, 241, 242, 246, 248, 250, 251,
+ 255, 257, 259, 261, 263, 265, 267, 269, 271, 273,
+ 275, 277, 282, 284, 289, 290, 294, 297, 300, 303,
+ 305, 310, 312, 317, 319, 320, 325, 328, 331, 333,
+ 335, 340, 343, 346, 349, 351, 353, 358, 360, 365,
+ 366, 370, 373, 376, 379, 381, 386, 388, 392, 394,
+ 399, 401, 406, 407, 410, 414, 417, 420, 423, 425,
+ 430, 432, 440, 441, 445, 448, 451, 454, 457, 460,
+ 465, 467, 469, 474, 476, 478, 480, 481, 484, 487,
+ 490, 494, 498, 501, 505, 509, 512, 513, 515, 520,
+ 523, 525, 530, 532, 534, 539, 540, 543, 546, 549,
+ 552, 554, 559, 561, 563, 568, 569, 572, 575, 578,
+ 581, 584, 586, 591, 595, 596, 600, 605, 607, 609,
+ 614, 615, 619, 622, 625, 628, 631, 633, 638, 641,
+ 643, 648, 650, 655, 657, 662, 664, 669, 672, 675,
+ 677, 680, 681, 684, 690, 692, 694, 699, 700, 704,
+ 707, 710, 713, 716, 718, 723, 726, 728, 730, 735,
+ 737, 742, 744, 749, 751, 756, 758, 763, 765, 770,
+ 771, 774, 777, 780, 784, 788, 792, 796, 800, 802,
+ 804, 806, 808, 810, 812, 814, 816, 818, 823, 825,
+ 830, 831, 835, 839, 843, 846, 849, 852, 855, 858,
+ 862, 866, 870, 874, 878, 886, 888, 889, 893, 897,
+ 901, 904, 908, 911, 914, 917, 920, 923, 926, 928,
+ 936, 937, 941, 945, 949, 952, 955, 959, 962, 965,
+ 968, 971, 974, 977, 980, 982, 990, 991, 995, 999,
+ 1003, 1006, 1009, 1012, 1015, 1018, 1021, 1024, 1027, 1030,
+ 1034, 1038, 1042, 1046, 1050, 1052, 1057, 1059, 1064, 1065,
+ 1069, 1073, 1076, 1079, 1082, 1085, 1088, 1091, 1095, 1097,
+ 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1120,
+ 1122, 1127, 1128, 1132, 1136, 1139, 1142, 1145, 1149, 1151,
+ 1156, 1158, 1163, 1165, 1170, 1171, 1175, 1179, 1183, 1186,
+ 1189, 1192, 1195, 1198, 1200, 1205, 1207, 1212, 1213, 1217,
+ 1221, 1224, 1227, 1230, 1234, 1238, 1241, 1243, 1245, 1250,
+ 1252, 1257, 1258, 1262, 1266, 1269, 1272, 1275, 1278, 1281,
+ 1284, 1287, 1290, 1293, 1295, 1297, 1305, 1308, 1310, 1312,
+ 1320, 1321, 1325, 1329, 1332, 1335, 1338, 1342, 1346, 1350,
+ 1354, 1356, 1361, 1363, 1368, 1370, 1375, 1376, 1380, 1383,
+ 1386, 1389, 1393, 1397, 1401, 1405, 1408, 1414, 1415, 1419,
+ 1423, 1427, 1431, 1434, 1440, 1442, 1447, 1449, 1454, 1455,
+ 1459, 1463, 1466, 1469, 1472, 1476, 1480, 1484, 1486, 1494,
+ 1495, 1498, 1501, 1507, 1510, 1512, 1514, 1516, 1518, 1522,
+ 1524, 1528, 1530, 1532, 1534, 1536, 1540, 1542, 1547, 1548,
+ 1551, 1555, 1558, 1561, 1564, 1567, 1570, 1573, 1575, 1579,
+ 1581, 1586, 1587, 1590, 1594, 1597, 1600, 1602, 1606, 1608,
+ 1613, 1614, 1618, 1621, 1624, 1627, 1630, 1633, 1636, 1638,
+ 1643, 1645, 1650, 1651, 1654, 1657, 1659, 1664, 1667, 1670,
+ 1672, 1674, 1679, 1682, 1685, 1687, 1689, 1694, 1696, 1701,
+ 1704, 1706, 1708, 1713, 1716, 1719, 1721, 1723, 1728, 1731,
+ 1734, 1736, 1738, 1743, 1745, 1750, 1752, 1757, 1760, 1762,
+ 1764, 1769, 1770, 1774, 1776, 1778, 1781, 1784, 1785, 1788,
+ 1789, 1793, 1794, 1797, 1798, 1801, 1803, 1807, 1810, 1811,
+ 1814, 1818, 1821, 1822, 1825, 1828, 1829, 1832, 1833, 1840,
+ 1846, 1852, 1858, 1863, 1864, 1867, 1868, 1874, 1880, 1882,
+ 1884, 1886, 1888, 1890, 1892, 1894, 1896, 1899, 1902, 1904,
+ 1906, 1908, 1911, 1914, 1916, 1919, 1924, 1926, 1928, 1930,
+ 1931, 1934, 1937, 1941, 1944, 1946, 1947, 1949, 1950, 1953,
+ 1954, 1957, 1961, 1962, 1968, 1970, 1975, 1976, 1980, 1982,
+ 1986, 1990, 1992, 1997, 1999, 2001, 2002, 2007, 2010, 2016,
+ 2018, 2020, 2021, 2024, 2027, 2028, 2030, 2031, 2035, 2037,
+ 2039, 2041, 2043, 2045, 2047, 2049, 2051, 2053, 2055, 2057,
+ 2059, 2061, 2063, 2065, 2067, 2069, 2071, 2073, 2075, 2077,
+ 2079, 2081, 2083, 2085, 2087, 2089, 2091, 2093, 2095, 2097,
+ 2099, 2101, 2103, 2105, 2107, 2109, 2111, 2113, 2115, 2117,
+ 2119, 2121, 2123, 2125, 2127, 2129, 2131, 2133, 2135, 2137,
+ 2139, 2141, 2143, 2145, 2147, 2149, 2151, 2153, 2155, 2157,
+ 2159, 2161, 2163, 2165, 2167, 2169, 2171, 2173, 2175, 2177,
+ 2179, 2181, 2183, 2185, 2187, 2189, 2191, 2193, 2195, 2197,
+ 2199, 2201, 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217,
+ 2219, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2230,
+ 2232, 2234, 2236, 2238, 2240, 2242, 2244, 2246, 2248, 2250,
+ 2252, 2254, 2256, 2258, 2260, 2262, 2264, 2266, 2268, 2270,
+ 2272, 2274, 2276, 2278, 2280, 2282, 2284, 2286, 2288, 2290,
+ 2292, 2293, 2297, 2300, 2303, 2306, 2309, 2312, 2315, 2318,
+ 2321, 2324, 2327, 2330, 2333, 2336, 2339, 2342, 2347, 2352,
+ 2355, 2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382,
+ 2385, 2388, 2393, 2397, 2402, 2407, 2412, 2417
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int16 yyrhs[] =
+{
+ 114, 0, -1, 120, -1, 124, -1, 441, -1, 8,
+ -1, 115, 419, 117, -1, -1, -1, 117, 103, 419,
+ 8, 118, 419, -1, 395, -1, 419, 54, 420, 119,
+ 104, 402, 121, 131, 145, 154, 162, 105, 419, -1,
+ 122, -1, -1, 122, 128, -1, 122, 130, -1, 122,
+ 144, -1, 395, -1, 419, 74, 420, 123, 104, 402,
+ 125, 131, 145, 154, 162, 105, 419, -1, 126, -1,
+ -1, 126, 128, -1, 126, 142, 402, -1, 422, -1,
+ 82, 420, 127, 398, -1, 422, -1, 56, 420, 129,
+ 398, -1, -1, 131, 132, 402, -1, 131, 136, 402,
+ -1, 43, 420, 133, 104, 402, 134, 105, -1, 395,
+ -1, -1, 134, 144, -1, 134, 151, -1, 134, 153,
+ -1, 134, 140, -1, 395, -1, 44, 420, 135, 137,
+ -1, 106, -1, 104, 402, 138, 105, -1, -1, 138,
+ 151, -1, 138, 153, -1, 138, 140, -1, 160, -1,
+ 71, 420, 139, 398, -1, 395, -1, 23, 420, 141,
+ 104, 402, 144, 105, -1, 394, -1, 64, 420, 143,
+ 398, -1, -1, 145, 147, -1, 145, 149, -1, 145,
+ 151, -1, 145, 153, -1, 422, -1, 59, 420, 146,
+ 398, -1, 422, -1, 28, 420, 148, 398, -1, 422,
+ -1, 31, 420, 150, 398, -1, 422, -1, 67, 420,
+ 152, 398, -1, 156, -1, 160, -1, -1, 156, 157,
+ 402, -1, 70, 420, 155, 158, -1, 106, -1, 104,
+ 402, 159, 105, -1, -1, 159, 151, -1, 159, 153,
+ -1, -1, 12, 161, 419, -1, 116, -1, 163, -1,
+ -1, 163, 164, 402, -1, 166, -1, 179, -1, 186,
+ -1, 192, -1, 249, -1, 252, -1, 296, -1, 301,
+ -1, 310, -1, 314, -1, 395, -1, 35, 420, 165,
+ 167, -1, 106, -1, 104, 402, 168, 105, -1, -1,
+ 168, 170, 402, -1, 168, 176, -1, 168, 151, -1,
+ 168, 153, -1, 395, -1, 20, 420, 169, 171, -1,
+ 106, -1, 104, 402, 173, 105, -1, 174, -1, -1,
+ 83, 420, 172, 398, -1, 93, 419, -1, 88, 419,
+ -1, 116, -1, 177, -1, 73, 420, 175, 398, -1,
+ 85, 419, -1, 90, 419, -1, 87, 419, -1, 116,
+ -1, 395, -1, 38, 420, 178, 180, -1, 106, -1,
+ 104, 402, 181, 105, -1, -1, 181, 183, 402, -1,
+ 181, 176, -1, 181, 151, -1, 181, 153, -1, 422,
+ -1, 42, 420, 182, 184, -1, 106, -1, 104, 402,
+ 105, -1, 395, -1, 41, 420, 185, 187, -1, 106,
+ -1, 104, 402, 188, 105, -1, -1, 188, 190, -1,
+ 188, 183, 402, -1, 188, 176, -1, 188, 151, -1,
+ 188, 153, -1, 397, -1, 22, 420, 189, 398, -1,
+ 395, -1, 76, 420, 191, 104, 402, 193, 105, -1,
+ -1, 193, 194, 402, -1, 193, 245, -1, 193, 247,
+ -1, 193, 176, -1, 193, 151, -1, 193, 153, -1,
+ 75, 420, 195, 196, -1, 397, -1, 106, -1, 104,
+ 402, 197, 105, -1, 198, -1, 215, -1, 231, -1,
+ -1, 198, 229, -1, 198, 227, -1, 198, 190, -1,
+ 198, 204, 402, -1, 198, 209, 402, -1, 198, 202,
+ -1, 198, 224, 402, -1, 198, 199, 402, -1, 200,
+ 194, -1, -1, 203, -1, 39, 420, 201, 398, -1,
+ 390, 419, -1, 116, -1, 49, 420, 205, 206, -1,
+ 422, -1, 106, -1, 104, 402, 207, 105, -1, -1,
+ 207, 241, -1, 207, 243, -1, 207, 151, -1, 207,
+ 153, -1, 420, -1, 62, 208, 210, 211, -1, 422,
+ -1, 106, -1, 104, 402, 212, 105, -1, -1, 212,
+ 214, -1, 212, 241, -1, 212, 243, -1, 212, 151,
+ -1, 212, 153, -1, 422, -1, 97, 420, 213, 398,
+ -1, 217, 402, 216, -1, -1, 216, 217, 402, -1,
+ 32, 420, 218, 219, -1, 422, -1, 106, -1, 104,
+ 402, 220, 105, -1, -1, 220, 183, 402, -1, 220,
+ 222, -1, 220, 176, -1, 220, 151, -1, 220, 153,
+ -1, 223, -1, 80, 420, 221, 398, -1, 392, 419,
+ -1, 116, -1, 66, 420, 365, 225, -1, 106, -1,
+ 104, 402, 207, 105, -1, 371, -1, 61, 420, 226,
+ 398, -1, 230, -1, 69, 420, 228, 398, -1, 93,
+ 419, -1, 88, 419, -1, 116, -1, 233, 232, -1,
+ -1, 232, 233, -1, 24, 420, 234, 235, 402, -1,
+ 395, -1, 106, -1, 104, 402, 236, 105, -1, -1,
+ 236, 183, 402, -1, 236, 238, -1, 236, 176, -1,
+ 236, 151, -1, 236, 153, -1, 239, -1, 63, 420,
+ 237, 398, -1, 391, 419, -1, 116, -1, 422, -1,
+ 34, 420, 240, 398, -1, 422, -1, 33, 420, 242,
+ 398, -1, 422, -1, 78, 420, 244, 398, -1, 422,
+ -1, 30, 420, 246, 398, -1, 395, -1, 40, 420,
+ 248, 250, -1, 106, -1, 104, 402, 251, 105, -1,
+ -1, 251, 176, -1, 251, 151, -1, 251, 153, -1,
+ 251, 249, 402, -1, 251, 192, 402, -1, 251, 252,
+ 402, -1, 251, 299, 402, -1, 251, 310, 402, -1,
+ 254, -1, 257, -1, 261, -1, 264, -1, 267, -1,
+ 277, -1, 279, -1, 283, -1, 395, -1, 29, 420,
+ 253, 255, -1, 106, -1, 104, 402, 256, 105, -1,
+ -1, 256, 335, 402, -1, 256, 183, 402, -1, 256,
+ 356, 402, -1, 256, 345, -1, 256, 339, -1, 256,
+ 176, -1, 256, 151, -1, 256, 153, -1, 256, 249,
+ 402, -1, 256, 299, 402, -1, 256, 310, 402, -1,
+ 256, 192, 402, -1, 256, 252, 402, -1, 47, 420,
+ 258, 104, 402, 259, 105, -1, 395, -1, -1, 259,
+ 335, 402, -1, 259, 183, 402, -1, 259, 194, 402,
+ -1, 259, 245, -1, 259, 356, 402, -1, 259, 247,
+ -1, 259, 339, -1, 259, 342, -1, 259, 176, -1,
+ 259, 151, -1, 259, 153, -1, 395, -1, 48, 420,
+ 260, 104, 402, 262, 105, -1, -1, 262, 335, 402,
+ -1, 262, 183, 402, -1, 262, 194, 402, -1, 262,
+ 247, -1, 262, 245, -1, 262, 356, 402, -1, 262,
+ 339, -1, 262, 347, -1, 262, 350, -1, 262, 353,
+ -1, 262, 176, -1, 262, 151, -1, 262, 153, -1,
+ 395, -1, 50, 420, 263, 104, 402, 265, 105, -1,
+ -1, 265, 335, 402, -1, 265, 183, 402, -1, 265,
+ 356, 402, -1, 265, 362, -1, 265, 359, -1, 265,
+ 339, -1, 265, 347, -1, 265, 350, -1, 265, 353,
+ -1, 265, 176, -1, 265, 151, -1, 265, 153, -1,
+ 265, 192, 402, -1, 265, 249, 402, -1, 265, 299,
+ 402, -1, 265, 310, 402, -1, 265, 252, 402, -1,
+ 395, -1, 26, 420, 266, 268, -1, 106, -1, 104,
+ 402, 269, 105, -1, -1, 269, 335, 402, -1, 269,
+ 183, 402, -1, 269, 247, -1, 269, 339, -1, 269,
+ 342, -1, 269, 176, -1, 269, 151, -1, 269, 153,
+ -1, 269, 270, 402, -1, 271, -1, 273, -1, 254,
+ -1, 257, -1, 261, -1, 264, -1, 277, -1, 279,
+ -1, 267, -1, 395, -1, 25, 420, 272, 274, -1,
+ 106, -1, 104, 402, 275, 105, -1, -1, 275, 335,
+ 402, -1, 275, 183, 402, -1, 275, 176, -1, 275,
+ 151, -1, 275, 153, -1, 275, 252, 402, -1, 395,
+ -1, 4, 420, 276, 280, -1, 395, -1, 98, 420,
+ 278, 280, -1, 106, -1, 104, 402, 281, 105, -1,
+ -1, 281, 335, 402, -1, 281, 183, 402, -1, 281,
+ 356, 402, -1, 281, 339, -1, 281, 342, -1, 281,
+ 176, -1, 281, 151, -1, 281, 153, -1, 397, -1,
+ 79, 420, 282, 284, -1, 106, -1, 104, 402, 285,
+ 105, -1, -1, 285, 335, 402, -1, 285, 183, 402,
+ -1, 285, 176, -1, 285, 151, -1, 285, 153, -1,
+ 285, 288, 402, -1, 285, 293, 402, -1, 369, 419,
+ -1, 116, -1, 286, -1, 68, 420, 287, 289, -1,
+ 106, -1, 104, 402, 290, 105, -1, -1, 290, 356,
+ 402, -1, 290, 183, 402, -1, 290, 345, -1, 290,
+ 247, -1, 290, 339, -1, 290, 342, -1, 290, 347,
+ -1, 290, 350, -1, 290, 151, -1, 290, 153, -1,
+ 369, 419, -1, 116, -1, 291, -1, 21, 420, 292,
+ 104, 402, 297, 105, -1, 367, 419, -1, 116, -1,
+ 294, -1, 21, 420, 295, 104, 402, 297, 105, -1,
+ -1, 297, 335, 402, -1, 297, 183, 402, -1, 297,
+ 176, -1, 297, 151, -1, 297, 153, -1, 297, 252,
+ 402, -1, 297, 299, 402, -1, 297, 310, 402, -1,
+ 297, 273, 402, -1, 395, -1, 96, 420, 298, 302,
+ -1, 395, -1, 72, 420, 300, 302, -1, 106, -1,
+ 104, 402, 303, 105, -1, -1, 303, 183, 402, -1,
+ 303, 176, -1, 303, 151, -1, 303, 153, -1, 303,
+ 192, 402, -1, 303, 249, 402, -1, 303, 305, 402,
+ -1, 303, 308, 402, -1, 45, 419, -1, 304, 104,
+ 402, 306, 105, -1, -1, 306, 356, 402, -1, 306,
+ 192, 402, -1, 306, 249, 402, -1, 306, 252, 402,
+ -1, 60, 419, -1, 307, 104, 402, 306, 105, -1,
+ 395, -1, 57, 420, 309, 311, -1, 106, -1, 104,
+ 402, 312, 105, -1, -1, 312, 356, 402, -1, 312,
+ 183, 402, -1, 312, 176, -1, 312, 151, -1, 312,
+ 153, -1, 312, 192, 402, -1, 312, 249, 402, -1,
+ 312, 252, 402, -1, 316, -1, 36, 420, 313, 104,
+ 402, 315, 105, -1, -1, 315, 151, -1, 315, 153,
+ -1, 315, 37, 420, 317, 402, -1, 367, 419, -1,
+ 116, -1, 319, -1, 321, -1, 89, -1, 318, 419,
+ 320, -1, 106, -1, 104, 402, 105, -1, 323, -1,
+ 331, -1, 327, -1, 84, -1, 322, 419, 324, -1,
+ 106, -1, 104, 402, 325, 105, -1, -1, 325, 245,
+ -1, 325, 356, 402, -1, 325, 359, -1, 325, 247,
+ -1, 325, 339, -1, 325, 342, -1, 325, 347, -1,
+ 325, 350, -1, 86, -1, 326, 419, 328, -1, 106,
+ -1, 104, 402, 329, 105, -1, -1, 329, 245, -1,
+ 329, 356, 402, -1, 329, 359, -1, 329, 247, -1,
+ 91, -1, 330, 419, 332, -1, 106, -1, 104, 402,
+ 333, 105, -1, -1, 333, 194, 402, -1, 333, 245,
+ -1, 333, 247, -1, 333, 339, -1, 333, 342, -1,
+ 333, 347, -1, 333, 350, -1, 422, -1, 81, 420,
+ 334, 336, -1, 106, -1, 104, 402, 337, 105, -1,
+ -1, 337, 151, -1, 337, 153, -1, 340, -1, 27,
+ 420, 338, 398, -1, 93, 419, -1, 88, 419, -1,
+ 116, -1, 343, -1, 51, 420, 341, 398, -1, 93,
+ 419, -1, 88, 419, -1, 116, -1, 422, -1, 65,
+ 420, 344, 398, -1, 348, -1, 53, 420, 346, 398,
+ -1, 391, 419, -1, 116, -1, 351, -1, 52, 420,
+ 349, 398, -1, 94, 419, -1, 390, 419, -1, 116,
+ -1, 354, -1, 58, 420, 352, 398, -1, 95, 419,
+ -1, 92, 419, -1, 116, -1, 422, -1, 55, 420,
+ 355, 357, -1, 106, -1, 104, 402, 207, 105, -1,
+ 360, -1, 77, 420, 358, 398, -1, 369, 419, -1,
+ 116, -1, 363, -1, 46, 420, 361, 398, -1, -1,
+ 396, 364, 419, -1, 116, -1, 422, -1, 107, 396,
+ -1, 366, 368, -1, -1, 368, 366, -1, -1, 396,
+ 370, 368, -1, -1, 372, 375, -1, -1, 373, 377,
+ -1, 116, -1, 107, 396, 382, -1, 374, 376, -1,
+ -1, 376, 374, -1, 378, 379, 380, -1, 14, 107,
+ -1, -1, 379, 378, -1, 396, 381, -1, -1, 382,
+ 375, -1, -1, 382, 108, 421, 383, 421, 109, -1,
+ 396, 421, 110, 421, 384, -1, 389, 421, 107, 421,
+ 385, -1, 386, 387, 396, 388, 396, -1, 14, 421,
+ 107, 421, -1, -1, 387, 386, -1, -1, 388, 421,
+ 107, 421, 396, -1, 85, 421, 111, 421, 112, -1,
+ 17, -1, 18, -1, 390, -1, 18, -1, 393, -1,
+ 16, -1, 17, -1, 116, -1, 428, 419, -1, 428,
+ 419, -1, 116, -1, 425, -1, 11, -1, 428, 419,
+ -1, 429, 419, -1, 116, -1, 399, 402, -1, 401,
+ 402, 400, 402, -1, 106, -1, 105, -1, 104, -1,
+ -1, 402, 418, -1, 402, 403, -1, 429, 404, 410,
+ -1, 405, 406, -1, 419, -1, -1, 422, -1, -1,
+ 420, 408, -1, -1, 424, 419, -1, 8, 419, 409,
+ -1, -1, 409, 103, 419, 8, 419, -1, 106, -1,
+ 104, 419, 411, 105, -1, -1, 411, 412, 419, -1,
+ 403, -1, 414, 407, 413, -1, 415, 407, 413, -1,
+ 106, -1, 104, 419, 416, 105, -1, 427, -1, 54,
+ -1, -1, 416, 396, 407, 417, -1, 106, 419, -1,
+ 104, 419, 416, 105, 419, -1, 5, -1, 7, -1,
+ -1, 419, 418, -1, 418, 419, -1, -1, 5, -1,
+ -1, 424, 423, 419, -1, 116, -1, 9, -1, 12,
+ -1, 425, -1, 11, -1, 18, -1, 16, -1, 17,
+ -1, 54, -1, 426, -1, 427, -1, 10, -1, 85,
+ -1, 87, -1, 88, -1, 89, -1, 90, -1, 92,
+ -1, 93, -1, 94, -1, 95, -1, 4, -1, 20,
+ -1, 21, -1, 22, -1, 23, -1, 24, -1, 25,
+ -1, 26, -1, 27, -1, 28, -1, 29, -1, 30,
+ -1, 31, -1, 32, -1, 33, -1, 34, -1, 35,
+ -1, 36, -1, 37, -1, 38, -1, 39, -1, 40,
+ -1, 41, -1, 42, -1, 43, -1, 44, -1, 45,
+ -1, 46, -1, 47, -1, 48, -1, 49, -1, 50,
+ -1, 51, -1, 52, -1, 53, -1, 55, -1, 56,
+ -1, 57, -1, 58, -1, 59, -1, 60, -1, 61,
+ -1, 62, -1, 63, -1, 64, -1, 65, -1, 66,
+ -1, 67, -1, 68, -1, 69, -1, 70, -1, 71,
+ -1, 72, -1, 73, -1, 74, -1, 75, -1, 76,
+ -1, 77, -1, 78, -1, 79, -1, 80, -1, 81,
+ -1, 82, -1, 83, -1, 84, -1, 86, -1, 91,
+ -1, 96, -1, 97, -1, 98, -1, 425, -1, 11,
+ -1, -1, -1, -1, -1, -1, -1, -1, 438, -1,
+ 82, -1, 83, -1, 24, -1, 32, -1, 21, -1,
+ 36, -1, 37, -1, 35, -1, 38, -1, 41, -1,
+ 43, -1, 44, -1, 102, -1, 299, -1, 279, -1,
+ 277, -1, 273, -1, 267, -1, 254, -1, 249, -1,
+ 305, -1, 257, -1, 261, -1, 264, -1, 310, -1,
+ 308, -1, 283, -1, 356, -1, 209, -1, 224, -1,
+ 204, -1, -1, 441, 142, 402, -1, 441, 144, -1,
+ 441, 151, -1, 441, 153, -1, 441, 245, -1, 441,
+ 190, -1, 441, 149, -1, 441, 247, -1, 441, 241,
+ -1, 441, 243, -1, 441, 362, -1, 441, 130, -1,
+ 441, 147, -1, 441, 227, -1, 441, 345, -1, 441,
+ 140, -1, 441, 430, 194, 402, -1, 441, 431, 192,
+ 402, -1, 441, 176, -1, 441, 339, -1, 441, 342,
+ -1, 441, 353, -1, 441, 229, -1, 441, 214, -1,
+ 441, 202, -1, 441, 347, -1, 441, 350, -1, 441,
+ 238, -1, 441, 222, -1, 441, 359, -1, 441, 432,
+ 183, 402, -1, 441, 170, 402, -1, 441, 433, 440,
+ 402, -1, 441, 434, 335, 402, -1, 441, 435, 157,
+ 402, -1, 441, 436, 439, 402, -1, 441, 437, 407,
+ 417, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 333, 333, 334, 335, 337, 360, 363, 365, 364,
- 388, 399, 409, 419, 420, 426, 431, 437, 448, 458,
- 471, 472, 478, 480, 484, 486, 490, 492, 493, 494,
- 496, 504, 512, 513, 518, 529, 540, 551, 559, 564,
- 565, 569, 570, 581, 592, 603, 607, 609, 632, 649,
- 653, 655, 656, 661, 666, 671, 677, 681, 683, 687,
- 689, 693, 695, 699, 701, 714, 725, 726, 737, 741,
- 742, 746, 747, 752, 759, 759, 766, 772, 820, 839,
- 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
- 854, 869, 876, 877, 881, 882, 883, 889, 894, 900,
- 918, 920, 921, 925, 930, 931, 953, 954, 955, 968,
- 973, 975, 976, 977, 978, 993, 1007, 1012, 1013, 1028,
- 1029, 1030, 1036, 1041, 1047, 1104, 1109, 1110, 1112, 1128,
- 1133, 1134, 1159, 1160, 1174, 1175, 1181, 1186, 1192, 1196,
- 1198, 1251, 1262, 1265, 1268, 1273, 1278, 1284, 1289, 1295,
- 1300, 1309, 1310, 1314, 1359, 1360, 1362, 1363, 1367, 1373,
- 1386, 1387, 1388, 1392, 1393, 1395, 1399, 1417, 1422, 1424,
- 1425, 1441, 1446, 1455, 1456, 1460, 1476, 1481, 1486, 1491,
- 1497, 1501, 1515, 1530, 1531, 1535, 1536, 1546, 1551, 1556,
- 1561, 1567, 1571, 1582, 1594, 1595, 1598, 1606, 1617, 1618,
- 1633, 1634, 1635, 1647, 1653, 1658, 1664, 1669, 1671, 1672,
- 1687, 1692, 1693, 1698, 1702, 1704, 1709, 1711, 1712, 1713,
- 1726, 1738, 1739, 1741, 1749, 1761, 1762, 1777, 1778, 1779,
- 1791, 1797, 1802, 1808, 1813, 1815, 1816, 1832, 1836, 1838,
- 1842, 1844, 1848, 1850, 1854, 1856, 1866, 1873, 1874, 1878,
- 1879, 1885, 1890, 1895, 1896, 1897, 1898, 1899, 1905, 1906,
- 1907, 1908, 1909, 1910, 1911, 1912, 1915, 1925, 1932, 1933,
- 1956, 1957, 1958, 1959, 1960, 1965, 1971, 1977, 1982, 1987,
- 1988, 1989, 1994, 1995, 1997, 2037, 2047, 2050, 2051, 2052,
- 2055, 2060, 2061, 2066, 2072, 2078, 2084, 2089, 2095, 2105,
- 2160, 2163, 2164, 2165, 2168, 2179, 2184, 2185, 2191, 2204,
- 2217, 2227, 2233, 2238, 2244, 2254, 2301, 2304, 2305, 2306,
- 2307, 2316, 2322, 2328, 2341, 2354, 2364, 2370, 2375, 2380,
- 2381, 2382, 2383, 2388, 2390, 2400, 2407, 2408, 2428, 2431,
- 2432, 2433, 2443, 2450, 2457, 2464, 2470, 2476, 2478, 2479,
- 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2493, 2503, 2510,
- 2511, 2525, 2526, 2527, 2528, 2534, 2539, 2544, 2547, 2557,
- 2564, 2574, 2581, 2582, 2605, 2608, 2609, 2610, 2611, 2618,
- 2625, 2632, 2637, 2643, 2653, 2660, 2661, 2693, 2694, 2695,
- 2696, 2702, 2707, 2712, 2713, 2715, 2716, 2718, 2731, 2736,
- 2737, 2769, 2772, 2786, 2802, 2824, 2875, 2894, 2913, 2934,
- 2955, 2960, 2966, 2967, 2970, 2985, 2994, 2995, 2997, 3008,
- 3017, 3018, 3019, 3020, 3026, 3031, 3036, 3037, 3038, 3043,
- 3045, 3060, 3067, 3077, 3084, 3085, 3109, 3112, 3113, 3119,
- 3124, 3129, 3130, 3131, 3138, 3146, 3161, 3191, 3192, 3193,
- 3194, 3195, 3197, 3212, 3242, 3251, 3258, 3259, 3291, 3292,
- 3293, 3294, 3300, 3305, 3310, 3311, 3312, 3314, 3326, 3346,
- 3347, 3353, 3359, 3361, 3362, 3364, 3365, 3368, 3376, 3381,
- 3382, 3384, 3385, 3386, 3388, 3396, 3401, 3402, 3434, 3435,
- 3441, 3442, 3448, 3454, 3461, 3468, 3476, 3485, 3493, 3498,
- 3499, 3531, 3532, 3538, 3539, 3545, 3552, 3560, 3565, 3566,
- 3580, 3581, 3582, 3588, 3594, 3601, 3608, 3616, 3625, 3634,
- 3639, 3640, 3644, 3645, 3650, 3656, 3661, 3663, 3664, 3665,
- 3678, 3683, 3685, 3686, 3687, 3700, 3704, 3706, 3711, 3713,
- 3714, 3734, 3739, 3741, 3742, 3743, 3763, 3768, 3770, 3771,
- 3772, 3784, 3853, 3858, 3859, 3863, 3867, 3869, 3870, 3872,
- 3876, 3878, 3878, 3885, 3888, 3897, 3916, 3918, 3919, 3922,
- 3922, 3939, 3939, 3946, 3946, 3953, 3956, 3958, 3960, 3961,
- 3963, 3965, 3967, 3968, 3970, 3972, 3973, 3975, 3976, 3978,
- 3980, 3983, 3987, 3989, 3990, 3992, 3993, 3995, 3997, 4008,
- 4009, 4012, 4013, 4024, 4025, 4027, 4028, 4030, 4031, 4037,
- 4038, 4041, 4042, 4043, 4067, 4068, 4071, 4077, 4081, 4086,
- 4087, 4088, 4091, 4096, 4106, 4108, 4109, 4111, 4112, 4114,
- 4115, 4116, 4118, 4119, 4121, 4122, 4124, 4125, 4129, 4130,
- 4157, 4195, 4196, 4198, 4200, 4202, 4203, 4205, 4206, 4208,
- 4209, 4212, 4213, 4216, 4218, 4219, 4222, 4222, 4229, 4231,
- 4232, 4233, 4234, 4235, 4236, 4237, 4239, 4240, 4241, 4243,
- 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4255,
- 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265,
- 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4275,
- 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285,
- 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295,
- 4296, 4297, 4298, 4299, 4300, 4301, 4302, 4303, 4304, 4305,
- 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4313, 4314, 4315,
- 4316, 4317, 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4326,
- 4333, 4340, 4360, 4378, 4394, 4421, 4428, 4446, 4486, 4488,
- 4489, 4490, 4491, 4492, 4493, 4494, 4495, 4496, 4497, 4498,
- 4499, 4500, 4502, 4503, 4504, 4505, 4506, 4507, 4508, 4509,
- 4510, 4511, 4512, 4513, 4514, 4515, 4517, 4518, 4519, 4520,
- 4522, 4530, 4531, 4536, 4541, 4546, 4551, 4556, 4561, 4566,
- 4571, 4576, 4581, 4586, 4591, 4596, 4601, 4606, 4620, 4640,
- 4645, 4650, 4655, 4668, 4673, 4677, 4687, 4702, 4717, 4732,
- 4747, 4767, 4782, 4783, 4789, 4796, 4811, 4814
+ 0, 334, 334, 335, 336, 338, 361, 364, 366, 365,
+ 389, 400, 410, 420, 421, 427, 432, 438, 449, 459,
+ 472, 473, 479, 481, 485, 487, 491, 493, 494, 495,
+ 497, 505, 513, 514, 519, 530, 541, 552, 560, 565,
+ 566, 570, 571, 582, 593, 604, 608, 610, 633, 650,
+ 654, 656, 657, 662, 667, 672, 678, 682, 684, 688,
+ 690, 694, 696, 700, 702, 715, 726, 727, 738, 742,
+ 743, 747, 748, 753, 760, 760, 767, 773, 821, 840,
+ 843, 844, 845, 846, 847, 848, 849, 850, 851, 852,
+ 855, 870, 877, 878, 882, 883, 884, 890, 895, 901,
+ 919, 921, 922, 926, 931, 932, 954, 955, 956, 969,
+ 974, 976, 977, 978, 979, 994, 1008, 1013, 1014, 1029,
+ 1030, 1031, 1037, 1042, 1048, 1105, 1110, 1111, 1113, 1129,
+ 1134, 1135, 1160, 1161, 1175, 1176, 1182, 1187, 1193, 1197,
+ 1199, 1252, 1263, 1266, 1269, 1274, 1279, 1285, 1290, 1296,
+ 1301, 1310, 1311, 1315, 1362, 1363, 1365, 1366, 1370, 1376,
+ 1389, 1390, 1391, 1395, 1396, 1398, 1402, 1420, 1425, 1427,
+ 1428, 1444, 1449, 1458, 1459, 1463, 1479, 1484, 1489, 1494,
+ 1500, 1504, 1520, 1535, 1536, 1540, 1541, 1551, 1556, 1561,
+ 1566, 1572, 1576, 1587, 1599, 1600, 1603, 1611, 1622, 1623,
+ 1638, 1639, 1640, 1652, 1658, 1663, 1669, 1674, 1676, 1677,
+ 1692, 1697, 1698, 1703, 1707, 1709, 1714, 1716, 1717, 1718,
+ 1731, 1743, 1744, 1746, 1754, 1766, 1767, 1782, 1783, 1784,
+ 1796, 1802, 1807, 1813, 1818, 1820, 1821, 1837, 1841, 1843,
+ 1847, 1849, 1853, 1855, 1859, 1861, 1871, 1878, 1879, 1883,
+ 1884, 1890, 1895, 1900, 1901, 1902, 1903, 1904, 1910, 1911,
+ 1912, 1913, 1914, 1915, 1916, 1917, 1920, 1930, 1937, 1938,
+ 1961, 1962, 1963, 1964, 1965, 1970, 1976, 1982, 1987, 1992,
+ 1993, 1994, 1999, 2000, 2002, 2042, 2052, 2055, 2056, 2057,
+ 2060, 2065, 2066, 2071, 2077, 2083, 2089, 2094, 2100, 2110,
+ 2165, 2168, 2169, 2170, 2173, 2184, 2189, 2190, 2196, 2209,
+ 2222, 2232, 2238, 2243, 2249, 2259, 2306, 2309, 2310, 2311,
+ 2312, 2321, 2327, 2333, 2346, 2359, 2369, 2375, 2380, 2385,
+ 2386, 2387, 2388, 2393, 2395, 2405, 2412, 2413, 2433, 2436,
+ 2437, 2438, 2448, 2455, 2462, 2469, 2475, 2481, 2483, 2484,
+ 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2498, 2508, 2515,
+ 2516, 2530, 2531, 2532, 2533, 2539, 2544, 2549, 2552, 2562,
+ 2569, 2579, 2586, 2587, 2610, 2613, 2614, 2615, 2616, 2623,
+ 2630, 2637, 2642, 2648, 2658, 2665, 2666, 2698, 2699, 2700,
+ 2701, 2707, 2712, 2717, 2718, 2720, 2721, 2723, 2736, 2741,
+ 2742, 2774, 2777, 2791, 2807, 2829, 2880, 2899, 2918, 2939,
+ 2960, 2965, 2971, 2972, 2975, 2990, 2999, 3000, 3002, 3013,
+ 3022, 3023, 3024, 3025, 3031, 3036, 3041, 3042, 3043, 3048,
+ 3050, 3065, 3072, 3082, 3089, 3090, 3114, 3117, 3118, 3124,
+ 3129, 3134, 3135, 3136, 3143, 3151, 3166, 3196, 3197, 3198,
+ 3199, 3200, 3202, 3217, 3247, 3256, 3263, 3264, 3296, 3297,
+ 3298, 3299, 3305, 3310, 3315, 3316, 3317, 3319, 3331, 3351,
+ 3352, 3358, 3364, 3366, 3367, 3369, 3370, 3373, 3381, 3386,
+ 3387, 3389, 3390, 3391, 3393, 3401, 3406, 3407, 3439, 3440,
+ 3446, 3447, 3453, 3459, 3466, 3473, 3481, 3490, 3498, 3503,
+ 3504, 3536, 3537, 3543, 3544, 3550, 3557, 3565, 3570, 3571,
+ 3585, 3586, 3587, 3593, 3599, 3606, 3613, 3621, 3630, 3639,
+ 3644, 3645, 3649, 3650, 3655, 3661, 3666, 3668, 3669, 3670,
+ 3683, 3688, 3690, 3691, 3692, 3705, 3709, 3711, 3716, 3718,
+ 3719, 3739, 3744, 3746, 3747, 3748, 3768, 3773, 3775, 3776,
+ 3777, 3789, 3858, 3863, 3864, 3868, 3872, 3874, 3875, 3877,
+ 3881, 3883, 3883, 3890, 3893, 3902, 3921, 3923, 3924, 3927,
+ 3927, 3944, 3944, 3951, 3951, 3958, 3961, 3963, 3965, 3966,
+ 3968, 3970, 3972, 3973, 3975, 3977, 3978, 3980, 3981, 3983,
+ 3985, 3988, 3992, 3994, 3995, 3997, 3998, 4000, 4002, 4013,
+ 4014, 4017, 4018, 4029, 4030, 4032, 4033, 4035, 4036, 4042,
+ 4043, 4046, 4047, 4048, 4072, 4073, 4076, 4082, 4086, 4091,
+ 4092, 4093, 4096, 4101, 4111, 4113, 4114, 4116, 4117, 4119,
+ 4120, 4121, 4123, 4124, 4126, 4127, 4129, 4130, 4134, 4135,
+ 4162, 4200, 4201, 4203, 4205, 4207, 4208, 4210, 4211, 4213,
+ 4214, 4217, 4218, 4221, 4223, 4224, 4227, 4227, 4234, 4236,
+ 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4245, 4246, 4248,
+ 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4260,
+ 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270,
+ 4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280,
+ 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290,
+ 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4298, 4299, 4300,
+ 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4309, 4310,
+ 4311, 4312, 4313, 4314, 4315, 4316, 4317, 4318, 4319, 4320,
+ 4321, 4322, 4323, 4324, 4325, 4326, 4327, 4328, 4329, 4331,
+ 4338, 4345, 4365, 4383, 4399, 4426, 4433, 4451, 4491, 4493,
+ 4494, 4495, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503,
+ 4504, 4505, 4507, 4508, 4509, 4510, 4511, 4512, 4513, 4514,
+ 4515, 4516, 4517, 4518, 4519, 4520, 4522, 4523, 4524, 4525,
+ 4527, 4535, 4536, 4541, 4546, 4551, 4556, 4561, 4566, 4571,
+ 4576, 4581, 4586, 4591, 4596, 4601, 4606, 4611, 4625, 4645,
+ 4650, 4655, 4660, 4673, 4678, 4682, 4692, 4707, 4722, 4737,
+ 4752, 4772, 4787, 4788, 4794, 4801, 4816, 4819
};
#endif
@@ -821,13 +1145,13 @@
"iffeature_ext_alloc", "restriction_ext_alloc", "when_ext_alloc",
"revision_ext_alloc", "datadef_ext_check", "not_supported_ext_check",
"not_supported_ext", "datadef_ext_stmt", "restriction_ext_stmt",
- "ext_substatements", YY_NULLPTR
+ "ext_substatements", 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,
@@ -845,157 +1169,185 @@
};
# endif
-#define YYPACT_NINF -706
-
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-706)))
-
-#define YYTABLE_NINF -757
-
-#define yytable_value_is_error(Yytable_value) \
- 0
-
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-static const yytype_int16 yypact[] =
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint16 yyr1[] =
{
- 349, 27, -706, -706, 352, 1787, -706, -706, -706, 53,
- 53, -706, 53, -706, 53, 53, -706, 53, 53, 53,
- 53, -706, 53, 53, -706, -706, -706, -706, 53, -706,
- -706, -706, 53, 53, 53, 53, 53, 53, 53, 53,
- 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
- -706, -706, 53, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -5, 42, 96, 405, 65, 86, 372,
- 53, -706, -706, 3167, 3167, 3167, 2692, 3167, 147, 2446,
- 2446, 2446, 2446, 2446, 115, 2787, 151, 104, 417, 2446,
- 109, 2446, 164, 417, 3167, 2446, 2446, 181, 107, 185,
- 2787, 2446, 516, 2446, 373, 373, 53, -706, 53, -706,
- 53, -706, 53, 53, 53, 53, -706, -706, -706, -706,
- -706, 53, -706, 53, -706, 53, 53, 53, 53, 53,
- -706, 53, 53, 53, 53, -706, 53, 53, 53, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- 80, -706, 132, -706, -706, -706, 144, 2597, 53, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, 138, -706, -706, -706, -706, -706, 178,
- -706, 156, -706, -706, -706, 244, -706, -706, -706, 208,
- -706, -706, -706, -706, 244, -706, -706, -706, -706, -706,
- -706, -706, -706, 244, -706, -706, -706, 244, -706, 244,
- -706, 244, -706, 244, -706, -706, -706, 244, -706, -706,
- -706, -706, 244, -706, -706, -706, -706, -706, -706, 244,
- -706, -706, -706, 244, -706, -706, -706, -706, 244, -706,
- -706, -706, 244, -706, -706, -706, -706, 244, -706, 244,
- -706, -706, 244, -706, 184, 285, -706, 244, -706, -706,
- -706, 244, -706, -706, 244, -706, 244, -706, -706, -706,
- -706, 244, -706, -706, -706, 244, -706, -706, -706, -706,
- -706, 244, -706, -706, 244, -706, -706, -706, 244, -706,
- -706, -706, -706, -706, 244, -706, -706, -706, 244, -706,
- -706, -706, -706, 2692, 373, 3167, 373, 2446, 373, 2446,
- 2446, 2446, -706, 2446, 373, 2446, 373, 107, 373, 3167,
- 3167, 3167, 3167, 3167, 53, 3167, 3167, 3167, 3167, 53,
- 2692, 3167, 3167, -706, -706, 373, -706, -706, -706, -706,
- -706, -706, 53, -706, 53, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, 53, 53, -706, 53, 53, -706,
- -706, -706, -706, -706, -706, -706, -706, 53, -706, -706,
- 53, 53, -706, 53, -706, 53, -706, 53, -706, 53,
- 53, -706, -706, -706, 3262, -706, -706, 209, -706, -706,
- -706, 53, -706, 53, -706, -706, 53, 53, -706, -706,
- -706, 53, 53, 53, -706, -706, 53, -706, -706, -706,
- 53, -706, 261, 2446, 53, 281, -706, 219, -706, 290,
- -706, 298, -706, 358, -706, 395, -706, 412, -706, 491,
- -706, 497, -706, 502, -706, 503, -706, 509, -706, 510,
- -706, 513, -706, 226, -706, 234, -706, 262, -706, 520,
- -706, 533, -706, 556, -706, 502, -706, 373, 373, 53,
- 53, 53, 53, 243, 373, 373, 129, 373, 175, 306,
- 53, 53, -706, 184, -706, 2882, 53, 283, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, 465, 1570, 2084, 305,
- -706, -706, 357, -706, 34, 53, 309, -706, -706, 313,
- 316, -706, -706, -706, -15, 3262, -706, 53, 572, 373,
- 176, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, 53, -706, 442, 299, 53, -706, -706,
- -706, 299, -706, -706, 191, -706, 373, -706, 441, -706,
- 121, -706, 2179, 53, 53, 350, 1011, -706, -706, -706,
- -706, 500, -706, 230, 476, 340, 505, 242, 288, 939,
- 1456, 874, 1851, 1986, 3334, 1388, 1486, 1107, 264, 900,
- 373, 373, 373, 373, 53, 144, 490, -706, 53, 53,
- -706, -706, 447, 2446, 447, 373, -706, -706, -706, 244,
- -706, -706, 3262, -706, -706, -706, -706, -706, 53, 53,
- -706, 3167, 2446, -706, -706, -706, -5, -706, -706, -706,
- -706, -706, -706, 373, 452, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, 53, 53, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, 3167, 3167, 373, 373, -706, -706,
- -706, -706, -706, 86, 244, -706, -706, 53, 53, -706,
- 441, 441, 53, 568, 568, 571, -706, 663, -706, 373,
- -706, 373, 373, 373, 448, -706, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 2787, 2787, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 53, 53, 380, -706, 668, -706, 388, 1714, -706,
- -706, 397, 399, 401, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, 413, -706, -706,
- -706, 671, -706, -706, -706, -706, -706, -706, 53, 53,
- 53, 53, 53, 53, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, 373, -706, -706, 441, 53,
- 373, 373, 373, 373, -706, 53, -706, -706, -706, 53,
- 373, 373, 53, 13, 3167, 13, 3167, 3167, 3167, 373,
- 53, 444, 2278, 385, 518, 373, 373, 697, 20, -706,
- -706, 422, -706, -706, 679, -706, -706, 433, -706, -706,
- 682, -706, 683, -706, 556, -706, 441, -706, 441, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, 1886, 729, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, 283, 53, -706, -706, -706, -706,
- 53, -706, -706, -706, -706, -706, -706, -706, 429, 443,
- 373, 373, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, 373, 373, 373, 373, 373, 441, 441,
- 373, 373, 373, 373, 373, 373, 373, 373, 1946, 210,
- 154, 802, 369, 446, 540, -706, -706, -706, -706, -706,
- -706, 53, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, 441, -706, -706,
- 373, 250, 373, 373, 454, 2977, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- 441, -706, -706, 373, 128, 161, 162, 172, -706, 3072,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, 469, 195, 373, 373, 373, 441, -706,
- 274, 216, 746, 3262, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, 373, 373, 373
+ 0, 113, 114, 114, 114, 115, 116, 117, 118, 117,
+ 119, 120, 121, 122, 122, 122, 122, 123, 124, 125,
+ 126, 126, 126, 127, 128, 129, 130, 131, 131, 131,
+ 132, 133, 134, 134, 134, 134, 134, 135, 136, 137,
+ 137, 138, 138, 138, 138, 139, 140, 141, 142, 143,
+ 144, 145, 145, 145, 145, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 156, 157, 158,
+ 158, 159, 159, 159, 161, 160, 160, 162, 163, 163,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 165, 166, 167, 167, 168, 168, 168, 168, 168, 169,
+ 170, 171, 171, 172, 173, 173, 174, 174, 174, 175,
+ 176, 177, 177, 177, 177, 178, 179, 180, 180, 181,
+ 181, 181, 181, 181, 182, 183, 184, 184, 185, 186,
+ 187, 187, 188, 188, 188, 188, 188, 188, 189, 190,
+ 191, 192, 193, 193, 193, 193, 193, 193, 193, 194,
+ 195, 196, 196, 197, 197, 197, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 199, 200, 201, 202, 203,
+ 203, 204, 205, 206, 206, 207, 207, 207, 207, 207,
+ 208, 209, 210, 211, 211, 212, 212, 212, 212, 212,
+ 212, 213, 214, 215, 216, 216, 217, 218, 219, 219,
+ 220, 220, 220, 220, 220, 220, 221, 222, 223, 223,
+ 224, 225, 225, 226, 227, 228, 229, 230, 230, 230,
+ 231, 232, 232, 233, 234, 235, 235, 236, 236, 236,
+ 236, 236, 236, 237, 238, 239, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 250, 250, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 252, 252,
+ 252, 252, 252, 252, 252, 252, 253, 254, 255, 255,
+ 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 257, 258, 259, 259, 259, 259,
+ 259, 259, 259, 259, 259, 259, 259, 259, 260, 261,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 263, 264, 265, 265, 265, 265,
+ 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
+ 265, 265, 265, 265, 266, 267, 268, 268, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 269, 270, 270,
+ 271, 271, 271, 271, 271, 271, 271, 272, 273, 274,
+ 274, 275, 275, 275, 275, 275, 275, 275, 276, 277,
+ 278, 279, 280, 280, 281, 281, 281, 281, 281, 281,
+ 281, 281, 281, 282, 283, 284, 284, 285, 285, 285,
+ 285, 285, 285, 285, 285, 286, 286, 287, 288, 289,
+ 289, 290, 290, 290, 290, 290, 290, 290, 290, 290,
+ 290, 290, 291, 291, 292, 293, 294, 294, 295, 296,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 298, 299, 300, 301, 302, 302, 303, 303, 303, 303,
+ 303, 303, 303, 303, 303, 304, 305, 306, 306, 306,
+ 306, 306, 307, 308, 309, 310, 311, 311, 312, 312,
+ 312, 312, 312, 312, 312, 312, 312, 313, 314, 315,
+ 315, 315, 315, 316, 316, 317, 317, 318, 319, 320,
+ 320, 321, 321, 321, 322, 323, 324, 324, 325, 325,
+ 325, 325, 325, 325, 325, 325, 325, 326, 327, 328,
+ 328, 329, 329, 329, 329, 329, 330, 331, 332, 332,
+ 333, 333, 333, 333, 333, 333, 333, 333, 334, 335,
+ 336, 336, 337, 337, 337, 338, 339, 340, 340, 340,
+ 341, 342, 343, 343, 343, 344, 345, 346, 347, 348,
+ 348, 349, 350, 351, 351, 351, 352, 353, 354, 354,
+ 354, 355, 356, 357, 357, 358, 359, 360, 360, 361,
+ 362, 364, 363, 363, 365, 366, 367, 368, 368, 370,
+ 369, 372, 371, 373, 371, 371, 374, 375, 376, 376,
+ 377, 378, 379, 379, 380, 381, 381, 382, 382, 383,
+ 384, 385, 386, 387, 387, 388, 388, 389, 390, 391,
+ 391, 392, 392, 393, 393, 394, 394, 395, 395, 396,
+ 396, 397, 397, 397, 398, 398, 399, 400, 401, 402,
+ 402, 402, 403, 404, 405, 406, 406, 407, 407, 408,
+ 408, 408, 409, 409, 410, 410, 411, 411, 412, 412,
+ 412, 413, 413, 414, 415, 416, 416, 417, 417, 418,
+ 418, 419, 419, 420, 421, 421, 423, 422, 422, 424,
+ 424, 424, 424, 424, 424, 424, 425, 425, 425, 426,
+ 426, 426, 426, 426, 426, 426, 426, 426, 426, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 438, 438, 438, 438, 438, 438, 438, 438, 438, 438,
+ 438, 438, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 440, 440, 440, 440,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441
};
- /* 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. */
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 1, 1, 1, 1, 3, 0, 0, 6,
+ 1, 13, 1, 0, 2, 2, 2, 1, 13, 1,
+ 0, 2, 3, 1, 4, 1, 4, 0, 3, 3,
+ 7, 1, 0, 2, 2, 2, 2, 1, 4, 1,
+ 4, 0, 2, 2, 2, 1, 4, 1, 7, 1,
+ 4, 0, 2, 2, 2, 2, 1, 4, 1, 4,
+ 1, 4, 1, 4, 1, 1, 0, 3, 4, 1,
+ 4, 0, 2, 2, 0, 3, 1, 1, 0, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 4, 1, 4, 0, 3, 2, 2, 2, 1,
+ 4, 1, 4, 1, 0, 4, 2, 2, 1, 1,
+ 4, 2, 2, 2, 1, 1, 4, 1, 4, 0,
+ 3, 2, 2, 2, 1, 4, 1, 3, 1, 4,
+ 1, 4, 0, 2, 3, 2, 2, 2, 1, 4,
+ 1, 7, 0, 3, 2, 2, 2, 2, 2, 4,
+ 1, 1, 4, 1, 1, 1, 0, 2, 2, 2,
+ 3, 3, 2, 3, 3, 2, 0, 1, 4, 2,
+ 1, 4, 1, 1, 4, 0, 2, 2, 2, 2,
+ 1, 4, 1, 1, 4, 0, 2, 2, 2, 2,
+ 2, 1, 4, 3, 0, 3, 4, 1, 1, 4,
+ 0, 3, 2, 2, 2, 2, 1, 4, 2, 1,
+ 4, 1, 4, 1, 4, 1, 4, 2, 2, 1,
+ 2, 0, 2, 5, 1, 1, 4, 0, 3, 2,
+ 2, 2, 2, 1, 4, 2, 1, 1, 4, 1,
+ 4, 1, 4, 1, 4, 1, 4, 1, 4, 0,
+ 2, 2, 2, 3, 3, 3, 3, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 4, 1, 4,
+ 0, 3, 3, 3, 2, 2, 2, 2, 2, 3,
+ 3, 3, 3, 3, 7, 1, 0, 3, 3, 3,
+ 2, 3, 2, 2, 2, 2, 2, 2, 1, 7,
+ 0, 3, 3, 3, 2, 2, 3, 2, 2, 2,
+ 2, 2, 2, 2, 1, 7, 0, 3, 3, 3,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
+ 3, 3, 3, 3, 1, 4, 1, 4, 0, 3,
+ 3, 2, 2, 2, 2, 2, 2, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 4, 1,
+ 4, 0, 3, 3, 2, 2, 2, 3, 1, 4,
+ 1, 4, 1, 4, 0, 3, 3, 3, 2, 2,
+ 2, 2, 2, 1, 4, 1, 4, 0, 3, 3,
+ 2, 2, 2, 3, 3, 2, 1, 1, 4, 1,
+ 4, 0, 3, 3, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 1, 1, 7, 2, 1, 1, 7,
+ 0, 3, 3, 2, 2, 2, 3, 3, 3, 3,
+ 1, 4, 1, 4, 1, 4, 0, 3, 2, 2,
+ 2, 3, 3, 3, 3, 2, 5, 0, 3, 3,
+ 3, 3, 2, 5, 1, 4, 1, 4, 0, 3,
+ 3, 2, 2, 2, 3, 3, 3, 1, 7, 0,
+ 2, 2, 5, 2, 1, 1, 1, 1, 3, 1,
+ 3, 1, 1, 1, 1, 3, 1, 4, 0, 2,
+ 3, 2, 2, 2, 2, 2, 2, 1, 3, 1,
+ 4, 0, 2, 3, 2, 2, 1, 3, 1, 4,
+ 0, 3, 2, 2, 2, 2, 2, 2, 1, 4,
+ 1, 4, 0, 2, 2, 1, 4, 2, 2, 1,
+ 1, 4, 2, 2, 1, 1, 4, 1, 4, 2,
+ 1, 1, 4, 2, 2, 1, 1, 4, 2, 2,
+ 1, 1, 4, 1, 4, 1, 4, 2, 1, 1,
+ 4, 0, 3, 1, 1, 2, 2, 0, 2, 0,
+ 3, 0, 2, 0, 2, 1, 3, 2, 0, 2,
+ 3, 2, 0, 2, 2, 0, 2, 0, 6, 5,
+ 5, 5, 4, 0, 2, 0, 5, 5, 1, 1,
+ 1, 1, 1, 1, 1, 1, 2, 2, 1, 1,
+ 1, 2, 2, 1, 2, 4, 1, 1, 1, 0,
+ 2, 2, 3, 2, 1, 0, 1, 0, 2, 0,
+ 2, 3, 0, 5, 1, 4, 0, 3, 1, 3,
+ 3, 1, 4, 1, 1, 0, 4, 2, 5, 1,
+ 1, 0, 2, 2, 0, 1, 0, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 3, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 4, 4, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 4, 3, 4, 4, 4, 4, 4
+};
+
+/* 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_uint16 yydefact[] =
{
790, 0, 2, 3, 0, 757, 1, 649, 650, 0,
@@ -1132,45 +1484,7 @@
512, 513, 514, 515, 516, 517, 596, 490, 503, 511
};
- /* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
-{
- -706, -706, -706, 1286, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -54, -706, -38, -44, -706,
- -706, -706, -706, -706, -706, -706, -706, -456, -706, -34,
- -706, -505, -73, -706, 616, -706, 622, -706, -2, -706,
- 168, -98, -706, -706, -287, -706, -706, 269, -706, -277,
- -706, -706, -706, -706, -706, -706, -706, -529, -706, -706,
- -706, -706, -706, 84, -706, -706, -706, -706, -706, -706,
- -33, -706, -706, -706, -706, -706, -706, -684, -706, -59,
- -706, -549, -706, -706, -706, -706, -706, -706, -706, -22,
- -706, 5, -706, -706, -83, -706, 35, -706, -706, -706,
- -706, 18, -706, -706, -216, -706, -706, -706, -706, -347,
- -706, 52, -706, -706, 56, -706, 57, -706, -706, -706,
- 4, -706, -706, -706, -706, -324, -706, -706, -3, -706,
- -1, -706, -554, -706, -662, -706, 24, -706, -706, -469,
- -706, -88, -706, -706, -66, -706, -706, -706, -63, -706,
- -706, -43, -706, -706, -39, -706, -706, -706, -706, -706,
- -36, -706, -706, -706, -23, -706, -16, 246, -706, -706,
- 704, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -379, -706, -69, -706, -706, -308,
- -706, -706, 88, 271, -706, 93, -706, -82, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
- -706, -706, -18, -706, -706, -706, -561, -706, -706, -472,
- -706, -706, -705, -706, -670, -706, -706, -658, -706, -706,
- -60, -706, -706, -77, -706, -706, -679, -706, -706, 97,
- -706, -706, -706, -303, -270, -286, -266, -706, -706, -706,
- -706, 265, 127, -706, -706, 266, -706, -706, -706, 186,
- -706, -706, -706, -416, -706, -706, -706, -29, 722, -706,
- -706, -706, 541, -93, -332, 21, -706, -706, -706, 424,
- 134, -706, -706, -706, -532, -706, -706, -706, -706, -706,
- -117, -706, -706, -241, 105, -4, 1346, 62, -695, 122,
- -706, 662, 187, -706, 139, -31, -32, -706, -706, -706,
- -706, -706, -706, -706, -706, -706, -706, -706, -706
-};
-
- /* YYDEFGOTO[NTERM-NUM]. */
+/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 261, 262, 553, 933, 263, 2, 631, 632,
@@ -1208,9 +1522,187 @@
86, 87, 88, 89, 90, 91, 175, 140, 5
};
- /* 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. */
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -706
+static const yytype_int16 yypact[] =
+{
+ 349, 27, -706, -706, 352, 1787, -706, -706, -706, 53,
+ 53, -706, 53, -706, 53, 53, -706, 53, 53, 53,
+ 53, -706, 53, 53, -706, -706, -706, -706, 53, -706,
+ -706, -706, 53, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ -706, -706, 53, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -5, 42, 96, 405, 65, 86, 372,
+ 53, -706, -706, 3167, 3167, 3167, 2692, 3167, 147, 2446,
+ 2446, 2446, 2446, 2446, 115, 2787, 151, 104, 417, 2446,
+ 109, 2446, 164, 417, 3167, 2446, 2446, 181, 107, 185,
+ 2787, 2446, 516, 2446, 373, 373, 53, -706, 53, -706,
+ 53, -706, 53, 53, 53, 53, -706, -706, -706, -706,
+ -706, 53, -706, 53, -706, 53, 53, 53, 53, 53,
+ -706, 53, 53, 53, 53, -706, 53, 53, 53, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ 80, -706, 132, -706, -706, -706, 144, 2597, 53, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, 138, -706, -706, -706, -706, -706, 178,
+ -706, 156, -706, -706, -706, 244, -706, -706, -706, 208,
+ -706, -706, -706, -706, 244, -706, -706, -706, -706, -706,
+ -706, -706, -706, 244, -706, -706, -706, 244, -706, 244,
+ -706, 244, -706, 244, -706, -706, -706, 244, -706, -706,
+ -706, -706, 244, -706, -706, -706, -706, -706, -706, 244,
+ -706, -706, -706, 244, -706, -706, -706, -706, 244, -706,
+ -706, -706, 244, -706, -706, -706, -706, 244, -706, 244,
+ -706, -706, 244, -706, 184, 285, -706, 244, -706, -706,
+ -706, 244, -706, -706, 244, -706, 244, -706, -706, -706,
+ -706, 244, -706, -706, -706, 244, -706, -706, -706, -706,
+ -706, 244, -706, -706, 244, -706, -706, -706, 244, -706,
+ -706, -706, -706, -706, 244, -706, -706, -706, 244, -706,
+ -706, -706, -706, 2692, 373, 3167, 373, 2446, 373, 2446,
+ 2446, 2446, -706, 2446, 373, 2446, 373, 107, 373, 3167,
+ 3167, 3167, 3167, 3167, 53, 3167, 3167, 3167, 3167, 53,
+ 2692, 3167, 3167, -706, -706, 373, -706, -706, -706, -706,
+ -706, -706, 53, -706, 53, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, 53, 53, -706, 53, 53, -706,
+ -706, -706, -706, -706, -706, -706, -706, 53, -706, -706,
+ 53, 53, -706, 53, -706, 53, -706, 53, -706, 53,
+ 53, -706, -706, -706, 3262, -706, -706, 209, -706, -706,
+ -706, 53, -706, 53, -706, -706, 53, 53, -706, -706,
+ -706, 53, 53, 53, -706, -706, 53, -706, -706, -706,
+ 53, -706, 261, 2446, 53, 281, -706, 219, -706, 290,
+ -706, 298, -706, 358, -706, 395, -706, 412, -706, 491,
+ -706, 497, -706, 502, -706, 503, -706, 509, -706, 510,
+ -706, 513, -706, 226, -706, 234, -706, 262, -706, 520,
+ -706, 533, -706, 556, -706, 502, -706, 373, 373, 53,
+ 53, 53, 53, 243, 373, 373, 129, 373, 175, 306,
+ 53, 53, -706, 184, -706, 2882, 53, 283, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, 465, 1570, 2084, 305,
+ -706, -706, 357, -706, 34, 53, 309, -706, -706, 313,
+ 316, -706, -706, -706, -15, 3262, -706, 53, 572, 373,
+ 176, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, 53, -706, 442, 299, 53, -706, -706,
+ -706, 299, -706, -706, 191, -706, 373, -706, 441, -706,
+ 121, -706, 2179, 53, 53, 350, 1011, -706, -706, -706,
+ -706, 500, -706, 230, 476, 340, 505, 242, 288, 939,
+ 1456, 874, 1851, 1986, 3334, 1388, 1486, 1107, 264, 900,
+ 373, 373, 373, 373, 53, 144, 490, -706, 53, 53,
+ -706, -706, 447, 2446, 447, 373, -706, -706, -706, 244,
+ -706, -706, 3262, -706, -706, -706, -706, -706, 53, 53,
+ -706, 3167, 2446, -706, -706, -706, -5, -706, -706, -706,
+ -706, -706, -706, 373, 452, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, 53, 53, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, 3167, 3167, 373, 373, -706, -706,
+ -706, -706, -706, 86, 244, -706, -706, 53, 53, -706,
+ 441, 441, 53, 568, 568, 571, -706, 663, -706, 373,
+ -706, 373, 373, 373, 448, -706, 373, 373, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+ 2787, 2787, 373, 373, 373, 373, 373, 373, 373, 373,
+ 373, 53, 53, 380, -706, 668, -706, 388, 1714, -706,
+ -706, 397, 399, 401, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, 413, -706, -706,
+ -706, 671, -706, -706, -706, -706, -706, -706, 53, 53,
+ 53, 53, 53, 53, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, 373, -706, -706, 441, 53,
+ 373, 373, 373, 373, -706, 53, -706, -706, -706, 53,
+ 373, 373, 53, 13, 3167, 13, 3167, 3167, 3167, 373,
+ 53, 444, 2278, 385, 518, 373, 373, 697, 20, -706,
+ -706, 422, -706, -706, 679, -706, -706, 433, -706, -706,
+ 682, -706, 683, -706, 556, -706, 441, -706, 441, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, 1886, 729, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, 283, 53, -706, -706, -706, -706,
+ 53, -706, -706, -706, -706, -706, -706, -706, 429, 443,
+ 373, 373, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, 373, 373, 373, 373, 373, 441, 441,
+ 373, 373, 373, 373, 373, 373, 373, 373, 1946, 210,
+ 154, 802, 369, 446, 540, -706, -706, -706, -706, -706,
+ -706, 53, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, 441, -706, -706,
+ 373, 250, 373, 373, 454, 2977, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ 441, -706, -706, 373, 128, 161, 162, 172, -706, 3072,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, 469, 195, 373, 373, 373, 441, -706,
+ 274, 216, 746, 3262, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, 373, 373, 373
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -706, -706, -706, 1286, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -54, -706, -38, -44, -706,
+ -706, -706, -706, -706, -706, -706, -706, -456, -706, -34,
+ -706, -505, -73, -706, 616, -706, 622, -706, -2, -706,
+ 168, -98, -706, -706, -287, -706, -706, 269, -706, -277,
+ -706, -706, -706, -706, -706, -706, -706, -529, -706, -706,
+ -706, -706, -706, 84, -706, -706, -706, -706, -706, -706,
+ -33, -706, -706, -706, -706, -706, -706, -684, -706, -59,
+ -706, -549, -706, -706, -706, -706, -706, -706, -706, -22,
+ -706, 5, -706, -706, -83, -706, 35, -706, -706, -706,
+ -706, 18, -706, -706, -216, -706, -706, -706, -706, -347,
+ -706, 52, -706, -706, 56, -706, 57, -706, -706, -706,
+ 4, -706, -706, -706, -706, -324, -706, -706, -3, -706,
+ -1, -706, -554, -706, -662, -706, 24, -706, -706, -469,
+ -706, -88, -706, -706, -66, -706, -706, -706, -63, -706,
+ -706, -43, -706, -706, -39, -706, -706, -706, -706, -706,
+ -36, -706, -706, -706, -23, -706, -16, 246, -706, -706,
+ 704, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -379, -706, -69, -706, -706, -308,
+ -706, -706, 88, 271, -706, 93, -706, -82, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
+ -706, -706, -18, -706, -706, -706, -561, -706, -706, -472,
+ -706, -706, -705, -706, -670, -706, -706, -658, -706, -706,
+ -60, -706, -706, -77, -706, -706, -679, -706, -706, 97,
+ -706, -706, -706, -303, -270, -286, -266, -706, -706, -706,
+ -706, 265, 127, -706, -706, 266, -706, -706, -706, 186,
+ -706, -706, -706, -416, -706, -706, -706, -29, 722, -706,
+ -706, -706, 541, -93, -332, 21, -706, -706, -706, 424,
+ 134, -706, -706, -706, -532, -706, -706, -706, -706, -706,
+ -117, -706, -706, -241, 105, -4, 1346, 62, -695, 122,
+ -706, 662, 187, -706, 139, -31, -32, -706, -706, -706,
+ -706, -706, -706, -706, -706, -706, -706, -706, -706
+};
+
+/* 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 -757
static const yytype_int16 yytable[] =
{
11, 160, 71, 60, 72, 92, 92, 174, 92, 139,
@@ -1559,6 +2051,12 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 859
};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-706)))
+
+#define yytable_value_is_error(Yytable_value) \
+ YYID (0)
+
static const yytype_int16 yycheck[] =
{
4, 89, 5, 5, 5, 9, 10, 89, 12, 86,
@@ -1907,8 +2405,8 @@
-1, -1, -1, -1, -1, -1, -1, -1, -1, 105
};
- /* 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_uint16 yystos[] =
{
0, 114, 120, 124, 419, 441, 0, 5, 7, 54,
@@ -2045,192 +2543,30 @@
245, 247, 339, 342, 347, 350, 396, 402, 402, 402
};
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint16 yyr1[] =
-{
- 0, 113, 114, 114, 114, 115, 116, 117, 118, 117,
- 119, 120, 121, 122, 122, 122, 122, 123, 124, 125,
- 126, 126, 126, 127, 128, 129, 130, 131, 131, 131,
- 132, 133, 134, 134, 134, 134, 134, 135, 136, 137,
- 137, 138, 138, 138, 138, 139, 140, 141, 142, 143,
- 144, 145, 145, 145, 145, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 156, 157, 158,
- 158, 159, 159, 159, 161, 160, 160, 162, 163, 163,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 165, 166, 167, 167, 168, 168, 168, 168, 168, 169,
- 170, 171, 171, 172, 173, 173, 174, 174, 174, 175,
- 176, 177, 177, 177, 177, 178, 179, 180, 180, 181,
- 181, 181, 181, 181, 182, 183, 184, 184, 185, 186,
- 187, 187, 188, 188, 188, 188, 188, 188, 189, 190,
- 191, 192, 193, 193, 193, 193, 193, 193, 193, 194,
- 195, 196, 196, 197, 197, 197, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 199, 200, 201, 202, 203,
- 203, 204, 205, 206, 206, 207, 207, 207, 207, 207,
- 208, 209, 210, 211, 211, 212, 212, 212, 212, 212,
- 212, 213, 214, 215, 216, 216, 217, 218, 219, 219,
- 220, 220, 220, 220, 220, 220, 221, 222, 223, 223,
- 224, 225, 225, 226, 227, 228, 229, 230, 230, 230,
- 231, 232, 232, 233, 234, 235, 235, 236, 236, 236,
- 236, 236, 236, 237, 238, 239, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 250, 251,
- 251, 251, 251, 251, 251, 251, 251, 251, 252, 252,
- 252, 252, 252, 252, 252, 252, 253, 254, 255, 255,
- 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
- 256, 256, 256, 256, 257, 258, 259, 259, 259, 259,
- 259, 259, 259, 259, 259, 259, 259, 259, 260, 261,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 263, 264, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 266, 267, 268, 268, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 270, 270,
- 271, 271, 271, 271, 271, 271, 271, 272, 273, 274,
- 274, 275, 275, 275, 275, 275, 275, 275, 276, 277,
- 278, 279, 280, 280, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 282, 283, 284, 284, 285, 285, 285,
- 285, 285, 285, 285, 285, 286, 286, 287, 288, 289,
- 289, 290, 290, 290, 290, 290, 290, 290, 290, 290,
- 290, 290, 291, 291, 292, 293, 294, 294, 295, 296,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 298, 299, 300, 301, 302, 302, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 304, 305, 306, 306, 306,
- 306, 306, 307, 308, 309, 310, 311, 311, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 313, 314, 315,
- 315, 315, 315, 316, 316, 317, 317, 318, 319, 320,
- 320, 321, 321, 321, 322, 323, 324, 324, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 326, 327, 328,
- 328, 329, 329, 329, 329, 329, 330, 331, 332, 332,
- 333, 333, 333, 333, 333, 333, 333, 333, 334, 335,
- 336, 336, 337, 337, 337, 338, 339, 340, 340, 340,
- 341, 342, 343, 343, 343, 344, 345, 346, 347, 348,
- 348, 349, 350, 351, 351, 351, 352, 353, 354, 354,
- 354, 355, 356, 357, 357, 358, 359, 360, 360, 361,
- 362, 364, 363, 363, 365, 366, 367, 368, 368, 370,
- 369, 372, 371, 373, 371, 371, 374, 375, 376, 376,
- 377, 378, 379, 379, 380, 381, 381, 382, 382, 383,
- 384, 385, 386, 387, 387, 388, 388, 389, 390, 391,
- 391, 392, 392, 393, 393, 394, 394, 395, 395, 396,
- 396, 397, 397, 397, 398, 398, 399, 400, 401, 402,
- 402, 402, 403, 404, 405, 406, 406, 407, 407, 408,
- 408, 408, 409, 409, 410, 410, 411, 411, 412, 412,
- 412, 413, 413, 414, 415, 416, 416, 417, 417, 418,
- 418, 419, 419, 420, 421, 421, 423, 422, 422, 424,
- 424, 424, 424, 424, 424, 424, 425, 425, 425, 426,
- 426, 426, 426, 426, 426, 426, 426, 426, 426, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 438, 438, 438, 438, 438, 438, 438, 438, 438, 438,
- 438, 438, 439, 439, 439, 439, 439, 439, 439, 439,
- 439, 439, 439, 439, 439, 439, 440, 440, 440, 440,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441
-};
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
- /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 1, 1, 1, 1, 3, 0, 0, 6,
- 1, 13, 1, 0, 2, 2, 2, 1, 13, 1,
- 0, 2, 3, 1, 4, 1, 4, 0, 3, 3,
- 7, 1, 0, 2, 2, 2, 2, 1, 4, 1,
- 4, 0, 2, 2, 2, 1, 4, 1, 7, 1,
- 4, 0, 2, 2, 2, 2, 1, 4, 1, 4,
- 1, 4, 1, 4, 1, 1, 0, 3, 4, 1,
- 4, 0, 2, 2, 0, 3, 1, 1, 0, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 1, 4, 0, 3, 2, 2, 2, 1,
- 4, 1, 4, 1, 0, 4, 2, 2, 1, 1,
- 4, 2, 2, 2, 1, 1, 4, 1, 4, 0,
- 3, 2, 2, 2, 1, 4, 1, 3, 1, 4,
- 1, 4, 0, 2, 3, 2, 2, 2, 1, 4,
- 1, 7, 0, 3, 2, 2, 2, 2, 2, 4,
- 1, 1, 4, 1, 1, 1, 0, 2, 2, 2,
- 3, 3, 2, 3, 3, 2, 0, 1, 4, 2,
- 1, 4, 1, 1, 4, 0, 2, 2, 2, 2,
- 1, 4, 1, 1, 4, 0, 2, 2, 2, 2,
- 2, 1, 4, 3, 0, 3, 4, 1, 1, 4,
- 0, 3, 2, 2, 2, 2, 1, 4, 2, 1,
- 4, 1, 4, 1, 4, 1, 4, 2, 2, 1,
- 2, 0, 2, 5, 1, 1, 4, 0, 3, 2,
- 2, 2, 2, 1, 4, 2, 1, 1, 4, 1,
- 4, 1, 4, 1, 4, 1, 4, 1, 4, 0,
- 2, 2, 2, 3, 3, 3, 3, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 4, 1, 4,
- 0, 3, 3, 3, 2, 2, 2, 2, 2, 3,
- 3, 3, 3, 3, 7, 1, 0, 3, 3, 3,
- 2, 3, 2, 2, 2, 2, 2, 2, 1, 7,
- 0, 3, 3, 3, 2, 2, 3, 2, 2, 2,
- 2, 2, 2, 2, 1, 7, 0, 3, 3, 3,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
- 3, 3, 3, 3, 1, 4, 1, 4, 0, 3,
- 3, 2, 2, 2, 2, 2, 2, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 4, 1,
- 4, 0, 3, 3, 2, 2, 2, 3, 1, 4,
- 1, 4, 1, 4, 0, 3, 3, 3, 2, 2,
- 2, 2, 2, 1, 4, 1, 4, 0, 3, 3,
- 2, 2, 2, 3, 3, 2, 1, 1, 4, 1,
- 4, 0, 3, 3, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 1, 1, 7, 2, 1, 1, 7,
- 0, 3, 3, 2, 2, 2, 3, 3, 3, 3,
- 1, 4, 1, 4, 1, 4, 0, 3, 2, 2,
- 2, 3, 3, 3, 3, 2, 5, 0, 3, 3,
- 3, 3, 2, 5, 1, 4, 1, 4, 0, 3,
- 3, 2, 2, 2, 3, 3, 3, 1, 7, 0,
- 2, 2, 5, 2, 1, 1, 1, 1, 3, 1,
- 3, 1, 1, 1, 1, 3, 1, 4, 0, 2,
- 3, 2, 2, 2, 2, 2, 2, 1, 3, 1,
- 4, 0, 2, 3, 2, 2, 1, 3, 1, 4,
- 0, 3, 2, 2, 2, 2, 2, 2, 1, 4,
- 1, 4, 0, 2, 2, 1, 4, 2, 2, 1,
- 1, 4, 2, 2, 1, 1, 4, 1, 4, 2,
- 1, 1, 4, 2, 2, 1, 1, 4, 2, 2,
- 1, 1, 4, 1, 4, 1, 4, 2, 1, 1,
- 4, 0, 3, 1, 1, 2, 2, 0, 2, 0,
- 3, 0, 2, 0, 2, 1, 3, 2, 0, 2,
- 3, 2, 0, 2, 2, 0, 2, 0, 6, 5,
- 5, 5, 4, 0, 2, 0, 5, 5, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 2, 1, 1,
- 1, 2, 2, 1, 2, 4, 1, 1, 1, 0,
- 2, 2, 3, 2, 1, 0, 1, 0, 2, 0,
- 2, 3, 0, 5, 1, 4, 0, 3, 1, 3,
- 3, 1, 4, 1, 1, 0, 4, 2, 5, 1,
- 1, 0, 2, 2, 0, 1, 0, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 3, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 4, 4, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 4, 3, 4, 4, 4, 4, 4
-};
+#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
+/* 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 YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
+#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)
@@ -2247,13 +2583,13 @@
else \
{ \
yyerror (&yylloc, scanner, param, 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
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
@@ -2263,7 +2599,7 @@
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
- if (N) \
+ if (YYID (N)) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
@@ -2277,27 +2613,12 @@
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
- while (0)
+ while (YYID (0))
#endif
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-/* Enable debugging if requested. */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
@@ -2307,28 +2628,36 @@
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
-YY_ATTRIBUTE_UNUSED
+__attribute__((__unused__))
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
+#else
+static unsigned
+yy_location_print_ (yyo, yylocp)
+ FILE *yyo;
+ YYLTYPE const * const yylocp;
+#endif
{
unsigned res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
- res += YYFPRINTF (yyo, "%d", yylocp->first_line);
+ res += fprintf (yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
- res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
+ res += fprintf (yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
- res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
+ res += fprintf (yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
- res += YYFPRINTF (yyo, ".%d", end_col);
+ res += fprintf (yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
- res += YYFPRINTF (yyo, "-%d", end_col);
+ res += fprintf (yyo, "-%d", end_col);
}
return res;
}
@@ -2342,37 +2671,77 @@
#endif
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value, Location, scanner, param); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
+/* YYLEX -- calling `yylex' with the right arguments. */
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval, &yylloc, scanner)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# 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, Location, scanner, param); \
+ 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, YYLTYPE const * const yylocationp, void *scanner, struct yang_parameter *param)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, scanner, param)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+ YYLTYPE const * const yylocationp;
+ void *scanner;
+ struct yang_parameter *param;
+#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
+ if (!yyvaluep)
+ return;
YYUSE (yylocationp);
YYUSE (scanner);
YYUSE (param);
- if (!yyvaluep)
- return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
# endif
- YYUSE (yytype);
+ switch (yytype)
+ {
+ default:
+ break;
+ }
}
@@ -2380,11 +2749,25 @@
| 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, YYLTYPE const * const yylocationp, void *scanner, struct yang_parameter *param)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, scanner, param)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+ YYLTYPE const * const yylocationp;
+ void *scanner;
+ struct yang_parameter *param;
+#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_LOCATION_PRINT (yyoutput, *yylocationp);
YYFPRINTF (yyoutput, ": ");
@@ -2397,8 +2780,16 @@
| 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++)
@@ -2409,42 +2800,52 @@
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, YYLTYPE *yylsp, int yyrule, void *scanner, struct yang_parameter *param)
+yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, void *scanner, struct yang_parameter *param)
+#else
+static void
+yy_reduce_print (yyvsp, yylsp, yyrule, scanner, param)
+ YYSTYPE *yyvsp;
+ YYLTYPE *yylsp;
+ int yyrule;
+ void *scanner;
+ struct yang_parameter *param;
+#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)])
- , &(yylsp[(yyi + 1) - (yynrhs)]) , scanner, param);
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , &(yylsp[(yyi + 1) - (yynrhs)]) , scanner, param);
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, yylsp, Rule, scanner, param); \
-} while (0)
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyvsp, yylsp, Rule, scanner, param); \
+} while (YYID (0))
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -2458,7 +2859,7 @@
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -2481,8 +2882,15 @@
# 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++)
@@ -2498,8 +2906,16 @@
# 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;
@@ -2529,27 +2945,27 @@
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
+ 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 (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -2572,11 +2988,11 @@
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
@@ -2584,6 +3000,10 @@
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
@@ -2633,7 +3053,7 @@
}
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;
@@ -2700,67 +3120,72 @@
| 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, YYLTYPE *yylocationp, void *scanner, struct yang_parameter *param)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep, yylocationp, scanner, param)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
+ YYLTYPE *yylocationp;
+ void *scanner;
+ struct yang_parameter *param;
+#endif
{
YYUSE (yyvaluep);
YYUSE (yylocationp);
YYUSE (scanner);
YYUSE (param);
+
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
switch (yytype)
{
- case 115: /* tmp_string */
+ case 115: /* tmp_string */
- { free((((*yyvaluep).p_str)) ? *((*yyvaluep).p_str) : NULL); }
+ { free((((*yyvaluep).p_str)) ? *((*yyvaluep).p_str) : NULL); };
break;
+ case 210: /* pattern_arg_str */
- case 210: /* pattern_arg_str */
-
- { free(((*yyvaluep).str)); }
+ { free(((*yyvaluep).str)); };
break;
+ case 399: /* semicolom */
- case 399: /* semicolom */
-
- { free(((*yyvaluep).str)); }
+ { free(((*yyvaluep).str)); };
break;
+ case 401: /* curly_bracket_open */
- case 401: /* curly_bracket_open */
-
- { free(((*yyvaluep).str)); }
+ { free(((*yyvaluep).str)); };
break;
+ case 405: /* string_opt_part1 */
- case 405: /* string_opt_part1 */
-
- { free(((*yyvaluep).str)); }
+ { free(((*yyvaluep).str)); };
break;
+ case 430: /* type_ext_alloc */
- case 430: /* type_ext_alloc */
-
- { yang_type_free(param->module->ctx, ((*yyvaluep).v)); }
+ { yang_type_free(param->module->ctx, ((*yyvaluep).v)); };
break;
+ case 431: /* typedef_ext_alloc */
- case 431: /* typedef_ext_alloc */
-
- { yang_type_free(param->module->ctx, &((struct lys_tpdf *)((*yyvaluep).v))->type); }
+ { yang_type_free(param->module->ctx, &((struct lys_tpdf *)((*yyvaluep).v))->type); };
break;
-
default:
break;
}
- YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -2770,8 +3195,28 @@
| 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 *scanner, struct yang_parameter *param)
+#else
+int
+yyparse (scanner, param)
+ void *scanner;
+ struct yang_parameter *param;
+#endif
+#endif
{
/* The lookahead symbol. */
int yychar;
@@ -2787,20 +3232,40 @@
void *yang_type = NULL;
-/* 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);
-
-/* Location data for the lookahead symbol. */
+static YYSTYPE yyval_default;
+# define YY_INITIAL_VALUE(Value) = Value
+#endif
static YYLTYPE yyloc_default
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
= { 1, 1, 1, 1 }
# 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);
+
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc = yyloc_default;
+
/* Number of syntax errors so far. */
int yynerrs;
@@ -2809,9 +3274,9 @@
int yyerrstatus;
/* The stacks and their tools:
- 'yyss': related to states.
- 'yyvs': related to semantic values.
- 'yyls': related to locations.
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -2888,7 +3353,6 @@
trg = (param->submodule) ? (struct lys_module *)param->submodule : param->module;
}
-
yylsp[0] = yylloc;
goto yysetstate;
@@ -2910,26 +3374,26 @@
#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;
- YYLTYPE *yyls1 = yyls;
+ /* 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;
+ YYLTYPE *yyls1 = yyls;
- /* 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),
- &yyls1, yysize * sizeof (*yylsp),
- &yystacksize);
+ /* 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),
+ &yyls1, yysize * sizeof (*yylsp),
+ &yystacksize);
- yyls = yyls1;
- yyss = yyss1;
- yyvs = yyvs1;
+ yyls = yyls1;
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -2937,23 +3401,23 @@
# 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);
- YYSTACK_RELOCATE (yyls_alloc, yyls);
+ 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);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -2963,10 +3427,10 @@
yylsp = yyls + 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));
@@ -2995,7 +3459,7 @@
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = yylex (&yylval, &yylloc, scanner);
+ yychar = YYLEX;
}
if (yychar <= YYEOF)
@@ -3060,7 +3524,7 @@
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
@@ -3098,7 +3562,6 @@
}
(yyval.p_str) = &s;
}
-
break;
case 8:
@@ -3124,7 +3587,6 @@
}
}
}
-
break;
case 10:
@@ -3139,7 +3601,6 @@
s = NULL;
actual_type = MODULE_KEYWORD;
}
-
break;
case 12:
@@ -3153,24 +3614,21 @@
YYABORT;
}
}
-
break;
case 13:
{ (yyval.i) = 0; }
-
break;
case 14:
- { if (yang_check_version(param->module, param->submodule, s, (yyvsp[-1].i))) {
+ { if (yang_check_version(param->module, param->submodule, s, (yyvsp[(1) - (2)].i))) {
YYABORT;
}
(yyval.i) = 1;
s = NULL;
}
-
break;
case 15:
@@ -3180,7 +3638,6 @@
}
s = NULL;
}
-
break;
case 16:
@@ -3190,7 +3647,6 @@
}
s = NULL;
}
-
break;
case 17:
@@ -3205,7 +3661,6 @@
s = NULL;
actual_type = SUBMODULE_KEYWORD;
}
-
break;
case 19:
@@ -3214,7 +3669,7 @@
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "belongs-to", "submodule");
YYABORT;
}
- if (!(yyvsp[0].i)) {
+ if (!(yyvsp[(1) - (1)].i)) {
/* check version compatibility with the main module */
if (param->module->version > 1) {
LOGVAL(LYE_INVER, LY_VLOG_NONE, NULL);
@@ -3222,24 +3677,21 @@
}
}
}
-
break;
case 20:
{ (yyval.i) = 0; }
-
break;
case 21:
- { if (yang_check_version(param->module, param->submodule, s, (yyvsp[-1].i))) {
+ { if (yang_check_version(param->module, param->submodule, s, (yyvsp[(1) - (2)].i))) {
YYABORT;
}
(yyval.i) = 1;
s = NULL;
}
-
break;
case 23:
@@ -3247,7 +3699,6 @@
{ backup_type = actual_type;
actual_type = YANG_VERSION_KEYWORD;
}
-
break;
case 25:
@@ -3255,16 +3706,14 @@
{ backup_type = actual_type;
actual_type = NAMESPACE_KEYWORD;
}
-
break;
case 30:
- { actual_type = (yyvsp[-4].token);
+ { actual_type = (yyvsp[(3) - (7)].token);
backup_type = NODE;
actual = NULL;
}
-
break;
case 31:
@@ -3276,13 +3725,11 @@
(yyval.token) = actual_type;
actual_type = IMPORT_KEYWORD;
}
-
break;
case 32:
{ (yyval.i) = 0; }
-
break;
case 33:
@@ -3292,7 +3739,6 @@
}
s = NULL;
}
-
break;
case 34:
@@ -3306,9 +3752,8 @@
YYABORT;
}
s = NULL;
- (yyval.i) = (yyvsp[-1].i);
+ (yyval.i) = (yyvsp[(1) - (2)].i);
}
-
break;
case 35:
@@ -3322,14 +3767,13 @@
YYABORT;
}
s = NULL;
- (yyval.i) = (yyvsp[-1].i);
+ (yyval.i) = (yyvsp[(1) - (2)].i);
}
-
break;
case 36:
- { if ((yyvsp[-1].i)) {
+ { if ((yyvsp[(1) - (2)].i)) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "revision-date", "import");
free(s);
YYABORT;
@@ -3339,7 +3783,6 @@
s = NULL;
(yyval.i) = 1;
}
-
break;
case 37:
@@ -3351,22 +3794,19 @@
(yyval.token) = actual_type;
actual_type = INCLUDE_KEYWORD;
}
-
break;
case 38:
- { actual_type = (yyvsp[-1].token);
+ { actual_type = (yyvsp[(3) - (4)].token);
backup_type = NODE;
actual = NULL;
}
-
break;
case 41:
{ (yyval.i) = 0; }
-
break;
case 42:
@@ -3380,9 +3820,8 @@
YYABORT;
}
s = NULL;
- (yyval.i) = (yyvsp[-1].i);
+ (yyval.i) = (yyvsp[(1) - (2)].i);
}
-
break;
case 43:
@@ -3396,14 +3835,13 @@
YYABORT;
}
s = NULL;
- (yyval.i) = (yyvsp[-1].i);
+ (yyval.i) = (yyvsp[(1) - (2)].i);
}
-
break;
case 44:
- { if ((yyvsp[-1].i)) {
+ { if ((yyvsp[(1) - (2)].i)) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "revision-date", "include");
free(s);
YYABORT;
@@ -3413,7 +3851,6 @@
s = NULL;
(yyval.i) = 1;
}
-
break;
case 45:
@@ -3421,7 +3858,6 @@
{ backup_type = actual_type;
actual_type = REVISION_DATE_KEYWORD;
}
-
break;
case 47:
@@ -3448,7 +3884,6 @@
s = NULL;
actual_type = BELONGS_TO_KEYWORD;
}
-
break;
case 48:
@@ -3464,9 +3899,8 @@
}
}
s = NULL;
- actual_type = (yyvsp[-4].token);
+ actual_type = (yyvsp[(3) - (7)].token);
}
-
break;
case 49:
@@ -3474,7 +3908,6 @@
{ backup_type = actual_type;
actual_type = PREFIX_KEYWORD;
}
-
break;
case 52:
@@ -3484,7 +3917,6 @@
}
s = NULL;
}
-
break;
case 53:
@@ -3494,7 +3926,6 @@
}
s = NULL;
}
-
break;
case 54:
@@ -3504,7 +3935,6 @@
}
s = NULL;
}
-
break;
case 55:
@@ -3514,7 +3944,6 @@
}
s=NULL;
}
-
break;
case 56:
@@ -3522,7 +3951,6 @@
{ backup_type = actual_type;
actual_type = ORGANIZATION_KEYWORD;
}
-
break;
case 58:
@@ -3530,7 +3958,6 @@
{ backup_type = actual_type;
actual_type = CONTACT_KEYWORD;
}
-
break;
case 60:
@@ -3538,7 +3965,6 @@
{ backup_type = actual_type;
actual_type = DESCRIPTION_KEYWORD;
}
-
break;
case 62:
@@ -3546,7 +3972,6 @@
{ backup_type = actual_type;
actual_type = REFERENCE_KEYWORD;
}
-
break;
case 64:
@@ -3562,7 +3987,6 @@
trg->rev = tmp;
}
}
-
break;
case 65:
@@ -3577,7 +4001,6 @@
s = NULL;
actual_type = REVISION_KEYWORD;
}
-
break;
case 67:
@@ -3592,15 +4015,13 @@
}
}
}
-
break;
case 68:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 72:
@@ -3610,7 +4031,6 @@
}
s = NULL;
}
-
break;
case 73:
@@ -3620,7 +4040,6 @@
}
s = NULL;
}
-
break;
case 74:
@@ -3631,7 +4050,6 @@
YYABORT;
}
}
-
break;
case 76:
@@ -3641,7 +4059,6 @@
YYABORT;
}
}
-
break;
case 77:
@@ -3693,7 +4110,6 @@
trg->extensions = tmp;
}
}
-
break;
case 78:
@@ -3717,13 +4133,11 @@
}
actual = NULL;
}
-
break;
case 79:
{ actual = NULL; }
-
break;
case 90:
@@ -3742,17 +4156,15 @@
s = NULL;
actual_type = EXTENSION_KEYWORD;
}
-
break;
case 91:
{ struct lys_ext *ext = actual;
ext->plugin = ext_get_plugin(ext->name, ext->module->name, ext->module->rev ? ext->module->rev[0].date : NULL);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 96:
@@ -3761,9 +4173,8 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "status", "extension");
YYABORT;
}
- ((struct lys_ext *)actual)->flags |= (yyvsp[0].i);
+ ((struct lys_ext *)actual)->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 97:
@@ -3773,7 +4184,6 @@
}
s = NULL;
}
-
break;
case 98:
@@ -3783,7 +4193,6 @@
}
s = NULL;
}
-
break;
case 99:
@@ -3805,22 +4214,19 @@
s = NULL;
actual_type = ARGUMENT_KEYWORD;
}
-
break;
case 100:
- { actual_type = (yyvsp[-1].token); }
-
+ { actual_type = (yyvsp[(3) - (4)].token); }
break;
case 103:
- { (yyval.uint) = (yyvsp[0].uint);
+ { (yyval.uint) = (yyvsp[(1) - (1)].uint);
backup_type = actual_type;
actual_type = YIN_ELEMENT_KEYWORD;
}
-
break;
case 105:
@@ -3840,24 +4246,21 @@
} else {
val = (uint8_t *)(p + 1);
}
- val[c] = ((yyvsp[-1].uint) == LYS_YINELEM) ? 1 : 2;
+ val[c] = ((yyvsp[(3) - (4)].uint) == LYS_YINELEM) ? 1 : 2;
} else {
- ((struct lys_ext *)actual)->flags |= (yyvsp[-1].uint);
+ ((struct lys_ext *)actual)->flags |= (yyvsp[(3) - (4)].uint);
}
}
-
break;
case 106:
{ (yyval.uint) = LYS_YINELEM; }
-
break;
case 107:
{ (yyval.uint) = 0; }
-
break;
case 108:
@@ -3874,40 +4277,34 @@
free(s);
s = NULL;
}
-
break;
case 109:
- { (yyval.i) = (yyvsp[0].i);
+ { (yyval.i) = (yyvsp[(1) - (1)].i);
backup_type = actual_type;
actual_type = STATUS_KEYWORD;
}
-
break;
case 110:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(3) - (4)].i); }
break;
case 111:
{ (yyval.i) = LYS_STATUS_CURR; }
-
break;
case 112:
{ (yyval.i) = LYS_STATUS_OBSLT; }
-
break;
case 113:
{ (yyval.i) = LYS_STATUS_DEPRC; }
-
break;
case 114:
@@ -3926,7 +4323,6 @@
free(s);
s = NULL;
}
-
break;
case 115:
@@ -3944,15 +4340,13 @@
s = NULL;
actual_type = FEATURE_KEYWORD;
}
-
break;
case 116:
- { actual = (yyvsp[-1].backup_token).actual;
- actual_type = (yyvsp[-1].backup_token).token;
+ { actual = (yyvsp[(3) - (4)].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
}
-
break;
case 118:
@@ -3969,7 +4363,6 @@
((struct lys_feature *)actual)->iffeature = tmp;
}
}
-
break;
case 121:
@@ -3978,9 +4371,8 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "status", "feature");
YYABORT;
}
- ((struct lys_feature *)actual)->flags |= (yyvsp[0].i);
+ ((struct lys_feature *)actual)->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 122:
@@ -3990,7 +4382,6 @@
}
s = NULL;
}
-
break;
case 123:
@@ -4000,7 +4391,6 @@
}
s = NULL;
}
-
break;
case 124:
@@ -4061,15 +4451,13 @@
s = NULL;
actual_type = IF_FEATURE_KEYWORD;
}
-
break;
case 125:
- { actual = (yyvsp[-1].backup_token).actual;
- actual_type = (yyvsp[-1].backup_token).token;
+ { actual = (yyvsp[(3) - (4)].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
}
-
break;
case 128:
@@ -4089,15 +4477,13 @@
((struct lys_ident *)actual)->module = trg;
actual_type = IDENTITY_KEYWORD;
}
-
break;
case 129:
- { actual = (yyvsp[-1].backup_token).actual;
- actual_type = (yyvsp[-1].backup_token).token;
+ { actual = (yyvsp[(3) - (4)].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
}
-
break;
case 131:
@@ -4124,7 +4510,6 @@
((struct lys_ident *)actual)->iffeature = tmp;
}
}
-
break;
case 133:
@@ -4143,7 +4528,6 @@
s = NULL;
actual = identity;
}
-
break;
case 135:
@@ -4152,9 +4536,8 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "status", "identity");
YYABORT;
}
- ((struct lys_ident *)actual)->flags |= (yyvsp[0].i);
+ ((struct lys_ident *)actual)->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 136:
@@ -4164,7 +4547,6 @@
}
s = NULL;
}
-
break;
case 137:
@@ -4174,7 +4556,6 @@
}
s = NULL;
}
-
break;
case 138:
@@ -4182,7 +4563,6 @@
{ backup_type = actual_type;
actual_type = BASE_KEYWORD;
}
-
break;
case 140:
@@ -4239,19 +4619,17 @@
s = NULL;
actual_type = TYPEDEF_KEYWORD;
}
-
break;
case 141:
- { if (!((yyvsp[-1].nodes).node.flag & LYS_TYPE_DEF)) {
+ { if (!((yyvsp[(6) - (7)].nodes).node.flag & LYS_TYPE_DEF)) {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "type", "typedef");
YYABORT;
}
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 142:
@@ -4259,74 +4637,66 @@
{ (yyval.nodes).node.ptr_tpdf = actual;
(yyval.nodes).node.flag = 0;
}
-
break;
case 143:
- { (yyvsp[-2].nodes).node.flag |= LYS_TYPE_DEF;
- (yyval.nodes) = (yyvsp[-2].nodes);
+ { (yyvsp[(1) - (3)].nodes).node.flag |= LYS_TYPE_DEF;
+ (yyval.nodes) = (yyvsp[(1) - (3)].nodes);
}
-
break;
case 144:
- { if (yang_read_units(trg, (yyvsp[-1].nodes).node.ptr_tpdf, s, TYPEDEF_KEYWORD)) {
+ { if (yang_read_units(trg, (yyvsp[(1) - (2)].nodes).node.ptr_tpdf, s, TYPEDEF_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 145:
- { if (yang_read_default(trg, (yyvsp[-1].nodes).node.ptr_tpdf, s, TYPEDEF_KEYWORD)) {
+ { if (yang_read_default(trg, (yyvsp[(1) - (2)].nodes).node.ptr_tpdf, s, TYPEDEF_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 146:
- { if ((yyvsp[-1].nodes).node.ptr_tpdf->flags & LYS_STATUS_MASK) {
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_tpdf->flags & LYS_STATUS_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "status", "typedef");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_tpdf->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_tpdf->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 147:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_tpdf, s, "typedef", NODE)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_tpdf, s, "typedef", NODE)) {
YYABORT;
}
s = NULL;
}
-
break;
case 148:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_tpdf, s, "typedef", NODE)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_tpdf, s, "typedef", NODE)) {
YYABORT;
}
s = NULL;
}
-
break;
case 149:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 150:
@@ -4339,7 +4709,6 @@
s = NULL;
actual_type = TYPE_KEYWORD;
}
-
break;
case 153:
@@ -4355,8 +4724,9 @@
YYABORT;
}
((struct yang_type *)actual)->type->info.str.patterns = tmp;
-
- if (((struct yang_type *)actual)->type->info.str.patterns_pcre) {
+
+#ifdef LY_ENABLED_CACHE
+ if (!(trg->ctx->models.flags & LY_CTX_TRUSTED) && ((struct yang_type *)actual)->type->info.str.patterns_pcre) {
tmp = realloc(((struct yang_type *)actual)->type->info.str.patterns_pcre,
2 * ((struct yang_type *)actual)->type->info.str.pat_count * sizeof *((struct yang_type *)actual)->type->info.str.patterns_pcre);
if (!tmp) {
@@ -4365,6 +4735,7 @@
}
((struct yang_type *)actual)->type->info.str.patterns_pcre = tmp;
}
+#endif
}
if (((struct yang_type *)actual)->base == LY_TYPE_UNION) {
struct lys_type *tmp;
@@ -4389,16 +4760,14 @@
((struct yang_type *)actual)->type->info.ident.ref = tmp;
}
}
-
break;
case 157:
- { if (yang_read_require_instance(actual, (yyvsp[0].i))) {
+ { if (yang_read_require_instance(actual, (yyvsp[(2) - (2)].i))) {
YYABORT;
}
}
-
break;
case 158:
@@ -4409,7 +4778,6 @@
}
s = NULL;
}
-
break;
case 159:
@@ -4427,24 +4795,21 @@
actual = yang_type;
s = NULL;
}
-
break;
case 162:
- { if (yang_read_fraction(actual, (yyvsp[0].uint))) {
+ { if (yang_read_fraction(actual, (yyvsp[(2) - (2)].uint))) {
YYABORT;
}
}
-
break;
case 165:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(1) - (2)].backup_token).token;
+ actual = (yyvsp[(1) - (2)].backup_token).actual;
}
-
break;
case 166:
@@ -4466,28 +4831,24 @@
YANG_ADDELEM(stype->type->info.uni.types, stype->type->info.uni.count)
actual_type = UNION_KEYWORD;
}
-
break;
case 167:
- { (yyval.uint) = (yyvsp[0].uint);
+ { (yyval.uint) = (yyvsp[(1) - (1)].uint);
backup_type = actual_type;
actual_type = FRACTION_DIGITS_KEYWORD;
}
-
break;
case 168:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(3) - (4)].uint); }
break;
case 169:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(1) - (2)].uint); }
break;
case 170:
@@ -4507,15 +4868,13 @@
free(s);
s =NULL;
}
-
break;
case 171:
- { actual = (yyvsp[-1].backup_token).actual;
- actual_type = (yyvsp[-1].backup_token).token;
+ { actual = (yyvsp[(3) - (4)].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
}
-
break;
case 172:
@@ -4528,7 +4887,6 @@
actual_type = LENGTH_KEYWORD;
s = NULL;
}
-
break;
case 175:
@@ -4549,47 +4907,42 @@
break;
}
}
-
break;
case 176:
- { if (yang_read_message(trg, actual, s, (yyvsp[-1].str), ERROR_MESSAGE_KEYWORD)) {
+ { if (yang_read_message(trg, actual, s, (yyvsp[(1) - (2)].str), ERROR_MESSAGE_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 177:
- { if (yang_read_message(trg, actual, s, (yyvsp[-1].str), ERROR_APP_TAG_KEYWORD)) {
+ { if (yang_read_message(trg, actual, s, (yyvsp[(1) - (2)].str), ERROR_APP_TAG_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 178:
- { if (yang_read_description(trg, actual, s, (yyvsp[-1].str), NODE)) {
+ { if (yang_read_description(trg, actual, s, (yyvsp[(1) - (2)].str), NODE)) {
YYABORT;
}
s = NULL;
}
-
break;
case 179:
- { if (yang_read_reference(trg, actual, s, (yyvsp[-1].str), NODE)) {
+ { if (yang_read_reference(trg, actual, s, (yyvsp[(1) - (2)].str), NODE)) {
YYABORT;
}
s = NULL;
}
-
break;
case 180:
@@ -4597,25 +4950,25 @@
{ (yyval.backup_token).token = actual_type;
(yyval.backup_token).actual = actual;
}
-
break;
case 181:
{struct lys_restr *pattern = actual;
actual = NULL;
- if ((yyvsp[-2].backup_token).token != EXTENSION_INSTANCE &&
+#ifdef LY_ENABLED_CACHE
+ if ((yyvsp[(2) - (4)].backup_token).token != EXTENSION_INSTANCE &&
!(data_node && data_node->nodetype != LYS_GROUPING && lys_ingrouping(data_node))) {
- int c = 2 * (((struct yang_type *)(yyvsp[-2].backup_token).actual)->type->info.str.pat_count - 1);
- YANG_ADDELEM(((struct yang_type *)(yyvsp[-2].backup_token).actual)->type->info.str.patterns_pcre, c);
+ int c = 2 * (((struct yang_type *)(yyvsp[(2) - (4)].backup_token).actual)->type->info.str.pat_count - 1);
+ YANG_ADDELEM(((struct yang_type *)(yyvsp[(2) - (4)].backup_token).actual)->type->info.str.patterns_pcre, c);
}
- if (yang_read_pattern(trg, pattern, actual, (yyvsp[-1].str), (yyvsp[0].ch))) {
+#endif
+ if (yang_read_pattern(trg, pattern, actual, (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].ch))) {
YYABORT;
}
- actual_type = (yyvsp[-2].backup_token).token;
- actual = (yyvsp[-2].backup_token).actual;
+ actual_type = (yyvsp[(2) - (4)].backup_token).token;
+ actual = (yyvsp[(2) - (4)].backup_token).actual;
}
-
break;
case 182:
@@ -4634,25 +4987,21 @@
s = NULL;
actual_type = PATTERN_KEYWORD;
}
-
break;
case 183:
{ (yyval.ch) = 0x06; }
-
break;
case 184:
- { (yyval.ch) = (yyvsp[-1].ch); }
-
+ { (yyval.ch) = (yyvsp[(3) - (4)].ch); }
break;
case 185:
{ (yyval.ch) = 0x06; /* ACK */ }
-
break;
case 186:
@@ -4661,13 +5010,12 @@
LOGVAL(LYE_INSTMT, LY_VLOG_NONE, NULL, "modifier");
YYABORT;
}
- if ((yyvsp[-1].ch) != 0x06) {
+ if ((yyvsp[(1) - (2)].ch) != 0x06) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "modifier", "pattern");
YYABORT;
}
- (yyval.ch) = (yyvsp[0].ch);
+ (yyval.ch) = (yyvsp[(2) - (2)].ch);
}
-
break;
case 187:
@@ -4677,7 +5025,6 @@
}
s = NULL;
}
-
break;
case 188:
@@ -4687,7 +5034,6 @@
}
s = NULL;
}
-
break;
case 189:
@@ -4697,7 +5043,6 @@
}
s = NULL;
}
-
break;
case 190:
@@ -4707,7 +5052,6 @@
}
s = NULL;
}
-
break;
case 191:
@@ -4715,7 +5059,6 @@
{ backup_type = actual_type;
actual_type = MODIFIER_KEYWORD;
}
-
break;
case 192:
@@ -4730,7 +5073,6 @@
YYABORT;
}
}
-
break;
case 193:
@@ -4746,7 +5088,6 @@
}
((struct yang_type *)actual)->type->info.enums.enm = tmp;
}
-
break;
case 196:
@@ -4754,10 +5095,9 @@
{ if (yang_check_enum(yang_type, actual, &cnt_val, is_value)) {
YYABORT;
}
- actual = (yyvsp[-1].backup_token).actual;
- actual_type = (yyvsp[-1].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
}
-
break;
case 197:
@@ -4772,7 +5112,6 @@
is_value = 0;
actual_type = ENUM_KEYWORD;
}
-
break;
case 199:
@@ -4789,7 +5128,6 @@
((struct lys_type_enum *)actual)->iffeature = tmp;
}
}
-
break;
case 202:
@@ -4798,15 +5136,14 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "value", "enum");
YYABORT;
}
- ((struct lys_type_enum *)actual)->value = (yyvsp[0].i);
+ ((struct lys_type_enum *)actual)->value = (yyvsp[(2) - (2)].i);
/* keep the highest enum value for automatic increment */
- if ((yyvsp[0].i) >= cnt_val) {
- cnt_val = (yyvsp[0].i) + 1;
+ if ((yyvsp[(2) - (2)].i) >= cnt_val) {
+ cnt_val = (yyvsp[(2) - (2)].i) + 1;
}
is_value = 1;
}
-
break;
case 203:
@@ -4815,9 +5152,8 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "status", "enum");
YYABORT;
}
- ((struct lys_type_enum *)actual)->flags |= (yyvsp[0].i);
+ ((struct lys_type_enum *)actual)->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 204:
@@ -4827,7 +5163,6 @@
}
s = NULL;
}
-
break;
case 205:
@@ -4837,28 +5172,24 @@
}
s = NULL;
}
-
break;
case 206:
- { (yyval.i) = (yyvsp[0].i);
+ { (yyval.i) = (yyvsp[(1) - (1)].i);
backup_type = actual_type;
actual_type = VALUE_KEYWORD;
}
-
break;
case 207:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(3) - (4)].i); }
break;
case 208:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(1) - (2)].i); }
break;
case 209:
@@ -4877,15 +5208,13 @@
s = NULL;
(yyval.i) = (int32_t) val;
}
-
break;
case 210:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 213:
@@ -4893,34 +5222,29 @@
{ backup_type = actual_type;
actual_type = PATH_KEYWORD;
}
-
break;
case 215:
- { (yyval.i) = (yyvsp[0].i);
+ { (yyval.i) = (yyvsp[(1) - (1)].i);
backup_type = actual_type;
actual_type = REQUIRE_INSTANCE_KEYWORD;
}
-
break;
case 216:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(3) - (4)].i); }
break;
case 217:
{ (yyval.i) = 1; }
-
break;
case 218:
{ (yyval.i) = -1; }
-
break;
case 219:
@@ -4937,7 +5261,6 @@
free(s);
s = NULL;
}
-
break;
case 220:
@@ -4953,7 +5276,6 @@
}
((struct yang_type *)actual)->type->info.bits.bit = tmp;
}
-
break;
case 223:
@@ -4961,10 +5283,9 @@
{ if (yang_check_bit(yang_type, actual, &cnt_val, is_value)) {
YYABORT;
}
- actual = (yyvsp[-2].backup_token).actual;
- actual_type = (yyvsp[-2].backup_token).token;
+ actual = (yyvsp[(3) - (5)].backup_token).actual;
+ actual_type = (yyvsp[(3) - (5)].backup_token).token;
}
-
break;
case 224:
@@ -4980,7 +5301,6 @@
is_value = 0;
actual_type = BIT_KEYWORD;
}
-
break;
case 226:
@@ -4997,7 +5317,6 @@
((struct lys_type_bit *)actual)->iffeature = tmp;
}
}
-
break;
case 229:
@@ -5006,15 +5325,14 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "position", "bit");
YYABORT;
}
- ((struct lys_type_bit *)actual)->pos = (yyvsp[0].uint);
+ ((struct lys_type_bit *)actual)->pos = (yyvsp[(2) - (2)].uint);
/* keep the highest position value for automatic increment */
- if ((yyvsp[0].uint) >= cnt_val) {
- cnt_val = (yyvsp[0].uint) + 1;
+ if ((yyvsp[(2) - (2)].uint) >= cnt_val) {
+ cnt_val = (yyvsp[(2) - (2)].uint) + 1;
}
is_value = 1;
}
-
break;
case 230:
@@ -5023,9 +5341,8 @@
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "status", "bit");
YYABORT;
}
- ((struct lys_type_bit *)actual)->flags |= (yyvsp[0].i);
+ ((struct lys_type_bit *)actual)->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 231:
@@ -5035,7 +5352,6 @@
}
s = NULL;
}
-
break;
case 232:
@@ -5045,28 +5361,24 @@
}
s = NULL;
}
-
break;
case 233:
- { (yyval.uint) = (yyvsp[0].uint);
+ { (yyval.uint) = (yyvsp[(1) - (1)].uint);
backup_type = actual_type;
actual_type = POSITION_KEYWORD;
}
-
break;
case 234:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(3) - (4)].uint); }
break;
case 235:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(1) - (2)].uint); }
break;
case 236:
@@ -5086,7 +5398,6 @@
s = NULL;
(yyval.uint) = (uint32_t) val;
}
-
break;
case 237:
@@ -5094,7 +5405,6 @@
{ backup_type = actual_type;
actual_type = ERROR_MESSAGE_KEYWORD;
}
-
break;
case 239:
@@ -5102,7 +5412,6 @@
{ backup_type = actual_type;
actual_type = ERROR_APP_TAG_KEYWORD;
}
-
break;
case 241:
@@ -5110,7 +5419,6 @@
{ backup_type = actual_type;
actual_type = UNITS_KEYWORD;
}
-
break;
case 243:
@@ -5118,7 +5426,6 @@
{ backup_type = actual_type;
actual_type = DEFAULT_KEYWORD;
}
-
break;
case 245:
@@ -5132,64 +5439,57 @@
data_node = actual;
actual_type = GROUPING_KEYWORD;
}
-
break;
case 246:
{ LOGDBG(LY_LDGYANG, "finished parsing grouping statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 249:
{ (yyval.nodes).grouping = actual; }
-
break;
case 250:
- { if ((yyvsp[-1].nodes).grouping->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).grouping, "status", "grouping");
+ { if ((yyvsp[(1) - (2)].nodes).grouping->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).grouping, "status", "grouping");
YYABORT;
}
- (yyvsp[-1].nodes).grouping->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).grouping->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 251:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).grouping, s, "grouping", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).grouping, s, "grouping", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 252:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).grouping, s, "grouping", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).grouping, s, "grouping", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 257:
{ if (trg->version < 2) {
- LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[-2].nodes).grouping, "notification");
+ LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[(1) - (3)].nodes).grouping, "notification");
YYABORT;
}
}
-
break;
case 266:
@@ -5203,151 +5503,140 @@
s = NULL;
actual_type = CONTAINER_KEYWORD;
}
-
break;
case 267:
{ LOGDBG(LY_LDGYANG, "finished parsing container statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 269:
{ void *tmp;
- if ((yyvsp[-1].nodes).container->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).container->iffeature, (yyvsp[-1].nodes).container->iffeature_size * sizeof *(yyvsp[-1].nodes).container->iffeature);
+ if ((yyvsp[(3) - (4)].nodes).container->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).container->iffeature, (yyvsp[(3) - (4)].nodes).container->iffeature_size * sizeof *(yyvsp[(3) - (4)].nodes).container->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).container->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).container->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).container->must_size) {
- tmp = realloc((yyvsp[-1].nodes).container->must, (yyvsp[-1].nodes).container->must_size * sizeof *(yyvsp[-1].nodes).container->must);
+ if ((yyvsp[(3) - (4)].nodes).container->must_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).container->must, (yyvsp[(3) - (4)].nodes).container->must_size * sizeof *(yyvsp[(3) - (4)].nodes).container->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).container->must = tmp;
+ (yyvsp[(3) - (4)].nodes).container->must = tmp;
}
}
-
break;
case 270:
{ (yyval.nodes).container = actual; }
-
break;
case 274:
- { if (yang_read_presence(trg, (yyvsp[-1].nodes).container, s)) {
+ { if (yang_read_presence(trg, (yyvsp[(1) - (2)].nodes).container, s)) {
YYABORT;
}
s = NULL;
}
-
break;
case 275:
- { if ((yyvsp[-1].nodes).container->flags & LYS_CONFIG_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).container, "config", "container");
+ { if ((yyvsp[(1) - (2)].nodes).container->flags & LYS_CONFIG_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).container, "config", "container");
YYABORT;
}
- (yyvsp[-1].nodes).container->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).container->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 276:
- { if ((yyvsp[-1].nodes).container->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).container, "status", "container");
+ { if ((yyvsp[(1) - (2)].nodes).container->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).container, "status", "container");
YYABORT;
}
- (yyvsp[-1].nodes).container->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).container->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 277:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).container, s, "container", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).container, s, "container", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 278:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).container, s, "container", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).container, s, "container", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 281:
{ if (trg->version < 2) {
- LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[-2].nodes).container, "notification");
+ LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[(1) - (3)].nodes).container, "notification");
YYABORT;
}
}
-
break;
case 284:
{ void *tmp;
- if (!((yyvsp[-1].nodes).node.flag & LYS_TYPE_DEF)) {
- LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaf, "type", "leaf");
+ if (!((yyvsp[(6) - (7)].nodes).node.flag & LYS_TYPE_DEF)) {
+ LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_LYS, (yyvsp[(6) - (7)].nodes).node.ptr_leaf, "type", "leaf");
YYABORT;
}
- if ((yyvsp[-1].nodes).node.ptr_leaf->dflt && ((yyvsp[-1].nodes).node.ptr_leaf->flags & LYS_MAND_TRUE)) {
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaf->dflt && ((yyvsp[(6) - (7)].nodes).node.ptr_leaf->flags & LYS_MAND_TRUE)) {
/* RFC 6020, 7.6.4 - default statement must not with mandatory true */
- LOGVAL(LYE_INCHILDSTMT, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaf, "mandatory", "leaf");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaf, "The \"mandatory\" statement is forbidden on leaf with \"default\".");
+ LOGVAL(LYE_INCHILDSTMT, LY_VLOG_LYS, (yyvsp[(6) - (7)].nodes).node.ptr_leaf, "mandatory", "leaf");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(6) - (7)].nodes).node.ptr_leaf, "The \"mandatory\" statement is forbidden on leaf with \"default\".");
YYABORT;
}
- if ((yyvsp[-1].nodes).node.ptr_leaf->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_leaf->iffeature, (yyvsp[-1].nodes).node.ptr_leaf->iffeature_size * sizeof *(yyvsp[-1].nodes).node.ptr_leaf->iffeature);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaf->iffeature_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_leaf->iffeature, (yyvsp[(6) - (7)].nodes).node.ptr_leaf->iffeature_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_leaf->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaf->iffeature = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_leaf->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_leaf->must_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_leaf->must, (yyvsp[-1].nodes).node.ptr_leaf->must_size * sizeof *(yyvsp[-1].nodes).node.ptr_leaf->must);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaf->must_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_leaf->must, (yyvsp[(6) - (7)].nodes).node.ptr_leaf->must_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_leaf->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaf->must = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_leaf->must = tmp;
}
LOGDBG(LY_LDGYANG, "finished parsing leaf statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
+ data_node = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 285:
@@ -5361,7 +5650,6 @@
s = NULL;
actual_type = LEAF_KEYWORD;
}
-
break;
case 286:
@@ -5369,88 +5657,79 @@
{ (yyval.nodes).node.ptr_leaf = actual;
(yyval.nodes).node.flag = 0;
}
-
break;
case 289:
- { (yyvsp[-2].nodes).node.flag |= LYS_TYPE_DEF;
- (yyval.nodes) = (yyvsp[-2].nodes);
+ { (yyvsp[(1) - (3)].nodes).node.flag |= LYS_TYPE_DEF;
+ (yyval.nodes) = (yyvsp[(1) - (3)].nodes);
}
-
break;
case 290:
- { if (yang_read_units(trg, (yyvsp[-1].nodes).node.ptr_leaf, s, LEAF_KEYWORD)) {
+ { if (yang_read_units(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, s, LEAF_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 292:
- { if (yang_read_default(trg, (yyvsp[-1].nodes).node.ptr_leaf, s, LEAF_KEYWORD)) {
+ { if (yang_read_default(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, s, LEAF_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 293:
- { if ((yyvsp[-1].nodes).node.ptr_leaf->flags & LYS_CONFIG_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaf, "config", "leaf");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_leaf->flags & LYS_CONFIG_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, "config", "leaf");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaf->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaf->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 294:
- { if ((yyvsp[-1].nodes).node.ptr_leaf->flags & LYS_MAND_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaf, "mandatory", "leaf");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_leaf->flags & LYS_MAND_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, "mandatory", "leaf");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaf->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaf->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 295:
- { if ((yyvsp[-1].nodes).node.ptr_leaf->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaf, "status", "leaf");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_leaf->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, "status", "leaf");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaf->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaf->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 296:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_leaf, s, "leaf", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, s, "leaf", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 297:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_leaf, s, "leaf", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaf, s, "leaf", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 298:
@@ -5464,63 +5743,61 @@
s = NULL;
actual_type = LEAF_LIST_KEYWORD;
}
-
break;
case 299:
{ void *tmp;
- if ((yyvsp[-1].nodes).node.ptr_leaflist->flags & LYS_CONFIG_R) {
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->flags & LYS_CONFIG_R) {
/* RFC 6020, 7.7.5 - ignore ordering when the list represents state data
* ignore oredering MASK - 0x7F
*/
- (yyvsp[-1].nodes).node.ptr_leaflist->flags &= 0x7F;
+ (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->flags &= 0x7F;
}
- if (!((yyvsp[-1].nodes).node.flag & LYS_TYPE_DEF)) {
- LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "type", "leaf-list");
+ if (!((yyvsp[(6) - (7)].nodes).node.flag & LYS_TYPE_DEF)) {
+ LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_LYS, (yyvsp[(6) - (7)].nodes).node.ptr_leaflist, "type", "leaf-list");
YYABORT;
}
- if ((yyvsp[-1].nodes).node.ptr_leaflist->dflt_size && (yyvsp[-1].nodes).node.ptr_leaflist->min) {
- LOGVAL(LYE_INCHILDSTMT, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "min-elements", "leaf-list");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist,
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->dflt_size && (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->min) {
+ LOGVAL(LYE_INCHILDSTMT, LY_VLOG_LYS, (yyvsp[(6) - (7)].nodes).node.ptr_leaflist, "min-elements", "leaf-list");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(6) - (7)].nodes).node.ptr_leaflist,
"The \"min-elements\" statement with non-zero value is forbidden on leaf-lists with the \"default\" statement.");
YYABORT;
}
- if ((yyvsp[-1].nodes).node.ptr_leaflist->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_leaflist->iffeature, (yyvsp[-1].nodes).node.ptr_leaflist->iffeature_size * sizeof *(yyvsp[-1].nodes).node.ptr_leaflist->iffeature);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->iffeature_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->iffeature, (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->iffeature_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_leaflist->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->iffeature = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_leaflist->must_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_leaflist->must, (yyvsp[-1].nodes).node.ptr_leaflist->must_size * sizeof *(yyvsp[-1].nodes).node.ptr_leaflist->must);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->must_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->must, (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->must_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_leaflist->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->must = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->must = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_leaflist->dflt_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_leaflist->dflt, (yyvsp[-1].nodes).node.ptr_leaflist->dflt_size * sizeof *(yyvsp[-1].nodes).node.ptr_leaflist->dflt);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->dflt_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_leaflist->dflt, (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->dflt_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_leaflist->dflt);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->dflt = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_leaflist->dflt = tmp;
}
LOGDBG(LY_LDGYANG, "finished parsing leaf-list statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
+ data_node = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 300:
@@ -5528,134 +5805,123 @@
{ (yyval.nodes).node.ptr_leaflist = actual;
(yyval.nodes).node.flag = 0;
}
-
break;
case 303:
- { (yyvsp[-2].nodes).node.flag |= LYS_TYPE_DEF;
- (yyval.nodes) = (yyvsp[-2].nodes);
+ { (yyvsp[(1) - (3)].nodes).node.flag |= LYS_TYPE_DEF;
+ (yyval.nodes) = (yyvsp[(1) - (3)].nodes);
}
-
break;
case 304:
{ if (trg->version < 2) {
free(s);
- LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "default");
+ LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "default");
YYABORT;
}
- YANG_ADDELEM((yyvsp[-1].nodes).node.ptr_leaflist->dflt,
- (yyvsp[-1].nodes).node.ptr_leaflist->dflt_size);
+ YANG_ADDELEM((yyvsp[(1) - (2)].nodes).node.ptr_leaflist->dflt,
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->dflt_size);
(*(const char **)actual) = lydict_insert_zc(param->module->ctx, s);
s = NULL;
- actual = (yyvsp[-1].nodes).node.ptr_leaflist;
+ actual = (yyvsp[(1) - (2)].nodes).node.ptr_leaflist;
}
-
break;
case 305:
- { if (yang_read_units(trg, (yyvsp[-1].nodes).node.ptr_leaflist, s, LEAF_LIST_KEYWORD)) {
+ { if (yang_read_units(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, s, LEAF_LIST_KEYWORD)) {
YYABORT;
}
s = NULL;
}
-
break;
case 307:
- { if ((yyvsp[-1].nodes).node.ptr_leaflist->flags & LYS_CONFIG_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "config", "leaf-list");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_leaflist->flags & LYS_CONFIG_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "config", "leaf-list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 308:
- { if ((yyvsp[-1].nodes).node.flag & LYS_MIN_ELEMENTS) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "min-elements", "leaf-list");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_MIN_ELEMENTS) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "min-elements", "leaf-list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->min = (yyvsp[0].uint);
- (yyvsp[-1].nodes).node.flag |= LYS_MIN_ELEMENTS;
- (yyval.nodes) = (yyvsp[-1].nodes);
- if ((yyvsp[-1].nodes).node.ptr_leaflist->max && ((yyvsp[-1].nodes).node.ptr_leaflist->min > (yyvsp[-1].nodes).node.ptr_leaflist->max)) {
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "Invalid value \"%d\" of \"%s\".", (yyvsp[0].uint), "min-elements");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "\"min-elements\" is bigger than \"max-elements\".");
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->min = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].nodes).node.flag |= LYS_MIN_ELEMENTS;
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
+ if ((yyvsp[(1) - (2)].nodes).node.ptr_leaflist->max && ((yyvsp[(1) - (2)].nodes).node.ptr_leaflist->min > (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->max)) {
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "Invalid value \"%d\" of \"%s\".", (yyvsp[(2) - (2)].uint), "min-elements");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "\"min-elements\" is bigger than \"max-elements\".");
YYABORT;
}
}
-
break;
case 309:
- { if ((yyvsp[-1].nodes).node.flag & LYS_MAX_ELEMENTS) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "max-elements", "leaf-list");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_MAX_ELEMENTS) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "max-elements", "leaf-list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->max = (yyvsp[0].uint);
- (yyvsp[-1].nodes).node.flag |= LYS_MAX_ELEMENTS;
- (yyval.nodes) = (yyvsp[-1].nodes);
- if ((yyvsp[-1].nodes).node.ptr_leaflist->min > (yyvsp[-1].nodes).node.ptr_leaflist->max) {
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "Invalid value \"%d\" of \"%s\".", (yyvsp[0].uint), "max-elements");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "\"max-elements\" is smaller than \"min-elements\".");
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->max = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].nodes).node.flag |= LYS_MAX_ELEMENTS;
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
+ if ((yyvsp[(1) - (2)].nodes).node.ptr_leaflist->min > (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->max) {
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "Invalid value \"%d\" of \"%s\".", (yyvsp[(2) - (2)].uint), "max-elements");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "\"max-elements\" is smaller than \"min-elements\".");
YYABORT;
}
}
-
break;
case 310:
- { if ((yyvsp[-1].nodes).node.flag & LYS_ORDERED_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "ordered by", "leaf-list");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_ORDERED_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "ordered by", "leaf-list");
YYABORT;
}
- if ((yyvsp[0].i) & LYS_USERORDERED) {
- (yyvsp[-1].nodes).node.ptr_leaflist->flags |= LYS_USERORDERED;
+ if ((yyvsp[(2) - (2)].i) & LYS_USERORDERED) {
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->flags |= LYS_USERORDERED;
}
- (yyvsp[-1].nodes).node.flag |= (yyvsp[0].i);
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyvsp[(1) - (2)].nodes).node.flag |= (yyvsp[(2) - (2)].i);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 311:
- { if ((yyvsp[-1].nodes).node.ptr_leaflist->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_leaflist, "status", "leaf-list");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_leaflist->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, "status", "leaf-list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_leaflist->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_leaflist->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 312:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_leaflist, s, "leaf-list", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, s, "leaf-list", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 313:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_leaflist, s, "leaf-list", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_leaflist, s, "leaf-list", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 314:
@@ -5669,55 +5935,53 @@
s = NULL;
actual_type = LIST_KEYWORD;
}
-
break;
case 315:
{ void *tmp;
- if ((yyvsp[-1].nodes).node.ptr_list->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_list->iffeature, (yyvsp[-1].nodes).node.ptr_list->iffeature_size * sizeof *(yyvsp[-1].nodes).node.ptr_list->iffeature);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_list->iffeature_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_list->iffeature, (yyvsp[(6) - (7)].nodes).node.ptr_list->iffeature_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_list->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->iffeature = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_list->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_list->must_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_list->must, (yyvsp[-1].nodes).node.ptr_list->must_size * sizeof *(yyvsp[-1].nodes).node.ptr_list->must);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_list->must_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_list->must, (yyvsp[(6) - (7)].nodes).node.ptr_list->must_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_list->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->must = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_list->must = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_list->tpdf_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_list->tpdf, (yyvsp[-1].nodes).node.ptr_list->tpdf_size * sizeof *(yyvsp[-1].nodes).node.ptr_list->tpdf);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_list->tpdf_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_list->tpdf, (yyvsp[(6) - (7)].nodes).node.ptr_list->tpdf_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_list->tpdf);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->tpdf = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_list->tpdf = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_list->unique_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_list->unique, (yyvsp[-1].nodes).node.ptr_list->unique_size * sizeof *(yyvsp[-1].nodes).node.ptr_list->unique);
+ if ((yyvsp[(6) - (7)].nodes).node.ptr_list->unique_size) {
+ tmp = realloc((yyvsp[(6) - (7)].nodes).node.ptr_list->unique, (yyvsp[(6) - (7)].nodes).node.ptr_list->unique_size * sizeof *(yyvsp[(6) - (7)].nodes).node.ptr_list->unique);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->unique = tmp;
+ (yyvsp[(6) - (7)].nodes).node.ptr_list->unique = tmp;
}
LOGDBG(LY_LDGYANG, "finished parsing list statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
+ data_node = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 316:
@@ -5725,135 +5989,124 @@
{ (yyval.nodes).node.ptr_list = actual;
(yyval.nodes).node.flag = 0;
}
-
break;
case 320:
- { if ((yyvsp[-1].nodes).node.ptr_list->keys) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "key", "list");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_list->keys) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "key", "list");
free(s);
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->keys = (struct lys_node_leaf **)s;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyvsp[(1) - (2)].nodes).node.ptr_list->keys = (struct lys_node_leaf **)s;
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
s = NULL;
}
-
break;
case 321:
- { YANG_ADDELEM((yyvsp[-1].nodes).node.ptr_list->unique, (yyvsp[-1].nodes).node.ptr_list->unique_size);
+ { YANG_ADDELEM((yyvsp[(1) - (2)].nodes).node.ptr_list->unique, (yyvsp[(1) - (2)].nodes).node.ptr_list->unique_size);
((struct lys_unique *)actual)->expr = (const char **)s;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
s = NULL;
- actual = (yyvsp[-1].nodes).node.ptr_list;
+ actual = (yyvsp[(1) - (2)].nodes).node.ptr_list;
}
-
break;
case 322:
- { if ((yyvsp[-1].nodes).node.ptr_list->flags & LYS_CONFIG_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "config", "list");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_list->flags & LYS_CONFIG_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "config", "list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_list->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 323:
- { if ((yyvsp[-1].nodes).node.flag & LYS_MIN_ELEMENTS) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "min-elements", "list");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_MIN_ELEMENTS) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "min-elements", "list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->min = (yyvsp[0].uint);
- (yyvsp[-1].nodes).node.flag |= LYS_MIN_ELEMENTS;
- (yyval.nodes) = (yyvsp[-1].nodes);
- if ((yyvsp[-1].nodes).node.ptr_list->max && ((yyvsp[-1].nodes).node.ptr_list->min > (yyvsp[-1].nodes).node.ptr_list->max)) {
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "Invalid value \"%d\" of \"%s\".", (yyvsp[0].uint), "min-elements");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "\"min-elements\" is bigger than \"max-elements\".");
+ (yyvsp[(1) - (2)].nodes).node.ptr_list->min = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].nodes).node.flag |= LYS_MIN_ELEMENTS;
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
+ if ((yyvsp[(1) - (2)].nodes).node.ptr_list->max && ((yyvsp[(1) - (2)].nodes).node.ptr_list->min > (yyvsp[(1) - (2)].nodes).node.ptr_list->max)) {
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "Invalid value \"%d\" of \"%s\".", (yyvsp[(2) - (2)].uint), "min-elements");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "\"min-elements\" is bigger than \"max-elements\".");
YYABORT;
}
}
-
break;
case 324:
- { if ((yyvsp[-1].nodes).node.flag & LYS_MAX_ELEMENTS) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "max-elements", "list");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_MAX_ELEMENTS) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "max-elements", "list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->max = (yyvsp[0].uint);
- (yyvsp[-1].nodes).node.flag |= LYS_MAX_ELEMENTS;
- (yyval.nodes) = (yyvsp[-1].nodes);
- if ((yyvsp[-1].nodes).node.ptr_list->min > (yyvsp[-1].nodes).node.ptr_list->max) {
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "Invalid value \"%d\" of \"%s\".", (yyvsp[0].uint), "min-elements");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "\"max-elements\" is smaller than \"min-elements\".");
+ (yyvsp[(1) - (2)].nodes).node.ptr_list->max = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].nodes).node.flag |= LYS_MAX_ELEMENTS;
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
+ if ((yyvsp[(1) - (2)].nodes).node.ptr_list->min > (yyvsp[(1) - (2)].nodes).node.ptr_list->max) {
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "Invalid value \"%d\" of \"%s\".", (yyvsp[(2) - (2)].uint), "min-elements");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "\"max-elements\" is smaller than \"min-elements\".");
YYABORT;
}
}
-
break;
case 325:
- { if ((yyvsp[-1].nodes).node.flag & LYS_ORDERED_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "ordered by", "list");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_ORDERED_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "ordered by", "list");
YYABORT;
}
- if ((yyvsp[0].i) & LYS_USERORDERED) {
- (yyvsp[-1].nodes).node.ptr_list->flags |= LYS_USERORDERED;
+ if ((yyvsp[(2) - (2)].i) & LYS_USERORDERED) {
+ (yyvsp[(1) - (2)].nodes).node.ptr_list->flags |= LYS_USERORDERED;
}
- (yyvsp[-1].nodes).node.flag |= (yyvsp[0].i);
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyvsp[(1) - (2)].nodes).node.flag |= (yyvsp[(2) - (2)].i);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 326:
- { if ((yyvsp[-1].nodes).node.ptr_list->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_list, "status", "list");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_list->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_list, "status", "list");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_list->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_list->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 327:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_list, s, "list", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_list, s, "list", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 328:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_list, s, "list", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_list, s, "list", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 332:
{ if (trg->version < 2) {
- LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[-2].nodes).node.ptr_list, "notification");
+ LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[(1) - (3)].nodes).node.ptr_list, "notification");
YYABORT;
}
}
-
break;
case 334:
@@ -5867,39 +6120,36 @@
s = NULL;
actual_type = CHOICE_KEYWORD;
}
-
break;
case 335:
{ LOGDBG(LY_LDGYANG, "finished parsing choice statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 337:
{ struct lys_iffeature *tmp;
- if (((yyvsp[-1].nodes).node.ptr_choice->flags & LYS_MAND_TRUE) && (yyvsp[-1].nodes).node.ptr_choice->dflt) {
- LOGVAL(LYE_INCHILDSTMT, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_choice, "default", "choice");
- LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_choice, "The \"default\" statement is forbidden on choices with \"mandatory\".");
+ if (((yyvsp[(3) - (4)].nodes).node.ptr_choice->flags & LYS_MAND_TRUE) && (yyvsp[(3) - (4)].nodes).node.ptr_choice->dflt) {
+ LOGVAL(LYE_INCHILDSTMT, LY_VLOG_LYS, (yyvsp[(3) - (4)].nodes).node.ptr_choice, "default", "choice");
+ LOGVAL(LYE_SPEC, LY_VLOG_LYS, (yyvsp[(3) - (4)].nodes).node.ptr_choice, "The \"default\" statement is forbidden on choices with \"mandatory\".");
YYABORT;
}
- if ((yyvsp[-1].nodes).node.ptr_choice->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_choice->iffeature, (yyvsp[-1].nodes).node.ptr_choice->iffeature_size * sizeof *tmp);
+ if ((yyvsp[(3) - (4)].nodes).node.ptr_choice->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).node.ptr_choice->iffeature, (yyvsp[(3) - (4)].nodes).node.ptr_choice->iffeature_size * sizeof *tmp);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_choice->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).node.ptr_choice->iffeature = tmp;
}
}
-
break;
case 338:
@@ -5907,80 +6157,73 @@
{ (yyval.nodes).node.ptr_choice = actual;
(yyval.nodes).node.flag = 0;
}
-
break;
case 341:
- { if ((yyvsp[-1].nodes).node.flag & LYS_CHOICE_DEFAULT) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_choice, "default", "choice");
+ { if ((yyvsp[(1) - (2)].nodes).node.flag & LYS_CHOICE_DEFAULT) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_choice, "default", "choice");
free(s);
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_choice->dflt = (struct lys_node *) s;
+ (yyvsp[(1) - (2)].nodes).node.ptr_choice->dflt = (struct lys_node *) s;
s = NULL;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
(yyval.nodes).node.flag |= LYS_CHOICE_DEFAULT;
}
-
break;
case 342:
- { if ((yyvsp[-1].nodes).node.ptr_choice->flags & LYS_CONFIG_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_choice, "config", "choice");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_choice->flags & LYS_CONFIG_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_choice, "config", "choice");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_choice->flags |= (yyvsp[0].i);
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyvsp[(1) - (2)].nodes).node.ptr_choice->flags |= (yyvsp[(2) - (2)].i);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 343:
- { if ((yyvsp[-1].nodes).node.ptr_choice->flags & LYS_MAND_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_choice, "mandatory", "choice");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_choice->flags & LYS_MAND_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_choice, "mandatory", "choice");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_choice->flags |= (yyvsp[0].i);
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyvsp[(1) - (2)].nodes).node.ptr_choice->flags |= (yyvsp[(2) - (2)].i);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 344:
- { if ((yyvsp[-1].nodes).node.ptr_choice->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_choice, "status", "choice");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_choice->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_choice, "status", "choice");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_choice->flags |= (yyvsp[0].i);
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyvsp[(1) - (2)].nodes).node.ptr_choice->flags |= (yyvsp[(2) - (2)].i);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 345:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_choice, s, "choice", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_choice, s, "choice", NODE_PRINT)) {
YYABORT;
}
s = NULL;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 346:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_choice, s, "choice", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_choice, s, "choice", NODE_PRINT)) {
YYABORT;
}
s = NULL;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 356:
@@ -5990,7 +6233,6 @@
YYABORT;
}
}
-
break;
case 357:
@@ -6004,70 +6246,63 @@
s = NULL;
actual_type = CASE_KEYWORD;
}
-
break;
case 358:
{ LOGDBG(LY_LDGYANG, "finished parsing case statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 360:
{ struct lys_iffeature *tmp;
- if ((yyvsp[-1].nodes).cs->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).cs->iffeature, (yyvsp[-1].nodes).cs->iffeature_size * sizeof *tmp);
+ if ((yyvsp[(3) - (4)].nodes).cs->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).cs->iffeature, (yyvsp[(3) - (4)].nodes).cs->iffeature_size * sizeof *tmp);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).cs->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).cs->iffeature = tmp;
}
}
-
break;
case 361:
{ (yyval.nodes).cs = actual; }
-
break;
case 364:
- { if ((yyvsp[-1].nodes).cs->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).cs, "status", "case");
+ { if ((yyvsp[(1) - (2)].nodes).cs->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).cs, "status", "case");
YYABORT;
}
- (yyvsp[-1].nodes).cs->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).cs->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 365:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).cs, s, "case", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).cs, s, "case", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 366:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).cs, s, "case", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).cs, s, "case", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 368:
@@ -6081,17 +6316,15 @@
s = NULL;
actual_type = ANYXML_KEYWORD;
}
-
break;
case 369:
{ LOGDBG(LY_LDGYANG, "finished parsing anyxml statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 370:
@@ -6105,42 +6338,39 @@
s = NULL;
actual_type = ANYDATA_KEYWORD;
}
-
break;
case 371:
{ LOGDBG(LY_LDGYANG, "finished parsing anydata statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 373:
{ void *tmp;
- if ((yyvsp[-1].nodes).node.ptr_anydata->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_anydata->iffeature, (yyvsp[-1].nodes).node.ptr_anydata->iffeature_size * sizeof *(yyvsp[-1].nodes).node.ptr_anydata->iffeature);
+ if ((yyvsp[(3) - (4)].nodes).node.ptr_anydata->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).node.ptr_anydata->iffeature, (yyvsp[(3) - (4)].nodes).node.ptr_anydata->iffeature_size * sizeof *(yyvsp[(3) - (4)].nodes).node.ptr_anydata->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_anydata->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).node.ptr_anydata->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_anydata->must_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_anydata->must, (yyvsp[-1].nodes).node.ptr_anydata->must_size * sizeof *(yyvsp[-1].nodes).node.ptr_anydata->must);
+ if ((yyvsp[(3) - (4)].nodes).node.ptr_anydata->must_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).node.ptr_anydata->must, (yyvsp[(3) - (4)].nodes).node.ptr_anydata->must_size * sizeof *(yyvsp[(3) - (4)].nodes).node.ptr_anydata->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_anydata->must = tmp;
+ (yyvsp[(3) - (4)].nodes).node.ptr_anydata->must = tmp;
}
}
-
break;
case 374:
@@ -6148,63 +6378,57 @@
{ (yyval.nodes).node.ptr_anydata = actual;
(yyval.nodes).node.flag = actual_type;
}
-
break;
case 378:
- { if ((yyvsp[-1].nodes).node.ptr_anydata->flags & LYS_CONFIG_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_anydata, "config",
- ((yyvsp[-1].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_anydata->flags & LYS_CONFIG_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_anydata, "config",
+ ((yyvsp[(1) - (2)].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_anydata->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_anydata->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 379:
- { if ((yyvsp[-1].nodes).node.ptr_anydata->flags & LYS_MAND_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_anydata, "mandatory",
- ((yyvsp[-1].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_anydata->flags & LYS_MAND_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_anydata, "mandatory",
+ ((yyvsp[(1) - (2)].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_anydata->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_anydata->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 380:
- { if ((yyvsp[-1].nodes).node.ptr_anydata->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_anydata, "status",
- ((yyvsp[-1].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_anydata->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_anydata, "status",
+ ((yyvsp[(1) - (2)].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_anydata->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_anydata->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 381:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_anydata, s, ((yyvsp[-1].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_anydata, s, ((yyvsp[(1) - (2)].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 382:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_anydata, s, ((yyvsp[-1].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_anydata, s, ((yyvsp[(1) - (2)].nodes).node.flag == ANYXML_KEYWORD) ? "anyxml" : "anydata", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 383:
@@ -6218,88 +6442,81 @@
s = NULL;
actual_type = USES_KEYWORD;
}
-
break;
case 384:
{ LOGDBG(LY_LDGYANG, "finished parsing uses statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 386:
{ void *tmp;
- if ((yyvsp[-1].nodes).uses->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).uses->iffeature, (yyvsp[-1].nodes).uses->iffeature_size * sizeof *(yyvsp[-1].nodes).uses->iffeature);
+ if ((yyvsp[(3) - (4)].nodes).uses->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).uses->iffeature, (yyvsp[(3) - (4)].nodes).uses->iffeature_size * sizeof *(yyvsp[(3) - (4)].nodes).uses->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).uses->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).uses->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).uses->refine_size) {
- tmp = realloc((yyvsp[-1].nodes).uses->refine, (yyvsp[-1].nodes).uses->refine_size * sizeof *(yyvsp[-1].nodes).uses->refine);
+ if ((yyvsp[(3) - (4)].nodes).uses->refine_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).uses->refine, (yyvsp[(3) - (4)].nodes).uses->refine_size * sizeof *(yyvsp[(3) - (4)].nodes).uses->refine);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).uses->refine = tmp;
+ (yyvsp[(3) - (4)].nodes).uses->refine = tmp;
}
- if ((yyvsp[-1].nodes).uses->augment_size) {
- tmp = realloc((yyvsp[-1].nodes).uses->augment, (yyvsp[-1].nodes).uses->augment_size * sizeof *(yyvsp[-1].nodes).uses->augment);
+ if ((yyvsp[(3) - (4)].nodes).uses->augment_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).uses->augment, (yyvsp[(3) - (4)].nodes).uses->augment_size * sizeof *(yyvsp[(3) - (4)].nodes).uses->augment);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).uses->augment = tmp;
+ (yyvsp[(3) - (4)].nodes).uses->augment = tmp;
}
}
-
break;
case 387:
{ (yyval.nodes).uses = actual; }
-
break;
case 390:
- { if ((yyvsp[-1].nodes).uses->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).uses, "status", "uses");
+ { if ((yyvsp[(1) - (2)].nodes).uses->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).uses, "status", "uses");
YYABORT;
}
- (yyvsp[-1].nodes).uses->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).uses->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 391:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).uses, s, "uses", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).uses, s, "uses", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 392:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).uses, s, "uses", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).uses, s, "uses", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 397:
@@ -6316,49 +6533,46 @@
}
actual_type = REFINE_KEYWORD;
}
-
break;
case 398:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 400:
{ void *tmp;
- if ((yyvsp[-1].nodes).refine->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).refine->iffeature, (yyvsp[-1].nodes).refine->iffeature_size * sizeof *(yyvsp[-1].nodes).refine->iffeature);
+ if ((yyvsp[(3) - (4)].nodes).refine->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).refine->iffeature, (yyvsp[(3) - (4)].nodes).refine->iffeature_size * sizeof *(yyvsp[(3) - (4)].nodes).refine->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).refine->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).refine->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).refine->must_size) {
- tmp = realloc((yyvsp[-1].nodes).refine->must, (yyvsp[-1].nodes).refine->must_size * sizeof *(yyvsp[-1].nodes).refine->must);
+ if ((yyvsp[(3) - (4)].nodes).refine->must_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).refine->must, (yyvsp[(3) - (4)].nodes).refine->must_size * sizeof *(yyvsp[(3) - (4)].nodes).refine->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).refine->must = tmp;
+ (yyvsp[(3) - (4)].nodes).refine->must = tmp;
}
- if ((yyvsp[-1].nodes).refine->dflt_size) {
- tmp = realloc((yyvsp[-1].nodes).refine->dflt, (yyvsp[-1].nodes).refine->dflt_size * sizeof *(yyvsp[-1].nodes).refine->dflt);
+ if ((yyvsp[(3) - (4)].nodes).refine->dflt_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).refine->dflt, (yyvsp[(3) - (4)].nodes).refine->dflt_size * sizeof *(yyvsp[(3) - (4)].nodes).refine->dflt);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).refine->dflt = tmp;
+ (yyvsp[(3) - (4)].nodes).refine->dflt = tmp;
}
}
-
break;
case 401:
@@ -6366,35 +6580,33 @@
{ (yyval.nodes).refine = actual;
actual_type = REFINE_KEYWORD;
}
-
break;
case 402:
- { actual = (yyvsp[-2].nodes).refine;
+ { actual = (yyvsp[(1) - (3)].nodes).refine;
actual_type = REFINE_KEYWORD;
- if ((yyvsp[-2].nodes).refine->target_type) {
- if ((yyvsp[-2].nodes).refine->target_type & (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYXML)) {
- (yyvsp[-2].nodes).refine->target_type &= (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYXML);
+ if ((yyvsp[(1) - (3)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (3)].nodes).refine->target_type & (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYXML)) {
+ (yyvsp[(1) - (3)].nodes).refine->target_type &= (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYXML);
} else {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "must", "refine");
LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid refine target nodetype for the substatements.");
YYABORT;
}
} else {
- (yyvsp[-2].nodes).refine->target_type = LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYXML;
+ (yyvsp[(1) - (3)].nodes).refine->target_type = LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYXML;
}
}
-
break;
case 403:
{ /* leaf, leaf-list, list, container or anyxml */
/* check possibility of statements combination */
- if ((yyvsp[-2].nodes).refine->target_type) {
- if ((yyvsp[-2].nodes).refine->target_type & (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYDATA)) {
- (yyvsp[-2].nodes).refine->target_type &= (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYDATA);
+ if ((yyvsp[(1) - (3)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (3)].nodes).refine->target_type & (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYDATA)) {
+ (yyvsp[(1) - (3)].nodes).refine->target_type &= (LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYDATA);
} else {
free(s);
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "if-feature", "refine");
@@ -6402,23 +6614,22 @@
YYABORT;
}
} else {
- (yyvsp[-2].nodes).refine->target_type = LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYDATA;
+ (yyvsp[(1) - (3)].nodes).refine->target_type = LYS_LEAF | LYS_LIST | LYS_LEAFLIST | LYS_CONTAINER | LYS_ANYDATA;
}
}
-
break;
case 404:
- { if ((yyvsp[-1].nodes).refine->target_type) {
- if ((yyvsp[-1].nodes).refine->target_type & LYS_CONTAINER) {
- if ((yyvsp[-1].nodes).refine->mod.presence) {
+ { if ((yyvsp[(1) - (2)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type & LYS_CONTAINER) {
+ if ((yyvsp[(1) - (2)].nodes).refine->mod.presence) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "presence", "refine");
free(s);
YYABORT;
}
- (yyvsp[-1].nodes).refine->target_type = LYS_CONTAINER;
- (yyvsp[-1].nodes).refine->mod.presence = lydict_insert_zc(trg->ctx, s);
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_CONTAINER;
+ (yyvsp[(1) - (2)].nodes).refine->mod.presence = lydict_insert_zc(trg->ctx, s);
} else {
free(s);
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "presence", "refine");
@@ -6426,26 +6637,25 @@
YYABORT;
}
} else {
- (yyvsp[-1].nodes).refine->target_type = LYS_CONTAINER;
- (yyvsp[-1].nodes).refine->mod.presence = lydict_insert_zc(trg->ctx, s);
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_CONTAINER;
+ (yyvsp[(1) - (2)].nodes).refine->mod.presence = lydict_insert_zc(trg->ctx, s);
}
s = NULL;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 405:
{ int i;
- if ((yyvsp[-1].nodes).refine->dflt_size) {
+ if ((yyvsp[(1) - (2)].nodes).refine->dflt_size) {
if (trg->version < 2) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "default", "refine");
YYABORT;
}
- if ((yyvsp[-1].nodes).refine->target_type & LYS_LEAFLIST) {
- (yyvsp[-1].nodes).refine->target_type = LYS_LEAFLIST;
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type & LYS_LEAFLIST) {
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LEAFLIST;
} else {
free(s);
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "default", "refine");
@@ -6453,12 +6663,12 @@
YYABORT;
}
} else {
- if ((yyvsp[-1].nodes).refine->target_type) {
- if (trg->version < 2 && ((yyvsp[-1].nodes).refine->target_type & (LYS_LEAF | LYS_CHOICE))) {
- (yyvsp[-1].nodes).refine->target_type &= (LYS_LEAF | LYS_CHOICE);
- } if (trg->version > 1 && ((yyvsp[-1].nodes).refine->target_type & (LYS_LEAF | LYS_LEAFLIST | LYS_CHOICE))) {
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type) {
+ if (trg->version < 2 && ((yyvsp[(1) - (2)].nodes).refine->target_type & (LYS_LEAF | LYS_CHOICE))) {
+ (yyvsp[(1) - (2)].nodes).refine->target_type &= (LYS_LEAF | LYS_CHOICE);
+ } if (trg->version > 1 && ((yyvsp[(1) - (2)].nodes).refine->target_type & (LYS_LEAF | LYS_LEAFLIST | LYS_CHOICE))) {
/* YANG 1.1 */
- (yyvsp[-1].nodes).refine->target_type &= (LYS_LEAF | LYS_LEAFLIST | LYS_CHOICE);
+ (yyvsp[(1) - (2)].nodes).refine->target_type &= (LYS_LEAF | LYS_LEAFLIST | LYS_CHOICE);
} else {
free(s);
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "default", "refine");
@@ -6467,148 +6677,141 @@
}
} else {
if (trg->version < 2) {
- (yyvsp[-1].nodes).refine->target_type = LYS_LEAF | LYS_CHOICE;
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LEAF | LYS_CHOICE;
} else {
/* YANG 1.1 */
- (yyvsp[-1].nodes).refine->target_type = LYS_LEAF | LYS_LEAFLIST | LYS_CHOICE;
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LEAF | LYS_LEAFLIST | LYS_CHOICE;
}
}
}
/* check for duplicity */
- for (i = 0; i < (yyvsp[-1].nodes).refine->dflt_size; ++i) {
- if (ly_strequal((yyvsp[-1].nodes).refine->dflt[i], s, 0)) {
+ for (i = 0; i < (yyvsp[(1) - (2)].nodes).refine->dflt_size; ++i) {
+ if (ly_strequal((yyvsp[(1) - (2)].nodes).refine->dflt[i], s, 0)) {
LOGVAL(LYE_INARG, LY_VLOG_NONE, NULL, s, "default");
LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Duplicated default value \"%s\".", s);
YYABORT;
}
}
- YANG_ADDELEM((yyvsp[-1].nodes).refine->dflt, (yyvsp[-1].nodes).refine->dflt_size);
+ YANG_ADDELEM((yyvsp[(1) - (2)].nodes).refine->dflt, (yyvsp[(1) - (2)].nodes).refine->dflt_size);
*((const char **)actual) = lydict_insert_zc(trg->ctx, s);
- actual = (yyvsp[-1].nodes).refine;
+ actual = (yyvsp[(1) - (2)].nodes).refine;
s = NULL;
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 406:
- { if ((yyvsp[-1].nodes).refine->target_type) {
- if ((yyvsp[-1].nodes).refine->target_type & (LYS_LEAF | LYS_CHOICE | LYS_LIST | LYS_CONTAINER | LYS_LEAFLIST)) {
- (yyvsp[-1].nodes).refine->target_type &= (LYS_LEAF | LYS_CHOICE | LYS_LIST | LYS_CONTAINER | LYS_LEAFLIST);
- if ((yyvsp[-1].nodes).refine->flags & LYS_CONFIG_MASK) {
+ { if ((yyvsp[(1) - (2)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type & (LYS_LEAF | LYS_CHOICE | LYS_LIST | LYS_CONTAINER | LYS_LEAFLIST)) {
+ (yyvsp[(1) - (2)].nodes).refine->target_type &= (LYS_LEAF | LYS_CHOICE | LYS_LIST | LYS_CONTAINER | LYS_LEAFLIST);
+ if ((yyvsp[(1) - (2)].nodes).refine->flags & LYS_CONFIG_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "config", "refine");
YYABORT;
}
- (yyvsp[-1].nodes).refine->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).refine->flags |= (yyvsp[(2) - (2)].i);
} else {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "config", "refine");
LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid refine target nodetype for the substatements.");
YYABORT;
}
} else {
- (yyvsp[-1].nodes).refine->target_type = LYS_LEAF | LYS_CHOICE | LYS_LIST | LYS_CONTAINER | LYS_LEAFLIST;
- (yyvsp[-1].nodes).refine->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LEAF | LYS_CHOICE | LYS_LIST | LYS_CONTAINER | LYS_LEAFLIST;
+ (yyvsp[(1) - (2)].nodes).refine->flags |= (yyvsp[(2) - (2)].i);
}
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 407:
- { if ((yyvsp[-1].nodes).refine->target_type) {
- if ((yyvsp[-1].nodes).refine->target_type & (LYS_LEAF | LYS_CHOICE | LYS_ANYXML)) {
- (yyvsp[-1].nodes).refine->target_type &= (LYS_LEAF | LYS_CHOICE | LYS_ANYXML);
- if ((yyvsp[-1].nodes).refine->flags & LYS_MAND_MASK) {
+ { if ((yyvsp[(1) - (2)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type & (LYS_LEAF | LYS_CHOICE | LYS_ANYXML)) {
+ (yyvsp[(1) - (2)].nodes).refine->target_type &= (LYS_LEAF | LYS_CHOICE | LYS_ANYXML);
+ if ((yyvsp[(1) - (2)].nodes).refine->flags & LYS_MAND_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "mandatory", "refine");
YYABORT;
}
- (yyvsp[-1].nodes).refine->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).refine->flags |= (yyvsp[(2) - (2)].i);
} else {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "mandatory", "refine");
LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid refine target nodetype for the substatements.");
YYABORT;
}
} else {
- (yyvsp[-1].nodes).refine->target_type = LYS_LEAF | LYS_CHOICE | LYS_ANYXML;
- (yyvsp[-1].nodes).refine->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LEAF | LYS_CHOICE | LYS_ANYXML;
+ (yyvsp[(1) - (2)].nodes).refine->flags |= (yyvsp[(2) - (2)].i);
}
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 408:
- { if ((yyvsp[-1].nodes).refine->target_type) {
- if ((yyvsp[-1].nodes).refine->target_type & (LYS_LIST | LYS_LEAFLIST)) {
- (yyvsp[-1].nodes).refine->target_type &= (LYS_LIST | LYS_LEAFLIST);
- if ((yyvsp[-1].nodes).refine->flags & LYS_RFN_MINSET) {
+ { if ((yyvsp[(1) - (2)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type & (LYS_LIST | LYS_LEAFLIST)) {
+ (yyvsp[(1) - (2)].nodes).refine->target_type &= (LYS_LIST | LYS_LEAFLIST);
+ if ((yyvsp[(1) - (2)].nodes).refine->flags & LYS_RFN_MINSET) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "min-elements", "refine");
YYABORT;
}
- (yyvsp[-1].nodes).refine->flags |= LYS_RFN_MINSET;
- (yyvsp[-1].nodes).refine->mod.list.min = (yyvsp[0].uint);
+ (yyvsp[(1) - (2)].nodes).refine->flags |= LYS_RFN_MINSET;
+ (yyvsp[(1) - (2)].nodes).refine->mod.list.min = (yyvsp[(2) - (2)].uint);
} else {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "min-elements", "refine");
LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid refine target nodetype for the substatements.");
YYABORT;
}
} else {
- (yyvsp[-1].nodes).refine->target_type = LYS_LIST | LYS_LEAFLIST;
- (yyvsp[-1].nodes).refine->flags |= LYS_RFN_MINSET;
- (yyvsp[-1].nodes).refine->mod.list.min = (yyvsp[0].uint);
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LIST | LYS_LEAFLIST;
+ (yyvsp[(1) - (2)].nodes).refine->flags |= LYS_RFN_MINSET;
+ (yyvsp[(1) - (2)].nodes).refine->mod.list.min = (yyvsp[(2) - (2)].uint);
}
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 409:
- { if ((yyvsp[-1].nodes).refine->target_type) {
- if ((yyvsp[-1].nodes).refine->target_type & (LYS_LIST | LYS_LEAFLIST)) {
- (yyvsp[-1].nodes).refine->target_type &= (LYS_LIST | LYS_LEAFLIST);
- if ((yyvsp[-1].nodes).refine->flags & LYS_RFN_MAXSET) {
+ { if ((yyvsp[(1) - (2)].nodes).refine->target_type) {
+ if ((yyvsp[(1) - (2)].nodes).refine->target_type & (LYS_LIST | LYS_LEAFLIST)) {
+ (yyvsp[(1) - (2)].nodes).refine->target_type &= (LYS_LIST | LYS_LEAFLIST);
+ if ((yyvsp[(1) - (2)].nodes).refine->flags & LYS_RFN_MAXSET) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "max-elements", "refine");
YYABORT;
}
- (yyvsp[-1].nodes).refine->flags |= LYS_RFN_MAXSET;
- (yyvsp[-1].nodes).refine->mod.list.max = (yyvsp[0].uint);
+ (yyvsp[(1) - (2)].nodes).refine->flags |= LYS_RFN_MAXSET;
+ (yyvsp[(1) - (2)].nodes).refine->mod.list.max = (yyvsp[(2) - (2)].uint);
} else {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "max-elements", "refine");
LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid refine target nodetype for the substatements.");
YYABORT;
}
} else {
- (yyvsp[-1].nodes).refine->target_type = LYS_LIST | LYS_LEAFLIST;
- (yyvsp[-1].nodes).refine->flags |= LYS_RFN_MAXSET;
- (yyvsp[-1].nodes).refine->mod.list.max = (yyvsp[0].uint);
+ (yyvsp[(1) - (2)].nodes).refine->target_type = LYS_LIST | LYS_LEAFLIST;
+ (yyvsp[(1) - (2)].nodes).refine->flags |= LYS_RFN_MAXSET;
+ (yyvsp[(1) - (2)].nodes).refine->mod.list.max = (yyvsp[(2) - (2)].uint);
}
- (yyval.nodes) = (yyvsp[-1].nodes);
+ (yyval.nodes) = (yyvsp[(1) - (2)].nodes);
}
-
break;
case 410:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).refine, s, "refine", NODE)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).refine, s, "refine", NODE)) {
YYABORT;
}
s = NULL;
}
-
break;
case 411:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).refine, s, "refine", NODE)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).refine, s, "refine", NODE)) {
YYABORT;
}
s = NULL;
}
-
break;
case 414:
@@ -6627,17 +6830,15 @@
s = NULL;
actual_type = AUGMENT_KEYWORD;
}
-
break;
case 415:
{ LOGDBG(LY_LDGYANG, "finished parsing augment statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
+ data_node = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 418:
@@ -6652,64 +6853,57 @@
s = NULL;
actual_type = AUGMENT_KEYWORD;
}
-
break;
case 419:
{ LOGDBG(LY_LDGYANG, "finished parsing augment statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
+ data_node = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 420:
{ (yyval.nodes).augment = actual; }
-
break;
case 423:
- { if ((yyvsp[-1].nodes).augment->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).augment, "status", "augment");
+ { if ((yyvsp[(1) - (2)].nodes).augment->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).augment, "status", "augment");
YYABORT;
}
- (yyvsp[-1].nodes).augment->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).augment->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 424:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).augment, s, "augment", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).augment, s, "augment", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 425:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).augment, s, "augment", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).augment, s, "augment", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 428:
{ if (trg->version < 2) {
- LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[-2].nodes).augment, "notification");
+ LOGVAL(LYE_INSTMT, LY_VLOG_LYS, (yyvsp[(1) - (3)].nodes).augment, "notification");
YYABORT;
}
}
-
break;
case 430:
@@ -6728,17 +6922,15 @@
s = NULL;
actual_type = ACTION_KEYWORD;
}
-
break;
case 431:
{ LOGDBG(LY_LDGYANG, "finished parsing action statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 432:
@@ -6752,42 +6944,39 @@
s = NULL;
actual_type = RPC_KEYWORD;
}
-
break;
case 433:
{ LOGDBG(LY_LDGYANG, "finished parsing rpc statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 435:
{ void *tmp;
- if ((yyvsp[-1].nodes).node.ptr_rpc->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_rpc->iffeature, (yyvsp[-1].nodes).node.ptr_rpc->iffeature_size * sizeof *(yyvsp[-1].nodes).node.ptr_rpc->iffeature);
+ if ((yyvsp[(3) - (4)].nodes).node.ptr_rpc->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).node.ptr_rpc->iffeature, (yyvsp[(3) - (4)].nodes).node.ptr_rpc->iffeature_size * sizeof *(yyvsp[(3) - (4)].nodes).node.ptr_rpc->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_rpc->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).node.ptr_rpc->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).node.ptr_rpc->tpdf_size) {
- tmp = realloc((yyvsp[-1].nodes).node.ptr_rpc->tpdf, (yyvsp[-1].nodes).node.ptr_rpc->tpdf_size * sizeof *(yyvsp[-1].nodes).node.ptr_rpc->tpdf);
+ if ((yyvsp[(3) - (4)].nodes).node.ptr_rpc->tpdf_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).node.ptr_rpc->tpdf, (yyvsp[(3) - (4)].nodes).node.ptr_rpc->tpdf_size * sizeof *(yyvsp[(3) - (4)].nodes).node.ptr_rpc->tpdf);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_rpc->tpdf = tmp;
+ (yyvsp[(3) - (4)].nodes).node.ptr_rpc->tpdf = tmp;
}
}
-
break;
case 436:
@@ -6795,62 +6984,56 @@
{ (yyval.nodes).node.ptr_rpc = actual;
(yyval.nodes).node.flag = 0;
}
-
break;
case 438:
- { if ((yyvsp[-1].nodes).node.ptr_rpc->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).node.ptr_rpc, "status", "rpc");
+ { if ((yyvsp[(1) - (2)].nodes).node.ptr_rpc->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).node.ptr_rpc, "status", "rpc");
YYABORT;
}
- (yyvsp[-1].nodes).node.ptr_rpc->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).node.ptr_rpc->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 439:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).node.ptr_rpc, s, "rpc", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).node.ptr_rpc, s, "rpc", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 440:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).node.ptr_rpc, s, "rpc", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).node.ptr_rpc, s, "rpc", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 443:
- { if ((yyvsp[-2].nodes).node.flag & LYS_RPC_INPUT) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-2].nodes).node.ptr_rpc, "input", "rpc");
+ { if ((yyvsp[(1) - (3)].nodes).node.flag & LYS_RPC_INPUT) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (3)].nodes).node.ptr_rpc, "input", "rpc");
YYABORT;
}
- (yyvsp[-2].nodes).node.flag |= LYS_RPC_INPUT;
- (yyval.nodes) = (yyvsp[-2].nodes);
+ (yyvsp[(1) - (3)].nodes).node.flag |= LYS_RPC_INPUT;
+ (yyval.nodes) = (yyvsp[(1) - (3)].nodes);
}
-
break;
case 444:
- { if ((yyvsp[-2].nodes).node.flag & LYS_RPC_OUTPUT) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-2].nodes).node.ptr_rpc, "output", "rpc");
+ { if ((yyvsp[(1) - (3)].nodes).node.flag & LYS_RPC_OUTPUT) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (3)].nodes).node.ptr_rpc, "output", "rpc");
YYABORT;
}
- (yyvsp[-2].nodes).node.flag |= LYS_RPC_OUTPUT;
- (yyval.nodes) = (yyvsp[-2].nodes);
+ (yyvsp[(1) - (3)].nodes).node.flag |= LYS_RPC_OUTPUT;
+ (yyval.nodes) = (yyvsp[(1) - (3)].nodes);
}
-
break;
case 445:
@@ -6869,7 +7052,6 @@
s = NULL;
actual_type = INPUT_KEYWORD;
}
-
break;
case 446:
@@ -6896,11 +7078,10 @@
}
LOGDBG(LY_LDGYANG, "finished parsing input statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(1) - (5)].backup_token).token;
+ actual = (yyvsp[(1) - (5)].backup_token).actual;
+ data_node = (yyvsp[(1) - (5)].backup_token).actual;
}
-
break;
case 452:
@@ -6919,7 +7100,6 @@
s = NULL;
actual_type = OUTPUT_KEYWORD;
}
-
break;
case 453:
@@ -6946,11 +7126,10 @@
}
LOGDBG(LY_LDGYANG, "finished parsing output statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
- data_node = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(1) - (5)].backup_token).token;
+ actual = (yyvsp[(1) - (5)].backup_token).actual;
+ data_node = (yyvsp[(1) - (5)].backup_token).actual;
}
-
break;
case 454:
@@ -6963,88 +7142,81 @@
data_node = actual;
actual_type = NOTIFICATION_KEYWORD;
}
-
break;
case 455:
{ LOGDBG(LY_LDGYANG, "finished parsing notification statement \"%s\"", data_node->name);
- actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
- data_node = (yyvsp[-1].backup_token).actual;
+ actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
+ data_node = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 457:
{ void *tmp;
- if ((yyvsp[-1].nodes).notif->must_size) {
- tmp = realloc((yyvsp[-1].nodes).notif->must, (yyvsp[-1].nodes).notif->must_size * sizeof *(yyvsp[-1].nodes).notif->must);
+ if ((yyvsp[(3) - (4)].nodes).notif->must_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).notif->must, (yyvsp[(3) - (4)].nodes).notif->must_size * sizeof *(yyvsp[(3) - (4)].nodes).notif->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).notif->must = tmp;
+ (yyvsp[(3) - (4)].nodes).notif->must = tmp;
}
- if ((yyvsp[-1].nodes).notif->iffeature_size) {
- tmp = realloc((yyvsp[-1].nodes).notif->iffeature, (yyvsp[-1].nodes).notif->iffeature_size * sizeof *(yyvsp[-1].nodes).notif->iffeature);
+ if ((yyvsp[(3) - (4)].nodes).notif->iffeature_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).notif->iffeature, (yyvsp[(3) - (4)].nodes).notif->iffeature_size * sizeof *(yyvsp[(3) - (4)].nodes).notif->iffeature);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).notif->iffeature = tmp;
+ (yyvsp[(3) - (4)].nodes).notif->iffeature = tmp;
}
- if ((yyvsp[-1].nodes).notif->tpdf_size) {
- tmp = realloc((yyvsp[-1].nodes).notif->tpdf, (yyvsp[-1].nodes).notif->tpdf_size * sizeof *(yyvsp[-1].nodes).notif->tpdf);
+ if ((yyvsp[(3) - (4)].nodes).notif->tpdf_size) {
+ tmp = realloc((yyvsp[(3) - (4)].nodes).notif->tpdf, (yyvsp[(3) - (4)].nodes).notif->tpdf_size * sizeof *(yyvsp[(3) - (4)].nodes).notif->tpdf);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].nodes).notif->tpdf = tmp;
+ (yyvsp[(3) - (4)].nodes).notif->tpdf = tmp;
}
}
-
break;
case 458:
{ (yyval.nodes).notif = actual; }
-
break;
case 461:
- { if ((yyvsp[-1].nodes).notif->flags & LYS_STATUS_MASK) {
- LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[-1].nodes).notif, "status", "notification");
+ { if ((yyvsp[(1) - (2)].nodes).notif->flags & LYS_STATUS_MASK) {
+ LOGVAL(LYE_TOOMANY, LY_VLOG_LYS, (yyvsp[(1) - (2)].nodes).notif, "status", "notification");
YYABORT;
}
- (yyvsp[-1].nodes).notif->flags |= (yyvsp[0].i);
+ (yyvsp[(1) - (2)].nodes).notif->flags |= (yyvsp[(2) - (2)].i);
}
-
break;
case 462:
- { if (yang_read_description(trg, (yyvsp[-1].nodes).notif, s, "notification", NODE_PRINT)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].nodes).notif, s, "notification", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 463:
- { if (yang_read_reference(trg, (yyvsp[-1].nodes).notif, s, "notification", NODE_PRINT)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].nodes).notif, s, "notification", NODE_PRINT)) {
YYABORT;
}
s = NULL;
}
-
break;
case 467:
@@ -7060,56 +7232,51 @@
s = NULL;
actual_type = DEVIATION_KEYWORD;
}
-
break;
case 468:
{ void *tmp;
- if ((yyvsp[-1].dev)->deviate_size) {
- tmp = realloc((yyvsp[-1].dev)->deviate, (yyvsp[-1].dev)->deviate_size * sizeof *(yyvsp[-1].dev)->deviate);
+ if ((yyvsp[(6) - (7)].dev)->deviate_size) {
+ tmp = realloc((yyvsp[(6) - (7)].dev)->deviate, (yyvsp[(6) - (7)].dev)->deviate_size * sizeof *(yyvsp[(6) - (7)].dev)->deviate);
if (!tmp) {
LOGINT;
YYABORT;
}
- (yyvsp[-1].dev)->deviate = tmp;
+ (yyvsp[(6) - (7)].dev)->deviate = tmp;
} else {
LOGVAL(LYE_MISSCHILDSTMT, LY_VLOG_NONE, NULL, "deviate", "deviation");
YYABORT;
}
- actual_type = (yyvsp[-4].backup_token).token;
- actual = (yyvsp[-4].backup_token).actual;
+ actual_type = (yyvsp[(3) - (7)].backup_token).token;
+ actual = (yyvsp[(3) - (7)].backup_token).actual;
}
-
break;
case 469:
{ (yyval.dev) = actual; }
-
break;
case 470:
- { if (yang_read_description(trg, (yyvsp[-1].dev), s, "deviation", NODE)) {
+ { if (yang_read_description(trg, (yyvsp[(1) - (2)].dev), s, "deviation", NODE)) {
YYABORT;
}
s = NULL;
- (yyval.dev) = (yyvsp[-1].dev);
+ (yyval.dev) = (yyvsp[(1) - (2)].dev);
}
-
break;
case 471:
- { if (yang_read_reference(trg, (yyvsp[-1].dev), s, "deviation", NODE)) {
+ { if (yang_read_reference(trg, (yyvsp[(1) - (2)].dev), s, "deviation", NODE)) {
YYABORT;
}
s = NULL;
- (yyval.dev) = (yyvsp[-1].dev);
+ (yyval.dev) = (yyvsp[(1) - (2)].dev);
}
-
break;
case 477:
@@ -7121,15 +7288,13 @@
}
actual_type = NOT_SUPPORTED_KEYWORD;
}
-
break;
case 478:
- { actual_type = (yyvsp[-2].backup_token).token;
- actual = (yyvsp[-2].backup_token).actual;
+ { actual_type = (yyvsp[(1) - (3)].backup_token).token;
+ actual = (yyvsp[(1) - (3)].backup_token).actual;
}
-
break;
case 484:
@@ -7141,55 +7306,51 @@
}
actual_type = ADD_KEYWORD;
}
-
break;
case 485:
- { actual_type = (yyvsp[-2].backup_token).token;
- actual = (yyvsp[-2].backup_token).actual;
+ { actual_type = (yyvsp[(1) - (3)].backup_token).token;
+ actual = (yyvsp[(1) - (3)].backup_token).actual;
}
-
break;
case 487:
{ void *tmp;
- if ((yyvsp[-1].deviate)->must_size) {
- tmp = realloc((yyvsp[-1].deviate)->must, (yyvsp[-1].deviate)->must_size * sizeof *(yyvsp[-1].deviate)->must);
+ if ((yyvsp[(3) - (4)].deviate)->must_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->must, (yyvsp[(3) - (4)].deviate)->must_size * sizeof *(yyvsp[(3) - (4)].deviate)->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->must = tmp;
+ (yyvsp[(3) - (4)].deviate)->must = tmp;
}
- if ((yyvsp[-1].deviate)->unique_size) {
- tmp = realloc((yyvsp[-1].deviate)->unique, (yyvsp[-1].deviate)->unique_size * sizeof *(yyvsp[-1].deviate)->unique);
+ if ((yyvsp[(3) - (4)].deviate)->unique_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->unique, (yyvsp[(3) - (4)].deviate)->unique_size * sizeof *(yyvsp[(3) - (4)].deviate)->unique);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->unique = tmp;
+ (yyvsp[(3) - (4)].deviate)->unique = tmp;
}
- if ((yyvsp[-1].deviate)->dflt_size) {
- tmp = realloc((yyvsp[-1].deviate)->dflt, (yyvsp[-1].deviate)->dflt_size * sizeof *(yyvsp[-1].deviate)->dflt);
+ if ((yyvsp[(3) - (4)].deviate)->dflt_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->dflt, (yyvsp[(3) - (4)].deviate)->dflt_size * sizeof *(yyvsp[(3) - (4)].deviate)->dflt);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->dflt = tmp;
+ (yyvsp[(3) - (4)].deviate)->dflt = tmp;
}
}
-
break;
case 488:
{ (yyval.deviate) = actual; }
-
break;
case 489:
@@ -7198,81 +7359,74 @@
YYABORT;
}
s = NULL;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 491:
- { YANG_ADDELEM((yyvsp[-1].deviate)->unique, (yyvsp[-1].deviate)->unique_size);
+ { YANG_ADDELEM((yyvsp[(1) - (2)].deviate)->unique, (yyvsp[(1) - (2)].deviate)->unique_size);
((struct lys_unique *)actual)->expr = (const char **)s;
s = NULL;
- actual = (yyvsp[-1].deviate);
- (yyval.deviate)= (yyvsp[-1].deviate);
+ actual = (yyvsp[(1) - (2)].deviate);
+ (yyval.deviate)= (yyvsp[(1) - (2)].deviate);
}
-
break;
case 492:
- { YANG_ADDELEM((yyvsp[-1].deviate)->dflt, (yyvsp[-1].deviate)->dflt_size);
+ { YANG_ADDELEM((yyvsp[(1) - (2)].deviate)->dflt, (yyvsp[(1) - (2)].deviate)->dflt_size);
*((const char **)actual) = lydict_insert_zc(trg->ctx, s);
s = NULL;
- actual = (yyvsp[-1].deviate);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ actual = (yyvsp[(1) - (2)].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 493:
- { if ((yyvsp[-1].deviate)->flags & LYS_CONFIG_MASK) {
+ { if ((yyvsp[(1) - (2)].deviate)->flags & LYS_CONFIG_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "config", "deviate");
YYABORT;
}
- (yyvsp[-1].deviate)->flags = (yyvsp[0].i);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->flags = (yyvsp[(2) - (2)].i);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 494:
- { if ((yyvsp[-1].deviate)->flags & LYS_MAND_MASK) {
+ { if ((yyvsp[(1) - (2)].deviate)->flags & LYS_MAND_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "mandatory", "deviate");
YYABORT;
}
- (yyvsp[-1].deviate)->flags = (yyvsp[0].i);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->flags = (yyvsp[(2) - (2)].i);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 495:
- { if ((yyvsp[-1].deviate)->min_set) {
+ { if ((yyvsp[(1) - (2)].deviate)->min_set) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "min-elements", "deviation");
YYABORT;
}
- (yyvsp[-1].deviate)->min = (yyvsp[0].uint);
- (yyvsp[-1].deviate)->min_set = 1;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->min = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].deviate)->min_set = 1;
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 496:
- { if ((yyvsp[-1].deviate)->max_set) {
+ { if ((yyvsp[(1) - (2)].deviate)->max_set) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "max-elements", "deviation");
YYABORT;
}
- (yyvsp[-1].deviate)->max = (yyvsp[0].uint);
- (yyvsp[-1].deviate)->max_set = 1;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->max = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].deviate)->max_set = 1;
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 497:
@@ -7284,55 +7438,51 @@
}
actual_type = DELETE_KEYWORD;
}
-
break;
case 498:
- { actual_type = (yyvsp[-2].backup_token).token;
- actual = (yyvsp[-2].backup_token).actual;
+ { actual_type = (yyvsp[(1) - (3)].backup_token).token;
+ actual = (yyvsp[(1) - (3)].backup_token).actual;
}
-
break;
case 500:
{ void *tmp;
- if ((yyvsp[-1].deviate)->must_size) {
- tmp = realloc((yyvsp[-1].deviate)->must, (yyvsp[-1].deviate)->must_size * sizeof *(yyvsp[-1].deviate)->must);
+ if ((yyvsp[(3) - (4)].deviate)->must_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->must, (yyvsp[(3) - (4)].deviate)->must_size * sizeof *(yyvsp[(3) - (4)].deviate)->must);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->must = tmp;
+ (yyvsp[(3) - (4)].deviate)->must = tmp;
}
- if ((yyvsp[-1].deviate)->unique_size) {
- tmp = realloc((yyvsp[-1].deviate)->unique, (yyvsp[-1].deviate)->unique_size * sizeof *(yyvsp[-1].deviate)->unique);
+ if ((yyvsp[(3) - (4)].deviate)->unique_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->unique, (yyvsp[(3) - (4)].deviate)->unique_size * sizeof *(yyvsp[(3) - (4)].deviate)->unique);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->unique = tmp;
+ (yyvsp[(3) - (4)].deviate)->unique = tmp;
}
- if ((yyvsp[-1].deviate)->dflt_size) {
- tmp = realloc((yyvsp[-1].deviate)->dflt, (yyvsp[-1].deviate)->dflt_size * sizeof *(yyvsp[-1].deviate)->dflt);
+ if ((yyvsp[(3) - (4)].deviate)->dflt_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->dflt, (yyvsp[(3) - (4)].deviate)->dflt_size * sizeof *(yyvsp[(3) - (4)].deviate)->dflt);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->dflt = tmp;
+ (yyvsp[(3) - (4)].deviate)->dflt = tmp;
}
}
-
break;
case 501:
{ (yyval.deviate) = actual; }
-
break;
case 502:
@@ -7341,31 +7491,28 @@
YYABORT;
}
s = NULL;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 504:
- { YANG_ADDELEM((yyvsp[-1].deviate)->unique, (yyvsp[-1].deviate)->unique_size);
+ { YANG_ADDELEM((yyvsp[(1) - (2)].deviate)->unique, (yyvsp[(1) - (2)].deviate)->unique_size);
((struct lys_unique *)actual)->expr = (const char **)s;
s = NULL;
- actual = (yyvsp[-1].deviate);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ actual = (yyvsp[(1) - (2)].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 505:
- { YANG_ADDELEM((yyvsp[-1].deviate)->dflt, (yyvsp[-1].deviate)->dflt_size);
+ { YANG_ADDELEM((yyvsp[(1) - (2)].deviate)->dflt, (yyvsp[(1) - (2)].deviate)->dflt_size);
*((const char **)actual) = lydict_insert_zc(trg->ctx, s);
s = NULL;
- actual = (yyvsp[-1].deviate);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ actual = (yyvsp[(1) - (2)].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 506:
@@ -7377,37 +7524,33 @@
}
actual_type = REPLACE_KEYWORD;
}
-
break;
case 507:
- { actual_type = (yyvsp[-2].backup_token).token;
- actual = (yyvsp[-2].backup_token).actual;
+ { actual_type = (yyvsp[(1) - (3)].backup_token).token;
+ actual = (yyvsp[(1) - (3)].backup_token).actual;
}
-
break;
case 509:
{ void *tmp;
- if ((yyvsp[-1].deviate)->dflt_size) {
- tmp = realloc((yyvsp[-1].deviate)->dflt, (yyvsp[-1].deviate)->dflt_size * sizeof *(yyvsp[-1].deviate)->dflt);
+ if ((yyvsp[(3) - (4)].deviate)->dflt_size) {
+ tmp = realloc((yyvsp[(3) - (4)].deviate)->dflt, (yyvsp[(3) - (4)].deviate)->dflt_size * sizeof *(yyvsp[(3) - (4)].deviate)->dflt);
if (!tmp) {
LOGMEM;
YYABORT;
}
- (yyvsp[-1].deviate)->dflt = tmp;
+ (yyvsp[(3) - (4)].deviate)->dflt = tmp;
}
}
-
break;
case 510:
{ (yyval.deviate) = actual; }
-
break;
case 512:
@@ -7416,70 +7559,64 @@
YYABORT;
}
s = NULL;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 513:
- { YANG_ADDELEM((yyvsp[-1].deviate)->dflt, (yyvsp[-1].deviate)->dflt_size);
+ { YANG_ADDELEM((yyvsp[(1) - (2)].deviate)->dflt, (yyvsp[(1) - (2)].deviate)->dflt_size);
*((const char **)actual) = lydict_insert_zc(trg->ctx, s);
s = NULL;
- actual = (yyvsp[-1].deviate);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ actual = (yyvsp[(1) - (2)].deviate);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 514:
- { if ((yyvsp[-1].deviate)->flags & LYS_CONFIG_MASK) {
+ { if ((yyvsp[(1) - (2)].deviate)->flags & LYS_CONFIG_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "config", "deviate");
YYABORT;
}
- (yyvsp[-1].deviate)->flags = (yyvsp[0].i);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->flags = (yyvsp[(2) - (2)].i);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 515:
- { if ((yyvsp[-1].deviate)->flags & LYS_MAND_MASK) {
+ { if ((yyvsp[(1) - (2)].deviate)->flags & LYS_MAND_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "mandatory", "deviate");
YYABORT;
}
- (yyvsp[-1].deviate)->flags = (yyvsp[0].i);
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->flags = (yyvsp[(2) - (2)].i);
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 516:
- { if ((yyvsp[-1].deviate)->min_set) {
+ { if ((yyvsp[(1) - (2)].deviate)->min_set) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "min-elements", "deviation");
YYABORT;
}
- (yyvsp[-1].deviate)->min = (yyvsp[0].uint);
- (yyvsp[-1].deviate)->min_set = 1;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->min = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].deviate)->min_set = 1;
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 517:
- { if ((yyvsp[-1].deviate)->max_set) {
+ { if ((yyvsp[(1) - (2)].deviate)->max_set) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "max-elements", "deviation");
YYABORT;
}
- (yyvsp[-1].deviate)->max = (yyvsp[0].uint);
- (yyvsp[-1].deviate)->max_set = 1;
- (yyval.deviate) = (yyvsp[-1].deviate);
+ (yyvsp[(1) - (2)].deviate)->max = (yyvsp[(2) - (2)].uint);
+ (yyvsp[(1) - (2)].deviate)->max_set = 1;
+ (yyval.deviate) = (yyvsp[(1) - (2)].deviate);
}
-
break;
case 518:
@@ -7492,15 +7629,13 @@
s = NULL;
actual_type = WHEN_KEYWORD;
}
-
break;
case 519:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 523:
@@ -7510,7 +7645,6 @@
}
s = NULL;
}
-
break;
case 524:
@@ -7520,34 +7654,29 @@
}
s = NULL;
}
-
break;
case 525:
- { (yyval.i) = (yyvsp[0].i);
+ { (yyval.i) = (yyvsp[(1) - (1)].i);
backup_type = actual_type;
actual_type = CONFIG_KEYWORD;
}
-
break;
case 526:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(3) - (4)].i); }
break;
case 527:
{ (yyval.i) = LYS_CONFIG_W | LYS_CONFIG_SET; }
-
break;
case 528:
{ (yyval.i) = LYS_CONFIG_R | LYS_CONFIG_SET; }
-
break;
case 529:
@@ -7564,34 +7693,29 @@
free(s);
s = NULL;
}
-
break;
case 530:
- { (yyval.i) = (yyvsp[0].i);
+ { (yyval.i) = (yyvsp[(1) - (1)].i);
backup_type = actual_type;
actual_type = MANDATORY_KEYWORD;
}
-
break;
case 531:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(3) - (4)].i); }
break;
case 532:
{ (yyval.i) = LYS_MAND_TRUE; }
-
break;
case 533:
{ (yyval.i) = LYS_MAND_FALSE; }
-
break;
case 534:
@@ -7608,7 +7732,6 @@
free(s);
s = NULL;
}
-
break;
case 535:
@@ -7616,28 +7739,24 @@
{ backup_type = actual_type;
actual_type = PRESENCE_KEYWORD;
}
-
break;
case 537:
- { (yyval.uint) = (yyvsp[0].uint);
+ { (yyval.uint) = (yyvsp[(1) - (1)].uint);
backup_type = actual_type;
actual_type = MIN_ELEMENTS_KEYWORD;
}
-
break;
case 538:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(3) - (4)].uint); }
break;
case 539:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(1) - (2)].uint); }
break;
case 540:
@@ -7661,34 +7780,29 @@
free(s);
s = NULL;
}
-
break;
case 541:
- { (yyval.uint) = (yyvsp[0].uint);
+ { (yyval.uint) = (yyvsp[(1) - (1)].uint);
backup_type = actual_type;
actual_type = MAX_ELEMENTS_KEYWORD;
}
-
break;
case 542:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(3) - (4)].uint); }
break;
case 543:
{ (yyval.uint) = 0; }
-
break;
case 544:
- { (yyval.uint) = (yyvsp[-1].uint); }
-
+ { (yyval.uint) = (yyvsp[(1) - (2)].uint); }
break;
case 545:
@@ -7712,34 +7826,29 @@
free(s);
s = NULL;
}
-
break;
case 546:
- { (yyval.i) = (yyvsp[0].i);
+ { (yyval.i) = (yyvsp[(1) - (1)].i);
backup_type = actual_type;
actual_type = ORDERED_BY_KEYWORD;
}
-
break;
case 547:
- { (yyval.i) = (yyvsp[-1].i); }
-
+ { (yyval.i) = (yyvsp[(3) - (4)].i); }
break;
case 548:
{ (yyval.i) = LYS_USERORDERED; }
-
break;
case 549:
{ (yyval.i) = LYS_SYSTEMORDERED; }
-
break;
case 550:
@@ -7755,7 +7864,6 @@
free(s);
s=NULL;
}
-
break;
case 551:
@@ -7828,15 +7936,13 @@
s = NULL;
actual_type = MUST_KEYWORD;
}
-
break;
case 552:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(3) - (4)].backup_token).token;
+ actual = (yyvsp[(3) - (4)].backup_token).actual;
}
-
break;
case 555:
@@ -7844,7 +7950,6 @@
{ backup_type = actual_type;
actual_type = UNIQUE_KEYWORD;
}
-
break;
case 559:
@@ -7852,7 +7957,6 @@
{ backup_type = actual_type;
actual_type = KEY_KEYWORD;
}
-
break;
case 561:
@@ -7863,7 +7967,6 @@
YYABORT;
}
}
-
break;
case 564:
@@ -7876,7 +7979,6 @@
actual_type = RANGE_KEYWORD;
s = NULL;
}
-
break;
case 565:
@@ -7899,7 +8001,6 @@
memcpy(s + 1, yyget_text(scanner), yyget_leng(scanner) + 1);
}
}
-
break;
case 569:
@@ -7919,13 +8020,11 @@
}
}
}
-
break;
case 571:
{ tmp_s = yyget_text(scanner); }
-
break;
case 572:
@@ -7937,13 +8036,11 @@
}
s[strlen(s) - 1] = '\0';
}
-
break;
case 573:
{ tmp_s = yyget_text(scanner); }
-
break;
case 574:
@@ -7955,7 +8052,6 @@
}
s[strlen(s) - 1] = '\0';
}
-
break;
case 598:
@@ -7970,25 +8066,21 @@
}
(yyval.uint) = (uint32_t) val;
}
-
break;
case 599:
{ (yyval.uint) = 0; }
-
break;
case 600:
- { (yyval.uint) = (yyvsp[0].uint); }
-
+ { (yyval.uint) = (yyvsp[(1) - (1)].uint); }
break;
case 601:
{ (yyval.i) = 0; }
-
break;
case 602:
@@ -8003,7 +8095,6 @@
}
(yyval.i) = (int32_t) val;
}
-
break;
case 608:
@@ -8013,7 +8104,6 @@
YYABORT;
}
}
-
break;
case 613:
@@ -8041,19 +8131,16 @@
}
}
}
-
break;
case 614:
- { s = (yyvsp[-1].str); }
-
+ { s = (yyvsp[(1) - (2)].str); }
break;
case 615:
- { s = (yyvsp[-3].str); }
-
+ { s = (yyvsp[(1) - (4)].str); }
break;
case 616:
@@ -8063,7 +8150,6 @@
(yyval.str) = s;
s = NULL;
}
-
break;
case 617:
@@ -8071,7 +8157,6 @@
{ actual_type = backup_type;
backup_type = NODE;
}
-
break;
case 618:
@@ -8079,35 +8164,31 @@
{ (yyval.str) = s;
s = NULL;
}
-
break;
case 622:
- { actual_type = (yyvsp[-1].backup_token).token;
- actual = (yyvsp[-1].backup_token).actual;
+ { actual_type = (yyvsp[(2) - (3)].backup_token).token;
+ actual = (yyvsp[(2) - (3)].backup_token).actual;
}
-
break;
case 623:
{ (yyval.backup_token).token = actual_type;
(yyval.backup_token).actual = actual;
- if (!(actual = yang_read_ext(trg, (actual) ? actual : trg, (yyvsp[-1].str), s,
+ if (!(actual = yang_read_ext(trg, (actual) ? actual : trg, (yyvsp[(1) - (2)].str), s,
actual_type, backup_type, is_ext_instance))) {
YYABORT;
}
s = NULL;
actual_type = EXTENSION_INSTANCE;
}
-
break;
case 624:
{ (yyval.str) = s; s = NULL; }
-
break;
case 639:
@@ -8124,7 +8205,7 @@
}
((struct lys_ext_instance *)actual)->parent = substmt;
}
- length = strlen((yyvsp[-2].str));
+ length = strlen((yyvsp[(1) - (3)].str));
old_length = (substmt->ext_substmt) ? strlen(substmt->ext_substmt) + 2 : 2;
tmp_value = realloc(substmt->ext_substmt, old_length + length + 1);
if (!tmp_value) {
@@ -8133,12 +8214,11 @@
}
substmt->ext_substmt = tmp_value;
tmp_value += old_length - 2;
- memcpy(tmp_value, (yyvsp[-2].str), length);
+ memcpy(tmp_value, (yyvsp[(1) - (3)].str), length);
tmp_value[length] = ' ';
tmp_value[length + 1] = '\0';
tmp_value[length + 2] = '\0';
}
-
break;
case 640:
@@ -8156,7 +8236,7 @@
}
((struct lys_ext_instance *)actual)->parent = substmt;
}
- length = strlen((yyvsp[-2].str));
+ length = strlen((yyvsp[(1) - (3)].str));
if (!substmt->ext_modules) {
array = malloc(2 * sizeof *substmt->ext_modules);
} else {
@@ -8175,23 +8255,20 @@
YYABORT;
}
array[i] = tmp_value;
- memcpy(tmp_value, (yyvsp[-2].str), length);
+ memcpy(tmp_value, (yyvsp[(1) - (3)].str), length);
tmp_value[length] = '\0';
tmp_value[length + 1] = '\0';
}
-
break;
case 643:
{ (yyval.str) = yyget_text(scanner); }
-
break;
case 644:
{ (yyval.str) = yyget_text(scanner); }
-
break;
case 656:
@@ -8202,7 +8279,6 @@
YYABORT;
}
}
-
break;
case 749:
@@ -8213,7 +8289,6 @@
YYABORT;
}
}
-
break;
case 750:
@@ -8224,7 +8299,6 @@
YYABORT;
}
}
-
break;
case 751:
@@ -8248,7 +8322,6 @@
(yyval.v) = actual = *type;
is_ext_instance = 0;
}
-
break;
case 752:
@@ -8266,11 +8339,10 @@
LOGMEM;
YYABORT;
}
-
+
(yyval.v) = actual = *tpdf;
is_ext_instance = 0;
}
-
break;
case 753:
@@ -8290,7 +8362,6 @@
}
(yyval.v) = actual = *iffeature;
}
-
break;
case 754:
@@ -8321,7 +8392,6 @@
(yyval.v) = actual = *restr;
s = NULL;
}
-
break;
case 755:
@@ -8332,7 +8402,6 @@
}
(yyval.v) = actual;
}
-
break;
case 756:
@@ -8354,7 +8423,6 @@
(yyval.revisions).revision = rev;
(yyval.revisions).index = i;
}
-
break;
case 757:
@@ -8398,13 +8466,11 @@
s = NULL;
is_ext_instance = 0;
}
-
break;
case 758:
{ LOGERR(LY_SUCCESS, "Extension's substatement \"%s\" not supported.", yyget_text(scanner)); }
-
break;
case 790:
@@ -8417,7 +8483,6 @@
}
(yyval.i) = 0;
}
-
break;
case 792:
@@ -8427,7 +8492,6 @@
YYABORT;
}
}
-
break;
case 793:
@@ -8437,7 +8501,6 @@
YYABORT;
}
}
-
break;
case 794:
@@ -8447,7 +8510,6 @@
YYABORT;
}
}
-
break;
case 795:
@@ -8457,7 +8519,6 @@
YYABORT;
}
}
-
break;
case 796:
@@ -8467,7 +8528,6 @@
YYABORT;
}
}
-
break;
case 797:
@@ -8477,7 +8537,6 @@
YYABORT;
}
}
-
break;
case 798:
@@ -8487,7 +8546,6 @@
YYABORT;
}
}
-
break;
case 799:
@@ -8497,7 +8555,6 @@
YYABORT;
}
}
-
break;
case 800:
@@ -8507,7 +8564,6 @@
YYABORT;
}
}
-
break;
case 801:
@@ -8517,7 +8573,6 @@
YYABORT;
}
}
-
break;
case 802:
@@ -8527,7 +8582,6 @@
YYABORT;
}
}
-
break;
case 803:
@@ -8537,7 +8591,6 @@
YYABORT;
}
}
-
break;
case 804:
@@ -8547,7 +8600,6 @@
YYABORT;
}
}
-
break;
case 805:
@@ -8557,7 +8609,6 @@
YYABORT;
}
}
-
break;
case 806:
@@ -8567,12 +8618,11 @@
YYABORT;
}
}
-
break;
case 807:
- { struct lys_type *type = (yyvsp[-2].v);
+ { struct lys_type *type = (yyvsp[(2) - (4)].v);
if (yang_fill_type(trg, type, (struct yang_type *)type->der, ext_instance, param->unres)) {
yang_type_free(trg->ctx, type);
@@ -8585,12 +8635,11 @@
actual = ext_instance;
is_ext_instance = 1;
}
-
break;
case 808:
- { struct lys_tpdf *tpdf = (yyvsp[-2].v);
+ { struct lys_tpdf *tpdf = (yyvsp[(2) - (4)].v);
if (yang_fill_type(trg, &tpdf->type, (struct yang_type *)tpdf->type.der, tpdf, param->unres)) {
yang_type_free(trg->ctx, &tpdf->type);
@@ -8609,65 +8658,59 @@
actual = ext_instance;
is_ext_instance = 1;
}
-
break;
case 809:
{ if (yang_fill_extcomplex_flags(ext_instance, ext_name, "status", LY_STMT_STATUS,
- (yyvsp[0].i), LYS_STATUS_MASK)) {
+ (yyvsp[(2) - (2)].i), LYS_STATUS_MASK)) {
YYABORT;
}
}
-
break;
case 810:
{ if (yang_fill_extcomplex_flags(ext_instance, ext_name, "config", LY_STMT_CONFIG,
- (yyvsp[0].i), LYS_CONFIG_MASK)) {
+ (yyvsp[(2) - (2)].i), LYS_CONFIG_MASK)) {
YYABORT;
}
}
-
break;
case 811:
{ if (yang_fill_extcomplex_flags(ext_instance, ext_name, "mandatory", LY_STMT_MANDATORY,
- (yyvsp[0].i), LYS_MAND_MASK)) {
+ (yyvsp[(2) - (2)].i), LYS_MAND_MASK)) {
YYABORT;
}
}
-
break;
case 812:
- { if ((yyvsp[-1].i) & LYS_ORDERED_MASK) {
+ { if ((yyvsp[(1) - (2)].i) & LYS_ORDERED_MASK) {
LOGVAL(LYE_TOOMANY, LY_VLOG_NONE, NULL, "ordered by", ext_name);
YYABORT;
}
- if ((yyvsp[0].i) & LYS_USERORDERED) {
+ if ((yyvsp[(2) - (2)].i) & LYS_USERORDERED) {
if (yang_fill_extcomplex_flags(ext_instance, ext_name, "ordered-by", LY_STMT_ORDEREDBY,
- (yyvsp[0].i), LYS_USERORDERED)) {
+ (yyvsp[(2) - (2)].i), LYS_USERORDERED)) {
YYABORT;
}
}
- (yyvsp[-1].i) |= (yyvsp[0].i);
- (yyval.i) = (yyvsp[-1].i);
+ (yyvsp[(1) - (2)].i) |= (yyvsp[(2) - (2)].i);
+ (yyval.i) = (yyvsp[(1) - (2)].i);
}
-
break;
case 813:
{ if (yang_fill_extcomplex_uint8(ext_instance, ext_name, "require-instance",
- LY_STMT_REQINSTANCE, (yyvsp[0].i))) {
+ LY_STMT_REQINSTANCE, (yyvsp[(2) - (2)].i))) {
YYABORT;
}
}
-
break;
case 814:
@@ -8676,21 +8719,19 @@
YYABORT;
}
}
-
break;
case 815:
{ /* range check */
- if ((yyvsp[0].uint) < 1 || (yyvsp[0].uint) > 18) {
- LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid value \"%d\" of \"%s\".", (yyvsp[0].uint), "fraction-digits");
+ if ((yyvsp[(2) - (2)].uint) < 1 || (yyvsp[(2) - (2)].uint) > 18) {
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid value \"%d\" of \"%s\".", (yyvsp[(2) - (2)].uint), "fraction-digits");
YYABORT;
}
- if (yang_fill_extcomplex_uint8(ext_instance, ext_name, "fraction-digits", LY_STMT_DIGITS, (yyvsp[0].uint))) {
+ if (yang_fill_extcomplex_uint8(ext_instance, ext_name, "fraction-digits", LY_STMT_DIGITS, (yyvsp[(2) - (2)].uint))) {
YYABORT;
}
}
-
break;
case 816:
@@ -8708,9 +8749,8 @@
LOGMEM;
YYABORT;
}
- **val = (yyvsp[0].uint);
+ **val = (yyvsp[(2) - (2)].uint);
}
-
break;
case 817:
@@ -8728,9 +8768,8 @@
LOGMEM;
YYABORT;
}
- **val = (yyvsp[0].uint);
+ **val = (yyvsp[(2) - (2)].uint);
}
-
break;
case 818:
@@ -8748,9 +8787,8 @@
LOGMEM;
YYABORT;
}
- **val = (yyvsp[0].uint);
+ **val = (yyvsp[(2) - (2)].uint);
}
-
break;
case 819:
@@ -8768,9 +8806,8 @@
LOGMEM;
YYABORT;
}
- **val = (yyvsp[0].i);
+ **val = (yyvsp[(2) - (2)].i);
}
-
break;
case 820:
@@ -8795,14 +8832,13 @@
YYABORT;
}
}
-
break;
case 821:
{ struct lys_iffeature *iffeature;
- iffeature = (yyvsp[-2].v);
+ iffeature = (yyvsp[(2) - (4)].v);
s = (char *)iffeature->features;
iffeature->features = NULL;
if (yang_fill_iffeature(trg, iffeature, ext_instance, s, param->unres, 0)) {
@@ -8814,47 +8850,43 @@
s = NULL;
actual = ext_instance;
}
-
break;
case 823:
- { if (yang_check_ext_instance(trg, &((struct lys_restr *)(yyvsp[-2].v))->ext, ((struct lys_restr *)(yyvsp[-2].v))->ext_size, (yyvsp[-2].v), param->unres)) {
+ { if (yang_check_ext_instance(trg, &((struct lys_restr *)(yyvsp[(2) - (4)].v))->ext, ((struct lys_restr *)(yyvsp[(2) - (4)].v))->ext_size, (yyvsp[(2) - (4)].v), param->unres)) {
YYABORT;
}
actual = ext_instance;
}
-
break;
case 824:
- { if (yang_check_ext_instance(trg, &(*(struct lys_when **)(yyvsp[-2].v))->ext, (*(struct lys_when **)(yyvsp[-2].v))->ext_size,
- *(struct lys_when **)(yyvsp[-2].v), param->unres)) {
+ { if (yang_check_ext_instance(trg, &(*(struct lys_when **)(yyvsp[(2) - (4)].v))->ext, (*(struct lys_when **)(yyvsp[(2) - (4)].v))->ext_size,
+ *(struct lys_when **)(yyvsp[(2) - (4)].v), param->unres)) {
YYABORT;
}
actual = ext_instance;
}
-
break;
case 825:
{ int i;
- for (i = 0; i < (yyvsp[-2].revisions).index; ++i) {
- if (!strcmp((yyvsp[-2].revisions).revision[i]->date, (yyvsp[-2].revisions).revision[(yyvsp[-2].revisions).index]->date)) {
- LOGWRN("Module's revisions are not unique (%s).", (yyvsp[-2].revisions).revision[i]->date);
+ for (i = 0; i < (yyvsp[(2) - (4)].revisions).index; ++i) {
+ if (!strcmp((yyvsp[(2) - (4)].revisions).revision[i]->date, (yyvsp[(2) - (4)].revisions).revision[(yyvsp[(2) - (4)].revisions).index]->date)) {
+ LOGWRN("Module's revisions are not unique (%s).", (yyvsp[(2) - (4)].revisions).revision[i]->date);
break;
}
}
- if (yang_check_ext_instance(trg, &(yyvsp[-2].revisions).revision[(yyvsp[-2].revisions).index]->ext, (yyvsp[-2].revisions).revision[(yyvsp[-2].revisions).index]->ext_size,
- &(yyvsp[-2].revisions).revision[(yyvsp[-2].revisions).index], param->unres)) {
+ if (yang_check_ext_instance(trg, &(yyvsp[(2) - (4)].revisions).revision[(yyvsp[(2) - (4)].revisions).index]->ext, (yyvsp[(2) - (4)].revisions).revision[(yyvsp[(2) - (4)].revisions).index]->ext_size,
+ &(yyvsp[(2) - (4)].revisions).revision[(yyvsp[(2) - (4)].revisions).index], param->unres)) {
YYABORT;
}
actual = ext_instance;
}
-
break;
case 826:
@@ -8862,7 +8894,6 @@
{ actual = ext_instance;
is_ext_instance = 1;
}
-
break;
@@ -8889,7 +8920,7 @@
*++yyvsp = yyval;
*++yylsp = yyloc;
- /* 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. */
@@ -8904,9 +8935,9 @@
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. */
@@ -8957,20 +8988,20 @@
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, &yylloc, scanner, param);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, &yylloc, scanner, param);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -8990,7 +9021,7 @@
goto yyerrorlab;
yyerror_range[1] = yylsp[1-yylen];
- /* 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;
@@ -9003,29 +9034,29 @@
| 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;
yyerror_range[1] = *yylsp;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp, yylsp, scanner, param);
+ yystos[yystate], yyvsp, yylsp, scanner, param);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -9081,14 +9112,14 @@
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc, scanner, param);
}
- /* 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, yylsp, scanner, param);
+ yystos[*yyssp], yyvsp, yylsp, scanner, param);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -9099,11 +9130,14 @@
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- return yyresult;
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
}
+
+
void yyerror(YYLTYPE *yylloc, void *scanner, struct yang_parameter *param, ...){
free(*param->value);
diff --git a/src/parser_yang_bis.h b/src/parser_yang_bis.h
index b6915d0..3ca4659 100644
--- a/src/parser_yang_bis.h
+++ b/src/parser_yang_bis.h
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015 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_PARSER_YANG_BIS_H_INCLUDED
# define YY_YY_PARSER_YANG_BIS_H_INCLUDED
-/* Debug traces. */
+/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -40,118 +40,118 @@
extern int yydebug;
#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- UNION_KEYWORD = 258,
- ANYXML_KEYWORD = 259,
- WHITESPACE = 260,
- ERROR = 261,
- EOL = 262,
- STRING = 263,
- STRINGS = 264,
- IDENTIFIER = 265,
- IDENTIFIERPREFIX = 266,
- REVISION_DATE = 267,
- TAB = 268,
- DOUBLEDOT = 269,
- URI = 270,
- INTEGER = 271,
- NON_NEGATIVE_INTEGER = 272,
- ZERO = 273,
- DECIMAL = 274,
- ARGUMENT_KEYWORD = 275,
- AUGMENT_KEYWORD = 276,
- BASE_KEYWORD = 277,
- BELONGS_TO_KEYWORD = 278,
- BIT_KEYWORD = 279,
- CASE_KEYWORD = 280,
- CHOICE_KEYWORD = 281,
- CONFIG_KEYWORD = 282,
- CONTACT_KEYWORD = 283,
- CONTAINER_KEYWORD = 284,
- DEFAULT_KEYWORD = 285,
- DESCRIPTION_KEYWORD = 286,
- ENUM_KEYWORD = 287,
- ERROR_APP_TAG_KEYWORD = 288,
- ERROR_MESSAGE_KEYWORD = 289,
- EXTENSION_KEYWORD = 290,
- DEVIATION_KEYWORD = 291,
- DEVIATE_KEYWORD = 292,
- FEATURE_KEYWORD = 293,
- FRACTION_DIGITS_KEYWORD = 294,
- GROUPING_KEYWORD = 295,
- IDENTITY_KEYWORD = 296,
- IF_FEATURE_KEYWORD = 297,
- IMPORT_KEYWORD = 298,
- INCLUDE_KEYWORD = 299,
- INPUT_KEYWORD = 300,
- KEY_KEYWORD = 301,
- LEAF_KEYWORD = 302,
- LEAF_LIST_KEYWORD = 303,
- LENGTH_KEYWORD = 304,
- LIST_KEYWORD = 305,
- MANDATORY_KEYWORD = 306,
- MAX_ELEMENTS_KEYWORD = 307,
- MIN_ELEMENTS_KEYWORD = 308,
- MODULE_KEYWORD = 309,
- MUST_KEYWORD = 310,
- NAMESPACE_KEYWORD = 311,
- NOTIFICATION_KEYWORD = 312,
- ORDERED_BY_KEYWORD = 313,
- ORGANIZATION_KEYWORD = 314,
- OUTPUT_KEYWORD = 315,
- PATH_KEYWORD = 316,
- PATTERN_KEYWORD = 317,
- POSITION_KEYWORD = 318,
- PREFIX_KEYWORD = 319,
- PRESENCE_KEYWORD = 320,
- RANGE_KEYWORD = 321,
- REFERENCE_KEYWORD = 322,
- REFINE_KEYWORD = 323,
- REQUIRE_INSTANCE_KEYWORD = 324,
- REVISION_KEYWORD = 325,
- REVISION_DATE_KEYWORD = 326,
- RPC_KEYWORD = 327,
- STATUS_KEYWORD = 328,
- SUBMODULE_KEYWORD = 329,
- TYPE_KEYWORD = 330,
- TYPEDEF_KEYWORD = 331,
- UNIQUE_KEYWORD = 332,
- UNITS_KEYWORD = 333,
- USES_KEYWORD = 334,
- VALUE_KEYWORD = 335,
- WHEN_KEYWORD = 336,
- YANG_VERSION_KEYWORD = 337,
- YIN_ELEMENT_KEYWORD = 338,
- ADD_KEYWORD = 339,
- CURRENT_KEYWORD = 340,
- DELETE_KEYWORD = 341,
- DEPRECATED_KEYWORD = 342,
- FALSE_KEYWORD = 343,
- NOT_SUPPORTED_KEYWORD = 344,
- OBSOLETE_KEYWORD = 345,
- REPLACE_KEYWORD = 346,
- SYSTEM_KEYWORD = 347,
- TRUE_KEYWORD = 348,
- UNBOUNDED_KEYWORD = 349,
- USER_KEYWORD = 350,
- ACTION_KEYWORD = 351,
- MODIFIER_KEYWORD = 352,
- ANYDATA_KEYWORD = 353,
- NODE = 354,
- NODE_PRINT = 355,
- EXTENSION_INSTANCE = 356,
- SUBMODULE_EXT_KEYWORD = 357
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ UNION_KEYWORD = 258,
+ ANYXML_KEYWORD = 259,
+ WHITESPACE = 260,
+ ERROR = 261,
+ EOL = 262,
+ STRING = 263,
+ STRINGS = 264,
+ IDENTIFIER = 265,
+ IDENTIFIERPREFIX = 266,
+ REVISION_DATE = 267,
+ TAB = 268,
+ DOUBLEDOT = 269,
+ URI = 270,
+ INTEGER = 271,
+ NON_NEGATIVE_INTEGER = 272,
+ ZERO = 273,
+ DECIMAL = 274,
+ ARGUMENT_KEYWORD = 275,
+ AUGMENT_KEYWORD = 276,
+ BASE_KEYWORD = 277,
+ BELONGS_TO_KEYWORD = 278,
+ BIT_KEYWORD = 279,
+ CASE_KEYWORD = 280,
+ CHOICE_KEYWORD = 281,
+ CONFIG_KEYWORD = 282,
+ CONTACT_KEYWORD = 283,
+ CONTAINER_KEYWORD = 284,
+ DEFAULT_KEYWORD = 285,
+ DESCRIPTION_KEYWORD = 286,
+ ENUM_KEYWORD = 287,
+ ERROR_APP_TAG_KEYWORD = 288,
+ ERROR_MESSAGE_KEYWORD = 289,
+ EXTENSION_KEYWORD = 290,
+ DEVIATION_KEYWORD = 291,
+ DEVIATE_KEYWORD = 292,
+ FEATURE_KEYWORD = 293,
+ FRACTION_DIGITS_KEYWORD = 294,
+ GROUPING_KEYWORD = 295,
+ IDENTITY_KEYWORD = 296,
+ IF_FEATURE_KEYWORD = 297,
+ IMPORT_KEYWORD = 298,
+ INCLUDE_KEYWORD = 299,
+ INPUT_KEYWORD = 300,
+ KEY_KEYWORD = 301,
+ LEAF_KEYWORD = 302,
+ LEAF_LIST_KEYWORD = 303,
+ LENGTH_KEYWORD = 304,
+ LIST_KEYWORD = 305,
+ MANDATORY_KEYWORD = 306,
+ MAX_ELEMENTS_KEYWORD = 307,
+ MIN_ELEMENTS_KEYWORD = 308,
+ MODULE_KEYWORD = 309,
+ MUST_KEYWORD = 310,
+ NAMESPACE_KEYWORD = 311,
+ NOTIFICATION_KEYWORD = 312,
+ ORDERED_BY_KEYWORD = 313,
+ ORGANIZATION_KEYWORD = 314,
+ OUTPUT_KEYWORD = 315,
+ PATH_KEYWORD = 316,
+ PATTERN_KEYWORD = 317,
+ POSITION_KEYWORD = 318,
+ PREFIX_KEYWORD = 319,
+ PRESENCE_KEYWORD = 320,
+ RANGE_KEYWORD = 321,
+ REFERENCE_KEYWORD = 322,
+ REFINE_KEYWORD = 323,
+ REQUIRE_INSTANCE_KEYWORD = 324,
+ REVISION_KEYWORD = 325,
+ REVISION_DATE_KEYWORD = 326,
+ RPC_KEYWORD = 327,
+ STATUS_KEYWORD = 328,
+ SUBMODULE_KEYWORD = 329,
+ TYPE_KEYWORD = 330,
+ TYPEDEF_KEYWORD = 331,
+ UNIQUE_KEYWORD = 332,
+ UNITS_KEYWORD = 333,
+ USES_KEYWORD = 334,
+ VALUE_KEYWORD = 335,
+ WHEN_KEYWORD = 336,
+ YANG_VERSION_KEYWORD = 337,
+ YIN_ELEMENT_KEYWORD = 338,
+ ADD_KEYWORD = 339,
+ CURRENT_KEYWORD = 340,
+ DELETE_KEYWORD = 341,
+ DEPRECATED_KEYWORD = 342,
+ FALSE_KEYWORD = 343,
+ NOT_SUPPORTED_KEYWORD = 344,
+ OBSOLETE_KEYWORD = 345,
+ REPLACE_KEYWORD = 346,
+ SYSTEM_KEYWORD = 347,
+ TRUE_KEYWORD = 348,
+ UNBOUNDED_KEYWORD = 349,
+ USER_KEYWORD = 350,
+ ACTION_KEYWORD = 351,
+ MODIFIER_KEYWORD = 352,
+ ANYDATA_KEYWORD = 353,
+ NODE = 354,
+ NODE_PRINT = 355,
+ EXTENSION_INSTANCE = 356,
+ SUBMODULE_EXT_KEYWORD = 357
+ };
#endif
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-union YYSTYPE
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
{
@@ -188,29 +188,39 @@
} revisions;
-};
-typedef union YYSTYPE YYSTYPE;
+} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE YYLTYPE;
-struct YYLTYPE
+typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
-};
+} YYLTYPE;
+# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
int yyparse (void *scanner, struct yang_parameter *param);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_PARSER_YANG_BIS_H_INCLUDED */
diff --git a/src/parser_yang_lex.c b/src/parser_yang_lex.c
index a786ba5..dc9a004 100644
--- a/src/parser_yang_lex.c
+++ b/src/parser_yang_lex.c
@@ -1,12 +1,14 @@
+#line 3 "parser_yang_lex.c"
+
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 37
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -85,22 +87,36 @@
#endif /* ! FLEXINT_H */
-/* TODO: this is always defined, so inline it */
-#define yyconst const
+#ifdef __cplusplus
-#if defined(__GNUC__) && __GNUC__ >= 3
-#define yynoreturn __attribute__((__noreturn__))
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#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)
/* An opaque pointer. */
#ifndef YY_TYPEDEF_YY_SCANNER_T
@@ -124,29 +140,25 @@
* definition of BEGIN.
*/
#define BEGIN yyg->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 ((yyg->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 ,yyscanner )
+
#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.
@@ -166,9 +178,8 @@
#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) \
@@ -183,6 +194,7 @@
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
+
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -259,33 +271,36 @@
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
? yyg->yy_buffer_stack[yyg->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 yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
-void yyrestart ( FILE *input_file , yyscan_t yyscanner );
-void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
-void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
-void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
-void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
-void yypop_buffer_state ( yyscan_t yyscanner );
+void yyrestart (FILE *input_file ,yyscan_t yyscanner );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
+void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
+void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
+void yypop_buffer_state (yyscan_t yyscanner );
-static void yyensure_buffer_stack ( yyscan_t yyscanner );
-static void yy_load_buffer_state ( yyscan_t yyscanner );
-static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
+static void yyensure_buffer_stack (yyscan_t yyscanner );
+static void yy_load_buffer_state (yyscan_t yyscanner );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
+
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
-YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
-void *yyalloc ( yy_size_t , yyscan_t yyscanner );
-void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
-void yyfree ( void * , yyscan_t yyscanner );
+void *yyalloc (yy_size_t ,yyscan_t yyscanner );
+void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
+void yyfree (void * ,yyscan_t yyscanner );
#define yy_new_buffer yy_create_buffer
+
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
@@ -295,6 +310,7 @@
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
+
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
@@ -304,22 +320,24 @@
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
+
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
-#define yywrap(yyscanner) (/*CONSTCOND*/1)
+#define yywrap(yyscanner) 1
#define YY_SKIP_YYWRAP
-typedef flex_uint8_t YY_CHAR;
+
+typedef unsigned char YY_CHAR;
typedef int yy_state_type;
#define yytext_ptr yytext_r
-static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
-static yy_state_type yy_try_NUL_trans ( yy_state_type current_state , yyscan_t yyscanner);
-static int yy_get_next_buffer ( yyscan_t yyscanner );
-static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
+static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
+static int yy_get_next_buffer (yyscan_t yyscanner );
+static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
@@ -330,6 +348,7 @@
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
+
#define YY_NUM_RULES 132
#define YY_END_OF_BUFFER 133
/* This struct is not used in this scanner,
@@ -339,7 +358,7 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[672] =
+static yyconst flex_int16_t yy_accept[672] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 133, 131, 130, 128, 131, 127, 92, 100,
@@ -417,7 +436,7 @@
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,
1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
@@ -449,7 +468,7 @@
55, 55, 55, 55, 55
} ;
-static const YY_CHAR yy_meta[64] =
+static yyconst flex_int32_t yy_meta[64] =
{ 0,
1, 2, 2, 2, 2, 3, 2, 2, 3, 3,
3, 3, 4, 4, 3, 4, 4, 5, 2, 3,
@@ -460,7 +479,7 @@
3, 3, 3
} ;
-static const flex_int16_t yy_base[682] =
+static yyconst flex_int16_t yy_base[682] =
{ 0,
0, 0, 61, 122, 62, 63, 185, 0, 248, 311,
374, 437, 504, 4800, 65, 4800, 474, 19, 4800, 4800,
@@ -539,7 +558,7 @@
4793
} ;
-static const flex_int16_t yy_def[682] =
+static yyconst flex_int16_t yy_def[682] =
{ 0,
671, 1, 672, 672, 4, 4, 671, 7, 673, 673,
674, 674, 671, 671, 671, 671, 671, 675, 671, 671,
@@ -618,7 +637,7 @@
671
} ;
-static const flex_int16_t yy_nxt[4864] =
+static yyconst flex_int16_t yy_nxt[4864] =
{ 0,
14, 15, 16, 17, 15, 18, 19, 20, 18, 18,
18, 21, 22, 18, 23, 24, 25, 18, 26, 18,
@@ -1157,7 +1176,7 @@
671, 671, 671
} ;
-static const flex_int16_t yy_chk[4864] =
+static yyconst flex_int16_t yy_chk[4864] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1756,7 +1775,7 @@
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
int yy_n_chars;
- int yyleng_r;
+ yy_size_t yyleng_r;
char *yy_c_buf_p;
int yy_init;
int yy_start;
@@ -1780,7 +1799,7 @@
}; /* end struct yyguts_t */
-static int yy_init_globals ( yyscan_t yyscanner );
+static int yy_init_globals (yyscan_t yyscanner );
/* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/
@@ -1790,48 +1809,48 @@
int yylex_init (yyscan_t* scanner);
-int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
+int yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int yylex_destroy ( yyscan_t yyscanner );
+int yylex_destroy (yyscan_t yyscanner );
-int yyget_debug ( yyscan_t yyscanner );
+int yyget_debug (yyscan_t yyscanner );
-void yyset_debug ( int debug_flag , yyscan_t yyscanner );
+void yyset_debug (int debug_flag ,yyscan_t yyscanner );
-YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
+YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner );
-void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
+void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
-FILE *yyget_in ( yyscan_t yyscanner );
+FILE *yyget_in (yyscan_t yyscanner );
-void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
+void yyset_in (FILE * in_str ,yyscan_t yyscanner );
-FILE *yyget_out ( yyscan_t yyscanner );
+FILE *yyget_out (yyscan_t yyscanner );
-void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
+void yyset_out (FILE * out_str ,yyscan_t yyscanner );
- int yyget_leng ( yyscan_t yyscanner );
+yy_size_t yyget_leng (yyscan_t yyscanner );
-char *yyget_text ( yyscan_t yyscanner );
+char *yyget_text (yyscan_t yyscanner );
-int yyget_lineno ( yyscan_t yyscanner );
+int yyget_lineno (yyscan_t yyscanner );
-void yyset_lineno ( int _line_number , yyscan_t yyscanner );
+void yyset_lineno (int line_number ,yyscan_t yyscanner );
-int yyget_column ( yyscan_t yyscanner );
+int yyget_column (yyscan_t yyscanner );
-void yyset_column ( int _column_no , yyscan_t yyscanner );
+void yyset_column (int column_no ,yyscan_t yyscanner );
-YYSTYPE * yyget_lval ( yyscan_t yyscanner );
+YYSTYPE * yyget_lval (yyscan_t yyscanner );
-void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
+void yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
- YYLTYPE *yyget_lloc ( yyscan_t yyscanner );
+ YYLTYPE *yyget_lloc (yyscan_t yyscanner );
- void yyset_lloc ( YYLTYPE * yylloc_param , yyscan_t yyscanner );
+ void yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -1839,41 +1858,33 @@
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap ( yyscan_t yyscanner );
+extern "C" int yywrap (yyscan_t yyscanner );
#else
-extern int yywrap ( yyscan_t yyscanner );
+extern int yywrap (yyscan_t yyscanner );
#endif
#endif
-#ifndef YY_NO_UNPUT
-
-#endif
-
#ifndef yytext_ptr
-static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
+static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
+static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
+
#ifdef __cplusplus
-static int yyinput ( yyscan_t yyscanner );
+static int yyinput (yyscan_t yyscanner );
#else
-static int input ( yyscan_t yyscanner );
+static int input (yyscan_t yyscanner );
#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. */
@@ -1881,7 +1892,7 @@
/* 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( yytext, yyleng, 1, yyout )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -1892,7 +1903,7 @@
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- int n; \
+ size_t n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -1905,7 +1916,7 @@
else \
{ \
errno=0; \
- while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
+ while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -1947,7 +1958,7 @@
#define YY_DECL_IS_OURS 1
extern int yylex \
- (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
+ (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
#define YY_DECL int yylex \
(YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
@@ -1962,7 +1973,7 @@
/* 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 \
@@ -1972,11 +1983,19 @@
*/
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;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ int tab_count = 0;
+ int size_str = 0;
+ int column = 0;
+ char *str = NULL;
+ int _state = YY_START;
+ int i;
+ uint32_t value;
+
yylval = yylval_param;
yylloc = yylloc_param;
@@ -2007,17 +2026,7 @@
yy_load_buffer_state(yyscanner );
}
- {
-
- int tab_count = 0;
- int size_str = 0;
- int column = 0;
- char *str = NULL;
- int _state = YY_START;
- int i;
- uint32_t value;
-
- while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
+ while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = yyg->yy_c_buf_p;
@@ -2033,7 +2042,7 @@
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] )
{
yyg->yy_last_accepting_state = yy_current_state;
@@ -2043,9 +2052,9 @@
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 672 )
- 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] + (flex_int16_t) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 4800 );
@@ -2826,7 +2835,6 @@
"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 */
/* yy_get_next_buffer - try to read in a new buffer
@@ -2839,9 +2847,9 @@
static int yy_get_next_buffer (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- char *source = yyg->yytext_ptr;
- int number_to_move, i;
+ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ register char *source = yyg->yytext_ptr;
+ register int number_to_move, i;
int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -2870,7 +2878,7 @@
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
+ number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -2897,7 +2905,7 @@
if ( b->yy_is_our_buffer )
{
- int new_size = b->yy_buf_size * 2;
+ yy_size_t new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
@@ -2906,11 +2914,11 @@
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) ,yyscanner );
+ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
}
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(
@@ -2918,7 +2926,7 @@
yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
- num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+ num_to_read = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1;
}
@@ -2952,10 +2960,10 @@
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((int) (yyg->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 = yyg->yy_n_chars + number_to_move + (yyg->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 ,yyscanner );
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
}
@@ -2973,15 +2981,15 @@
static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
{
- yy_state_type yy_current_state;
- char *yy_cp;
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yy_current_state = yyg->yy_start;
for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->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] )
{
yyg->yy_last_accepting_state = yy_current_state;
@@ -2991,9 +2999,9 @@
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 672 )
- 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] + (flex_int16_t) yy_c];
}
return yy_current_state;
@@ -3006,11 +3014,11 @@
*/
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
{
- int yy_is_jam;
+ register int yy_is_jam;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
- char *yy_cp = yyg->yy_c_buf_p;
+ register char *yy_cp = yyg->yy_c_buf_p;
- YY_CHAR yy_c = 1;
+ register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yyg->yy_last_accepting_state = yy_current_state;
@@ -3020,19 +3028,15 @@
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 672 )
- 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] + (flex_int16_t) yy_c];
yy_is_jam = (yy_current_state == 671);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
}
-#ifndef YY_NO_UNPUT
-
-#endif
-
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (yyscan_t yyscanner)
@@ -3058,7 +3062,7 @@
else
{ /* need more input */
- int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
+ yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) )
@@ -3082,7 +3086,7 @@
case EOB_ACT_END_OF_FILE:
{
if ( yywrap(yyscanner ) )
- return 0;
+ return EOF;
if ( ! yyg->yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
@@ -3191,7 +3195,7 @@
/* 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) ,yyscanner );
+ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ,yyscanner );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
@@ -3347,7 +3351,7 @@
* 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... */
+ num_to_alloc = 1;
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
@@ -3364,7 +3368,7 @@
if (yyg->yy_buffer_stack_top >= (yyg->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 = yyg->yy_buffer_stack_max + grow_size;
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
@@ -3394,16 +3398,16 @@
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 ) ,yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_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;
@@ -3423,7 +3427,7 @@
* @note If you want to scan bytes that may contain NUL values, then use
* yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
{
return yy_scan_bytes(yystr,(int) strlen(yystr) ,yyscanner);
@@ -3436,7 +3440,7 @@
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len , yyscan_t yyscanner)
+YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
char *buf;
@@ -3444,7 +3448,7 @@
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = (yy_size_t) (_yybytes_len + 2);
+ n = (yy_size_t) _yybytes_len + 2;
buf = (char *) yyalloc(n ,yyscanner );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
@@ -3470,11 +3474,9 @@
#define YY_EXIT_FAILURE 2
#endif
-static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
+static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
{
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- (void)yyg;
- (void) fprintf( stderr, "%s\n", msg );
+ (void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
@@ -3553,7 +3555,7 @@
/** Get the length of the current token.
* @param yyscanner The scanner object.
*/
-int yyget_leng (yyscan_t yyscanner)
+yy_size_t yyget_leng (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyleng;
@@ -3580,10 +3582,10 @@
}
/** Set the current line number.
- * @param _line_number line number
+ * @param line_number
* @param yyscanner The scanner object.
*/
-void yyset_lineno (int _line_number , yyscan_t yyscanner)
+void yyset_lineno (int line_number , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -3591,14 +3593,14 @@
if (! YY_CURRENT_BUFFER )
YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
- yylineno = _line_number;
+ yylineno = line_number;
}
/** Set the current column.
- * @param _column_no column number
+ * @param line_number
* @param yyscanner The scanner object.
*/
-void yyset_column (int _column_no , yyscan_t yyscanner)
+void yyset_column (int column_no , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -3606,25 +3608,25 @@
if (! YY_CURRENT_BUFFER )
YY_FATAL_ERROR( "yyset_column called with no buffer" );
- yycolumn = _column_no;
+ yycolumn = column_no;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param _in_str A readable stream.
+ * @param in_str A readable stream.
* @param yyscanner The scanner object.
* @see yy_switch_to_buffer
*/
-void yyset_in (FILE * _in_str , yyscan_t yyscanner)
+void yyset_in (FILE * in_str , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- yyin = _in_str ;
+ yyin = in_str ;
}
-void yyset_out (FILE * _out_str , yyscan_t yyscanner)
+void yyset_out (FILE * out_str , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- yyout = _out_str ;
+ yyout = out_str ;
}
int yyget_debug (yyscan_t yyscanner)
@@ -3633,10 +3635,10 @@
return yy_flex_debug;
}
-void yyset_debug (int _bdebug , yyscan_t yyscanner)
+void yyset_debug (int bdebug , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- yy_flex_debug = _bdebug ;
+ yy_flex_debug = bdebug ;
}
/* Accessor methods for yylval and yylloc */
@@ -3671,7 +3673,9 @@
* the ONLY reentrant function that doesn't take the scanner as the last argument.
* That's why we explicitly handle the declaration, instead of using our macros.
*/
+
int yylex_init(yyscan_t* ptr_yy_globals)
+
{
if (ptr_yy_globals == NULL){
errno = EINVAL;
@@ -3698,7 +3702,9 @@
* The user defined value in the first argument will be available to yyalloc in
* the yyextra field.
*/
+
int yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
+
{
struct yyguts_t dummy_yyguts;
@@ -3732,10 +3738,10 @@
* This function is called from yylex_destroy(), so don't allocate here.
*/
- yyg->yy_buffer_stack = NULL;
+ yyg->yy_buffer_stack = 0;
yyg->yy_buffer_stack_top = 0;
yyg->yy_buffer_stack_max = 0;
- yyg->yy_c_buf_p = NULL;
+ yyg->yy_c_buf_p = (char *) 0;
yyg->yy_init = 0;
yyg->yy_start = 0;
@@ -3748,8 +3754,8 @@
yyin = stdin;
yyout = stdout;
#else
- yyin = NULL;
- yyout = NULL;
+ yyin = (FILE *) 0;
+ yyout = (FILE *) 0;
#endif
/* For future reference: Set errno on error, since we are called by
@@ -3793,21 +3799,18 @@
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
{
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- (void)yyg;
-
- 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 , yyscan_t yyscanner)
+static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
{
- int n;
+ register int n;
for ( n = 0; s[n]; ++n )
;
@@ -3817,16 +3820,11 @@
void *yyalloc (yy_size_t size , yyscan_t yyscanner)
{
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- (void)yyg;
- return malloc(size);
+ return (void *) malloc( size );
}
void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
{
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- (void)yyg;
-
/* 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
@@ -3834,13 +3832,11 @@
* 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 , yyscan_t yyscanner)
{
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- (void)yyg;
free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
diff --git a/src/parser_yang_lex.h b/src/parser_yang_lex.h
index c4b47bf..a9257d6 100644
--- a/src/parser_yang_lex.h
+++ b/src/parser_yang_lex.h
@@ -2,14 +2,16 @@
#define yyHEADER_H 1
#define yyIN_HEADER 1
+#line 6 "parser_yang_lex.h"
+
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 37
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -88,13 +90,25 @@
#endif /* ! FLEXINT_H */
-/* TODO: this is always defined, so inline it */
-#define yyconst const
+#ifdef __cplusplus
-#if defined(__GNUC__) && __GNUC__ >= 3
-#define yynoreturn __attribute__((__noreturn__))
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif /* defined (__STDC__) */
+#endif /* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
#else
-#define yynoreturn
+#define yyconst
#endif
/* An opaque pointer. */
@@ -116,15 +130,7 @@
/* 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
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
@@ -188,25 +194,25 @@
};
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-void yyrestart ( FILE *input_file , yyscan_t yyscanner );
-void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
-void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
-void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
-void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
-void yypop_buffer_state ( yyscan_t yyscanner );
+void yyrestart (FILE *input_file ,yyscan_t yyscanner );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
+void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
+void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
+void yypop_buffer_state (yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
-void *yyalloc ( yy_size_t , yyscan_t yyscanner );
-void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
-void yyfree ( void * , yyscan_t yyscanner );
+void *yyalloc (yy_size_t ,yyscan_t yyscanner );
+void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
+void yyfree (void * ,yyscan_t yyscanner );
/* Begin user sect3 */
-#define yywrap(yyscanner) (/*CONSTCOND*/1)
+#define yywrap(yyscanner) 1
#define YY_SKIP_YYWRAP
#define yytext_ptr yytext_r
@@ -235,48 +241,48 @@
int yylex_init (yyscan_t* scanner);
-int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
+int yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int yylex_destroy ( yyscan_t yyscanner );
+int yylex_destroy (yyscan_t yyscanner );
-int yyget_debug ( yyscan_t yyscanner );
+int yyget_debug (yyscan_t yyscanner );
-void yyset_debug ( int debug_flag , yyscan_t yyscanner );
+void yyset_debug (int debug_flag ,yyscan_t yyscanner );
-YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
+YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner );
-void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
+void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
-FILE *yyget_in ( yyscan_t yyscanner );
+FILE *yyget_in (yyscan_t yyscanner );
-void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
+void yyset_in (FILE * in_str ,yyscan_t yyscanner );
-FILE *yyget_out ( yyscan_t yyscanner );
+FILE *yyget_out (yyscan_t yyscanner );
-void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
+void yyset_out (FILE * out_str ,yyscan_t yyscanner );
- int yyget_leng ( yyscan_t yyscanner );
+yy_size_t yyget_leng (yyscan_t yyscanner );
-char *yyget_text ( yyscan_t yyscanner );
+char *yyget_text (yyscan_t yyscanner );
-int yyget_lineno ( yyscan_t yyscanner );
+int yyget_lineno (yyscan_t yyscanner );
-void yyset_lineno ( int _line_number , yyscan_t yyscanner );
+void yyset_lineno (int line_number ,yyscan_t yyscanner );
-int yyget_column ( yyscan_t yyscanner );
+int yyget_column (yyscan_t yyscanner );
-void yyset_column ( int _column_no , yyscan_t yyscanner );
+void yyset_column (int column_no ,yyscan_t yyscanner );
-YYSTYPE * yyget_lval ( yyscan_t yyscanner );
+YYSTYPE * yyget_lval (yyscan_t yyscanner );
-void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
+void yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
- YYLTYPE *yyget_lloc ( yyscan_t yyscanner );
+ YYLTYPE *yyget_lloc (yyscan_t yyscanner );
- void yyset_lloc ( YYLTYPE * yylloc_param , yyscan_t yyscanner );
+ void yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -284,18 +290,18 @@
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap ( yyscan_t yyscanner );
+extern "C" int yywrap (yyscan_t yyscanner );
#else
-extern int yywrap ( yyscan_t yyscanner );
+extern int yywrap (yyscan_t yyscanner );
#endif
#endif
#ifndef yytext_ptr
-static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
+static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
+static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
@@ -304,12 +310,7 @@
/* 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
/* Number of entries by which start-condition stack grows. */
@@ -324,7 +325,7 @@
#define YY_DECL_IS_OURS 1
extern int yylex \
- (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
+ (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
#define YY_DECL int yylex \
(YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
@@ -344,6 +345,6 @@
#undef YY_DECL
#endif
-#line 347 "parser_yang_lex.h"
+#line 349 "parser_yang_lex.h"
#undef yyIN_HEADER
#endif /* yyHEADER_H */
diff --git a/src/parser_yin.c b/src/parser_yin.c
index 9a8a6de..a326d62 100644
--- a/src/parser_yin.c
+++ b/src/parser_yin.c
@@ -1322,26 +1322,34 @@
in_grp = 1;
}
type->info.str.patterns = calloc(i, sizeof *type->info.str.patterns);
+ LY_CHECK_ERR_GOTO(!type->info.str.patterns, LOGMEM, error);
+#ifdef LY_ENABLED_CACHE
if (!in_grp) {
/* do not compile patterns in groupings */
type->info.str.patterns_pcre = malloc(2 * i * sizeof *type->info.str.patterns_pcre);
+ LY_CHECK_ERR_GOTO(!type->info.str.patterns_pcre, LOGMEM, error);
}
- LY_CHECK_ERR_GOTO(!type->info.str.patterns || (!in_grp && !type->info.str.patterns_pcre), LOGMEM, error);
+#endif
LY_TREE_FOR(yin->child, node) {
GETVAL(value, node, "value");
- if (in_grp) {
- /* in grouping, just check the pattern syntax */
- if (lyp_check_pattern(value, NULL)) {
- goto error;
+ if (!(module->ctx->models.flags & LY_CTX_TRUSTED)) {
+ if (in_grp) {
+ /* in grouping, just check the pattern syntax */
+ if (lyp_check_pattern(value, NULL)) {
+ goto error;
+ }
}
- } else {
- /* outside grouping, check syntax and precompile pattern for later use by libpcre */
- if (lyp_precompile_pattern(value,
- (pcre**)&type->info.str.patterns_pcre[type->info.str.pat_count * 2],
- (pcre_extra**)&type->info.str.patterns_pcre[type->info.str.pat_count * 2 + 1])) {
- goto error;
+#ifdef LY_ENABLED_CACHE
+ else {
+ /* outside grouping, check syntax and precompile pattern for later use by libpcre */
+ if (lyp_precompile_pattern(value,
+ (pcre**)&type->info.str.patterns_pcre[type->info.str.pat_count * 2],
+ (pcre_extra**)&type->info.str.patterns_pcre[type->info.str.pat_count * 2 + 1])) {
+ goto error;
+ }
}
+#endif
}
restr = &type->info.str.patterns[type->info.str.pat_count]; /* shortcut */
type->info.str.pat_count++;
diff --git a/src/tree_data.h b/src/tree_data.h
index 9519108..fdf208a 100644
--- a/src/tree_data.h
+++ b/src/tree_data.h
@@ -18,6 +18,7 @@
#include <stddef.h>
#include <stdint.h>
+#include "libyang.h"
#include "tree_schema.h"
#include "xml.h"
diff --git a/src/tree_internal.h b/src/tree_internal.h
index adee5b6..d195ee3 100644
--- a/src/tree_internal.h
+++ b/src/tree_internal.h
@@ -16,6 +16,7 @@
#ifndef LY_TREE_INTERNAL_H_
#define LY_TREE_INTERNAL_H_
+#include "libyang.h"
#include "tree_schema.h"
#include "tree_data.h"
#include "resolve.h"
diff --git a/src/tree_schema.c b/src/tree_schema.c
index a81bf3e..ed445e2 100644
--- a/src/tree_schema.c
+++ b/src/tree_schema.c
@@ -1460,6 +1460,7 @@
if (old->info.str.pat_count) {
new->info.str.patterns = lys_restr_dup(mod, old->info.str.patterns, old->info.str.pat_count, shallow, unres);
new->info.str.pat_count = old->info.str.pat_count;
+#ifdef LY_ENABLED_CACHE
if (!in_grp) {
new->info.str.patterns_pcre = malloc(new->info.str.pat_count * 2 * sizeof *new->info.str.patterns_pcre);
LY_CHECK_ERR_RETURN(!new->info.str.patterns_pcre, LOGMEM, -1);
@@ -1473,6 +1474,7 @@
}
}
}
+#endif
}
break;
@@ -2003,13 +2005,17 @@
free(type->info.str.length);
for (i = 0; i < type->info.str.pat_count; i++) {
lys_restr_free(ctx, &type->info.str.patterns[i], private_destructor);
+#ifdef LY_ENABLED_CACHE
if (type->info.str.patterns_pcre) {
pcre_free((pcre*)type->info.str.patterns_pcre[2 * i]);
pcre_free_study((pcre_extra*)type->info.str.patterns_pcre[2 * i + 1]);
}
+#endif
}
free(type->info.str.patterns);
+#ifdef LY_ENABLED_CACHE
free(type->info.str.patterns_pcre);
+#endif
break;
case LY_TYPE_UNION:
diff --git a/src/tree_schema.h b/src/tree_schema.h
index f5a83be..b483863 100644
--- a/src/tree_schema.h
+++ b/src/tree_schema.h
@@ -867,9 +867,11 @@
- 0x06 (ACK) for match
- 0x15 (NACK) for invert-match
So the expression itself always starts at expr[1] */
+#ifdef LY_ENABLED_CACHE
void **patterns_pcre; /**< array of compiled patterns to optimize its evaluation, represented as
array of pointers to results of pcre_compile() and pcre_study().
For internal use only. */
+#endif
int pat_count; /**< number of pattern definitions in the patterns array */
};
diff --git a/src/xpath.h b/src/xpath.h
index f7f1adb..4cf863a 100644
--- a/src/xpath.h
+++ b/src/xpath.h
@@ -17,6 +17,7 @@
#include <stdint.h>
+#include "libyang.h"
#include "tree_schema.h"
#include "tree_data.h"
diff --git a/src/yang.y.in b/src/yang.y.in
index 657d1a0..a06ca88 100644
--- a/src/yang.y.in
+++ b/src/yang.y.in
@@ -25,9 +25,10 @@
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
+#include "libyang.h"
+#include "common.h"
#include "context.h"
#include "resolve.h"
-#include "common.h"
#include "parser_yang.h"
#include "parser_yang_lex.h"
#include "parser.h"
@@ -1322,8 +1323,9 @@
YYABORT;
}
((struct yang_type *)actual)->type->info.str.patterns = tmp;
-
- if (((struct yang_type *)actual)->type->info.str.patterns_pcre) {
+
+#ifdef LY_ENABLED_CACHE
+ if (!(trg->ctx->models.flags & LY_CTX_TRUSTED) && ((struct yang_type *)actual)->type->info.str.patterns_pcre) {
tmp = realloc(((struct yang_type *)actual)->type->info.str.patterns_pcre,
2 * ((struct yang_type *)actual)->type->info.str.pat_count * sizeof *((struct yang_type *)actual)->type->info.str.patterns_pcre);
if (!tmp) {
@@ -1332,6 +1334,7 @@
}
((struct yang_type *)actual)->type->info.str.patterns_pcre = tmp;
}
+#endif
}
if (((struct yang_type *)actual)->base == LY_TYPE_UNION) {
struct lys_type *tmp;
@@ -1500,11 +1503,13 @@
pattern_stmt: PATTERN_KEYWORD pattern_sep pattern_arg_str pattern_end {struct lys_restr *pattern = actual;
actual = NULL;
+#ifdef LY_ENABLED_CACHE
if ($2.token != EXTENSION_INSTANCE &&
!(data_node && data_node->nodetype != LYS_GROUPING && lys_ingrouping(data_node))) {
int c = 2 * (((struct yang_type *)$2.actual)->type->info.str.pat_count - 1);
YANG_ADDELEM(((struct yang_type *)$2.actual)->type->info.str.patterns_pcre, c);
}
+#endif
if (yang_read_pattern(trg, pattern, actual, $3, $4)) {
YYABORT;
}
@@ -4370,7 +4375,7 @@
LOGMEM;
YYABORT;
}
-
+
$$ = actual = *tpdf;
is_ext_instance = 0;
}
diff --git a/tests/schema/test_typedef.c b/tests/schema/test_typedef.c
index b5fd12d..c3643c5 100644
--- a/tests/schema/test_typedef.c
+++ b/tests/schema/test_typedef.c
@@ -1154,7 +1154,9 @@
assert_ptr_not_equal(mod->tpdf, NULL);
assert_int_equal(mod->tpdf[0].type.base, LY_TYPE_STRING);
assert_int_equal(mod->tpdf[0].type.info.str.pat_count, 1);
+#ifdef LY_ENABLED_CACHE
assert_ptr_not_equal(mod->tpdf[0].type.info.str.patterns_pcre, NULL);
+#endif
/* 2. grouping's typedef has PCRE data */
LY_TREE_FOR(mod->data, iter) {
@@ -1168,7 +1170,9 @@
assert_ptr_not_equal(grp->tpdf, NULL);
assert_int_equal(grp->tpdf[0].type.base, LY_TYPE_STRING);
assert_int_equal(grp->tpdf[0].type.info.str.pat_count, 1);
+#ifdef LY_ENABLED_CACHE
assert_ptr_not_equal(grp->tpdf[0].type.info.str.patterns_pcre, NULL);
+#endif
/* 3. grouping's leaf does not have PCRE data */
LY_TREE_FOR(mod->data, iter) {
@@ -1180,7 +1184,9 @@
assert_ptr_not_equal(leaf, NULL);
assert_int_equal(leaf->type.base, LY_TYPE_STRING);
assert_int_equal(leaf->type.info.str.pat_count, 1);
+#ifdef LY_ENABLED_CACHE
assert_ptr_equal(leaf->type.info.str.patterns_pcre, NULL);
+#endif
leaf = NULL;
/* 4. but it's instantiated copy does have PCRE data */
@@ -1193,7 +1199,9 @@
assert_ptr_not_equal(leaf, NULL);
assert_int_equal(leaf->type.base, LY_TYPE_STRING);
assert_int_equal(leaf->type.info.str.pat_count, 1);
+#ifdef LY_ENABLED_CACHE
assert_ptr_not_equal(leaf->type.info.str.patterns_pcre, NULL);
+#endif
/* check data */
data = lyd_parse_mem(st->ctx, valid, LYD_XML, LYD_OPT_CONFIG);