mirror of https://github.com/ecmwf/eccodes.git
4045 lines
188 KiB
C++
4045 lines
188 KiB
C++
/* A Bison parser, made by GNU Bison 3.8.2. */
|
|
|
|
/* Bison implementation for Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 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 <https://www.gnu.org/licenses/>. */
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
under terms of your choice, so long as that work isn't itself a
|
|
parser generator using the skeleton or a modified version thereof
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
special exception, which will cause the skeleton and the resulting
|
|
Bison output files to be licensed under the GNU General Public
|
|
License without this special exception.
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
version 2.2 of Bison. */
|
|
|
|
/* C LALR(1) parser skeleton written by Richard Stallman, by
|
|
simplifying the original so-called "semantic" parser. */
|
|
|
|
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
|
especially those whose name start with YY_ or grib_yy_. They are
|
|
private implementation details that can be changed or removed. */
|
|
|
|
/* All symbols defined below should begin with grib_yy or YY, to avoid
|
|
infringing on user name space. This should be done even for local
|
|
variables, as they might otherwise be expanded by user macros.
|
|
There are some unavoidable exceptions within include files to
|
|
define necessary library symbols; they are noted "INFRINGES ON
|
|
USER NAME SPACE" below. */
|
|
|
|
/* Identify Bison output, and Bison version. */
|
|
#define YYBISON 30802
|
|
|
|
/* Bison version string. */
|
|
#define YYBISON_VERSION "3.8.2"
|
|
|
|
/* Skeleton name. */
|
|
#define YYSKELETON_NAME "yacc.c"
|
|
|
|
/* Pure parsers. */
|
|
#define YYPURE 0
|
|
|
|
/* Push parsers. */
|
|
#define YYPUSH 0
|
|
|
|
/* Pull parsers. */
|
|
#define YYPULL 1
|
|
|
|
|
|
|
|
|
|
/* First part of user prologue. */
|
|
#line 12 "griby.y"
|
|
|
|
|
|
#include "grib_api_internal.h"
|
|
/* #include "grib_parser.h" */
|
|
|
|
extern int grib_yylex(void);
|
|
extern int grib_yyerror(const char*);
|
|
extern int grib_yylineno;
|
|
extern char* file_being_parsed(void);
|
|
|
|
extern grib_action* grib_parser_all_actions;
|
|
extern grib_concept_value* grib_parser_concept;
|
|
extern grib_hash_array_value* grib_parser_hash_array;
|
|
extern grib_context* grib_parser_context;
|
|
extern grib_rule* grib_parser_rules;
|
|
|
|
static grib_concept_value* reverse_concept(grib_concept_value* r);
|
|
static grib_concept_value *_reverse_concept(grib_concept_value *r,grib_concept_value *s);
|
|
static grib_hash_array_value* reverse_hash_array(grib_hash_array_value* r);
|
|
static grib_hash_array_value *_reverse_hash_array(grib_hash_array_value *r,grib_hash_array_value *s);
|
|
|
|
/* typedef int (*testp_proc)(long,long); */
|
|
/* typedef long (*grib_op_proc)(long,long); */
|
|
|
|
|
|
|
|
#line 98 "y.tab.c"
|
|
|
|
# ifndef YY_CAST
|
|
# ifdef __cplusplus
|
|
# define YY_CAST(Type, Val) static_cast<Type> (Val)
|
|
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
|
|
# else
|
|
# define YY_CAST(Type, Val) ((Type) (Val))
|
|
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
|
|
# endif
|
|
# endif
|
|
# ifndef YY_NULLPTR
|
|
# if defined __cplusplus
|
|
# if 201103L <= __cplusplus
|
|
# define YY_NULLPTR nullptr
|
|
# else
|
|
# define YY_NULLPTR 0
|
|
# endif
|
|
# else
|
|
# define YY_NULLPTR ((void*)0)
|
|
# endif
|
|
# endif
|
|
|
|
/* Use api.header.include to #include this header
|
|
instead of duplicating it here. */
|
|
#ifndef YY_YY_Y_TAB_H_INCLUDED
|
|
# define YY_YY_Y_TAB_H_INCLUDED
|
|
/* Debug traces. */
|
|
#ifndef YYDEBUG
|
|
# define YYDEBUG 0
|
|
#endif
|
|
#if YYDEBUG
|
|
extern int grib_yydebug;
|
|
#endif
|
|
|
|
/* Token kinds. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
enum grib_yytokentype
|
|
{
|
|
YYEMPTY = -2,
|
|
YYEOF = 0, /* "end of file" */
|
|
YYerror = 256, /* error */
|
|
YYUNDEF = 257, /* "invalid token" */
|
|
LOWERCASE = 258, /* LOWERCASE */
|
|
IF = 259, /* IF */
|
|
IF_TRANSIENT = 260, /* IF_TRANSIENT */
|
|
ELSE = 261, /* ELSE */
|
|
END = 262, /* END */
|
|
CLOSE = 263, /* CLOSE */
|
|
UNSIGNED = 264, /* UNSIGNED */
|
|
TEMPLATE = 265, /* TEMPLATE */
|
|
TEMPLATE_NOFAIL = 266, /* TEMPLATE_NOFAIL */
|
|
TRIGGER = 267, /* TRIGGER */
|
|
ASCII = 268, /* ASCII */
|
|
GROUP = 269, /* GROUP */
|
|
NON_ALPHA = 270, /* NON_ALPHA */
|
|
KSEC1EXPVER = 271, /* KSEC1EXPVER */
|
|
LABEL = 272, /* LABEL */
|
|
LIST = 273, /* LIST */
|
|
IS_IN_LIST = 274, /* IS_IN_LIST */
|
|
IS_IN_DICT = 275, /* IS_IN_DICT */
|
|
IS_INTEGER = 276, /* IS_INTEGER */
|
|
TO_INTEGER = 277, /* TO_INTEGER */
|
|
TO_STRING = 278, /* TO_STRING */
|
|
SEX2DEC = 279, /* SEX2DEC */
|
|
WHILE = 280, /* WHILE */
|
|
IBMFLOAT = 281, /* IBMFLOAT */
|
|
SIGNED = 282, /* SIGNED */
|
|
UINT8 = 283, /* UINT8 */
|
|
INT8 = 284, /* INT8 */
|
|
UINT16 = 285, /* UINT16 */
|
|
INT16 = 286, /* INT16 */
|
|
UINT16_LITTLE_ENDIAN = 287, /* UINT16_LITTLE_ENDIAN */
|
|
INT16_LITTLE_ENDIAN = 288, /* INT16_LITTLE_ENDIAN */
|
|
UINT32 = 289, /* UINT32 */
|
|
INT32 = 290, /* INT32 */
|
|
UINT32_LITTLE_ENDIAN = 291, /* UINT32_LITTLE_ENDIAN */
|
|
INT32_LITTLE_ENDIAN = 292, /* INT32_LITTLE_ENDIAN */
|
|
UINT64 = 293, /* UINT64 */
|
|
INT64 = 294, /* INT64 */
|
|
UINT64_LITTLE_ENDIAN = 295, /* UINT64_LITTLE_ENDIAN */
|
|
INT64_LITTLE_ENDIAN = 296, /* INT64_LITTLE_ENDIAN */
|
|
BLOB = 297, /* BLOB */
|
|
BYTE = 298, /* BYTE */
|
|
CODETABLE = 299, /* CODETABLE */
|
|
SMART_TABLE = 300, /* SMART_TABLE */
|
|
DICTIONARY = 301, /* DICTIONARY */
|
|
COMPLEX_CODETABLE = 302, /* COMPLEX_CODETABLE */
|
|
LOOKUP = 303, /* LOOKUP */
|
|
ALIAS = 304, /* ALIAS */
|
|
UNALIAS = 305, /* UNALIAS */
|
|
META = 306, /* META */
|
|
POS = 307, /* POS */
|
|
INTCONST = 308, /* INTCONST */
|
|
TRANS = 309, /* TRANS */
|
|
FLAGBIT = 310, /* FLAGBIT */
|
|
CONCEPT = 311, /* CONCEPT */
|
|
GETENV = 312, /* GETENV */
|
|
HASH_ARRAY = 313, /* HASH_ARRAY */
|
|
CONCEPT_NOFAIL = 314, /* CONCEPT_NOFAIL */
|
|
NIL = 315, /* NIL */
|
|
DUMMY = 316, /* DUMMY */
|
|
MODIFY = 317, /* MODIFY */
|
|
READ_ONLY = 318, /* READ_ONLY */
|
|
STRING_TYPE = 319, /* STRING_TYPE */
|
|
LONG_TYPE = 320, /* LONG_TYPE */
|
|
DOUBLE_TYPE = 321, /* DOUBLE_TYPE */
|
|
NO_COPY = 322, /* NO_COPY */
|
|
DUMP = 323, /* DUMP */
|
|
JSON = 324, /* JSON */
|
|
XML = 325, /* XML */
|
|
NO_FAIL = 326, /* NO_FAIL */
|
|
EDITION_SPECIFIC = 327, /* EDITION_SPECIFIC */
|
|
OVERRIDE = 328, /* OVERRIDE */
|
|
HIDDEN = 329, /* HIDDEN */
|
|
CAN_BE_MISSING = 330, /* CAN_BE_MISSING */
|
|
MISSING = 331, /* MISSING */
|
|
CONSTRAINT = 332, /* CONSTRAINT */
|
|
COPY_OK = 333, /* COPY_OK */
|
|
WHEN = 334, /* WHEN */
|
|
SET = 335, /* SET */
|
|
SET_NOFAIL = 336, /* SET_NOFAIL */
|
|
WRITE = 337, /* WRITE */
|
|
APPEND = 338, /* APPEND */
|
|
PRINT = 339, /* PRINT */
|
|
EXPORT = 340, /* EXPORT */
|
|
REMOVE = 341, /* REMOVE */
|
|
RENAME = 342, /* RENAME */
|
|
SKIP = 343, /* SKIP */
|
|
PAD = 344, /* PAD */
|
|
SECTION_PADDING = 345, /* SECTION_PADDING */
|
|
MESSAGE = 346, /* MESSAGE */
|
|
MESSAGE_COPY = 347, /* MESSAGE_COPY */
|
|
PADTO = 348, /* PADTO */
|
|
PADTOEVEN = 349, /* PADTOEVEN */
|
|
PADTOMULTIPLE = 350, /* PADTOMULTIPLE */
|
|
G1_HALF_BYTE = 351, /* G1_HALF_BYTE */
|
|
G1_MESSAGE_LENGTH = 352, /* G1_MESSAGE_LENGTH */
|
|
G1_SECTION4_LENGTH = 353, /* G1_SECTION4_LENGTH */
|
|
SECTION_LENGTH = 354, /* SECTION_LENGTH */
|
|
LENGTH = 355, /* LENGTH */
|
|
FLAG = 356, /* FLAG */
|
|
ITERATOR = 357, /* ITERATOR */
|
|
NEAREST = 358, /* NEAREST */
|
|
BOX = 359, /* BOX */
|
|
KSEC = 360, /* KSEC */
|
|
ASSERT = 361, /* ASSERT */
|
|
SUBSTR = 362, /* SUBSTR */
|
|
CASE = 363, /* CASE */
|
|
SWITCH = 364, /* SWITCH */
|
|
DEFAULT = 365, /* DEFAULT */
|
|
EQ = 366, /* EQ */
|
|
NE = 367, /* NE */
|
|
GE = 368, /* GE */
|
|
LE = 369, /* LE */
|
|
LT = 370, /* LT */
|
|
GT = 371, /* GT */
|
|
BIT = 372, /* BIT */
|
|
BITOFF = 373, /* BITOFF */
|
|
AND = 374, /* AND */
|
|
OR = 375, /* OR */
|
|
NOT = 376, /* NOT */
|
|
IS = 377, /* IS */
|
|
ISNOT = 378, /* ISNOT */
|
|
IDENT = 379, /* IDENT */
|
|
STRING = 380, /* STRING */
|
|
INTEGER = 381, /* INTEGER */
|
|
FLOAT = 382 /* FLOAT */
|
|
};
|
|
typedef enum grib_yytokentype grib_yytoken_kind_t;
|
|
#endif
|
|
/* Token kinds. */
|
|
#define YYEMPTY -2
|
|
#define YYEOF 0
|
|
#define YYerror 256
|
|
#define YYUNDEF 257
|
|
#define LOWERCASE 258
|
|
#define IF 259
|
|
#define IF_TRANSIENT 260
|
|
#define ELSE 261
|
|
#define END 262
|
|
#define CLOSE 263
|
|
#define UNSIGNED 264
|
|
#define TEMPLATE 265
|
|
#define TEMPLATE_NOFAIL 266
|
|
#define TRIGGER 267
|
|
#define ASCII 268
|
|
#define GROUP 269
|
|
#define NON_ALPHA 270
|
|
#define KSEC1EXPVER 271
|
|
#define LABEL 272
|
|
#define LIST 273
|
|
#define IS_IN_LIST 274
|
|
#define IS_IN_DICT 275
|
|
#define IS_INTEGER 276
|
|
#define TO_INTEGER 277
|
|
#define TO_STRING 278
|
|
#define SEX2DEC 279
|
|
#define WHILE 280
|
|
#define IBMFLOAT 281
|
|
#define SIGNED 282
|
|
#define UINT8 283
|
|
#define INT8 284
|
|
#define UINT16 285
|
|
#define INT16 286
|
|
#define UINT16_LITTLE_ENDIAN 287
|
|
#define INT16_LITTLE_ENDIAN 288
|
|
#define UINT32 289
|
|
#define INT32 290
|
|
#define UINT32_LITTLE_ENDIAN 291
|
|
#define INT32_LITTLE_ENDIAN 292
|
|
#define UINT64 293
|
|
#define INT64 294
|
|
#define UINT64_LITTLE_ENDIAN 295
|
|
#define INT64_LITTLE_ENDIAN 296
|
|
#define BLOB 297
|
|
#define BYTE 298
|
|
#define CODETABLE 299
|
|
#define SMART_TABLE 300
|
|
#define DICTIONARY 301
|
|
#define COMPLEX_CODETABLE 302
|
|
#define LOOKUP 303
|
|
#define ALIAS 304
|
|
#define UNALIAS 305
|
|
#define META 306
|
|
#define POS 307
|
|
#define INTCONST 308
|
|
#define TRANS 309
|
|
#define FLAGBIT 310
|
|
#define CONCEPT 311
|
|
#define GETENV 312
|
|
#define HASH_ARRAY 313
|
|
#define CONCEPT_NOFAIL 314
|
|
#define NIL 315
|
|
#define DUMMY 316
|
|
#define MODIFY 317
|
|
#define READ_ONLY 318
|
|
#define STRING_TYPE 319
|
|
#define LONG_TYPE 320
|
|
#define DOUBLE_TYPE 321
|
|
#define NO_COPY 322
|
|
#define DUMP 323
|
|
#define JSON 324
|
|
#define XML 325
|
|
#define NO_FAIL 326
|
|
#define EDITION_SPECIFIC 327
|
|
#define OVERRIDE 328
|
|
#define HIDDEN 329
|
|
#define CAN_BE_MISSING 330
|
|
#define MISSING 331
|
|
#define CONSTRAINT 332
|
|
#define COPY_OK 333
|
|
#define WHEN 334
|
|
#define SET 335
|
|
#define SET_NOFAIL 336
|
|
#define WRITE 337
|
|
#define APPEND 338
|
|
#define PRINT 339
|
|
#define EXPORT 340
|
|
#define REMOVE 341
|
|
#define RENAME 342
|
|
#define SKIP 343
|
|
#define PAD 344
|
|
#define SECTION_PADDING 345
|
|
#define MESSAGE 346
|
|
#define MESSAGE_COPY 347
|
|
#define PADTO 348
|
|
#define PADTOEVEN 349
|
|
#define PADTOMULTIPLE 350
|
|
#define G1_HALF_BYTE 351
|
|
#define G1_MESSAGE_LENGTH 352
|
|
#define G1_SECTION4_LENGTH 353
|
|
#define SECTION_LENGTH 354
|
|
#define LENGTH 355
|
|
#define FLAG 356
|
|
#define ITERATOR 357
|
|
#define NEAREST 358
|
|
#define BOX 359
|
|
#define KSEC 360
|
|
#define ASSERT 361
|
|
#define SUBSTR 362
|
|
#define CASE 363
|
|
#define SWITCH 364
|
|
#define DEFAULT 365
|
|
#define EQ 366
|
|
#define NE 367
|
|
#define GE 368
|
|
#define LE 369
|
|
#define LT 370
|
|
#define GT 371
|
|
#define BIT 372
|
|
#define BITOFF 373
|
|
#define AND 374
|
|
#define OR 375
|
|
#define NOT 376
|
|
#define IS 377
|
|
#define ISNOT 378
|
|
#define IDENT 379
|
|
#define STRING 380
|
|
#define INTEGER 381
|
|
#define FLOAT 382
|
|
|
|
/* Value type. */
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
union YYSTYPE
|
|
{
|
|
#line 39 "griby.y"
|
|
|
|
char *str;
|
|
long lval;
|
|
double dval;
|
|
grib_darray *dvalue;
|
|
grib_sarray *svalue;
|
|
grib_iarray *ivalue;
|
|
grib_action *act;
|
|
grib_arguments *explist;
|
|
grib_expression *exp;
|
|
grib_concept_condition *concept_condition;
|
|
grib_concept_value *concept_value;
|
|
grib_hash_array_value *hash_array_value;
|
|
grib_case *case_value;
|
|
grib_rule *rules;
|
|
grib_rule_entry *rule_entry;
|
|
|
|
#line 423 "y.tab.c"
|
|
|
|
};
|
|
typedef union YYSTYPE YYSTYPE;
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
|
|
extern YYSTYPE grib_yylval;
|
|
|
|
|
|
int grib_yyparse (void);
|
|
|
|
|
|
#endif /* !YY_YY_Y_TAB_H_INCLUDED */
|
|
/* Symbol kind. */
|
|
enum grib_yysymbol_kind_t
|
|
{
|
|
YYSYMBOL_YYEMPTY = -2,
|
|
YYSYMBOL_YYEOF = 0, /* "end of file" */
|
|
YYSYMBOL_YYerror = 1, /* error */
|
|
YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
|
|
YYSYMBOL_LOWERCASE = 3, /* LOWERCASE */
|
|
YYSYMBOL_IF = 4, /* IF */
|
|
YYSYMBOL_IF_TRANSIENT = 5, /* IF_TRANSIENT */
|
|
YYSYMBOL_ELSE = 6, /* ELSE */
|
|
YYSYMBOL_END = 7, /* END */
|
|
YYSYMBOL_CLOSE = 8, /* CLOSE */
|
|
YYSYMBOL_UNSIGNED = 9, /* UNSIGNED */
|
|
YYSYMBOL_TEMPLATE = 10, /* TEMPLATE */
|
|
YYSYMBOL_TEMPLATE_NOFAIL = 11, /* TEMPLATE_NOFAIL */
|
|
YYSYMBOL_TRIGGER = 12, /* TRIGGER */
|
|
YYSYMBOL_ASCII = 13, /* ASCII */
|
|
YYSYMBOL_GROUP = 14, /* GROUP */
|
|
YYSYMBOL_NON_ALPHA = 15, /* NON_ALPHA */
|
|
YYSYMBOL_KSEC1EXPVER = 16, /* KSEC1EXPVER */
|
|
YYSYMBOL_LABEL = 17, /* LABEL */
|
|
YYSYMBOL_LIST = 18, /* LIST */
|
|
YYSYMBOL_IS_IN_LIST = 19, /* IS_IN_LIST */
|
|
YYSYMBOL_IS_IN_DICT = 20, /* IS_IN_DICT */
|
|
YYSYMBOL_IS_INTEGER = 21, /* IS_INTEGER */
|
|
YYSYMBOL_TO_INTEGER = 22, /* TO_INTEGER */
|
|
YYSYMBOL_TO_STRING = 23, /* TO_STRING */
|
|
YYSYMBOL_SEX2DEC = 24, /* SEX2DEC */
|
|
YYSYMBOL_WHILE = 25, /* WHILE */
|
|
YYSYMBOL_IBMFLOAT = 26, /* IBMFLOAT */
|
|
YYSYMBOL_SIGNED = 27, /* SIGNED */
|
|
YYSYMBOL_UINT8 = 28, /* UINT8 */
|
|
YYSYMBOL_INT8 = 29, /* INT8 */
|
|
YYSYMBOL_UINT16 = 30, /* UINT16 */
|
|
YYSYMBOL_INT16 = 31, /* INT16 */
|
|
YYSYMBOL_UINT16_LITTLE_ENDIAN = 32, /* UINT16_LITTLE_ENDIAN */
|
|
YYSYMBOL_INT16_LITTLE_ENDIAN = 33, /* INT16_LITTLE_ENDIAN */
|
|
YYSYMBOL_UINT32 = 34, /* UINT32 */
|
|
YYSYMBOL_INT32 = 35, /* INT32 */
|
|
YYSYMBOL_UINT32_LITTLE_ENDIAN = 36, /* UINT32_LITTLE_ENDIAN */
|
|
YYSYMBOL_INT32_LITTLE_ENDIAN = 37, /* INT32_LITTLE_ENDIAN */
|
|
YYSYMBOL_UINT64 = 38, /* UINT64 */
|
|
YYSYMBOL_INT64 = 39, /* INT64 */
|
|
YYSYMBOL_UINT64_LITTLE_ENDIAN = 40, /* UINT64_LITTLE_ENDIAN */
|
|
YYSYMBOL_INT64_LITTLE_ENDIAN = 41, /* INT64_LITTLE_ENDIAN */
|
|
YYSYMBOL_BLOB = 42, /* BLOB */
|
|
YYSYMBOL_BYTE = 43, /* BYTE */
|
|
YYSYMBOL_CODETABLE = 44, /* CODETABLE */
|
|
YYSYMBOL_SMART_TABLE = 45, /* SMART_TABLE */
|
|
YYSYMBOL_DICTIONARY = 46, /* DICTIONARY */
|
|
YYSYMBOL_COMPLEX_CODETABLE = 47, /* COMPLEX_CODETABLE */
|
|
YYSYMBOL_LOOKUP = 48, /* LOOKUP */
|
|
YYSYMBOL_ALIAS = 49, /* ALIAS */
|
|
YYSYMBOL_UNALIAS = 50, /* UNALIAS */
|
|
YYSYMBOL_META = 51, /* META */
|
|
YYSYMBOL_POS = 52, /* POS */
|
|
YYSYMBOL_INTCONST = 53, /* INTCONST */
|
|
YYSYMBOL_TRANS = 54, /* TRANS */
|
|
YYSYMBOL_FLAGBIT = 55, /* FLAGBIT */
|
|
YYSYMBOL_CONCEPT = 56, /* CONCEPT */
|
|
YYSYMBOL_GETENV = 57, /* GETENV */
|
|
YYSYMBOL_HASH_ARRAY = 58, /* HASH_ARRAY */
|
|
YYSYMBOL_CONCEPT_NOFAIL = 59, /* CONCEPT_NOFAIL */
|
|
YYSYMBOL_NIL = 60, /* NIL */
|
|
YYSYMBOL_DUMMY = 61, /* DUMMY */
|
|
YYSYMBOL_MODIFY = 62, /* MODIFY */
|
|
YYSYMBOL_READ_ONLY = 63, /* READ_ONLY */
|
|
YYSYMBOL_STRING_TYPE = 64, /* STRING_TYPE */
|
|
YYSYMBOL_LONG_TYPE = 65, /* LONG_TYPE */
|
|
YYSYMBOL_DOUBLE_TYPE = 66, /* DOUBLE_TYPE */
|
|
YYSYMBOL_NO_COPY = 67, /* NO_COPY */
|
|
YYSYMBOL_DUMP = 68, /* DUMP */
|
|
YYSYMBOL_JSON = 69, /* JSON */
|
|
YYSYMBOL_XML = 70, /* XML */
|
|
YYSYMBOL_NO_FAIL = 71, /* NO_FAIL */
|
|
YYSYMBOL_EDITION_SPECIFIC = 72, /* EDITION_SPECIFIC */
|
|
YYSYMBOL_OVERRIDE = 73, /* OVERRIDE */
|
|
YYSYMBOL_HIDDEN = 74, /* HIDDEN */
|
|
YYSYMBOL_CAN_BE_MISSING = 75, /* CAN_BE_MISSING */
|
|
YYSYMBOL_MISSING = 76, /* MISSING */
|
|
YYSYMBOL_CONSTRAINT = 77, /* CONSTRAINT */
|
|
YYSYMBOL_COPY_OK = 78, /* COPY_OK */
|
|
YYSYMBOL_WHEN = 79, /* WHEN */
|
|
YYSYMBOL_SET = 80, /* SET */
|
|
YYSYMBOL_SET_NOFAIL = 81, /* SET_NOFAIL */
|
|
YYSYMBOL_WRITE = 82, /* WRITE */
|
|
YYSYMBOL_APPEND = 83, /* APPEND */
|
|
YYSYMBOL_PRINT = 84, /* PRINT */
|
|
YYSYMBOL_EXPORT = 85, /* EXPORT */
|
|
YYSYMBOL_REMOVE = 86, /* REMOVE */
|
|
YYSYMBOL_RENAME = 87, /* RENAME */
|
|
YYSYMBOL_SKIP = 88, /* SKIP */
|
|
YYSYMBOL_PAD = 89, /* PAD */
|
|
YYSYMBOL_SECTION_PADDING = 90, /* SECTION_PADDING */
|
|
YYSYMBOL_MESSAGE = 91, /* MESSAGE */
|
|
YYSYMBOL_MESSAGE_COPY = 92, /* MESSAGE_COPY */
|
|
YYSYMBOL_PADTO = 93, /* PADTO */
|
|
YYSYMBOL_PADTOEVEN = 94, /* PADTOEVEN */
|
|
YYSYMBOL_PADTOMULTIPLE = 95, /* PADTOMULTIPLE */
|
|
YYSYMBOL_G1_HALF_BYTE = 96, /* G1_HALF_BYTE */
|
|
YYSYMBOL_G1_MESSAGE_LENGTH = 97, /* G1_MESSAGE_LENGTH */
|
|
YYSYMBOL_G1_SECTION4_LENGTH = 98, /* G1_SECTION4_LENGTH */
|
|
YYSYMBOL_SECTION_LENGTH = 99, /* SECTION_LENGTH */
|
|
YYSYMBOL_LENGTH = 100, /* LENGTH */
|
|
YYSYMBOL_FLAG = 101, /* FLAG */
|
|
YYSYMBOL_ITERATOR = 102, /* ITERATOR */
|
|
YYSYMBOL_NEAREST = 103, /* NEAREST */
|
|
YYSYMBOL_BOX = 104, /* BOX */
|
|
YYSYMBOL_KSEC = 105, /* KSEC */
|
|
YYSYMBOL_ASSERT = 106, /* ASSERT */
|
|
YYSYMBOL_SUBSTR = 107, /* SUBSTR */
|
|
YYSYMBOL_CASE = 108, /* CASE */
|
|
YYSYMBOL_SWITCH = 109, /* SWITCH */
|
|
YYSYMBOL_DEFAULT = 110, /* DEFAULT */
|
|
YYSYMBOL_EQ = 111, /* EQ */
|
|
YYSYMBOL_NE = 112, /* NE */
|
|
YYSYMBOL_GE = 113, /* GE */
|
|
YYSYMBOL_LE = 114, /* LE */
|
|
YYSYMBOL_LT = 115, /* LT */
|
|
YYSYMBOL_GT = 116, /* GT */
|
|
YYSYMBOL_BIT = 117, /* BIT */
|
|
YYSYMBOL_BITOFF = 118, /* BITOFF */
|
|
YYSYMBOL_AND = 119, /* AND */
|
|
YYSYMBOL_OR = 120, /* OR */
|
|
YYSYMBOL_NOT = 121, /* NOT */
|
|
YYSYMBOL_IS = 122, /* IS */
|
|
YYSYMBOL_ISNOT = 123, /* ISNOT */
|
|
YYSYMBOL_IDENT = 124, /* IDENT */
|
|
YYSYMBOL_STRING = 125, /* STRING */
|
|
YYSYMBOL_INTEGER = 126, /* INTEGER */
|
|
YYSYMBOL_FLOAT = 127, /* FLOAT */
|
|
YYSYMBOL_128_ = 128, /* ',' */
|
|
YYSYMBOL_129_ = 129, /* ';' */
|
|
YYSYMBOL_130_ = 130, /* '[' */
|
|
YYSYMBOL_131_ = 131, /* ']' */
|
|
YYSYMBOL_132_ = 132, /* '(' */
|
|
YYSYMBOL_133_ = 133, /* ')' */
|
|
YYSYMBOL_134_ = 134, /* '=' */
|
|
YYSYMBOL_135_ = 135, /* '.' */
|
|
YYSYMBOL_136_ = 136, /* '{' */
|
|
YYSYMBOL_137_ = 137, /* '}' */
|
|
YYSYMBOL_138_ = 138, /* ':' */
|
|
YYSYMBOL_139_ = 139, /* '-' */
|
|
YYSYMBOL_140_ = 140, /* '^' */
|
|
YYSYMBOL_141_ = 141, /* '*' */
|
|
YYSYMBOL_142_ = 142, /* '/' */
|
|
YYSYMBOL_143_ = 143, /* '%' */
|
|
YYSYMBOL_144_ = 144, /* '+' */
|
|
YYSYMBOL_YYACCEPT = 145, /* $accept */
|
|
YYSYMBOL_all = 146, /* all */
|
|
YYSYMBOL_empty = 147, /* empty */
|
|
YYSYMBOL_dvalues = 148, /* dvalues */
|
|
YYSYMBOL_svalues = 149, /* svalues */
|
|
YYSYMBOL_integer_array = 150, /* integer_array */
|
|
YYSYMBOL_instructions = 151, /* instructions */
|
|
YYSYMBOL_instruction = 152, /* instruction */
|
|
YYSYMBOL_semi = 153, /* semi */
|
|
YYSYMBOL_argument_list = 154, /* argument_list */
|
|
YYSYMBOL_arguments = 155, /* arguments */
|
|
YYSYMBOL_argument = 156, /* argument */
|
|
YYSYMBOL_simple = 157, /* simple */
|
|
YYSYMBOL_if_block = 158, /* if_block */
|
|
YYSYMBOL_when_block = 159, /* when_block */
|
|
YYSYMBOL_set = 160, /* set */
|
|
YYSYMBOL_set_list = 161, /* set_list */
|
|
YYSYMBOL_default = 162, /* default */
|
|
YYSYMBOL_flags = 163, /* flags */
|
|
YYSYMBOL_flag_list = 164, /* flag_list */
|
|
YYSYMBOL_flag = 165, /* flag */
|
|
YYSYMBOL_list_block = 166, /* list_block */
|
|
YYSYMBOL_while_block = 167, /* while_block */
|
|
YYSYMBOL_trigger_block = 168, /* trigger_block */
|
|
YYSYMBOL_concept_block = 169, /* concept_block */
|
|
YYSYMBOL_concept_list = 170, /* concept_list */
|
|
YYSYMBOL_hash_array_list = 171, /* hash_array_list */
|
|
YYSYMBOL_hash_array_block = 172, /* hash_array_block */
|
|
YYSYMBOL_case_list = 173, /* case_list */
|
|
YYSYMBOL_case_value = 174, /* case_value */
|
|
YYSYMBOL_switch_block = 175, /* switch_block */
|
|
YYSYMBOL_concept_value = 176, /* concept_value */
|
|
YYSYMBOL_concept_conditions = 177, /* concept_conditions */
|
|
YYSYMBOL_concept_condition = 178, /* concept_condition */
|
|
YYSYMBOL_hash_array_value = 179, /* hash_array_value */
|
|
YYSYMBOL_string_or_ident = 180, /* string_or_ident */
|
|
YYSYMBOL_atom = 181, /* atom */
|
|
YYSYMBOL_power = 182, /* power */
|
|
YYSYMBOL_factor = 183, /* factor */
|
|
YYSYMBOL_term = 184, /* term */
|
|
YYSYMBOL_condition = 185, /* condition */
|
|
YYSYMBOL_conjunction = 186, /* conjunction */
|
|
YYSYMBOL_disjunction = 187, /* disjunction */
|
|
YYSYMBOL_expression = 188, /* expression */
|
|
YYSYMBOL_rule = 189, /* rule */
|
|
YYSYMBOL_rule_entry = 190, /* rule_entry */
|
|
YYSYMBOL_rule_entries = 191, /* rule_entries */
|
|
YYSYMBOL_fact = 192, /* fact */
|
|
YYSYMBOL_conditional_rule = 193, /* conditional_rule */
|
|
YYSYMBOL_rules = 194 /* rules */
|
|
};
|
|
typedef enum grib_yysymbol_kind_t grib_yysymbol_kind_t;
|
|
|
|
|
|
|
|
|
|
#ifdef short
|
|
# undef short
|
|
#endif
|
|
|
|
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
|
|
<limits.h> and (if available) <stdint.h> are included
|
|
so that the code can choose integer types of a good width. */
|
|
|
|
#ifndef __PTRDIFF_MAX__
|
|
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
|
|
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
|
# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define YY_STDINT_H
|
|
# endif
|
|
#endif
|
|
|
|
/* Narrow types that promote to a signed type and that can represent a
|
|
signed or unsigned integer of at least N bits. In tables they can
|
|
save space and decrease cache pressure. Promoting to a signed type
|
|
helps avoid bugs in integer arithmetic. */
|
|
|
|
#ifdef __INT_LEAST8_MAX__
|
|
typedef __INT_LEAST8_TYPE__ grib_yytype_int8;
|
|
#elif defined YY_STDINT_H
|
|
typedef int_least8_t grib_yytype_int8;
|
|
#else
|
|
typedef signed char grib_yytype_int8;
|
|
#endif
|
|
|
|
#ifdef __INT_LEAST16_MAX__
|
|
typedef __INT_LEAST16_TYPE__ grib_yytype_int16;
|
|
#elif defined YY_STDINT_H
|
|
typedef int_least16_t grib_yytype_int16;
|
|
#else
|
|
typedef short grib_yytype_int16;
|
|
#endif
|
|
|
|
/* Work around bug in HP-UX 11.23, which defines these macros
|
|
incorrectly for preprocessor constants. This workaround can likely
|
|
be removed in 2023, as HPE has promised support for HP-UX 11.23
|
|
(aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
|
|
<https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
|
|
#ifdef __hpux
|
|
# undef UINT_LEAST8_MAX
|
|
# undef UINT_LEAST16_MAX
|
|
# define UINT_LEAST8_MAX 255
|
|
# define UINT_LEAST16_MAX 65535
|
|
#endif
|
|
|
|
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
|
|
typedef __UINT_LEAST8_TYPE__ grib_yytype_uint8;
|
|
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
|
|
&& UINT_LEAST8_MAX <= INT_MAX)
|
|
typedef uint_least8_t grib_yytype_uint8;
|
|
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
|
|
typedef unsigned char grib_yytype_uint8;
|
|
#else
|
|
typedef short grib_yytype_uint8;
|
|
#endif
|
|
|
|
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
|
|
typedef __UINT_LEAST16_TYPE__ grib_yytype_uint16;
|
|
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
|
|
&& UINT_LEAST16_MAX <= INT_MAX)
|
|
typedef uint_least16_t grib_yytype_uint16;
|
|
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
|
|
typedef unsigned short grib_yytype_uint16;
|
|
#else
|
|
typedef int grib_yytype_uint16;
|
|
#endif
|
|
|
|
#ifndef YYPTRDIFF_T
|
|
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
|
|
# define YYPTRDIFF_T __PTRDIFF_TYPE__
|
|
# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
|
|
# elif defined PTRDIFF_MAX
|
|
# ifndef ptrdiff_t
|
|
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
|
# endif
|
|
# define YYPTRDIFF_T ptrdiff_t
|
|
# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
|
|
# else
|
|
# define YYPTRDIFF_T long
|
|
# define YYPTRDIFF_MAXIMUM LONG_MAX
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef YYSIZE_T
|
|
# ifdef __SIZE_TYPE__
|
|
# define YYSIZE_T __SIZE_TYPE__
|
|
# elif defined size_t
|
|
# define YYSIZE_T size_t
|
|
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
|
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define YYSIZE_T size_t
|
|
# else
|
|
# define YYSIZE_T unsigned
|
|
# endif
|
|
#endif
|
|
|
|
#define YYSIZE_MAXIMUM \
|
|
YY_CAST (YYPTRDIFF_T, \
|
|
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
|
|
? YYPTRDIFF_MAXIMUM \
|
|
: YY_CAST (YYSIZE_T, -1)))
|
|
|
|
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
|
|
|
|
|
|
/* Stored state numbers (used for stacks). */
|
|
typedef grib_yytype_int16 grib_yy_state_t;
|
|
|
|
/* State numbers in computations. */
|
|
typedef int grib_yy_state_fast_t;
|
|
|
|
#ifndef YY_
|
|
# if defined YYENABLE_NLS && YYENABLE_NLS
|
|
# if ENABLE_NLS
|
|
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
|
|
# endif
|
|
# endif
|
|
# ifndef YY_
|
|
# define YY_(Msgid) Msgid
|
|
# endif
|
|
#endif
|
|
|
|
|
|
#ifndef YY_ATTRIBUTE_PURE
|
|
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
|
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
|
# else
|
|
# define YY_ATTRIBUTE_PURE
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef YY_ATTRIBUTE_UNUSED
|
|
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
|
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
|
# else
|
|
# define YY_ATTRIBUTE_UNUSED
|
|
# endif
|
|
#endif
|
|
|
|
/* Suppress unused-variable warnings by "using" E. */
|
|
#if ! defined lint || defined __GNUC__
|
|
# define YY_USE(E) ((void) (E))
|
|
#else
|
|
# define YY_USE(E) /* empty */
|
|
#endif
|
|
|
|
/* Suppress an incorrect diagnostic about grib_yylval being uninitialized. */
|
|
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
|
|
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
|
_Pragma ("GCC diagnostic push") \
|
|
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
|
|
# else
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
|
_Pragma ("GCC diagnostic push") \
|
|
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
|
|
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
|
# endif
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
|
_Pragma ("GCC diagnostic pop")
|
|
#else
|
|
# define YY_INITIAL_VALUE(Value) Value
|
|
#endif
|
|
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
#endif
|
|
#ifndef YY_INITIAL_VALUE
|
|
# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
|
#endif
|
|
|
|
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
|
|
# define YY_IGNORE_USELESS_CAST_BEGIN \
|
|
_Pragma ("GCC diagnostic push") \
|
|
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
|
|
# define YY_IGNORE_USELESS_CAST_END \
|
|
_Pragma ("GCC diagnostic pop")
|
|
#endif
|
|
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
|
|
# define YY_IGNORE_USELESS_CAST_BEGIN
|
|
# define YY_IGNORE_USELESS_CAST_END
|
|
#endif
|
|
|
|
|
|
#define YY_ASSERT(E) ((void) (0 && (E)))
|
|
|
|
#if !defined grib_yyoverflow
|
|
|
|
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
|
|
|
# ifdef YYSTACK_USE_ALLOCA
|
|
# if YYSTACK_USE_ALLOCA
|
|
# ifdef __GNUC__
|
|
# define YYSTACK_ALLOC __builtin_alloca
|
|
# elif defined __BUILTIN_VA_ARG_INCR
|
|
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
|
|
# elif defined _AIX
|
|
# define YYSTACK_ALLOC __alloca
|
|
# elif defined _MSC_VER
|
|
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define alloca _alloca
|
|
# else
|
|
# define YYSTACK_ALLOC alloca
|
|
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
|
|
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
|
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
|
|
# ifndef EXIT_SUCCESS
|
|
# define EXIT_SUCCESS 0
|
|
# endif
|
|
# endif
|
|
# endif
|
|
# endif
|
|
# endif
|
|
|
|
# ifdef YYSTACK_ALLOC
|
|
/* Pacify GCC's 'empty if-body' warning. */
|
|
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (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
|
|
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
|
|
to allow for a few compiler-allocated temporary stack slots. */
|
|
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
|
|
# endif
|
|
# else
|
|
# define YYSTACK_ALLOC YYMALLOC
|
|
# define YYSTACK_FREE YYFREE
|
|
# ifndef YYSTACK_ALLOC_MAXIMUM
|
|
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
|
|
# endif
|
|
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
|
|
&& ! ((defined YYMALLOC || defined malloc) \
|
|
&& (defined YYFREE || defined free)))
|
|
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
|
# ifndef EXIT_SUCCESS
|
|
# define EXIT_SUCCESS 0
|
|
# endif
|
|
# endif
|
|
# ifndef YYMALLOC
|
|
# define YYMALLOC malloc
|
|
# if ! defined malloc && ! defined EXIT_SUCCESS
|
|
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
|
|
# endif
|
|
# endif
|
|
# ifndef YYFREE
|
|
# define YYFREE free
|
|
# if ! defined free && ! defined EXIT_SUCCESS
|
|
void free (void *); /* INFRINGES ON USER NAME SPACE */
|
|
# endif
|
|
# endif
|
|
# endif
|
|
#endif /* !defined grib_yyoverflow */
|
|
|
|
#if (! defined grib_yyoverflow \
|
|
&& (! defined __cplusplus \
|
|
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
|
|
|
|
/* A type that is properly aligned for any stack member. */
|
|
union grib_yyalloc
|
|
{
|
|
grib_yy_state_t grib_yyss_alloc;
|
|
YYSTYPE grib_yyvs_alloc;
|
|
};
|
|
|
|
/* The size of the maximum gap between one aligned stack and the next. */
|
|
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union grib_yyalloc) - 1)
|
|
|
|
/* The size of an array large to enough to hold all stacks, each with
|
|
N elements. */
|
|
# define YYSTACK_BYTES(N) \
|
|
((N) * (YYSIZEOF (grib_yy_state_t) + YYSIZEOF (YYSTYPE)) \
|
|
+ YYSTACK_GAP_MAXIMUM)
|
|
|
|
# define YYCOPY_NEEDED 1
|
|
|
|
/* Relocate STACK from its old location to the new one. The
|
|
local variables YYSIZE and YYSTACKSIZE give the old and new number of
|
|
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 \
|
|
{ \
|
|
YYPTRDIFF_T grib_yynewbytes; \
|
|
YYCOPY (&grib_yyptr->Stack_alloc, Stack, grib_yysize); \
|
|
Stack = &grib_yyptr->Stack_alloc; \
|
|
grib_yynewbytes = grib_yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
|
grib_yyptr += grib_yynewbytes / YYSIZEOF (*grib_yyptr); \
|
|
} \
|
|
while (0)
|
|
|
|
#endif
|
|
|
|
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
|
|
/* Copy COUNT objects from SRC to DST. The source and destination do
|
|
not overlap. */
|
|
# ifndef YYCOPY
|
|
# if defined __GNUC__ && 1 < __GNUC__
|
|
# define YYCOPY(Dst, Src, Count) \
|
|
__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
|
|
# else
|
|
# define YYCOPY(Dst, Src, Count) \
|
|
do \
|
|
{ \
|
|
YYPTRDIFF_T grib_yyi; \
|
|
for (grib_yyi = 0; grib_yyi < (Count); grib_yyi++) \
|
|
(Dst)[grib_yyi] = (Src)[grib_yyi]; \
|
|
} \
|
|
while (0)
|
|
# endif
|
|
# endif
|
|
#endif /* !YYCOPY_NEEDED */
|
|
|
|
/* YYFINAL -- State number of the termination state. */
|
|
#define YYFINAL 214
|
|
/* YYLAST -- Last index in YYTABLE. */
|
|
#define YYLAST 1833
|
|
|
|
/* YYNTOKENS -- Number of terminals. */
|
|
#define YYNTOKENS 145
|
|
/* YYNNTS -- Number of nonterminals. */
|
|
#define YYNNTS 50
|
|
/* YYNRULES -- Number of rules. */
|
|
#define YYNRULES 270
|
|
/* YYNSTATES -- Number of states. */
|
|
#define YYNSTATES 919
|
|
|
|
/* YYMAXUTOK -- Last valid token kind. */
|
|
#define YYMAXUTOK 382
|
|
|
|
|
|
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
|
|
as returned by grib_yylex, with out-of-bounds checking. */
|
|
#define YYTRANSLATE(YYX) \
|
|
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
|
|
? YY_CAST (grib_yysymbol_kind_t, grib_yytranslate[YYX]) \
|
|
: YYSYMBOL_YYUNDEF)
|
|
|
|
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
|
|
as returned by grib_yylex. */
|
|
static const grib_yytype_uint8 grib_yytranslate[] =
|
|
{
|
|
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 143, 2, 2,
|
|
132, 133, 141, 144, 128, 139, 135, 142, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 138, 129,
|
|
2, 134, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 130, 2, 131, 140, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 136, 2, 137, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
|
|
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
|
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
|
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
|
|
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
|
|
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
|
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
|
|
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
|
|
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
|
|
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
|
|
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
|
|
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
|
|
125, 126, 127
|
|
};
|
|
|
|
#if YYDEBUG
|
|
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
|
static const grib_yytype_int16 grib_yyrline[] =
|
|
{
|
|
0, 263, 263, 265, 266, 267, 268, 270, 274, 277,
|
|
278, 279, 280, 283, 284, 288, 289, 292, 293, 294,
|
|
295, 298, 299, 300, 301, 302, 303, 304, 305, 306,
|
|
310, 311, 314, 315, 318, 319, 322, 326, 329, 332,
|
|
335, 338, 341, 344, 347, 350, 353, 356, 360, 363,
|
|
366, 369, 372, 375, 378, 381, 384, 387, 398, 402,
|
|
405, 408, 411, 414, 417, 420, 423, 426, 429, 432,
|
|
435, 439, 442, 445, 448, 451, 454, 457, 460, 463,
|
|
466, 469, 472, 475, 478, 481, 485, 488, 491, 494,
|
|
497, 499, 502, 505, 508, 511, 514, 517, 520, 523,
|
|
526, 529, 532, 535, 538, 541, 544, 546, 548, 551,
|
|
554, 557, 561, 565, 568, 571, 583, 595, 607, 610,
|
|
613, 615, 618, 621, 622, 623, 624, 626, 629, 630,
|
|
631, 632, 633, 634, 635, 636, 638, 639, 640, 641,
|
|
642, 646, 647, 648, 649, 653, 654, 655, 658, 659,
|
|
662, 663, 667, 668, 671, 672, 675, 676, 679, 680,
|
|
681, 682, 683, 684, 685, 686, 687, 688, 689, 690,
|
|
691, 692, 695, 698, 701, 704, 705, 706, 707, 708,
|
|
709, 711, 712, 713, 714, 715, 717, 718, 719, 720,
|
|
721, 722, 723, 724, 728, 729, 732, 733, 736, 737,
|
|
740, 741, 744, 748, 749, 750, 753, 755, 757, 759,
|
|
763, 764, 767, 768, 772, 774, 778, 779, 780, 781,
|
|
784, 785, 786, 788, 789, 790, 791, 792, 793, 797,
|
|
798, 801, 802, 803, 804, 805, 806, 807, 808, 809,
|
|
810, 811, 812, 815, 816, 817, 820, 822, 823, 824,
|
|
825, 826, 827, 828, 833, 834, 837, 838, 841, 842,
|
|
845, 851, 852, 855, 856, 859, 860, 863, 867, 870,
|
|
871
|
|
};
|
|
#endif
|
|
|
|
/** Accessing symbol of state STATE. */
|
|
#define YY_ACCESSING_SYMBOL(State) YY_CAST (grib_yysymbol_kind_t, grib_yystos[State])
|
|
|
|
#if YYDEBUG || 0
|
|
/* The user-facing name of the symbol whose (internal) number is
|
|
YYSYMBOL. No bounds checking. */
|
|
static const char *grib_yysymbol_name (grib_yysymbol_kind_t grib_yysymbol) YY_ATTRIBUTE_UNUSED;
|
|
|
|
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
|
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
|
static const char *const grib_yytname[] =
|
|
{
|
|
"\"end of file\"", "error", "\"invalid token\"", "LOWERCASE", "IF",
|
|
"IF_TRANSIENT", "ELSE", "END", "CLOSE", "UNSIGNED", "TEMPLATE",
|
|
"TEMPLATE_NOFAIL", "TRIGGER", "ASCII", "GROUP", "NON_ALPHA",
|
|
"KSEC1EXPVER", "LABEL", "LIST", "IS_IN_LIST", "IS_IN_DICT", "IS_INTEGER",
|
|
"TO_INTEGER", "TO_STRING", "SEX2DEC", "WHILE", "IBMFLOAT", "SIGNED",
|
|
"UINT8", "INT8", "UINT16", "INT16", "UINT16_LITTLE_ENDIAN",
|
|
"INT16_LITTLE_ENDIAN", "UINT32", "INT32", "UINT32_LITTLE_ENDIAN",
|
|
"INT32_LITTLE_ENDIAN", "UINT64", "INT64", "UINT64_LITTLE_ENDIAN",
|
|
"INT64_LITTLE_ENDIAN", "BLOB", "BYTE", "CODETABLE", "SMART_TABLE",
|
|
"DICTIONARY", "COMPLEX_CODETABLE", "LOOKUP", "ALIAS", "UNALIAS", "META",
|
|
"POS", "INTCONST", "TRANS", "FLAGBIT", "CONCEPT", "GETENV", "HASH_ARRAY",
|
|
"CONCEPT_NOFAIL", "NIL", "DUMMY", "MODIFY", "READ_ONLY", "STRING_TYPE",
|
|
"LONG_TYPE", "DOUBLE_TYPE", "NO_COPY", "DUMP", "JSON", "XML", "NO_FAIL",
|
|
"EDITION_SPECIFIC", "OVERRIDE", "HIDDEN", "CAN_BE_MISSING", "MISSING",
|
|
"CONSTRAINT", "COPY_OK", "WHEN", "SET", "SET_NOFAIL", "WRITE", "APPEND",
|
|
"PRINT", "EXPORT", "REMOVE", "RENAME", "SKIP", "PAD", "SECTION_PADDING",
|
|
"MESSAGE", "MESSAGE_COPY", "PADTO", "PADTOEVEN", "PADTOMULTIPLE",
|
|
"G1_HALF_BYTE", "G1_MESSAGE_LENGTH", "G1_SECTION4_LENGTH",
|
|
"SECTION_LENGTH", "LENGTH", "FLAG", "ITERATOR", "NEAREST", "BOX", "KSEC",
|
|
"ASSERT", "SUBSTR", "CASE", "SWITCH", "DEFAULT", "EQ", "NE", "GE", "LE",
|
|
"LT", "GT", "BIT", "BITOFF", "AND", "OR", "NOT", "IS", "ISNOT", "IDENT",
|
|
"STRING", "INTEGER", "FLOAT", "','", "';'", "'['", "']'", "'('", "')'",
|
|
"'='", "'.'", "'{'", "'}'", "':'", "'-'", "'^'", "'*'", "'/'", "'%'",
|
|
"'+'", "$accept", "all", "empty", "dvalues", "svalues", "integer_array",
|
|
"instructions", "instruction", "semi", "argument_list", "arguments",
|
|
"argument", "simple", "if_block", "when_block", "set", "set_list",
|
|
"default", "flags", "flag_list", "flag", "list_block", "while_block",
|
|
"trigger_block", "concept_block", "concept_list", "hash_array_list",
|
|
"hash_array_block", "case_list", "case_value", "switch_block",
|
|
"concept_value", "concept_conditions", "concept_condition",
|
|
"hash_array_value", "string_or_ident", "atom", "power", "factor", "term",
|
|
"condition", "conjunction", "disjunction", "expression", "rule",
|
|
"rule_entry", "rule_entries", "fact", "conditional_rule", "rules", YY_NULLPTR
|
|
};
|
|
|
|
static const char *
|
|
grib_yysymbol_name (grib_yysymbol_kind_t grib_yysymbol)
|
|
{
|
|
return grib_yytname[grib_yysymbol];
|
|
}
|
|
#endif
|
|
|
|
#define YYPACT_NINF (-656)
|
|
|
|
#define grib_yypact_value_is_default(Yyn) \
|
|
((Yyn) == YYPACT_NINF)
|
|
|
|
#define YYTABLE_NINF (-9)
|
|
|
|
#define grib_yytable_value_is_error(Yyn) \
|
|
0
|
|
|
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
|
STATE-NUM. */
|
|
static const grib_yytype_int16 grib_yypact[] =
|
|
{
|
|
1394, -656, -114, -44, -11, 190, -24, 24, 100, 32,
|
|
160, 182, 134, 84, 189, 239, 236, 271, 274, 286,
|
|
294, 300, 302, 303, 308, 309, 311, 313, 314, 317,
|
|
318, 320, 208, 315, 322, 319, 321, 323, 324, 326,
|
|
335, 340, 341, 356, 357, 358, 359, 360, 353, 362,
|
|
363, -67, -62, -21, 364, 903, 361, 277, 365, 366,
|
|
367, 368, 370, 371, 372, 374, 369, 373, 379, 380,
|
|
376, 388, 389, 390, 383, 384, 6, 387, 391, -73,
|
|
491, -656, -656, 1497, 393, -656, -656, -656, -656, -656,
|
|
-656, 205, 148, -656, -656, -656, -656, 15, -656, -656,
|
|
-656, -656, 903, 903, 394, 398, 407, 392, 410, 903,
|
|
417, 88, 411, 418, -656, -656, 903, 53, 423, 425,
|
|
411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
|
|
411, 411, 411, 411, 422, 427, 270, 424, 429, 431,
|
|
224, 426, -76, -656, 430, 435, 428, 23, -54, 94,
|
|
420, 903, 436, 437, -656, 433, -656, 452, -656, 251,
|
|
449, 450, 451, 453, -656, -656, 455, 457, 903, 458,
|
|
-656, -656, -656, 903, -33, -656, -656, -656, 456, 265,
|
|
460, -656, -74, 2, 90, 444, 472, -656, 469, -656,
|
|
463, 420, 475, 420, 466, 471, 473, -656, 478, 480,
|
|
481, 482, 479, 483, 485, 903, 903, 903, 486, 304,
|
|
-17, 474, 56, 476, -656, 487, 8, 489, 1706, -656,
|
|
-656, 488, 490, 493, -656, 495, 497, -656, 501, 500,
|
|
-656, 502, 506, 508, 492, 509, -656, -656, 511, 517,
|
|
903, 903, -656, 420, 420, 521, 522, 903, 496, 420,
|
|
525, 528, 420, 420, 420, 420, 420, 420, 420, 420,
|
|
420, 420, 420, 420, 420, 420, 903, 532, 548, 549,
|
|
903, 550, 551, 559, 560, 561, 554, 563, 903, 441,
|
|
903, 568, 569, 205, 570, 148, 571, 572, 205, 306,
|
|
-656, -656, 564, 89, 903, 565, 573, 574, 575, 903,
|
|
577, 578, 579, 580, 276, 90, 794, 576, -656, -656,
|
|
903, -78, -78, -33, -33, -33, -33, -33, -33, 124,
|
|
124, 124, 124, 124, 124, 124, 124, 903, 903, 582,
|
|
903, -656, 581, -656, 903, 903, 903, 583, 584, 585,
|
|
586, 903, 903, 903, -656, 587, 588, 903, 590, 591,
|
|
592, 593, 594, 601, 589, 599, 601, 589, 589, 903,
|
|
595, 420, 589, 903, 18, -656, 596, 597, 484, 600,
|
|
903, 903, 598, 602, -656, 605, 607, 603, 278, 604,
|
|
-656, -656, -656, 611, 606, 609, 411, -656, 612, 617,
|
|
-656, -656, -656, -656, -656, -656, -656, -656, -656, -656,
|
|
-656, -656, -656, -656, 614, 619, 622, 623, 615, 625,
|
|
626, 420, 618, -656, 903, 627, 420, 282, 420, 620,
|
|
-10, -12, -71, 628, -88, 28, 75, -40, -656, -656,
|
|
-656, -656, -656, -656, -656, -656, -656, -656, -656, -656,
|
|
-656, -656, 630, -656, -46, -656, 113, -656, -656, 629,
|
|
634, 636, 637, 631, 635, 639, 64, 632, 641, 643,
|
|
-656, 640, -656, -656, -656, -656, -656, -656, -656, -656,
|
|
-656, -656, -656, -74, -74, 2, 2, 2, 2, 2,
|
|
2, 90, 444, 648, 644, 650, 645, 646, 647, 652,
|
|
657, 664, 670, 663, 667, 668, -656, 661, 671, 903,
|
|
903, 903, 903, 903, -656, -30, 621, 666, 589, -656,
|
|
67, 669, 673, 674, 411, -656, 675, 678, 683, 1603,
|
|
1706, 140, 173, 1706, 411, 411, 411, 411, 1706, 411,
|
|
420, 252, 255, 411, 263, 903, 1037, 411, 1094, 676,
|
|
-656, 693, 685, 687, -656, -656, -656, -57, -656, 411,
|
|
288, 689, 705, 205, 420, 682, 420, 706, 694, 708,
|
|
205, 420, 306, 709, 710, 334, 715, -656, -56, -32,
|
|
-656, -656, -656, -656, -656, 712, 714, 720, -656, -656,
|
|
721, 723, -656, 702, -656, 420, -656, -656, -656, 724,
|
|
726, 411, 903, -656, -656, -656, 513, 716, 727, 729,
|
|
731, 738, 739, 733, -656, 848, -656, -656, -656, -656,
|
|
-656, 411, 420, -656, 737, 740, 13, 741, -72, 742,
|
|
743, 903, 420, 903, 420, 744, 420, 420, 420, 420,
|
|
745, 420, -656, 903, 420, 903, 420, 420, 903, 420,
|
|
411, 903, 411, 420, 903, 411, 903, 420, 411, 903,
|
|
290, 420, 420, 746, 747, 205, 127, 27, -656, 749,
|
|
-656, 755, 205, 129, 110, -656, -656, 751, 752, 715,
|
|
-48, -656, 762, -656, 767, -656, 760, 764, 158, 768,
|
|
770, -656, -656, 903, 903, -656, 411, 903, -87, -656,
|
|
1706, 420, 420, 420, 411, 411, -656, 601, 771, 420,
|
|
-656, 1706, -72, 763, 699, -656, -656, 893, 772, -656,
|
|
773, -656, -656, -656, -656, -656, -656, -656, -656, 779,
|
|
-656, 780, -656, -656, 781, -656, 420, 783, 576, -65,
|
|
-656, 784, 420, 792, -656, 420, 795, -656, -656, -656,
|
|
-656, 790, 805, 117, 296, 796, 420, 806, 810, 141,
|
|
811, 799, 420, 903, 903, 762, 931, 715, -656, -656,
|
|
-656, -656, 812, -656, 813, 815, 809, 814, 420, 807,
|
|
816, -656, -656, 819, -656, -656, -656, 420, 420, 130,
|
|
-656, -656, 808, 817, 411, 411, 411, 411, 411, -656,
|
|
411, 818, -656, 411, -656, 420, -656, 411, 823, 165,
|
|
420, 824, 829, 205, -656, 830, 177, 420, 831, 205,
|
|
-656, -656, -656, 825, 762, 832, 834, 835, -656, -656,
|
|
-656, 1706, 1264, -656, -656, -656, 833, 1706, 1706, 420,
|
|
420, 420, 420, 420, 420, 846, 420, -656, 420, 847,
|
|
852, 420, -656, 853, 855, 155, 857, 859, 420, -656,
|
|
860, 175, 334, -656, -656, -656, -656, -656, 849, -656,
|
|
851, 856, -656, -656, -656, -656, -656, -656, 861, -656,
|
|
-656, 862, 180, -656, 868, 216, 420, 864, 865, -656,
|
|
229, 420, -42, -656, -656, -656, 420, 420, 866, 420,
|
|
875, 876, 420, -656, 420, 420, 877, 420, -656, -656,
|
|
-656, -656, 869, -656, 871, 872, -656, -656, -656, 873,
|
|
-656, 420, 420, 420, 420, -656, -656, -656, -656
|
|
};
|
|
|
|
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
|
Performed when YYTABLE does not specify something else to do. Zero
|
|
means the default is an error. */
|
|
static const grib_yytype_int16 grib_yydefact[] =
|
|
{
|
|
0, 7, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 129, 133, 140, 0, 8, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 2, 5, 17, 0, 22, 28, 23, 24, 25,
|
|
26, 3, 4, 27, 29, 194, 196, 269, 267, 261,
|
|
262, 6, 0, 0, 0, 0, 0, 0, 0, 8,
|
|
0, 8, 8, 0, 68, 69, 0, 8, 0, 0,
|
|
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
|
8, 8, 8, 8, 0, 0, 0, 0, 0, 0,
|
|
0, 110, 0, 88, 0, 0, 0, 0, 0, 0,
|
|
8, 0, 0, 0, 128, 0, 132, 0, 137, 0,
|
|
0, 0, 0, 0, 223, 224, 0, 0, 0, 217,
|
|
219, 221, 222, 0, 0, 32, 119, 33, 34, 220,
|
|
230, 236, 245, 255, 257, 259, 260, 36, 0, 264,
|
|
0, 8, 0, 8, 0, 0, 0, 95, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
|
|
0, 0, 8, 0, 1, 0, 0, 0, 20, 18,
|
|
21, 0, 0, 0, 195, 0, 0, 197, 0, 0,
|
|
270, 0, 0, 0, 0, 0, 107, 108, 0, 0,
|
|
8, 8, 152, 8, 8, 0, 0, 0, 0, 8,
|
|
0, 0, 8, 8, 8, 8, 8, 8, 8, 8,
|
|
8, 8, 8, 8, 8, 8, 8, 0, 0, 0,
|
|
8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
154, 122, 0, 0, 0, 0, 0, 0, 0, 8,
|
|
0, 0, 0, 0, 0, 254, 0, 0, 220, 226,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
8, 106, 0, 105, 8, 8, 8, 0, 0, 0,
|
|
0, 8, 8, 8, 99, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 8, 0, 0, 0, 19, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 136, 0, 0, 0, 0, 0,
|
|
153, 42, 47, 0, 0, 0, 8, 70, 0, 0,
|
|
72, 71, 74, 73, 76, 75, 78, 77, 80, 79,
|
|
82, 81, 84, 83, 0, 0, 0, 0, 0, 0,
|
|
0, 8, 0, 112, 8, 0, 8, 0, 8, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 159, 168,
|
|
158, 169, 170, 171, 161, 160, 162, 164, 163, 165,
|
|
166, 167, 155, 156, 0, 123, 0, 124, 127, 131,
|
|
135, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
227, 0, 225, 35, 217, 252, 253, 229, 234, 235,
|
|
231, 232, 233, 244, 243, 247, 251, 249, 250, 248,
|
|
246, 256, 258, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 121, 0, 0, 8,
|
|
8, 8, 8, 8, 15, 0, 0, 0, 210, 263,
|
|
0, 0, 0, 0, 8, 92, 0, 0, 0, 0,
|
|
0, 8, 8, 0, 8, 8, 8, 8, 0, 8,
|
|
8, 8, 8, 8, 8, 0, 0, 8, 0, 0,
|
|
109, 0, 0, 0, 89, 11, 9, 0, 90, 8,
|
|
0, 0, 0, 0, 8, 0, 8, 0, 0, 0,
|
|
0, 8, 0, 0, 0, 0, 0, 13, 0, 0,
|
|
130, 134, 139, 138, 118, 0, 0, 0, 242, 237,
|
|
0, 0, 228, 0, 100, 8, 101, 102, 103, 0,
|
|
0, 8, 0, 115, 116, 117, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 215, 0, 207, 211, 214, 206,
|
|
208, 8, 8, 209, 0, 0, 0, 0, 265, 0,
|
|
0, 8, 8, 8, 8, 0, 8, 8, 8, 8,
|
|
0, 8, 86, 8, 8, 8, 8, 8, 8, 8,
|
|
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
|
0, 8, 8, 0, 0, 0, 0, 0, 175, 0,
|
|
198, 0, 0, 0, 0, 186, 157, 0, 0, 0,
|
|
0, 30, 145, 125, 0, 126, 0, 0, 0, 0,
|
|
0, 120, 104, 8, 8, 96, 8, 0, 0, 200,
|
|
0, 8, 8, 8, 8, 8, 16, 0, 0, 8,
|
|
93, 0, 0, 0, 141, 266, 268, 143, 0, 37,
|
|
0, 39, 174, 41, 48, 43, 51, 173, 87, 0,
|
|
52, 0, 54, 85, 0, 49, 8, 0, 36, 8,
|
|
60, 0, 8, 0, 111, 8, 0, 12, 10, 91,
|
|
67, 0, 0, 0, 0, 0, 8, 0, 0, 0,
|
|
0, 0, 8, 0, 0, 150, 146, 0, 31, 14,
|
|
238, 239, 0, 240, 0, 0, 0, 0, 8, 0,
|
|
0, 205, 201, 0, 44, 46, 45, 8, 8, 0,
|
|
212, 94, 0, 0, 8, 8, 8, 8, 8, 57,
|
|
8, 0, 56, 8, 63, 8, 113, 8, 0, 0,
|
|
8, 0, 0, 0, 184, 0, 0, 8, 0, 0,
|
|
192, 148, 149, 0, 151, 0, 0, 0, 97, 98,
|
|
65, 0, 0, 172, 61, 62, 0, 0, 0, 8,
|
|
8, 8, 8, 8, 8, 0, 8, 66, 8, 0,
|
|
0, 8, 176, 0, 0, 0, 0, 0, 8, 187,
|
|
0, 0, 0, 241, 216, 218, 202, 204, 0, 213,
|
|
0, 0, 38, 40, 53, 55, 50, 59, 0, 64,
|
|
114, 0, 0, 180, 0, 0, 8, 0, 0, 189,
|
|
0, 8, 0, 203, 142, 144, 8, 8, 0, 8,
|
|
0, 0, 8, 185, 8, 8, 0, 8, 193, 147,
|
|
58, 178, 0, 177, 0, 0, 183, 199, 188, 0,
|
|
191, 8, 8, 8, 8, 179, 182, 181, 190
|
|
};
|
|
|
|
/* YYPGOTO[NTERM-NUM]. */
|
|
static const grib_yytype_int16 grib_yypgoto[] =
|
|
{
|
|
-656, -656, 5, 272, -656, -352, 0, -656, -655, -47,
|
|
-308, -202, -656, -656, -656, -443, -141, 545, 214, -656,
|
|
445, -656, -656, -656, -656, -263, 700, -656, -656, 301,
|
|
-656, -85, -345, -656, -81, -144, 837, 1, 103, 30,
|
|
-161, 680, -656, -94, -656, 10, 395, -656, -656, 915
|
|
};
|
|
|
|
/* YYDEFGOTO[NTERM-NUM]. */
|
|
static const grib_yytype_int16 grib_yydefgoto[] =
|
|
{
|
|
0, 80, 290, 547, 569, 505, 617, 83, 672, 176,
|
|
177, 178, 84, 85, 86, 669, 670, 243, 291, 442,
|
|
443, 87, 88, 89, 90, 91, 92, 93, 688, 689,
|
|
94, 95, 507, 508, 96, 179, 180, 181, 182, 183,
|
|
184, 185, 186, 187, 97, 618, 619, 99, 100, 101
|
|
};
|
|
|
|
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
|
positive, shift that token. If negative, reduce the rule whose
|
|
number is the opposite. If YYTABLE_NINF, syntax error. */
|
|
static const grib_yytype_int16 grib_yytable[] =
|
|
{
|
|
82, 566, 463, 344, 510, 81, 224, 305, 231, 232,
|
|
98, 227, 511, 512, 755, 791, 57, 516, 102, 228,
|
|
422, 687, 246, 770, 208, 427, 208, 164, 165, 167,
|
|
308, 208, 563, 564, 563, 564, 225, 226, 563, 564,
|
|
348, 349, 350, 314, 315, 385, 464, 170, 276, 556,
|
|
771, 212, 229, 221, 222, 78, 223, 292, 154, 277,
|
|
175, 213, 238, 156, 351, 155, 554, 316, 317, 318,
|
|
157, 650, 650, 289, 167, 352, 416, 418, 284, 307,
|
|
651, 673, 285, 219, 221, 222, 78, 223, 103, 756,
|
|
565, 169, 170, 171, 172, 899, 674, 561, 603, 173,
|
|
107, 604, 814, 57, 158, 675, 174, 98, 161, 162,
|
|
163, 159, 345, 356, 175, 355, 242, 242, 550, 357,
|
|
552, 104, 242, 551, 553, 242, 242, 242, 242, 242,
|
|
242, 242, 242, 242, 242, 242, 242, 242, 242, 229,
|
|
209, 319, 364, 161, 162, 163, 320, 703, 108, 164,
|
|
165, 221, 222, 78, 223, 281, 557, 513, 282, 283,
|
|
346, 558, 110, 607, 746, 445, 481, 465, 466, 308,
|
|
308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
|
|
308, 308, 308, 247, 164, 165, 359, 241, 248, 166,
|
|
241, 360, 577, 379, 380, 603, 167, 578, 608, 447,
|
|
448, 321, 322, 323, 324, 325, 326, 559, 114, 115,
|
|
168, 560, 175, 169, 170, 171, 172, 242, 365, 404,
|
|
240, 173, 241, 408, 166, 446, 286, 757, 174, 287,
|
|
288, 167, 109, 419, 221, 222, 78, 223, 567, 545,
|
|
546, 221, 222, 78, 223, 175, 175, 752, 169, 170,
|
|
171, 172, 453, 498, 800, 744, 173, 750, 603, 461,
|
|
745, 826, 751, 174, 113, 221, 222, 78, 223, 517,
|
|
621, 175, 225, 226, 241, 175, 518, 355, 807, 221,
|
|
222, 78, 223, 484, 111, 175, 762, 486, 487, 488,
|
|
657, 763, 876, 840, 493, 494, 495, 664, 841, 221,
|
|
222, 78, 223, 623, 175, 847, 112, 241, 888, 428,
|
|
848, 175, 881, 889, 467, 468, 469, 470, 471, 472,
|
|
105, 116, 106, 161, 162, 163, 348, 349, 350, 221,
|
|
222, 78, 223, 640, 642, 175, 645, 224, 135, 175,
|
|
175, 175, 224, 227, 891, 779, 175, 175, 175, 892,
|
|
351, 475, 476, 477, 478, 479, 480, 896, 273, 274,
|
|
429, 352, 897, 117, 164, 165, 118, 542, 119, 430,
|
|
431, 432, 433, 434, 435, 297, 298, 436, 437, 769,
|
|
438, 439, 633, 440, 441, 635, 241, 311, 312, 241,
|
|
686, 242, 743, 638, 268, 120, 269, 241, 121, 749,
|
|
458, 459, 524, 525, 166, 331, 189, 333, 545, 546,
|
|
122, 167, 653, 654, 563, 564, 737, 738, 123, 175,
|
|
801, 802, 473, 474, 124, 168, 125, 126, 169, 170,
|
|
171, 172, 127, 128, 353, 129, 173, 130, 131, 757,
|
|
354, 132, 133, 174, 134, 136, 137, 140, 141, 138,
|
|
142, 139, 598, 599, 600, 601, 602, 381, 382, 143,
|
|
161, 162, 163, 387, 144, 145, 390, 391, 392, 393,
|
|
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
|
|
146, 147, 148, 149, 150, 151, 152, 153, 160, 190,
|
|
191, 214, 193, 188, 194, 195, 196, 192, 197, 198,
|
|
202, 164, 165, 199, 175, 175, 175, 175, 175, 200,
|
|
201, 698, 203, 204, 205, 206, 207, 236, 233, 242,
|
|
620, 210, 220, 625, 234, 211, 242, 242, 630, 242,
|
|
242, 242, 242, 235, 242, 237, 242, 242, 242, 242,
|
|
845, 166, 242, 239, 245, 241, 851, 728, 167, 250,
|
|
728, 251, 266, 267, 242, 271, 270, 272, 289, 295,
|
|
280, 275, 168, 327, 278, 169, 170, 171, 172, 279,
|
|
293, 294, 224, 173, 708, 515, 710, 417, 296, 224,
|
|
174, 299, 300, 301, 310, 302, 719, 303, 721, 304,
|
|
306, 724, 328, 329, 727, 330, 242, 731, 334, 733,
|
|
313, 332, 736, 335, 337, 336, 338, 339, 340, 355,
|
|
358, 341, 362, 212, 353, 342, 242, 343, 347, 363,
|
|
386, 687, 366, 375, 367, 540, 175, 213, 175, 368,
|
|
544, 369, 548, 370, 371, 372, 766, 767, 175, 373,
|
|
175, 374, 376, 175, 377, 242, 175, 242, 378, 175,
|
|
242, 175, 383, 242, 175, 384, 388, 244, 224, 811,
|
|
812, 389, 249, 405, 224, 252, 253, 254, 255, 256,
|
|
257, 258, 259, 260, 261, 262, 263, 264, 265, 406,
|
|
407, 409, 410, 411, 412, 413, 414, 415, 175, 175,
|
|
773, 242, 420, 421, 423, 425, 426, 444, 449, 242,
|
|
242, 454, 455, 456, 457, 782, 450, 451, 452, 462,
|
|
483, 882, 485, 506, 489, 490, 491, 492, 568, 514,
|
|
496, 497, 499, 500, 501, 502, 503, 504, 509, 521,
|
|
356, 522, 354, 357, 519, 527, 531, 526, 520, 523,
|
|
529, 532, 528, 534, 632, 533, 535, 536, 537, 538,
|
|
539, 543, 541, 549, 570, 605, 555, 361, 562, 571,
|
|
224, 572, 573, 575, 574, 579, 224, 576, 658, 580,
|
|
660, 581, 583, 582, 585, 665, 589, 584, 586, 587,
|
|
588, 590, 161, 162, 163, 348, 349, 350, 591, 242,
|
|
242, 242, 242, 242, 592, 242, 593, 596, 242, 682,
|
|
594, 595, 242, 606, 597, 611, 609, 659, 646, 351,
|
|
610, 614, 613, 161, 162, 163, 615, 647, 648, 649,
|
|
352, 856, 858, 164, 165, 655, 700, 860, 861, 656,
|
|
662, 661, 663, 667, 668, 681, 709, 676, 711, 677,
|
|
713, 714, 715, 716, 671, 718, 678, 679, 720, 680,
|
|
722, 723, 690, 725, 164, 165, 683, 730, 684, 696,
|
|
691, 734, 692, 166, 693, 739, 740, 161, 162, 163,
|
|
167, 694, 695, 701, 741, 742, 702, 747, 704, 706,
|
|
707, 712, 717, 748, 168, 753, 754, 169, 170, 171,
|
|
172, 758, 759, 760, 166, 173, 764, 761, 765, 783,
|
|
780, 167, 174, 784, 785, 774, 775, 776, 164, 165,
|
|
786, 787, 788, 781, 798, 168, 790, 793, 169, 170,
|
|
171, 172, 161, 162, 163, 795, 173, 460, 797, 799,
|
|
805, 530, 803, 174, 806, 809, 808, 813, 815, 816,
|
|
789, 817, 818, 792, 827, 821, 794, 819, 166, 796,
|
|
835, 839, 843, 828, 822, 167, 823, 844, 846, 850,
|
|
804, 852, 859, 164, 165, 853, 810, 854, 855, 168,
|
|
868, 871, 169, 170, 171, 172, 872, 874, 697, 875,
|
|
173, 877, 820, 878, 880, 424, 883, 174, 884, 772,
|
|
902, 824, 825, 885, 886, 887, 890, 894, 895, 904,
|
|
905, 909, 911, 166, 912, 913, 914, 666, 482, 837,
|
|
167, 309, 230, 705, 842, 0, 0, 0, 0, 0,
|
|
0, 849, 0, 0, 168, 0, 0, 169, 170, 171,
|
|
172, 0, 0, 0, 0, 173, 0, 0, 0, 0,
|
|
0, 0, 174, 862, 863, 864, 865, 866, 867, 0,
|
|
869, 0, 870, 0, 0, 873, 161, 162, 163, 612,
|
|
0, 0, 879, 0, 0, 0, 622, 624, 0, 626,
|
|
627, 628, 629, 0, 631, 0, 634, 636, 637, 639,
|
|
0, 0, 643, 0, 0, 0, 0, 0, 0, 0,
|
|
893, 0, 0, 0, 652, 898, 0, 164, 165, 0,
|
|
900, 901, 0, 903, 0, 0, 906, 0, 907, 908,
|
|
0, 910, 0, 161, 162, 163, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 915, 916, 917, 918, 0,
|
|
0, 0, 0, 0, 0, 0, 685, 166, 0, 0,
|
|
0, 0, 0, 0, 167, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 164, 165, 699, 0, 168, 0,
|
|
0, 169, 170, 171, 172, 0, 0, 0, 0, 641,
|
|
0, 0, 0, 0, 0, 0, 174, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 726, 0, 729, 0, 0,
|
|
732, 0, 0, 735, 166, 0, 0, 0, 0, 0,
|
|
0, 167, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 168, 0, 0, 169, 170,
|
|
171, 172, 0, 0, 0, 0, 644, 0, 0, 0,
|
|
0, 768, 0, 174, 0, 0, 0, 0, 0, 777,
|
|
778, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 215, 3,
|
|
0, 0, 4, 5, 6, 7, 8, 9, 10, 11,
|
|
12, 13, 0, 0, 0, 0, 0, 0, 0, 14,
|
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
|
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
|
0, 35, 36, 37, 38, 39, 40, 41, 42, 43,
|
|
44, 0, 45, 46, 0, 0, 47, 0, 0, 829,
|
|
830, 831, 832, 833, 0, 834, 0, 0, 836, 0,
|
|
0, 0, 838, 48, 49, 50, 51, 52, 53, 54,
|
|
55, 56, 0, 58, 59, 60, 61, 62, 63, 64,
|
|
65, 66, 67, 68, 0, 69, 70, 71, 72, 73,
|
|
74, 0, 0, 75, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 216, 0,
|
|
0, 217, 0, 0, -8, 1, 0, 0, 2, 3,
|
|
0, 857, 4, 5, 6, 7, 8, 9, 10, 11,
|
|
12, 13, 0, 0, 0, 0, 0, 0, 0, 14,
|
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
|
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
|
0, 35, 36, 37, 38, 39, 40, 41, 42, 43,
|
|
44, 0, 45, 46, 0, 0, 47, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 48, 49, 50, 51, 52, 53, 54,
|
|
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
|
65, 66, 67, 68, 0, 69, 70, 71, 72, 73,
|
|
74, 215, 3, 75, 0, 4, 5, 6, 7, 8,
|
|
9, 10, 11, 12, 13, 0, 0, 0, 76, 77,
|
|
78, 79, 14, 15, 16, 17, 18, 19, 20, 21,
|
|
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
|
|
32, 33, 34, 0, 35, 36, 37, 38, 39, 40,
|
|
41, 42, 43, 44, 0, 45, 46, 0, 0, 47,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 48, 49, 50, 51,
|
|
52, 53, 54, 55, 56, 0, 58, 59, 60, 61,
|
|
62, 63, 64, 65, 66, 67, 68, 0, 69, 70,
|
|
71, 72, 73, 74, 0, 0, 75, 215, 3, 0,
|
|
0, 4, 5, 6, 7, 8, 9, 10, 11, 12,
|
|
13, 216, 0, 0, 217, 0, 218, 0, 14, 15,
|
|
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
|
26, 27, 28, 29, 30, 31, 32, 33, 34, 0,
|
|
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
|
|
0, 45, 46, 0, 0, 47, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 48, 49, 50, 51, 52, 53, 54, 55,
|
|
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
|
|
66, 67, 68, 0, 69, 70, 71, 72, 73, 74,
|
|
215, 3, 75, 0, 4, 5, 6, 7, 8, 9,
|
|
10, 11, 12, 13, 0, 0, 0, 616, 0, 0,
|
|
217, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
|
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
|
|
33, 34, 0, 35, 36, 37, 38, 39, 40, 41,
|
|
42, 43, 44, 0, 45, 46, 0, 0, 47, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 48, 49, 50, 51, 52,
|
|
53, 54, 55, 56, 0, 58, 59, 60, 61, 62,
|
|
63, 64, 65, 66, 67, 68, 0, 69, 70, 71,
|
|
72, 73, 74, 0, 0, 75, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
216, 0, 0, 217
|
|
};
|
|
|
|
static const grib_yytype_int16 grib_yycheck[] =
|
|
{
|
|
0, 444, 310, 205, 356, 0, 91, 168, 102, 103,
|
|
0, 92, 357, 358, 669, 80, 88, 362, 132, 4,
|
|
283, 108, 116, 110, 18, 288, 18, 60, 61, 107,
|
|
174, 18, 80, 81, 80, 81, 124, 125, 80, 81,
|
|
22, 23, 24, 117, 118, 247, 124, 125, 124, 137,
|
|
137, 124, 124, 124, 125, 126, 127, 151, 125, 135,
|
|
55, 134, 109, 125, 46, 132, 137, 141, 142, 143,
|
|
132, 128, 128, 138, 107, 57, 278, 279, 132, 173,
|
|
137, 137, 136, 83, 124, 125, 126, 127, 132, 137,
|
|
136, 124, 125, 126, 127, 137, 128, 137, 128, 132,
|
|
124, 131, 757, 88, 125, 137, 139, 97, 19, 20,
|
|
21, 132, 206, 130, 109, 209, 111, 112, 128, 136,
|
|
132, 132, 117, 133, 136, 120, 121, 122, 123, 124,
|
|
125, 126, 127, 128, 129, 130, 131, 132, 133, 124,
|
|
134, 139, 134, 19, 20, 21, 144, 134, 124, 60,
|
|
61, 124, 125, 126, 127, 132, 128, 359, 135, 136,
|
|
207, 133, 130, 508, 137, 76, 327, 311, 312, 313,
|
|
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
|
|
324, 325, 326, 130, 60, 61, 130, 134, 135, 100,
|
|
134, 135, 128, 240, 241, 128, 107, 133, 131, 293,
|
|
294, 111, 112, 113, 114, 115, 116, 132, 124, 125,
|
|
121, 136, 207, 124, 125, 126, 127, 212, 218, 266,
|
|
132, 132, 134, 270, 100, 136, 132, 670, 139, 135,
|
|
136, 107, 132, 280, 124, 125, 126, 127, 125, 126,
|
|
127, 124, 125, 126, 127, 240, 241, 137, 124, 125,
|
|
126, 127, 299, 347, 137, 128, 132, 128, 128, 306,
|
|
133, 131, 133, 139, 130, 124, 125, 126, 127, 363,
|
|
130, 266, 124, 125, 134, 270, 370, 371, 137, 124,
|
|
125, 126, 127, 330, 124, 280, 128, 334, 335, 336,
|
|
553, 133, 137, 128, 341, 342, 343, 560, 133, 124,
|
|
125, 126, 127, 130, 299, 128, 124, 134, 128, 3,
|
|
133, 306, 137, 133, 313, 314, 315, 316, 317, 318,
|
|
130, 132, 132, 19, 20, 21, 22, 23, 24, 124,
|
|
125, 126, 127, 535, 536, 330, 538, 422, 130, 334,
|
|
335, 336, 427, 424, 128, 697, 341, 342, 343, 133,
|
|
46, 321, 322, 323, 324, 325, 326, 128, 134, 135,
|
|
54, 57, 133, 124, 60, 61, 130, 414, 132, 63,
|
|
64, 65, 66, 67, 68, 124, 125, 71, 72, 687,
|
|
74, 75, 130, 77, 78, 130, 134, 122, 123, 134,
|
|
592, 386, 655, 130, 124, 124, 126, 134, 124, 662,
|
|
124, 125, 124, 125, 100, 191, 129, 193, 126, 127,
|
|
124, 107, 124, 125, 80, 81, 126, 127, 124, 414,
|
|
124, 125, 319, 320, 124, 121, 124, 124, 124, 125,
|
|
126, 127, 124, 124, 130, 124, 132, 124, 124, 882,
|
|
136, 124, 124, 139, 124, 130, 124, 124, 124, 130,
|
|
124, 130, 499, 500, 501, 502, 503, 243, 244, 124,
|
|
19, 20, 21, 249, 124, 124, 252, 253, 254, 255,
|
|
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
|
|
124, 124, 124, 124, 124, 132, 124, 124, 124, 124,
|
|
124, 0, 124, 132, 124, 124, 124, 130, 124, 130,
|
|
124, 60, 61, 130, 499, 500, 501, 502, 503, 130,
|
|
130, 605, 124, 124, 124, 132, 132, 125, 124, 514,
|
|
520, 134, 129, 523, 126, 134, 521, 522, 528, 524,
|
|
525, 526, 527, 126, 529, 125, 531, 532, 533, 534,
|
|
803, 100, 537, 126, 126, 134, 809, 641, 107, 126,
|
|
644, 126, 130, 126, 549, 126, 132, 126, 138, 126,
|
|
132, 135, 121, 119, 134, 124, 125, 126, 127, 134,
|
|
134, 134, 657, 132, 621, 361, 623, 136, 126, 664,
|
|
139, 132, 132, 132, 128, 132, 633, 132, 635, 132,
|
|
132, 638, 120, 124, 641, 132, 591, 644, 132, 646,
|
|
140, 126, 649, 132, 126, 132, 126, 126, 126, 703,
|
|
136, 132, 136, 124, 130, 132, 611, 132, 132, 132,
|
|
124, 108, 134, 131, 134, 411, 621, 134, 623, 134,
|
|
416, 134, 418, 132, 134, 133, 683, 684, 633, 133,
|
|
635, 133, 133, 638, 133, 640, 641, 642, 131, 644,
|
|
645, 646, 131, 648, 649, 133, 131, 112, 743, 753,
|
|
754, 133, 117, 131, 749, 120, 121, 122, 123, 124,
|
|
125, 126, 127, 128, 129, 130, 131, 132, 133, 131,
|
|
131, 131, 131, 124, 124, 124, 132, 124, 683, 684,
|
|
690, 686, 124, 124, 124, 124, 124, 133, 133, 694,
|
|
695, 124, 124, 124, 124, 6, 133, 133, 133, 133,
|
|
128, 852, 131, 124, 131, 131, 131, 131, 446, 124,
|
|
133, 133, 132, 132, 132, 132, 132, 126, 129, 124,
|
|
130, 124, 136, 136, 136, 124, 124, 133, 136, 136,
|
|
131, 124, 136, 124, 530, 131, 124, 124, 133, 124,
|
|
124, 124, 134, 133, 125, 134, 128, 212, 128, 125,
|
|
845, 125, 125, 128, 133, 133, 851, 128, 554, 128,
|
|
556, 128, 124, 133, 124, 561, 124, 133, 133, 133,
|
|
133, 124, 19, 20, 21, 22, 23, 24, 124, 784,
|
|
785, 786, 787, 788, 124, 790, 133, 136, 793, 585,
|
|
133, 133, 797, 137, 133, 131, 137, 125, 132, 46,
|
|
137, 133, 137, 19, 20, 21, 133, 124, 133, 132,
|
|
57, 821, 822, 60, 61, 136, 612, 827, 828, 124,
|
|
136, 125, 124, 124, 124, 133, 622, 125, 624, 125,
|
|
626, 627, 628, 629, 129, 631, 126, 126, 634, 126,
|
|
636, 637, 136, 639, 60, 61, 132, 643, 132, 126,
|
|
133, 647, 133, 100, 133, 651, 652, 19, 20, 21,
|
|
107, 133, 133, 136, 128, 128, 136, 128, 137, 137,
|
|
137, 137, 137, 128, 121, 134, 134, 124, 125, 126,
|
|
127, 129, 125, 133, 100, 132, 128, 133, 128, 6,
|
|
129, 107, 139, 131, 131, 691, 692, 693, 60, 61,
|
|
131, 131, 131, 699, 124, 121, 133, 133, 124, 125,
|
|
126, 127, 19, 20, 21, 133, 132, 133, 133, 124,
|
|
124, 386, 136, 139, 124, 136, 125, 6, 126, 126,
|
|
726, 126, 133, 729, 136, 138, 732, 133, 100, 735,
|
|
132, 128, 128, 136, 138, 107, 137, 128, 128, 128,
|
|
746, 136, 129, 60, 61, 133, 752, 133, 133, 121,
|
|
124, 124, 124, 125, 126, 127, 124, 124, 130, 124,
|
|
132, 124, 768, 124, 124, 285, 137, 139, 137, 688,
|
|
124, 777, 778, 137, 133, 133, 128, 133, 133, 124,
|
|
124, 124, 133, 100, 133, 133, 133, 562, 328, 795,
|
|
107, 174, 97, 618, 800, -1, -1, -1, -1, -1,
|
|
-1, 807, -1, -1, 121, -1, -1, 124, 125, 126,
|
|
127, -1, -1, -1, -1, 132, -1, -1, -1, -1,
|
|
-1, -1, 139, 829, 830, 831, 832, 833, 834, -1,
|
|
836, -1, 838, -1, -1, 841, 19, 20, 21, 514,
|
|
-1, -1, 848, -1, -1, -1, 521, 522, -1, 524,
|
|
525, 526, 527, -1, 529, -1, 531, 532, 533, 534,
|
|
-1, -1, 537, -1, -1, -1, -1, -1, -1, -1,
|
|
876, -1, -1, -1, 549, 881, -1, 60, 61, -1,
|
|
886, 887, -1, 889, -1, -1, 892, -1, 894, 895,
|
|
-1, 897, -1, 19, 20, 21, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 911, 912, 913, 914, -1,
|
|
-1, -1, -1, -1, -1, -1, 591, 100, -1, -1,
|
|
-1, -1, -1, -1, 107, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 60, 61, 611, -1, 121, -1,
|
|
-1, 124, 125, 126, 127, -1, -1, -1, -1, 132,
|
|
-1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 640, -1, 642, -1, -1,
|
|
645, -1, -1, 648, 100, -1, -1, -1, -1, -1,
|
|
-1, 107, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 121, -1, -1, 124, 125,
|
|
126, 127, -1, -1, -1, -1, 132, -1, -1, -1,
|
|
-1, 686, -1, 139, -1, -1, -1, -1, -1, 694,
|
|
695, -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, 4, 5,
|
|
-1, -1, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
16, 17, -1, -1, -1, -1, -1, -1, -1, 25,
|
|
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
|
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
|
|
-1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
|
|
56, -1, 58, 59, -1, -1, 62, -1, -1, 784,
|
|
785, 786, 787, 788, -1, 790, -1, -1, 793, -1,
|
|
-1, -1, 797, 79, 80, 81, 82, 83, 84, 85,
|
|
86, 87, -1, 89, 90, 91, 92, 93, 94, 95,
|
|
96, 97, 98, 99, -1, 101, 102, 103, 104, 105,
|
|
106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 124, -1,
|
|
-1, 127, -1, -1, 0, 1, -1, -1, 4, 5,
|
|
-1, 137, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
16, 17, -1, -1, -1, -1, -1, -1, -1, 25,
|
|
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
|
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
|
|
-1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
|
|
56, -1, 58, 59, -1, -1, 62, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
|
|
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
|
96, 97, 98, 99, -1, 101, 102, 103, 104, 105,
|
|
106, 4, 5, 109, -1, 8, 9, 10, 11, 12,
|
|
13, 14, 15, 16, 17, -1, -1, -1, 124, 125,
|
|
126, 127, 25, 26, 27, 28, 29, 30, 31, 32,
|
|
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
|
|
43, 44, 45, -1, 47, 48, 49, 50, 51, 52,
|
|
53, 54, 55, 56, -1, 58, 59, -1, -1, 62,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 79, 80, 81, 82,
|
|
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
|
|
93, 94, 95, 96, 97, 98, 99, -1, 101, 102,
|
|
103, 104, 105, 106, -1, -1, 109, 4, 5, -1,
|
|
-1, 8, 9, 10, 11, 12, 13, 14, 15, 16,
|
|
17, 124, -1, -1, 127, -1, 129, -1, 25, 26,
|
|
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
|
|
37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
|
|
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
|
|
-1, 58, 59, -1, -1, 62, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
|
|
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
|
|
97, 98, 99, -1, 101, 102, 103, 104, 105, 106,
|
|
4, 5, 109, -1, 8, 9, 10, 11, 12, 13,
|
|
14, 15, 16, 17, -1, -1, -1, 124, -1, -1,
|
|
127, 25, 26, 27, 28, 29, 30, 31, 32, 33,
|
|
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
|
|
44, 45, -1, 47, 48, 49, 50, 51, 52, 53,
|
|
54, 55, 56, -1, 58, 59, -1, -1, 62, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
|
|
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
|
|
94, 95, 96, 97, 98, 99, -1, 101, 102, 103,
|
|
104, 105, 106, -1, -1, 109, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
124, -1, -1, 127
|
|
};
|
|
|
|
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
|
|
state STATE-NUM. */
|
|
static const grib_yytype_uint8 grib_yystos[] =
|
|
{
|
|
0, 1, 4, 5, 8, 9, 10, 11, 12, 13,
|
|
14, 15, 16, 17, 25, 26, 27, 28, 29, 30,
|
|
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
|
|
41, 42, 43, 44, 45, 47, 48, 49, 50, 51,
|
|
52, 53, 54, 55, 56, 58, 59, 62, 79, 80,
|
|
81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
|
|
91, 92, 93, 94, 95, 96, 97, 98, 99, 101,
|
|
102, 103, 104, 105, 106, 109, 124, 125, 126, 127,
|
|
146, 147, 151, 152, 157, 158, 159, 166, 167, 168,
|
|
169, 170, 171, 172, 175, 176, 179, 189, 190, 192,
|
|
193, 194, 132, 132, 132, 130, 132, 124, 124, 132,
|
|
130, 124, 124, 130, 124, 125, 132, 124, 130, 132,
|
|
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
|
|
124, 124, 124, 124, 124, 130, 130, 124, 130, 130,
|
|
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
|
|
124, 132, 124, 124, 125, 132, 125, 132, 125, 132,
|
|
124, 19, 20, 21, 60, 61, 100, 107, 121, 124,
|
|
125, 126, 127, 132, 139, 147, 154, 155, 156, 180,
|
|
181, 182, 183, 184, 185, 186, 187, 188, 132, 129,
|
|
124, 124, 130, 124, 124, 124, 124, 124, 130, 130,
|
|
130, 130, 124, 124, 124, 124, 132, 132, 18, 134,
|
|
134, 134, 124, 134, 0, 4, 124, 127, 129, 151,
|
|
129, 124, 125, 127, 176, 124, 125, 179, 4, 124,
|
|
194, 188, 188, 124, 126, 126, 125, 125, 154, 126,
|
|
132, 134, 147, 162, 162, 126, 188, 130, 135, 162,
|
|
126, 126, 162, 162, 162, 162, 162, 162, 162, 162,
|
|
162, 162, 162, 162, 162, 162, 130, 126, 124, 126,
|
|
132, 126, 126, 134, 135, 135, 124, 135, 134, 134,
|
|
132, 132, 135, 136, 132, 136, 132, 135, 136, 138,
|
|
147, 163, 188, 134, 134, 126, 126, 124, 125, 132,
|
|
132, 132, 132, 132, 132, 185, 132, 188, 180, 181,
|
|
128, 122, 123, 140, 117, 118, 141, 142, 143, 139,
|
|
144, 111, 112, 113, 114, 115, 116, 119, 120, 124,
|
|
132, 163, 126, 163, 132, 132, 132, 126, 126, 126,
|
|
126, 132, 132, 132, 156, 188, 154, 132, 22, 23,
|
|
24, 46, 57, 130, 136, 188, 130, 136, 136, 130,
|
|
135, 162, 136, 132, 134, 151, 134, 134, 134, 134,
|
|
132, 134, 133, 133, 133, 131, 133, 133, 131, 154,
|
|
154, 163, 163, 131, 133, 156, 124, 163, 131, 133,
|
|
163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
|
|
163, 163, 163, 163, 154, 131, 131, 131, 154, 131,
|
|
131, 124, 124, 124, 132, 124, 156, 136, 156, 154,
|
|
124, 124, 170, 124, 171, 124, 124, 170, 3, 54,
|
|
63, 64, 65, 66, 67, 68, 71, 72, 74, 75,
|
|
77, 78, 164, 165, 133, 76, 136, 188, 188, 133,
|
|
133, 133, 133, 154, 124, 124, 124, 124, 124, 125,
|
|
133, 154, 133, 155, 124, 180, 180, 182, 182, 182,
|
|
182, 182, 182, 183, 183, 184, 184, 184, 184, 184,
|
|
184, 185, 186, 128, 154, 131, 154, 154, 154, 131,
|
|
131, 131, 131, 154, 154, 154, 133, 133, 188, 132,
|
|
132, 132, 132, 132, 126, 150, 124, 177, 178, 129,
|
|
150, 177, 177, 156, 124, 163, 177, 188, 188, 136,
|
|
136, 124, 124, 136, 124, 125, 133, 124, 136, 131,
|
|
162, 124, 124, 131, 124, 124, 124, 133, 124, 124,
|
|
163, 134, 154, 124, 163, 126, 127, 148, 163, 133,
|
|
128, 133, 132, 136, 137, 128, 137, 128, 133, 132,
|
|
136, 137, 128, 80, 81, 136, 160, 125, 148, 149,
|
|
125, 125, 125, 125, 133, 128, 128, 128, 133, 133,
|
|
128, 128, 133, 124, 133, 124, 133, 133, 133, 124,
|
|
124, 124, 124, 133, 133, 133, 136, 133, 154, 154,
|
|
154, 154, 154, 128, 131, 134, 137, 177, 131, 137,
|
|
137, 131, 162, 137, 133, 133, 124, 151, 190, 191,
|
|
151, 130, 162, 130, 162, 151, 162, 162, 162, 162,
|
|
151, 162, 163, 130, 162, 130, 162, 162, 130, 162,
|
|
156, 132, 156, 162, 132, 156, 132, 124, 133, 132,
|
|
128, 137, 162, 124, 125, 136, 124, 170, 163, 125,
|
|
163, 125, 136, 124, 170, 163, 165, 124, 124, 160,
|
|
161, 129, 153, 137, 128, 137, 125, 125, 126, 126,
|
|
126, 133, 163, 132, 132, 162, 156, 108, 173, 174,
|
|
136, 133, 133, 133, 133, 133, 126, 130, 188, 162,
|
|
163, 136, 136, 134, 137, 191, 137, 137, 154, 163,
|
|
154, 163, 137, 163, 163, 163, 163, 137, 163, 154,
|
|
163, 154, 163, 163, 154, 163, 162, 154, 188, 162,
|
|
163, 154, 162, 154, 163, 162, 154, 126, 127, 163,
|
|
163, 128, 128, 170, 128, 133, 137, 128, 128, 170,
|
|
128, 133, 137, 134, 134, 153, 137, 160, 129, 125,
|
|
133, 133, 128, 133, 128, 128, 154, 154, 162, 155,
|
|
110, 137, 174, 151, 163, 163, 163, 162, 162, 150,
|
|
129, 163, 6, 6, 131, 131, 131, 131, 131, 163,
|
|
133, 80, 163, 133, 163, 133, 163, 133, 124, 124,
|
|
137, 124, 125, 136, 163, 124, 124, 137, 125, 136,
|
|
163, 188, 188, 6, 153, 126, 126, 126, 133, 133,
|
|
163, 138, 138, 137, 163, 163, 131, 136, 136, 162,
|
|
162, 162, 162, 162, 162, 132, 162, 163, 162, 128,
|
|
128, 133, 163, 128, 128, 170, 128, 128, 133, 163,
|
|
128, 170, 136, 133, 133, 133, 151, 137, 151, 129,
|
|
151, 151, 163, 163, 163, 163, 163, 163, 124, 163,
|
|
163, 124, 124, 163, 124, 124, 137, 124, 124, 163,
|
|
124, 137, 161, 137, 137, 137, 133, 133, 128, 133,
|
|
128, 128, 133, 163, 133, 133, 128, 133, 163, 137,
|
|
163, 163, 124, 163, 124, 124, 163, 163, 163, 124,
|
|
163, 133, 133, 133, 133, 163, 163, 163, 163
|
|
};
|
|
|
|
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
|
|
static const grib_yytype_uint8 grib_yyr1[] =
|
|
{
|
|
0, 145, 146, 146, 146, 146, 146, 146, 147, 148,
|
|
148, 148, 148, 149, 149, 150, 150, 151, 151, 151,
|
|
151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
|
|
153, 153, 154, 154, 155, 155, 156, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
|
157, 158, 158, 158, 158, 159, 159, 159, 160, 160,
|
|
161, 161, 162, 162, 163, 163, 164, 164, 165, 165,
|
|
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
|
|
165, 165, 166, 167, 168, 169, 169, 169, 169, 169,
|
|
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
|
|
169, 169, 169, 169, 170, 170, 171, 171, 172, 172,
|
|
173, 173, 174, 175, 175, 175, 176, 176, 176, 176,
|
|
177, 177, 178, 178, 179, 179, 180, 180, 180, 180,
|
|
181, 181, 181, 181, 181, 181, 181, 181, 181, 182,
|
|
182, 183, 183, 183, 183, 183, 183, 183, 183, 183,
|
|
183, 183, 183, 184, 184, 184, 185, 185, 185, 185,
|
|
185, 185, 185, 185, 185, 185, 186, 186, 187, 187,
|
|
188, 189, 189, 190, 190, 191, 191, 192, 193, 194,
|
|
194
|
|
};
|
|
|
|
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
|
|
static const grib_yytype_int8 grib_yyr2[] =
|
|
{
|
|
0, 2, 1, 1, 1, 1, 1, 1, 0, 1,
|
|
3, 1, 3, 1, 3, 1, 3, 1, 2, 3,
|
|
2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 2, 1, 1, 1, 3, 1, 7, 10, 7,
|
|
10, 7, 4, 7, 7, 7, 7, 4, 7, 7,
|
|
10, 7, 7, 10, 7, 10, 8, 8, 12, 10,
|
|
7, 8, 8, 8, 10, 8, 9, 7, 2, 2,
|
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
4, 4, 4, 4, 4, 7, 6, 7, 2, 5,
|
|
5, 7, 4, 6, 7, 2, 6, 8, 8, 3,
|
|
5, 5, 5, 5, 6, 3, 3, 3, 3, 5,
|
|
2, 7, 4, 8, 10, 5, 5, 5, 5, 2,
|
|
6, 4, 3, 4, 4, 6, 6, 4, 2, 1,
|
|
5, 4, 2, 1, 5, 4, 4, 2, 5, 5,
|
|
1, 7, 11, 7, 11, 6, 7, 11, 4, 4,
|
|
2, 3, 1, 2, 1, 2, 1, 3, 1, 1,
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 1, 8, 7, 7, 6, 9, 12, 12, 14,
|
|
10, 14, 14, 12, 8, 11, 6, 9, 12, 10,
|
|
14, 12, 8, 11, 1, 2, 1, 2, 6, 12,
|
|
1, 2, 4, 10, 9, 7, 5, 5, 5, 5,
|
|
1, 2, 4, 6, 5, 5, 8, 1, 8, 1,
|
|
1, 1, 1, 1, 1, 3, 2, 3, 4, 3,
|
|
1, 3, 3, 3, 3, 3, 1, 4, 6, 6,
|
|
6, 8, 4, 3, 3, 1, 3, 3, 3, 3,
|
|
3, 3, 3, 3, 2, 1, 3, 1, 3, 1,
|
|
1, 1, 1, 4, 2, 1, 2, 1, 7, 1,
|
|
2
|
|
};
|
|
|
|
|
|
enum { YYENOMEM = -2 };
|
|
|
|
#define grib_yyerrok (grib_yyerrstatus = 0)
|
|
#define grib_yyclearin (grib_yychar = YYEMPTY)
|
|
|
|
#define YYACCEPT goto grib_yyacceptlab
|
|
#define YYABORT goto grib_yyabortlab
|
|
#define YYERROR goto grib_yyerrorlab
|
|
#define YYNOMEM goto grib_yyexhaustedlab
|
|
|
|
|
|
#define YYRECOVERING() (!!grib_yyerrstatus)
|
|
|
|
#define YYBACKUP(Token, Value) \
|
|
do \
|
|
if (grib_yychar == YYEMPTY) \
|
|
{ \
|
|
grib_yychar = (Token); \
|
|
grib_yylval = (Value); \
|
|
YYPOPSTACK (grib_yylen); \
|
|
grib_yystate = *grib_yyssp; \
|
|
goto grib_yybackup; \
|
|
} \
|
|
else \
|
|
{ \
|
|
grib_yyerror (YY_("syntax error: cannot back up")); \
|
|
YYERROR; \
|
|
} \
|
|
while (0)
|
|
|
|
/* Backward compatibility with an undocumented macro.
|
|
Use YYerror or YYUNDEF. */
|
|
#define YYERRCODE YYUNDEF
|
|
|
|
|
|
/* 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 (grib_yydebug) \
|
|
YYFPRINTF Args; \
|
|
} while (0)
|
|
|
|
|
|
|
|
|
|
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
|
|
do { \
|
|
if (grib_yydebug) \
|
|
{ \
|
|
YYFPRINTF (stderr, "%s ", Title); \
|
|
grib_yy_symbol_print (stderr, \
|
|
Kind, Value); \
|
|
YYFPRINTF (stderr, "\n"); \
|
|
} \
|
|
} while (0)
|
|
|
|
|
|
/*-----------------------------------.
|
|
| Print this symbol's value on YYO. |
|
|
`-----------------------------------*/
|
|
|
|
static void
|
|
grib_yy_symbol_value_print (FILE *grib_yyo,
|
|
grib_yysymbol_kind_t grib_yykind, YYSTYPE const * const grib_yyvaluep)
|
|
{
|
|
FILE *grib_yyoutput = grib_yyo;
|
|
YY_USE (grib_yyoutput);
|
|
if (!grib_yyvaluep)
|
|
return;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
YY_USE (grib_yykind);
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
}
|
|
|
|
|
|
/*---------------------------.
|
|
| Print this symbol on YYO. |
|
|
`---------------------------*/
|
|
|
|
static void
|
|
grib_yy_symbol_print (FILE *grib_yyo,
|
|
grib_yysymbol_kind_t grib_yykind, YYSTYPE const * const grib_yyvaluep)
|
|
{
|
|
YYFPRINTF (grib_yyo, "%s %s (",
|
|
grib_yykind < YYNTOKENS ? "token" : "nterm", grib_yysymbol_name (grib_yykind));
|
|
|
|
grib_yy_symbol_value_print (grib_yyo, grib_yykind, grib_yyvaluep);
|
|
YYFPRINTF (grib_yyo, ")");
|
|
}
|
|
|
|
/*------------------------------------------------------------------.
|
|
| grib_yy_stack_print -- Print the state stack from its BOTTOM up to its |
|
|
| TOP (included). |
|
|
`------------------------------------------------------------------*/
|
|
|
|
static void
|
|
grib_yy_stack_print (grib_yy_state_t *grib_yybottom, grib_yy_state_t *grib_yytop)
|
|
{
|
|
YYFPRINTF (stderr, "Stack now");
|
|
for (; grib_yybottom <= grib_yytop; grib_yybottom++)
|
|
{
|
|
int grib_yybot = *grib_yybottom;
|
|
YYFPRINTF (stderr, " %d", grib_yybot);
|
|
}
|
|
YYFPRINTF (stderr, "\n");
|
|
}
|
|
|
|
# define YY_STACK_PRINT(Bottom, Top) \
|
|
do { \
|
|
if (grib_yydebug) \
|
|
grib_yy_stack_print ((Bottom), (Top)); \
|
|
} while (0)
|
|
|
|
|
|
/*------------------------------------------------.
|
|
| Report that the YYRULE is going to be reduced. |
|
|
`------------------------------------------------*/
|
|
|
|
static void
|
|
grib_yy_reduce_print (grib_yy_state_t *grib_yyssp, YYSTYPE *grib_yyvsp,
|
|
int grib_yyrule)
|
|
{
|
|
int grib_yylno = grib_yyrline[grib_yyrule];
|
|
int grib_yynrhs = grib_yyr2[grib_yyrule];
|
|
int grib_yyi;
|
|
YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
|
|
grib_yyrule - 1, grib_yylno);
|
|
/* The symbols being reduced. */
|
|
for (grib_yyi = 0; grib_yyi < grib_yynrhs; grib_yyi++)
|
|
{
|
|
YYFPRINTF (stderr, " $%d = ", grib_yyi + 1);
|
|
grib_yy_symbol_print (stderr,
|
|
YY_ACCESSING_SYMBOL (+grib_yyssp[grib_yyi + 1 - grib_yynrhs]),
|
|
&grib_yyvsp[(grib_yyi + 1) - (grib_yynrhs)]);
|
|
YYFPRINTF (stderr, "\n");
|
|
}
|
|
}
|
|
|
|
# define YY_REDUCE_PRINT(Rule) \
|
|
do { \
|
|
if (grib_yydebug) \
|
|
grib_yy_reduce_print (grib_yyssp, grib_yyvsp, Rule); \
|
|
} while (0)
|
|
|
|
/* Nonzero means print parse trace. It is left uninitialized so that
|
|
multiple parsers can coexist. */
|
|
int grib_yydebug;
|
|
#else /* !YYDEBUG */
|
|
# define YYDPRINTF(Args) ((void) 0)
|
|
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
|
|
# define YY_STACK_PRINT(Bottom, Top)
|
|
# define YY_REDUCE_PRINT(Rule)
|
|
#endif /* !YYDEBUG */
|
|
|
|
|
|
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
|
#ifndef YYINITDEPTH
|
|
# define YYINITDEPTH 200
|
|
#endif
|
|
|
|
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
|
|
if the built-in stack extension method is used).
|
|
|
|
Do not make this value too large; the results are undefined if
|
|
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
|
|
evaluated with infinite-precision integer arithmetic. */
|
|
|
|
#ifndef YYMAXDEPTH
|
|
# define YYMAXDEPTH 10000
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-----------------------------------------------.
|
|
| Release the memory associated to this symbol. |
|
|
`-----------------------------------------------*/
|
|
|
|
static void
|
|
grib_yydestruct (const char *grib_yymsg,
|
|
grib_yysymbol_kind_t grib_yykind, YYSTYPE *grib_yyvaluep)
|
|
{
|
|
YY_USE (grib_yyvaluep);
|
|
if (!grib_yymsg)
|
|
grib_yymsg = "Deleting";
|
|
YY_SYMBOL_PRINT (grib_yymsg, grib_yykind, grib_yyvaluep, grib_yylocationp);
|
|
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
YY_USE (grib_yykind);
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
}
|
|
|
|
|
|
/* Lookahead token kind. */
|
|
int grib_yychar;
|
|
|
|
/* The semantic value of the lookahead symbol. */
|
|
YYSTYPE grib_yylval;
|
|
/* Number of syntax errors so far. */
|
|
int grib_yynerrs;
|
|
|
|
|
|
|
|
|
|
/*----------.
|
|
| grib_yyparse. |
|
|
`----------*/
|
|
|
|
int
|
|
grib_yyparse (void)
|
|
{
|
|
grib_yy_state_fast_t grib_yystate = 0;
|
|
/* Number of tokens to shift before error messages enabled. */
|
|
int grib_yyerrstatus = 0;
|
|
|
|
/* Refer to the stacks through separate pointers, to allow grib_yyoverflow
|
|
to reallocate them elsewhere. */
|
|
|
|
/* Their size. */
|
|
YYPTRDIFF_T grib_yystacksize = YYINITDEPTH;
|
|
|
|
/* The state stack: array, bottom, top. */
|
|
grib_yy_state_t grib_yyssa[YYINITDEPTH];
|
|
grib_yy_state_t *grib_yyss = grib_yyssa;
|
|
grib_yy_state_t *grib_yyssp = grib_yyss;
|
|
|
|
/* The semantic value stack: array, bottom, top. */
|
|
YYSTYPE grib_yyvsa[YYINITDEPTH];
|
|
YYSTYPE *grib_yyvs = grib_yyvsa;
|
|
YYSTYPE *grib_yyvsp = grib_yyvs;
|
|
|
|
int grib_yyn;
|
|
/* The return value of grib_yyparse. */
|
|
int grib_yyresult;
|
|
/* Lookahead symbol kind. */
|
|
grib_yysymbol_kind_t grib_yytoken = YYSYMBOL_YYEMPTY;
|
|
/* The variables used to return semantic value and location from the
|
|
action routines. */
|
|
YYSTYPE grib_yyval;
|
|
|
|
|
|
|
|
#define YYPOPSTACK(N) (grib_yyvsp -= (N), grib_yyssp -= (N))
|
|
|
|
/* The number of symbols on the RHS of the reduced rule.
|
|
Keep to zero when no symbol should be popped. */
|
|
int grib_yylen = 0;
|
|
|
|
YYDPRINTF ((stderr, "Starting parse\n"));
|
|
|
|
grib_yychar = YYEMPTY; /* Cause a token to be read. */
|
|
|
|
goto grib_yysetstate;
|
|
|
|
|
|
/*------------------------------------------------------------.
|
|
| grib_yynewstate -- push a new state, which is found in grib_yystate. |
|
|
`------------------------------------------------------------*/
|
|
grib_yynewstate:
|
|
/* In all cases, when you get here, the value and location stacks
|
|
have just been pushed. So pushing a state here evens the stacks. */
|
|
grib_yyssp++;
|
|
|
|
|
|
/*--------------------------------------------------------------------.
|
|
| grib_yysetstate -- set current state (the top of the stack) to grib_yystate. |
|
|
`--------------------------------------------------------------------*/
|
|
grib_yysetstate:
|
|
YYDPRINTF ((stderr, "Entering state %d\n", grib_yystate));
|
|
YY_ASSERT (0 <= grib_yystate && grib_yystate < YYNSTATES);
|
|
YY_IGNORE_USELESS_CAST_BEGIN
|
|
*grib_yyssp = YY_CAST (grib_yy_state_t, grib_yystate);
|
|
YY_IGNORE_USELESS_CAST_END
|
|
YY_STACK_PRINT (grib_yyss, grib_yyssp);
|
|
|
|
if (grib_yyss + grib_yystacksize - 1 <= grib_yyssp)
|
|
#if !defined grib_yyoverflow && !defined YYSTACK_RELOCATE
|
|
YYNOMEM;
|
|
#else
|
|
{
|
|
/* Get the current used size of the three stacks, in elements. */
|
|
YYPTRDIFF_T grib_yysize = grib_yyssp - grib_yyss + 1;
|
|
|
|
# if defined grib_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. */
|
|
grib_yy_state_t *grib_yyss1 = grib_yyss;
|
|
YYSTYPE *grib_yyvs1 = grib_yyvs;
|
|
|
|
/* 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 grib_yyoverflow is a macro. */
|
|
grib_yyoverflow (YY_("memory exhausted"),
|
|
&grib_yyss1, grib_yysize * YYSIZEOF (*grib_yyssp),
|
|
&grib_yyvs1, grib_yysize * YYSIZEOF (*grib_yyvsp),
|
|
&grib_yystacksize);
|
|
grib_yyss = grib_yyss1;
|
|
grib_yyvs = grib_yyvs1;
|
|
}
|
|
# else /* defined YYSTACK_RELOCATE */
|
|
/* Extend the stack our own way. */
|
|
if (YYMAXDEPTH <= grib_yystacksize)
|
|
YYNOMEM;
|
|
grib_yystacksize *= 2;
|
|
if (YYMAXDEPTH < grib_yystacksize)
|
|
grib_yystacksize = YYMAXDEPTH;
|
|
|
|
{
|
|
grib_yy_state_t *grib_yyss1 = grib_yyss;
|
|
union grib_yyalloc *grib_yyptr =
|
|
YY_CAST (union grib_yyalloc *,
|
|
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (grib_yystacksize))));
|
|
if (! grib_yyptr)
|
|
YYNOMEM;
|
|
YYSTACK_RELOCATE (grib_yyss_alloc, grib_yyss);
|
|
YYSTACK_RELOCATE (grib_yyvs_alloc, grib_yyvs);
|
|
# undef YYSTACK_RELOCATE
|
|
if (grib_yyss1 != grib_yyssa)
|
|
YYSTACK_FREE (grib_yyss1);
|
|
}
|
|
# endif
|
|
|
|
grib_yyssp = grib_yyss + grib_yysize - 1;
|
|
grib_yyvsp = grib_yyvs + grib_yysize - 1;
|
|
|
|
YY_IGNORE_USELESS_CAST_BEGIN
|
|
YYDPRINTF ((stderr, "Stack size increased to %ld\n",
|
|
YY_CAST (long, grib_yystacksize)));
|
|
YY_IGNORE_USELESS_CAST_END
|
|
|
|
if (grib_yyss + grib_yystacksize - 1 <= grib_yyssp)
|
|
YYABORT;
|
|
}
|
|
#endif /* !defined grib_yyoverflow && !defined YYSTACK_RELOCATE */
|
|
|
|
|
|
if (grib_yystate == YYFINAL)
|
|
YYACCEPT;
|
|
|
|
goto grib_yybackup;
|
|
|
|
|
|
/*-----------.
|
|
| grib_yybackup. |
|
|
`-----------*/
|
|
grib_yybackup:
|
|
/* Do appropriate processing given the current state. Read a
|
|
lookahead token if we need one and don't already have one. */
|
|
|
|
/* First try to decide what to do without reference to lookahead token. */
|
|
grib_yyn = grib_yypact[grib_yystate];
|
|
if (grib_yypact_value_is_default (grib_yyn))
|
|
goto grib_yydefault;
|
|
|
|
/* Not known => get a lookahead token if don't already have one. */
|
|
|
|
/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
|
|
if (grib_yychar == YYEMPTY)
|
|
{
|
|
YYDPRINTF ((stderr, "Reading a token\n"));
|
|
grib_yychar = grib_yylex ();
|
|
}
|
|
|
|
if (grib_yychar <= YYEOF)
|
|
{
|
|
grib_yychar = YYEOF;
|
|
grib_yytoken = YYSYMBOL_YYEOF;
|
|
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
|
}
|
|
else if (grib_yychar == YYerror)
|
|
{
|
|
/* The scanner already issued an error message, process directly
|
|
to error recovery. But do not keep the error token as
|
|
lookahead, it is too special and may lead us to an endless
|
|
loop in error recovery. */
|
|
grib_yychar = YYUNDEF;
|
|
grib_yytoken = YYSYMBOL_YYerror;
|
|
goto grib_yyerrlab1;
|
|
}
|
|
else
|
|
{
|
|
grib_yytoken = YYTRANSLATE (grib_yychar);
|
|
YY_SYMBOL_PRINT ("Next token is", grib_yytoken, &grib_yylval, &grib_yylloc);
|
|
}
|
|
|
|
/* If the proper action on seeing token YYTOKEN is to reduce or to
|
|
detect an error, take that action. */
|
|
grib_yyn += grib_yytoken;
|
|
if (grib_yyn < 0 || YYLAST < grib_yyn || grib_yycheck[grib_yyn] != grib_yytoken)
|
|
goto grib_yydefault;
|
|
grib_yyn = grib_yytable[grib_yyn];
|
|
if (grib_yyn <= 0)
|
|
{
|
|
if (grib_yytable_value_is_error (grib_yyn))
|
|
goto grib_yyerrlab;
|
|
grib_yyn = -grib_yyn;
|
|
goto grib_yyreduce;
|
|
}
|
|
|
|
/* Count tokens shifted since error; after three, turn off error
|
|
status. */
|
|
if (grib_yyerrstatus)
|
|
grib_yyerrstatus--;
|
|
|
|
/* Shift the lookahead token. */
|
|
YY_SYMBOL_PRINT ("Shifting", grib_yytoken, &grib_yylval, &grib_yylloc);
|
|
grib_yystate = grib_yyn;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
*++grib_yyvsp = grib_yylval;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
|
|
/* Discard the shifted token. */
|
|
grib_yychar = YYEMPTY;
|
|
goto grib_yynewstate;
|
|
|
|
|
|
/*-----------------------------------------------------------.
|
|
| grib_yydefault -- do the default action for the current state. |
|
|
`-----------------------------------------------------------*/
|
|
grib_yydefault:
|
|
grib_yyn = grib_yydefact[grib_yystate];
|
|
if (grib_yyn == 0)
|
|
goto grib_yyerrlab;
|
|
goto grib_yyreduce;
|
|
|
|
|
|
/*-----------------------------.
|
|
| grib_yyreduce -- do a reduction. |
|
|
`-----------------------------*/
|
|
grib_yyreduce:
|
|
/* grib_yyn is the number of a rule to reduce with. */
|
|
grib_yylen = grib_yyr2[grib_yyn];
|
|
|
|
/* If YYLEN is nonzero, implement the default value of the action:
|
|
'$$ = $1'.
|
|
|
|
Otherwise, the following line sets YYVAL to garbage.
|
|
This behavior is undocumented and Bison
|
|
users should not rely upon it. Assigning to YYVAL
|
|
unconditionally makes the parser a bit smaller, and it avoids a
|
|
GCC warning that YYVAL may be used uninitialized. */
|
|
grib_yyval = grib_yyvsp[1-grib_yylen];
|
|
|
|
|
|
YY_REDUCE_PRINT (grib_yyn);
|
|
switch (grib_yyn)
|
|
{
|
|
case 2: /* all: empty */
|
|
#line 263 "griby.y"
|
|
{ grib_parser_all_actions = 0;grib_parser_concept=0;
|
|
grib_parser_hash_array=0;grib_parser_rules=0; }
|
|
#line 2355 "y.tab.c"
|
|
break;
|
|
|
|
case 3: /* all: concept_list */
|
|
#line 265 "griby.y"
|
|
{ grib_parser_concept = reverse_concept((grib_yyvsp[0].concept_value)); }
|
|
#line 2361 "y.tab.c"
|
|
break;
|
|
|
|
case 4: /* all: hash_array_list */
|
|
#line 266 "griby.y"
|
|
{ grib_parser_hash_array = reverse_hash_array((grib_yyvsp[0].hash_array_value)); }
|
|
#line 2367 "y.tab.c"
|
|
break;
|
|
|
|
case 5: /* all: instructions */
|
|
#line 267 "griby.y"
|
|
{ grib_parser_all_actions = (grib_yyvsp[0].act); }
|
|
#line 2373 "y.tab.c"
|
|
break;
|
|
|
|
case 6: /* all: rules */
|
|
#line 268 "griby.y"
|
|
{ grib_parser_rules = (grib_yyvsp[0].rules); }
|
|
#line 2379 "y.tab.c"
|
|
break;
|
|
|
|
case 7: /* all: error */
|
|
#line 270 "griby.y"
|
|
{ grib_parser_all_actions = 0; grib_parser_concept=0;
|
|
grib_parser_hash_array=0; grib_parser_rules=0; }
|
|
#line 2386 "y.tab.c"
|
|
break;
|
|
|
|
case 9: /* dvalues: FLOAT */
|
|
#line 277 "griby.y"
|
|
{ (grib_yyval.dvalue)=grib_darray_push(0,(grib_yyvsp[0].dval));}
|
|
#line 2392 "y.tab.c"
|
|
break;
|
|
|
|
case 10: /* dvalues: dvalues ',' FLOAT */
|
|
#line 278 "griby.y"
|
|
{ (grib_yyval.dvalue)=grib_darray_push((grib_yyvsp[-2].dvalue),(grib_yyvsp[0].dval));}
|
|
#line 2398 "y.tab.c"
|
|
break;
|
|
|
|
case 11: /* dvalues: INTEGER */
|
|
#line 279 "griby.y"
|
|
{ (grib_yyval.dvalue)=grib_darray_push(0,(grib_yyvsp[0].lval));}
|
|
#line 2404 "y.tab.c"
|
|
break;
|
|
|
|
case 12: /* dvalues: dvalues ',' INTEGER */
|
|
#line 280 "griby.y"
|
|
{ (grib_yyval.dvalue)=grib_darray_push((grib_yyvsp[-2].dvalue),(grib_yyvsp[0].lval));}
|
|
#line 2410 "y.tab.c"
|
|
break;
|
|
|
|
case 13: /* svalues: STRING */
|
|
#line 283 "griby.y"
|
|
{ (grib_yyval.svalue)=grib_sarray_push(0,(grib_yyvsp[0].str));}
|
|
#line 2416 "y.tab.c"
|
|
break;
|
|
|
|
case 14: /* svalues: svalues ',' STRING */
|
|
#line 284 "griby.y"
|
|
{ (grib_yyval.svalue)=grib_sarray_push((grib_yyvsp[-2].svalue),(grib_yyvsp[0].str));}
|
|
#line 2422 "y.tab.c"
|
|
break;
|
|
|
|
case 15: /* integer_array: INTEGER */
|
|
#line 288 "griby.y"
|
|
{ (grib_yyval.ivalue)=grib_iarray_push(0,(grib_yyvsp[0].lval));}
|
|
#line 2428 "y.tab.c"
|
|
break;
|
|
|
|
case 16: /* integer_array: integer_array ',' INTEGER */
|
|
#line 289 "griby.y"
|
|
{ (grib_yyval.ivalue)=grib_iarray_push((grib_yyvsp[-2].ivalue),(grib_yyvsp[0].lval));}
|
|
#line 2434 "y.tab.c"
|
|
break;
|
|
|
|
case 18: /* instructions: instruction instructions */
|
|
#line 293 "griby.y"
|
|
{ (grib_yyvsp[-1].act)->next = (grib_yyvsp[0].act); (grib_yyval.act) = (grib_yyvsp[-1].act); }
|
|
#line 2440 "y.tab.c"
|
|
break;
|
|
|
|
case 19: /* instructions: instruction ';' instructions */
|
|
#line 294 "griby.y"
|
|
{ (grib_yyvsp[-2].act)->next = (grib_yyvsp[0].act); (grib_yyval.act) = (grib_yyvsp[-2].act); }
|
|
#line 2446 "y.tab.c"
|
|
break;
|
|
|
|
case 20: /* instructions: instruction ';' */
|
|
#line 295 "griby.y"
|
|
{ (grib_yyval.act) = (grib_yyvsp[-1].act);}
|
|
#line 2452 "y.tab.c"
|
|
break;
|
|
|
|
case 32: /* argument_list: empty */
|
|
#line 314 "griby.y"
|
|
{ (grib_yyval.explist) = 0; }
|
|
#line 2458 "y.tab.c"
|
|
break;
|
|
|
|
case 35: /* arguments: argument ',' arguments */
|
|
#line 319 "griby.y"
|
|
{ (grib_yyvsp[-2].explist)->next_ = (grib_yyvsp[0].explist); (grib_yyval.explist) = (grib_yyvsp[-2].explist); }
|
|
#line 2464 "y.tab.c"
|
|
break;
|
|
|
|
case 36: /* argument: expression */
|
|
#line 322 "griby.y"
|
|
{ (grib_yyval.explist) = grib_arguments_new(grib_parser_context,(grib_yyvsp[0].exp),NULL); }
|
|
#line 2470 "y.tab.c"
|
|
break;
|
|
|
|
case 37: /* simple: UNSIGNED '[' INTEGER ']' IDENT default flags */
|
|
#line 327 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"unsigned",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2476 "y.tab.c"
|
|
break;
|
|
|
|
case 38: /* simple: UNSIGNED '[' INTEGER ']' IDENT '[' argument_list ']' default flags */
|
|
#line 330 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"unsigned",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2482 "y.tab.c"
|
|
break;
|
|
|
|
case 39: /* simple: UNSIGNED '(' INTEGER ')' IDENT default flags */
|
|
#line 333 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"unsigned_bits",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2488 "y.tab.c"
|
|
break;
|
|
|
|
case 40: /* simple: UNSIGNED '(' INTEGER ')' IDENT '[' argument_list ']' default flags */
|
|
#line 336 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"unsigned_bits",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2494 "y.tab.c"
|
|
break;
|
|
|
|
case 41: /* simple: ASCII '[' INTEGER ']' IDENT default flags */
|
|
#line 339 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ascii",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2500 "y.tab.c"
|
|
break;
|
|
|
|
case 42: /* simple: GROUP IDENT default flags */
|
|
#line 342 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"group",0,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2506 "y.tab.c"
|
|
break;
|
|
|
|
case 43: /* simple: GROUP IDENT '(' argument_list ')' default flags */
|
|
#line 345 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"group",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2512 "y.tab.c"
|
|
break;
|
|
|
|
case 44: /* simple: IDENT '=' TO_INTEGER '(' argument_list ')' flags */
|
|
#line 348 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-6].str),"to_integer",0,(grib_yyvsp[-2].explist),0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-6].str)); }
|
|
#line 2518 "y.tab.c"
|
|
break;
|
|
|
|
case 45: /* simple: IDENT '=' SEX2DEC '(' argument_list ')' flags */
|
|
#line 351 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-6].str),"sexagesimal2decimal",0,(grib_yyvsp[-2].explist),0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-6].str)); }
|
|
#line 2524 "y.tab.c"
|
|
break;
|
|
|
|
case 46: /* simple: IDENT '=' TO_STRING '(' argument_list ')' flags */
|
|
#line 354 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-6].str),"to_string",0,(grib_yyvsp[-2].explist),0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-6].str)); }
|
|
#line 2530 "y.tab.c"
|
|
break;
|
|
|
|
case 47: /* simple: NON_ALPHA IDENT default flags */
|
|
#line 357 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"non_alpha",0,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2536 "y.tab.c"
|
|
break;
|
|
|
|
case 48: /* simple: ASCII '[' INTEGER ']' STRING default flags */
|
|
#line 361 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ascii",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2542 "y.tab.c"
|
|
break;
|
|
|
|
case 49: /* simple: BYTE '[' INTEGER ']' IDENT default flags */
|
|
#line 364 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"bytes",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2548 "y.tab.c"
|
|
break;
|
|
|
|
case 50: /* simple: BYTE '[' INTEGER ']' IDENT '[' argument_list ']' default flags */
|
|
#line 367 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"bytes",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2554 "y.tab.c"
|
|
break;
|
|
|
|
case 51: /* simple: KSEC1EXPVER '[' INTEGER ']' IDENT default flags */
|
|
#line 370 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ksec1expver",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2560 "y.tab.c"
|
|
break;
|
|
|
|
case 52: /* simple: SIGNED '[' INTEGER ']' IDENT default flags */
|
|
#line 373 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"signed",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2566 "y.tab.c"
|
|
break;
|
|
|
|
case 53: /* simple: SIGNED '[' INTEGER ']' IDENT '[' argument_list ']' default flags */
|
|
#line 376 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"signed",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2572 "y.tab.c"
|
|
break;
|
|
|
|
case 54: /* simple: SIGNED '(' INTEGER ')' IDENT default flags */
|
|
#line 379 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"signed_bits",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2578 "y.tab.c"
|
|
break;
|
|
|
|
case 55: /* simple: SIGNED '(' INTEGER ')' IDENT '[' argument_list ']' default flags */
|
|
#line 382 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"signed_bits",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2584 "y.tab.c"
|
|
break;
|
|
|
|
case 56: /* simple: CODETABLE '[' INTEGER ']' IDENT argument default flags */
|
|
#line 385 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"codetable",(grib_yyvsp[-5].lval), (grib_yyvsp[-2].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2590 "y.tab.c"
|
|
break;
|
|
|
|
case 57: /* simple: CODETABLE '[' IDENT ']' IDENT argument default flags */
|
|
#line 388 "griby.y"
|
|
{
|
|
/* ECC-485: Set length to 0 and prepend the new argument */
|
|
grib_arguments* a = grib_arguments_new(grib_parser_context, new_accessor_expression(grib_parser_context,(grib_yyvsp[-5].str),0,0),NULL);
|
|
a->next_ = (grib_yyvsp[-2].explist);
|
|
(grib_yyval.act) = grib_action_create_gen(grib_parser_context, (grib_yyvsp[-3].str), "codetable",
|
|
0, a, /* length=0 and additional argument */
|
|
(grib_yyvsp[-1].explist), (grib_yyvsp[0].lval), NULL, NULL);
|
|
free((grib_yyvsp[-3].str));
|
|
}
|
|
#line 2604 "y.tab.c"
|
|
break;
|
|
|
|
case 58: /* simple: CODETABLE '[' INTEGER ']' IDENT argument default SET '(' IDENT ')' flags */
|
|
#line 399 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"codetable",(grib_yyvsp[-9].lval), (grib_yyvsp[-6].explist),(grib_yyvsp[-5].explist),(grib_yyvsp[0].lval),NULL,(grib_yyvsp[-2].str));
|
|
free((grib_yyvsp[-7].str));free((grib_yyvsp[-2].str)); }
|
|
#line 2611 "y.tab.c"
|
|
break;
|
|
|
|
case 59: /* simple: CODETABLE '[' INTEGER ']' IDENT '(' argument_list ')' default flags */
|
|
#line 403 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"codetable",(grib_yyvsp[-7].lval), (grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2617 "y.tab.c"
|
|
break;
|
|
|
|
case 60: /* simple: SMART_TABLE IDENT '(' argument_list ')' default flags */
|
|
#line 406 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"smart_table",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2623 "y.tab.c"
|
|
break;
|
|
|
|
case 61: /* simple: IDENT '=' DICTIONARY '(' argument_list ')' default flags */
|
|
#line 409 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"dictionary",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-7].str)); }
|
|
#line 2629 "y.tab.c"
|
|
break;
|
|
|
|
case 62: /* simple: IDENT '=' GETENV '(' argument_list ')' default flags */
|
|
#line 412 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"getenv",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-7].str)); }
|
|
#line 2635 "y.tab.c"
|
|
break;
|
|
|
|
case 63: /* simple: COMPLEX_CODETABLE '[' INTEGER ']' IDENT argument default flags */
|
|
#line 415 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"complex_codetable",(grib_yyvsp[-5].lval), (grib_yyvsp[-2].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2641 "y.tab.c"
|
|
break;
|
|
|
|
case 64: /* simple: COMPLEX_CODETABLE '[' INTEGER ']' IDENT '(' argument_list ')' default flags */
|
|
#line 418 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"complex_codetable",(grib_yyvsp[-7].lval), (grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2647 "y.tab.c"
|
|
break;
|
|
|
|
case 65: /* simple: FLAG '[' INTEGER ']' IDENT argument default flags */
|
|
#line 421 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"codeflag",(grib_yyvsp[-5].lval), (grib_yyvsp[-2].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2653 "y.tab.c"
|
|
break;
|
|
|
|
case 66: /* simple: LOOKUP '[' INTEGER ']' IDENT '(' argument_list ')' flags */
|
|
#line 424 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-4].str),"lookup",(grib_yyvsp[-6].lval),(grib_yyvsp[-2].explist),NULL,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-4].str)); }
|
|
#line 2659 "y.tab.c"
|
|
break;
|
|
|
|
case 67: /* simple: FLAGBIT IDENT '(' argument_list ')' default flags */
|
|
#line 427 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"bit",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2665 "y.tab.c"
|
|
break;
|
|
|
|
case 68: /* simple: LABEL IDENT */
|
|
#line 430 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"label",0,NULL,NULL,0,NULL,NULL); free((grib_yyvsp[0].str)); }
|
|
#line 2671 "y.tab.c"
|
|
break;
|
|
|
|
case 69: /* simple: LABEL STRING */
|
|
#line 433 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"label",0,NULL,NULL,0,NULL,NULL); free((grib_yyvsp[0].str)); }
|
|
#line 2677 "y.tab.c"
|
|
break;
|
|
|
|
case 70: /* simple: IBMFLOAT IDENT default flags */
|
|
#line 436 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ibmfloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2683 "y.tab.c"
|
|
break;
|
|
|
|
case 71: /* simple: INT8 IDENT default flags */
|
|
#line 440 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int8",1,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2689 "y.tab.c"
|
|
break;
|
|
|
|
case 72: /* simple: UINT8 IDENT default flags */
|
|
#line 443 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint8",1,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2695 "y.tab.c"
|
|
break;
|
|
|
|
case 73: /* simple: INT16 IDENT default flags */
|
|
#line 446 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int16",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2701 "y.tab.c"
|
|
break;
|
|
|
|
case 74: /* simple: UINT16 IDENT default flags */
|
|
#line 449 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint16",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2707 "y.tab.c"
|
|
break;
|
|
|
|
case 75: /* simple: INT16_LITTLE_ENDIAN IDENT default flags */
|
|
#line 452 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int16_little_endian",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2713 "y.tab.c"
|
|
break;
|
|
|
|
case 76: /* simple: UINT16_LITTLE_ENDIAN IDENT default flags */
|
|
#line 455 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint16_little_endian",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2719 "y.tab.c"
|
|
break;
|
|
|
|
case 77: /* simple: INT32 IDENT default flags */
|
|
#line 458 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int32",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2725 "y.tab.c"
|
|
break;
|
|
|
|
case 78: /* simple: UINT32 IDENT default flags */
|
|
#line 461 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint32",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2731 "y.tab.c"
|
|
break;
|
|
|
|
case 79: /* simple: INT32_LITTLE_ENDIAN IDENT default flags */
|
|
#line 464 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int32_little_endian",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2737 "y.tab.c"
|
|
break;
|
|
|
|
case 80: /* simple: UINT32_LITTLE_ENDIAN IDENT default flags */
|
|
#line 467 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint32_little_endian",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2743 "y.tab.c"
|
|
break;
|
|
|
|
case 81: /* simple: INT64 IDENT default flags */
|
|
#line 470 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int64",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2749 "y.tab.c"
|
|
break;
|
|
|
|
case 82: /* simple: UINT64 IDENT default flags */
|
|
#line 473 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint64",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2755 "y.tab.c"
|
|
break;
|
|
|
|
case 83: /* simple: INT64_LITTLE_ENDIAN IDENT default flags */
|
|
#line 476 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int64_little_endian",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2761 "y.tab.c"
|
|
break;
|
|
|
|
case 84: /* simple: UINT64_LITTLE_ENDIAN IDENT default flags */
|
|
#line 479 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint64_little_endian",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); }
|
|
#line 2767 "y.tab.c"
|
|
break;
|
|
|
|
case 85: /* simple: BLOB IDENT '[' argument_list ']' default flags */
|
|
#line 482 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"blob",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); }
|
|
#line 2773 "y.tab.c"
|
|
break;
|
|
|
|
case 86: /* simple: IBMFLOAT IDENT '.' IDENT default flags */
|
|
#line 486 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ibmfloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),(grib_yyvsp[-4].str),NULL);free((grib_yyvsp[-2].str)); free((grib_yyvsp[-4].str)); }
|
|
#line 2779 "y.tab.c"
|
|
break;
|
|
|
|
case 87: /* simple: IBMFLOAT IDENT '[' argument ']' default flags */
|
|
#line 489 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"ibmfloat",4,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-5].str)); }
|
|
#line 2785 "y.tab.c"
|
|
break;
|
|
|
|
case 88: /* simple: POS IDENT */
|
|
#line 492 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"position",0,NULL,NULL,0,NULL,NULL); free((grib_yyvsp[0].str)); }
|
|
#line 2791 "y.tab.c"
|
|
break;
|
|
|
|
case 89: /* simple: INTCONST IDENT '=' argument flags */
|
|
#line 495 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_variable(grib_parser_context,(grib_yyvsp[-3].str),"constant",0,(grib_yyvsp[-1].explist),NULL,(grib_yyvsp[0].lval),NULL);free((grib_yyvsp[-3].str)); }
|
|
#line 2797 "y.tab.c"
|
|
break;
|
|
|
|
case 90: /* simple: TRANS IDENT '=' argument flags */
|
|
#line 498 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_variable(grib_parser_context,(grib_yyvsp[-3].str),"transient",0,(grib_yyvsp[-1].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2803 "y.tab.c"
|
|
break;
|
|
|
|
case 91: /* simple: TRANS IDENT '=' '{' dvalues '}' flags */
|
|
#line 500 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_transient_darray(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-2].dvalue),(grib_yyvsp[0].lval)); free((grib_yyvsp[-5].str)); }
|
|
#line 2809 "y.tab.c"
|
|
break;
|
|
|
|
case 92: /* simple: FLOAT IDENT default flags */
|
|
#line 503 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ieeefloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); }
|
|
#line 2815 "y.tab.c"
|
|
break;
|
|
|
|
case 93: /* simple: FLOAT IDENT '.' IDENT default flags */
|
|
#line 506 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ieeefloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),(grib_yyvsp[-4].str),NULL); free((grib_yyvsp[-2].str));free((grib_yyvsp[-4].str));}
|
|
#line 2821 "y.tab.c"
|
|
break;
|
|
|
|
case 94: /* simple: FLOAT IDENT '[' argument ']' default flags */
|
|
#line 509 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"ieeefloat",4,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-5].str)); }
|
|
#line 2827 "y.tab.c"
|
|
break;
|
|
|
|
case 95: /* simple: G1_HALF_BYTE IDENT */
|
|
#line 512 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"g1_half_byte_codeflag",0,NULL,NULL,0,NULL,NULL);free((grib_yyvsp[0].str)); }
|
|
#line 2833 "y.tab.c"
|
|
break;
|
|
|
|
case 96: /* simple: SECTION_LENGTH '[' INTEGER ']' IDENT default */
|
|
#line 515 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"section_length",(grib_yyvsp[-3].lval),NULL,(grib_yyvsp[0].explist),0,NULL,NULL);free((grib_yyvsp[-1].str)); }
|
|
#line 2839 "y.tab.c"
|
|
break;
|
|
|
|
case 97: /* simple: G1_MESSAGE_LENGTH '[' INTEGER ']' IDENT '(' argument_list ')' */
|
|
#line 518 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"g1_message_length",(grib_yyvsp[-5].lval),(grib_yyvsp[-1].explist),NULL,0,NULL,NULL);free((grib_yyvsp[-3].str)); }
|
|
#line 2845 "y.tab.c"
|
|
break;
|
|
|
|
case 98: /* simple: G1_SECTION4_LENGTH '[' INTEGER ']' IDENT '(' argument_list ')' */
|
|
#line 521 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"g1_section4_length",(grib_yyvsp[-5].lval),(grib_yyvsp[-1].explist),NULL,0,NULL,NULL);free((grib_yyvsp[-3].str)); }
|
|
#line 2851 "y.tab.c"
|
|
break;
|
|
|
|
case 99: /* simple: KSEC IDENT argument */
|
|
#line 524 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"ksec",0,(grib_yyvsp[0].explist),NULL,0,NULL,NULL);free((grib_yyvsp[-1].str)); }
|
|
#line 2857 "y.tab.c"
|
|
break;
|
|
|
|
case 100: /* simple: PAD IDENT '(' argument_list ')' */
|
|
#line 527 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"pad",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2863 "y.tab.c"
|
|
break;
|
|
|
|
case 101: /* simple: PADTO IDENT '(' argument_list ')' */
|
|
#line 530 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"padto",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2869 "y.tab.c"
|
|
break;
|
|
|
|
case 102: /* simple: PADTOEVEN IDENT '(' argument_list ')' */
|
|
#line 533 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"padtoeven",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2875 "y.tab.c"
|
|
break;
|
|
|
|
case 103: /* simple: PADTOMULTIPLE IDENT '(' argument_list ')' */
|
|
#line 536 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"padtomultiple",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); }
|
|
#line 2881 "y.tab.c"
|
|
break;
|
|
|
|
case 104: /* simple: MESSAGE '[' INTEGER ']' IDENT flags */
|
|
#line 539 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"message",(grib_yyvsp[-3].lval),0,0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-1].str)); }
|
|
#line 2887 "y.tab.c"
|
|
break;
|
|
|
|
case 105: /* simple: MESSAGE_COPY IDENT flags */
|
|
#line 542 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"message_copy",0,0,0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-1].str)); }
|
|
#line 2893 "y.tab.c"
|
|
break;
|
|
|
|
case 106: /* simple: SECTION_PADDING IDENT flags */
|
|
#line 545 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"section_padding",0,0,0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-1].str)); }
|
|
#line 2899 "y.tab.c"
|
|
break;
|
|
|
|
case 107: /* simple: TEMPLATE IDENT STRING */
|
|
#line 547 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_template(grib_parser_context,0,(grib_yyvsp[-1].str),(grib_yyvsp[0].str)); free((grib_yyvsp[-1].str)); free((grib_yyvsp[0].str));}
|
|
#line 2905 "y.tab.c"
|
|
break;
|
|
|
|
case 108: /* simple: TEMPLATE_NOFAIL IDENT STRING */
|
|
#line 549 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_template(grib_parser_context,1,(grib_yyvsp[-1].str),(grib_yyvsp[0].str)); free((grib_yyvsp[-1].str)); free((grib_yyvsp[0].str));}
|
|
#line 2911 "y.tab.c"
|
|
break;
|
|
|
|
case 109: /* simple: ALIAS IDENT '=' IDENT flags */
|
|
#line 552 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str),NULL,(grib_yyvsp[0].lval)); free((grib_yyvsp[-3].str)); free((grib_yyvsp[-1].str)); }
|
|
#line 2917 "y.tab.c"
|
|
break;
|
|
|
|
case 110: /* simple: UNALIAS IDENT */
|
|
#line 555 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[0].str),NULL,NULL,0); free((grib_yyvsp[0].str)); }
|
|
#line 2923 "y.tab.c"
|
|
break;
|
|
|
|
case 111: /* simple: ALIAS IDENT '.' IDENT '=' IDENT flags */
|
|
#line 558 "griby.y"
|
|
{
|
|
(grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str),(grib_yyvsp[-5].str),(grib_yyvsp[0].lval)); free((grib_yyvsp[-5].str)); free((grib_yyvsp[-3].str)); free((grib_yyvsp[-1].str));
|
|
}
|
|
#line 2931 "y.tab.c"
|
|
break;
|
|
|
|
case 112: /* simple: UNALIAS IDENT '.' IDENT */
|
|
#line 562 "griby.y"
|
|
{
|
|
(grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[0].str),NULL,(grib_yyvsp[-2].str),0); free((grib_yyvsp[-2].str)); free((grib_yyvsp[0].str));
|
|
}
|
|
#line 2939 "y.tab.c"
|
|
break;
|
|
|
|
case 113: /* simple: META IDENT IDENT '(' argument_list ')' default flags */
|
|
#line 566 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_meta(grib_parser_context,(grib_yyvsp[-6].str),(grib_yyvsp[-5].str),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL); free((grib_yyvsp[-6].str));free((grib_yyvsp[-5].str));}
|
|
#line 2945 "y.tab.c"
|
|
break;
|
|
|
|
case 114: /* simple: META IDENT '.' IDENT IDENT '(' argument_list ')' default flags */
|
|
#line 569 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_meta(grib_parser_context,(grib_yyvsp[-6].str),(grib_yyvsp[-5].str),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),(grib_yyvsp[-8].str)); free((grib_yyvsp[-6].str));free((grib_yyvsp[-5].str));free((grib_yyvsp[-8].str));}
|
|
#line 2951 "y.tab.c"
|
|
break;
|
|
|
|
case 115: /* simple: ITERATOR IDENT '(' argument_list ')' */
|
|
#line 572 "griby.y"
|
|
{
|
|
grib_arguments* a = grib_arguments_new(
|
|
grib_parser_context,
|
|
new_accessor_expression(grib_parser_context,(grib_yyvsp[-3].str),0,0),
|
|
NULL
|
|
);
|
|
a->next_=(grib_yyvsp[-1].explist);
|
|
(grib_yyval.act) = grib_action_create_meta(grib_parser_context,
|
|
"ITERATOR","iterator",a,NULL,
|
|
GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str));
|
|
}
|
|
#line 2967 "y.tab.c"
|
|
break;
|
|
|
|
case 116: /* simple: NEAREST IDENT '(' argument_list ')' */
|
|
#line 584 "griby.y"
|
|
{
|
|
grib_arguments* a = grib_arguments_new(
|
|
grib_parser_context,
|
|
new_accessor_expression(grib_parser_context,(grib_yyvsp[-3].str),0,0),
|
|
NULL
|
|
);
|
|
a->next_=(grib_yyvsp[-1].explist);
|
|
(grib_yyval.act) = grib_action_create_meta(grib_parser_context,
|
|
"NEAREST","nearest",a,NULL,
|
|
GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str));
|
|
}
|
|
#line 2983 "y.tab.c"
|
|
break;
|
|
|
|
case 117: /* simple: BOX IDENT '(' argument_list ')' */
|
|
#line 596 "griby.y"
|
|
{
|
|
grib_arguments* a = grib_arguments_new(
|
|
grib_parser_context,
|
|
new_accessor_expression(grib_parser_context,(grib_yyvsp[-3].str),0,0),
|
|
NULL
|
|
);
|
|
a->next_=(grib_yyvsp[-1].explist);
|
|
(grib_yyval.act) = grib_action_create_meta(grib_parser_context,
|
|
"BOX","box",a,NULL,
|
|
GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str));
|
|
}
|
|
#line 2999 "y.tab.c"
|
|
break;
|
|
|
|
case 118: /* simple: EXPORT IDENT '(' argument_list ')' */
|
|
#line 608 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_put(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].explist));free((grib_yyvsp[-3].str));}
|
|
#line 3005 "y.tab.c"
|
|
break;
|
|
|
|
case 119: /* simple: REMOVE argument_list */
|
|
#line 611 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_remove(grib_parser_context,(grib_yyvsp[0].explist));}
|
|
#line 3011 "y.tab.c"
|
|
break;
|
|
|
|
case 120: /* simple: RENAME '(' IDENT ',' IDENT ')' */
|
|
#line 613 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_rename(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str));free((grib_yyvsp[-3].str));free((grib_yyvsp[-1].str));}
|
|
#line 3017 "y.tab.c"
|
|
break;
|
|
|
|
case 121: /* simple: ASSERT '(' expression ')' */
|
|
#line 616 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_assert(grib_parser_context,(grib_yyvsp[-1].exp));}
|
|
#line 3023 "y.tab.c"
|
|
break;
|
|
|
|
case 122: /* simple: MODIFY IDENT flags */
|
|
#line 619 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_modify(grib_parser_context,(grib_yyvsp[-1].str),(grib_yyvsp[0].lval)); free((grib_yyvsp[-1].str));}
|
|
#line 3029 "y.tab.c"
|
|
break;
|
|
|
|
case 123: /* simple: SET IDENT '=' MISSING */
|
|
#line 621 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set_missing(grib_parser_context,(grib_yyvsp[-2].str)); free((grib_yyvsp[-2].str)); }
|
|
#line 3035 "y.tab.c"
|
|
break;
|
|
|
|
case 124: /* simple: SET IDENT '=' expression */
|
|
#line 622 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),0); free((grib_yyvsp[-2].str)); }
|
|
#line 3041 "y.tab.c"
|
|
break;
|
|
|
|
case 125: /* simple: SET IDENT '=' '{' dvalues '}' */
|
|
#line 623 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set_darray(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].dvalue)); free((grib_yyvsp[-4].str)); }
|
|
#line 3047 "y.tab.c"
|
|
break;
|
|
|
|
case 126: /* simple: SET IDENT '=' '{' svalues '}' */
|
|
#line 624 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set_sarray(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].svalue)); free((grib_yyvsp[-4].str)); }
|
|
#line 3053 "y.tab.c"
|
|
break;
|
|
|
|
case 127: /* simple: SET_NOFAIL IDENT '=' expression */
|
|
#line 626 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),1); free((grib_yyvsp[-2].str)); }
|
|
#line 3059 "y.tab.c"
|
|
break;
|
|
|
|
case 128: /* simple: WRITE STRING */
|
|
#line 629 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),0,0); free((grib_yyvsp[0].str));}
|
|
#line 3065 "y.tab.c"
|
|
break;
|
|
|
|
case 129: /* simple: WRITE */
|
|
#line 630 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",0,0); }
|
|
#line 3071 "y.tab.c"
|
|
break;
|
|
|
|
case 130: /* simple: WRITE '(' INTEGER ')' STRING */
|
|
#line 631 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),0,(grib_yyvsp[-2].lval)); free((grib_yyvsp[0].str));}
|
|
#line 3077 "y.tab.c"
|
|
break;
|
|
|
|
case 131: /* simple: WRITE '(' INTEGER ')' */
|
|
#line 632 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",0,(grib_yyvsp[-1].lval)); }
|
|
#line 3083 "y.tab.c"
|
|
break;
|
|
|
|
case 132: /* simple: APPEND STRING */
|
|
#line 633 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),1,0); free((grib_yyvsp[0].str));}
|
|
#line 3089 "y.tab.c"
|
|
break;
|
|
|
|
case 133: /* simple: APPEND */
|
|
#line 634 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",1,0); }
|
|
#line 3095 "y.tab.c"
|
|
break;
|
|
|
|
case 134: /* simple: APPEND '(' INTEGER ')' STRING */
|
|
#line 635 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),1,(grib_yyvsp[-2].lval)); free((grib_yyvsp[0].str));}
|
|
#line 3101 "y.tab.c"
|
|
break;
|
|
|
|
case 135: /* simple: APPEND '(' INTEGER ')' */
|
|
#line 636 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",1,(grib_yyvsp[-1].lval)); }
|
|
#line 3107 "y.tab.c"
|
|
break;
|
|
|
|
case 136: /* simple: CLOSE '(' IDENT ')' */
|
|
#line 638 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_close(grib_parser_context,(grib_yyvsp[-1].str)); free((grib_yyvsp[-1].str));}
|
|
#line 3113 "y.tab.c"
|
|
break;
|
|
|
|
case 137: /* simple: PRINT STRING */
|
|
#line 639 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_print(grib_parser_context,(grib_yyvsp[0].str),0); free((grib_yyvsp[0].str)); }
|
|
#line 3119 "y.tab.c"
|
|
break;
|
|
|
|
case 138: /* simple: PRINT '(' STRING ')' STRING */
|
|
#line 640 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_print(grib_parser_context,(grib_yyvsp[0].str),(grib_yyvsp[-2].str)); free((grib_yyvsp[0].str)); free((grib_yyvsp[-2].str));}
|
|
#line 3125 "y.tab.c"
|
|
break;
|
|
|
|
case 139: /* simple: PRINT '(' IDENT ')' STRING */
|
|
#line 641 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_print(grib_parser_context,(grib_yyvsp[0].str),(grib_yyvsp[-2].str)); free((grib_yyvsp[0].str)); free((grib_yyvsp[-2].str));}
|
|
#line 3131 "y.tab.c"
|
|
break;
|
|
|
|
case 140: /* simple: PRINT */
|
|
#line 642 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_print(grib_parser_context,"",0); }
|
|
#line 3137 "y.tab.c"
|
|
break;
|
|
|
|
case 141: /* if_block: IF '(' expression ')' '{' instructions '}' */
|
|
#line 646 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),0,0,grib_yylineno,file_being_parsed()); }
|
|
#line 3143 "y.tab.c"
|
|
break;
|
|
|
|
case 142: /* if_block: IF '(' expression ')' '{' instructions '}' ELSE '{' instructions '}' */
|
|
#line 647 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-8].exp),(grib_yyvsp[-5].act),(grib_yyvsp[-1].act),0,grib_yylineno,file_being_parsed()); }
|
|
#line 3149 "y.tab.c"
|
|
break;
|
|
|
|
case 143: /* if_block: IF_TRANSIENT '(' expression ')' '{' instructions '}' */
|
|
#line 648 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),0,1,grib_yylineno,file_being_parsed()); }
|
|
#line 3155 "y.tab.c"
|
|
break;
|
|
|
|
case 144: /* if_block: IF_TRANSIENT '(' expression ')' '{' instructions '}' ELSE '{' instructions '}' */
|
|
#line 649 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-8].exp),(grib_yyvsp[-5].act),(grib_yyvsp[-1].act),1,grib_yylineno,file_being_parsed()); }
|
|
#line 3161 "y.tab.c"
|
|
break;
|
|
|
|
case 145: /* when_block: WHEN '(' expression ')' set semi */
|
|
#line 653 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-3].exp),(grib_yyvsp[-1].act),NULL); }
|
|
#line 3167 "y.tab.c"
|
|
break;
|
|
|
|
case 146: /* when_block: WHEN '(' expression ')' '{' set_list '}' */
|
|
#line 654 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),NULL); }
|
|
#line 3173 "y.tab.c"
|
|
break;
|
|
|
|
case 147: /* when_block: WHEN '(' expression ')' '{' set_list '}' ELSE '{' set_list '}' */
|
|
#line 655 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-8].exp),(grib_yyvsp[-5].act),(grib_yyvsp[-1].act)); }
|
|
#line 3179 "y.tab.c"
|
|
break;
|
|
|
|
case 148: /* set: SET IDENT '=' expression */
|
|
#line 658 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),0); free((grib_yyvsp[-2].str)); }
|
|
#line 3185 "y.tab.c"
|
|
break;
|
|
|
|
case 149: /* set: SET_NOFAIL IDENT '=' expression */
|
|
#line 659 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),1); free((grib_yyvsp[-2].str)); }
|
|
#line 3191 "y.tab.c"
|
|
break;
|
|
|
|
case 151: /* set_list: set_list set semi */
|
|
#line 663 "griby.y"
|
|
{ (grib_yyvsp[-2].act)->next = (grib_yyvsp[-1].act); (grib_yyval.act) = (grib_yyvsp[-2].act); }
|
|
#line 3197 "y.tab.c"
|
|
break;
|
|
|
|
case 152: /* default: empty */
|
|
#line 667 "griby.y"
|
|
{ (grib_yyval.explist) = NULL ;}
|
|
#line 3203 "y.tab.c"
|
|
break;
|
|
|
|
case 153: /* default: '=' argument_list */
|
|
#line 668 "griby.y"
|
|
{ (grib_yyval.explist) = (grib_yyvsp[0].explist) ;}
|
|
#line 3209 "y.tab.c"
|
|
break;
|
|
|
|
case 154: /* flags: empty */
|
|
#line 671 "griby.y"
|
|
{ (grib_yyval.lval) = 0 ; }
|
|
#line 3215 "y.tab.c"
|
|
break;
|
|
|
|
case 155: /* flags: ':' flag_list */
|
|
#line 672 "griby.y"
|
|
{ (grib_yyval.lval) = (grib_yyvsp[0].lval); }
|
|
#line 3221 "y.tab.c"
|
|
break;
|
|
|
|
case 157: /* flag_list: flag_list ',' flag */
|
|
#line 676 "griby.y"
|
|
{ (grib_yyval.lval) = (grib_yyvsp[-2].lval) | (grib_yyvsp[0].lval); }
|
|
#line 3227 "y.tab.c"
|
|
break;
|
|
|
|
case 158: /* flag: READ_ONLY */
|
|
#line 679 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_READ_ONLY; }
|
|
#line 3233 "y.tab.c"
|
|
break;
|
|
|
|
case 159: /* flag: LOWERCASE */
|
|
#line 680 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_LOWERCASE; }
|
|
#line 3239 "y.tab.c"
|
|
break;
|
|
|
|
case 160: /* flag: DUMP */
|
|
#line 681 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_DUMP; }
|
|
#line 3245 "y.tab.c"
|
|
break;
|
|
|
|
case 161: /* flag: NO_COPY */
|
|
#line 682 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_NO_COPY; }
|
|
#line 3251 "y.tab.c"
|
|
break;
|
|
|
|
case 162: /* flag: NO_FAIL */
|
|
#line 683 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_NO_FAIL; }
|
|
#line 3257 "y.tab.c"
|
|
break;
|
|
|
|
case 163: /* flag: HIDDEN */
|
|
#line 684 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_HIDDEN; }
|
|
#line 3263 "y.tab.c"
|
|
break;
|
|
|
|
case 164: /* flag: EDITION_SPECIFIC */
|
|
#line 685 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; }
|
|
#line 3269 "y.tab.c"
|
|
break;
|
|
|
|
case 165: /* flag: CAN_BE_MISSING */
|
|
#line 686 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_CAN_BE_MISSING; }
|
|
#line 3275 "y.tab.c"
|
|
break;
|
|
|
|
case 166: /* flag: CONSTRAINT */
|
|
#line 687 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_CONSTRAINT; }
|
|
#line 3281 "y.tab.c"
|
|
break;
|
|
|
|
case 167: /* flag: COPY_OK */
|
|
#line 688 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_COPY_OK; }
|
|
#line 3287 "y.tab.c"
|
|
break;
|
|
|
|
case 168: /* flag: TRANS */
|
|
#line 689 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_TRANSIENT; }
|
|
#line 3293 "y.tab.c"
|
|
break;
|
|
|
|
case 169: /* flag: STRING_TYPE */
|
|
#line 690 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_STRING_TYPE; }
|
|
#line 3299 "y.tab.c"
|
|
break;
|
|
|
|
case 170: /* flag: LONG_TYPE */
|
|
#line 691 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_LONG_TYPE; }
|
|
#line 3305 "y.tab.c"
|
|
break;
|
|
|
|
case 171: /* flag: DOUBLE_TYPE */
|
|
#line 692 "griby.y"
|
|
{ (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_DOUBLE_TYPE; }
|
|
#line 3311 "y.tab.c"
|
|
break;
|
|
|
|
case 172: /* list_block: IDENT LIST '(' expression ')' '{' instructions '}' */
|
|
#line 695 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_list(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act)); free((grib_yyvsp[-7].str)); }
|
|
#line 3317 "y.tab.c"
|
|
break;
|
|
|
|
case 173: /* while_block: WHILE '(' expression ')' '{' instructions '}' */
|
|
#line 698 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_while(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act)); }
|
|
#line 3323 "y.tab.c"
|
|
break;
|
|
|
|
case 174: /* trigger_block: TRIGGER '(' argument_list ')' '{' instructions '}' */
|
|
#line 701 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_trigger(grib_parser_context,(grib_yyvsp[-4].explist),(grib_yyvsp[-1].act)); }
|
|
#line 3329 "y.tab.c"
|
|
break;
|
|
|
|
case 175: /* concept_block: CONCEPT IDENT '{' concept_list '}' flags */
|
|
#line 704 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,0,0,0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-4].str)); }
|
|
#line 3335 "y.tab.c"
|
|
break;
|
|
|
|
case 176: /* concept_block: CONCEPT IDENT '(' IDENT ')' '{' concept_list '}' flags */
|
|
#line 705 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,0,(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); }
|
|
#line 3341 "y.tab.c"
|
|
break;
|
|
|
|
case 177: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */
|
|
#line 706 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3347 "y.tab.c"
|
|
break;
|
|
|
|
case 178: /* concept_block: CONCEPT IDENT '(' IDENT ',' IDENT ',' IDENT ',' IDENT ')' flags */
|
|
#line 707 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3353 "y.tab.c"
|
|
break;
|
|
|
|
case 179: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ',' IDENT ')' flags */
|
|
#line 708 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-12].str),0,(grib_yyvsp[-8].str),0,(grib_yyvsp[-10].str),(grib_yyvsp[-6].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),(grib_yyvsp[0].lval),0); free((grib_yyvsp[-12].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3359 "y.tab.c"
|
|
break;
|
|
|
|
case 180: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */
|
|
#line 709 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3365 "y.tab.c"
|
|
break;
|
|
|
|
case 181: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */
|
|
#line 711 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-12].str),(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str)); free((grib_yyvsp[-2].str)); free((grib_yyvsp[-12].str));}
|
|
#line 3371 "y.tab.c"
|
|
break;
|
|
|
|
case 182: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' IDENT ',' IDENT ',' IDENT ')' flags */
|
|
#line 712 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-12].str),(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str)); free((grib_yyvsp[-2].str)); free((grib_yyvsp[-12].str));}
|
|
#line 3377 "y.tab.c"
|
|
break;
|
|
|
|
case 183: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */
|
|
#line 713 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),(grib_yyvsp[-10].str),(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); free((grib_yyvsp[-10].str));}
|
|
#line 3383 "y.tab.c"
|
|
break;
|
|
|
|
case 184: /* concept_block: CONCEPT IDENT '.' IDENT '{' concept_list '}' flags */
|
|
#line 714 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-6].str),0,0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-6].str));free((grib_yyvsp[-4].str)); }
|
|
#line 3389 "y.tab.c"
|
|
break;
|
|
|
|
case 185: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */
|
|
#line 715 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-9].str),(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-9].str));free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); }
|
|
#line 3395 "y.tab.c"
|
|
break;
|
|
|
|
case 186: /* concept_block: CONCEPT_NOFAIL IDENT '{' concept_list '}' flags */
|
|
#line 717 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,0,0,0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-4].str)); }
|
|
#line 3401 "y.tab.c"
|
|
break;
|
|
|
|
case 187: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ')' '{' concept_list '}' flags */
|
|
#line 718 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,0,(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); }
|
|
#line 3407 "y.tab.c"
|
|
break;
|
|
|
|
case 188: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */
|
|
#line 719 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3413 "y.tab.c"
|
|
break;
|
|
|
|
case 189: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */
|
|
#line 720 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3419 "y.tab.c"
|
|
break;
|
|
|
|
case 190: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */
|
|
#line 721 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-12].str),(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); free((grib_yyvsp[-12].str));}
|
|
#line 3425 "y.tab.c"
|
|
break;
|
|
|
|
case 191: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */
|
|
#line 722 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),(grib_yyvsp[-10].str),(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); free((grib_yyvsp[-10].str));}
|
|
#line 3431 "y.tab.c"
|
|
break;
|
|
|
|
case 192: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '{' concept_list '}' flags */
|
|
#line 723 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-6].str),0,0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-6].str));free((grib_yyvsp[-4].str)); }
|
|
#line 3437 "y.tab.c"
|
|
break;
|
|
|
|
case 193: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */
|
|
#line 724 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-9].str),(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-9].str));free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); }
|
|
#line 3443 "y.tab.c"
|
|
break;
|
|
|
|
case 195: /* concept_list: concept_list concept_value */
|
|
#line 729 "griby.y"
|
|
{ (grib_yyval.concept_value) = (grib_yyvsp[0].concept_value); (grib_yyvsp[0].concept_value)->next = (grib_yyvsp[-1].concept_value); }
|
|
#line 3449 "y.tab.c"
|
|
break;
|
|
|
|
case 197: /* hash_array_list: hash_array_list hash_array_value */
|
|
#line 733 "griby.y"
|
|
{ (grib_yyval.hash_array_value) = (grib_yyvsp[0].hash_array_value); (grib_yyvsp[0].hash_array_value)->next = (grib_yyvsp[-1].hash_array_value); }
|
|
#line 3455 "y.tab.c"
|
|
break;
|
|
|
|
case 198: /* hash_array_block: HASH_ARRAY IDENT '{' hash_array_list '}' flags */
|
|
#line 736 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_hash_array(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].hash_array_value),0,0,0,0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-4].str)); }
|
|
#line 3461 "y.tab.c"
|
|
break;
|
|
|
|
case 199: /* hash_array_block: HASH_ARRAY IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */
|
|
#line 737 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_hash_array(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); }
|
|
#line 3467 "y.tab.c"
|
|
break;
|
|
|
|
case 201: /* case_list: case_list case_value */
|
|
#line 741 "griby.y"
|
|
{ (grib_yyval.case_value) = (grib_yyvsp[0].case_value); (grib_yyvsp[0].case_value)->next = (grib_yyvsp[-1].case_value); }
|
|
#line 3473 "y.tab.c"
|
|
break;
|
|
|
|
case 202: /* case_value: CASE arguments ':' instructions */
|
|
#line 744 "griby.y"
|
|
{ (grib_yyval.case_value) = grib_case_new(grib_parser_context,(grib_yyvsp[-2].explist),(grib_yyvsp[0].act)); }
|
|
#line 3479 "y.tab.c"
|
|
break;
|
|
|
|
case 203: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' instructions '}' */
|
|
#line 748 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-7].explist),(grib_yyvsp[-4].case_value),(grib_yyvsp[-1].act)); }
|
|
#line 3485 "y.tab.c"
|
|
break;
|
|
|
|
case 204: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' '}' */
|
|
#line 749 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-6].explist),(grib_yyvsp[-3].case_value),grib_action_create_noop(grib_parser_context,"continue")); }
|
|
#line 3491 "y.tab.c"
|
|
break;
|
|
|
|
case 205: /* switch_block: SWITCH '(' argument_list ')' '{' case_list '}' */
|
|
#line 750 "griby.y"
|
|
{ (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-4].explist),(grib_yyvsp[-1].case_value),0); }
|
|
#line 3497 "y.tab.c"
|
|
break;
|
|
|
|
case 206: /* concept_value: STRING '=' '{' concept_conditions '}' */
|
|
#line 753 "griby.y"
|
|
{
|
|
(grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].concept_condition)); free((grib_yyvsp[-4].str));}
|
|
#line 3504 "y.tab.c"
|
|
break;
|
|
|
|
case 207: /* concept_value: IDENT '=' '{' concept_conditions '}' */
|
|
#line 755 "griby.y"
|
|
{
|
|
(grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].concept_condition)); free((grib_yyvsp[-4].str));}
|
|
#line 3511 "y.tab.c"
|
|
break;
|
|
|
|
case 208: /* concept_value: INTEGER '=' '{' concept_conditions '}' */
|
|
#line 757 "griby.y"
|
|
{
|
|
char buf[80]; snprintf(buf, sizeof(buf), "%ld",(long)(grib_yyvsp[-4].lval)); (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,buf,(grib_yyvsp[-1].concept_condition));}
|
|
#line 3518 "y.tab.c"
|
|
break;
|
|
|
|
case 209: /* concept_value: FLOAT '=' '{' concept_conditions '}' */
|
|
#line 759 "griby.y"
|
|
{
|
|
char buf[80]; snprintf(buf, sizeof(buf), "%g", (double)(grib_yyvsp[-4].dval)); (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,buf,(grib_yyvsp[-1].concept_condition));}
|
|
#line 3525 "y.tab.c"
|
|
break;
|
|
|
|
case 211: /* concept_conditions: concept_condition concept_conditions */
|
|
#line 764 "griby.y"
|
|
{ (grib_yyvsp[-1].concept_condition)->next = (grib_yyvsp[0].concept_condition); (grib_yyval.concept_condition) = (grib_yyvsp[-1].concept_condition); }
|
|
#line 3531 "y.tab.c"
|
|
break;
|
|
|
|
case 212: /* concept_condition: IDENT '=' expression ';' */
|
|
#line 767 "griby.y"
|
|
{ (grib_yyval.concept_condition) = grib_concept_condition_new(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].exp),0); free((grib_yyvsp[-3].str)); }
|
|
#line 3537 "y.tab.c"
|
|
break;
|
|
|
|
case 213: /* concept_condition: IDENT '=' '[' integer_array ']' ';' */
|
|
#line 768 "griby.y"
|
|
{ (grib_yyval.concept_condition) = grib_concept_condition_new(grib_parser_context,(grib_yyvsp[-5].str),0,(grib_yyvsp[-2].ivalue)); free((grib_yyvsp[-5].str)); }
|
|
#line 3543 "y.tab.c"
|
|
break;
|
|
|
|
case 214: /* hash_array_value: STRING '=' '[' integer_array ']' */
|
|
#line 772 "griby.y"
|
|
{
|
|
(grib_yyval.hash_array_value) = grib_integer_hash_array_value_new((grib_yyvsp[-4].str),(grib_yyvsp[-1].ivalue)); free((grib_yyvsp[-4].str));}
|
|
#line 3550 "y.tab.c"
|
|
break;
|
|
|
|
case 215: /* hash_array_value: IDENT '=' '[' integer_array ']' */
|
|
#line 774 "griby.y"
|
|
{
|
|
(grib_yyval.hash_array_value) = grib_integer_hash_array_value_new((grib_yyvsp[-4].str),(grib_yyvsp[-1].ivalue)); free((grib_yyvsp[-4].str));}
|
|
#line 3557 "y.tab.c"
|
|
break;
|
|
|
|
case 216: /* string_or_ident: SUBSTR '(' IDENT ',' INTEGER ',' INTEGER ')' */
|
|
#line 778 "griby.y"
|
|
{ (grib_yyval.exp) = new_accessor_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str)); }
|
|
#line 3563 "y.tab.c"
|
|
break;
|
|
|
|
case 217: /* string_or_ident: IDENT */
|
|
#line 779 "griby.y"
|
|
{ (grib_yyval.exp) = new_accessor_expression(grib_parser_context,(grib_yyvsp[0].str),0,0); free((grib_yyvsp[0].str)); }
|
|
#line 3569 "y.tab.c"
|
|
break;
|
|
|
|
case 218: /* string_or_ident: SUBSTR '(' STRING ',' INTEGER ',' INTEGER ')' */
|
|
#line 780 "griby.y"
|
|
{ (grib_yyval.exp) = new_sub_string_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str)); }
|
|
#line 3575 "y.tab.c"
|
|
break;
|
|
|
|
case 219: /* string_or_ident: STRING */
|
|
#line 781 "griby.y"
|
|
{ (grib_yyval.exp) = new_string_expression(grib_parser_context,(grib_yyvsp[0].str)); free((grib_yyvsp[0].str)); }
|
|
#line 3581 "y.tab.c"
|
|
break;
|
|
|
|
case 221: /* atom: INTEGER */
|
|
#line 785 "griby.y"
|
|
{ (grib_yyval.exp) = new_long_expression(grib_parser_context,(grib_yyvsp[0].lval)); }
|
|
#line 3587 "y.tab.c"
|
|
break;
|
|
|
|
case 222: /* atom: FLOAT */
|
|
#line 786 "griby.y"
|
|
{ (grib_yyval.exp) = new_double_expression(grib_parser_context,(grib_yyvsp[0].dval)); /* TODO: change to new_float_expression*/}
|
|
#line 3593 "y.tab.c"
|
|
break;
|
|
|
|
case 223: /* atom: NIL */
|
|
#line 788 "griby.y"
|
|
{ (grib_yyval.exp) = NULL; }
|
|
#line 3599 "y.tab.c"
|
|
break;
|
|
|
|
case 224: /* atom: DUMMY */
|
|
#line 789 "griby.y"
|
|
{ (grib_yyval.exp) = new_true_expression(grib_parser_context); }
|
|
#line 3605 "y.tab.c"
|
|
break;
|
|
|
|
case 225: /* atom: '(' expression ')' */
|
|
#line 790 "griby.y"
|
|
{ (grib_yyval.exp) = (grib_yyvsp[-1].exp); }
|
|
#line 3611 "y.tab.c"
|
|
break;
|
|
|
|
case 226: /* atom: '-' atom */
|
|
#line 791 "griby.y"
|
|
{ (grib_yyval.exp) = new_unop_expression(grib_parser_context,&grib_op_neg,&grib_op_neg_d,(grib_yyvsp[0].exp)); }
|
|
#line 3617 "y.tab.c"
|
|
break;
|
|
|
|
case 227: /* atom: IDENT '(' ')' */
|
|
#line 792 "griby.y"
|
|
{ (grib_yyval.exp) = new_func_expression(grib_parser_context,(grib_yyvsp[-2].str),NULL); free((grib_yyvsp[-2].str));}
|
|
#line 3623 "y.tab.c"
|
|
break;
|
|
|
|
case 228: /* atom: IDENT '(' argument_list ')' */
|
|
#line 793 "griby.y"
|
|
{ (grib_yyval.exp) = new_func_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].explist)); free((grib_yyvsp[-3].str));}
|
|
#line 3629 "y.tab.c"
|
|
break;
|
|
|
|
case 229: /* power: atom '^' power */
|
|
#line 797 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_pow,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3635 "y.tab.c"
|
|
break;
|
|
|
|
case 231: /* factor: factor '*' power */
|
|
#line 801 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_mul,&grib_op_mul_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3641 "y.tab.c"
|
|
break;
|
|
|
|
case 232: /* factor: factor '/' power */
|
|
#line 802 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_div,&grib_op_div_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3647 "y.tab.c"
|
|
break;
|
|
|
|
case 233: /* factor: factor '%' power */
|
|
#line 803 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_modulo,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3653 "y.tab.c"
|
|
break;
|
|
|
|
case 234: /* factor: factor BIT power */
|
|
#line 804 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_bit,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3659 "y.tab.c"
|
|
break;
|
|
|
|
case 235: /* factor: factor BITOFF power */
|
|
#line 805 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_bitoff,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3665 "y.tab.c"
|
|
break;
|
|
|
|
case 237: /* factor: LENGTH '(' IDENT ')' */
|
|
#line 807 "griby.y"
|
|
{ (grib_yyval.exp) = new_length_expression(grib_parser_context,(grib_yyvsp[-1].str)); free((grib_yyvsp[-1].str));}
|
|
#line 3671 "y.tab.c"
|
|
break;
|
|
|
|
case 238: /* factor: IS_IN_LIST '(' IDENT ',' STRING ')' */
|
|
#line 808 "griby.y"
|
|
{ (grib_yyval.exp) = new_is_in_list_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str)); free((grib_yyvsp[-3].str));free((grib_yyvsp[-1].str));}
|
|
#line 3677 "y.tab.c"
|
|
break;
|
|
|
|
case 239: /* factor: IS_IN_DICT '(' IDENT ',' STRING ')' */
|
|
#line 809 "griby.y"
|
|
{ (grib_yyval.exp) = new_is_in_dict_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str)); free((grib_yyvsp[-3].str));free((grib_yyvsp[-1].str));}
|
|
#line 3683 "y.tab.c"
|
|
break;
|
|
|
|
case 240: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ')' */
|
|
#line 810 "griby.y"
|
|
{ (grib_yyval.exp) = new_is_integer_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].lval),0); free((grib_yyvsp[-3].str));}
|
|
#line 3689 "y.tab.c"
|
|
break;
|
|
|
|
case 241: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ',' INTEGER ')' */
|
|
#line 811 "griby.y"
|
|
{ (grib_yyval.exp) = new_is_integer_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str));}
|
|
#line 3695 "y.tab.c"
|
|
break;
|
|
|
|
case 242: /* factor: IS_INTEGER '(' IDENT ')' */
|
|
#line 812 "griby.y"
|
|
{ (grib_yyval.exp) = new_is_integer_expression(grib_parser_context,(grib_yyvsp[-1].str),0,0); free((grib_yyvsp[-1].str));}
|
|
#line 3701 "y.tab.c"
|
|
break;
|
|
|
|
case 243: /* term: term '+' factor */
|
|
#line 815 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_add,&grib_op_add_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3707 "y.tab.c"
|
|
break;
|
|
|
|
case 244: /* term: term '-' factor */
|
|
#line 816 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_sub,&grib_op_sub_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3713 "y.tab.c"
|
|
break;
|
|
|
|
case 246: /* condition: condition GT term */
|
|
#line 820 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_gt,&grib_op_gt_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3719 "y.tab.c"
|
|
break;
|
|
|
|
case 247: /* condition: condition EQ term */
|
|
#line 822 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_eq,&grib_op_eq_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3725 "y.tab.c"
|
|
break;
|
|
|
|
case 248: /* condition: condition LT term */
|
|
#line 823 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_lt,&grib_op_lt_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3731 "y.tab.c"
|
|
break;
|
|
|
|
case 249: /* condition: condition GE term */
|
|
#line 824 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_ge,&grib_op_ge_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3737 "y.tab.c"
|
|
break;
|
|
|
|
case 250: /* condition: condition LE term */
|
|
#line 825 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_le,&grib_op_le_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3743 "y.tab.c"
|
|
break;
|
|
|
|
case 251: /* condition: condition NE term */
|
|
#line 826 "griby.y"
|
|
{ (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_ne,&grib_op_ne_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3749 "y.tab.c"
|
|
break;
|
|
|
|
case 252: /* condition: string_or_ident IS string_or_ident */
|
|
#line 827 "griby.y"
|
|
{ (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp),1); }
|
|
#line 3755 "y.tab.c"
|
|
break;
|
|
|
|
case 253: /* condition: string_or_ident ISNOT string_or_ident */
|
|
#line 828 "griby.y"
|
|
{ (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp),0); }
|
|
#line 3761 "y.tab.c"
|
|
break;
|
|
|
|
case 254: /* condition: NOT condition */
|
|
#line 833 "griby.y"
|
|
{ (grib_yyval.exp) = new_unop_expression(grib_parser_context,&grib_op_not,NULL,(grib_yyvsp[0].exp)); }
|
|
#line 3767 "y.tab.c"
|
|
break;
|
|
|
|
case 256: /* conjunction: conjunction AND condition */
|
|
#line 837 "griby.y"
|
|
{ (grib_yyval.exp) = new_logical_and_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); }
|
|
#line 3773 "y.tab.c"
|
|
break;
|
|
|
|
case 258: /* disjunction: disjunction OR conjunction */
|
|
#line 841 "griby.y"
|
|
{ (grib_yyval.exp) = new_logical_or_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp));}
|
|
#line 3779 "y.tab.c"
|
|
break;
|
|
|
|
case 263: /* rule_entry: IDENT '=' expression ';' */
|
|
#line 855 "griby.y"
|
|
{ (grib_yyval.rule_entry) = grib_new_rule_entry(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].exp)); free((grib_yyvsp[-3].str)); }
|
|
#line 3785 "y.tab.c"
|
|
break;
|
|
|
|
case 264: /* rule_entry: SKIP ';' */
|
|
#line 856 "griby.y"
|
|
{ (grib_yyval.rule_entry) = grib_new_rule_entry(grib_parser_context,"skip",0);}
|
|
#line 3791 "y.tab.c"
|
|
break;
|
|
|
|
case 266: /* rule_entries: rule_entry rule_entries */
|
|
#line 860 "griby.y"
|
|
{ (grib_yyvsp[-1].rule_entry)->next = (grib_yyvsp[0].rule_entry); (grib_yyval.rule_entry) = (grib_yyvsp[-1].rule_entry); }
|
|
#line 3797 "y.tab.c"
|
|
break;
|
|
|
|
case 267: /* fact: rule_entry */
|
|
#line 863 "griby.y"
|
|
{ (grib_yyval.rules) = grib_new_rule(grib_parser_context,NULL,(grib_yyvsp[0].rule_entry)); }
|
|
#line 3803 "y.tab.c"
|
|
break;
|
|
|
|
case 268: /* conditional_rule: IF '(' expression ')' '{' rule_entries '}' */
|
|
#line 867 "griby.y"
|
|
{ (grib_yyval.rules) = grib_new_rule(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].rule_entry)); }
|
|
#line 3809 "y.tab.c"
|
|
break;
|
|
|
|
case 270: /* rules: rule rules */
|
|
#line 871 "griby.y"
|
|
{ (grib_yyvsp[-1].rules)->next = (grib_yyvsp[0].rules); (grib_yyval.rules) = (grib_yyvsp[-1].rules); }
|
|
#line 3815 "y.tab.c"
|
|
break;
|
|
|
|
|
|
#line 3819 "y.tab.c"
|
|
|
|
default: break;
|
|
}
|
|
/* User semantic actions sometimes alter grib_yychar, and that requires
|
|
that grib_yytoken be updated with the new translation. We take the
|
|
approach of translating immediately before every use of grib_yytoken.
|
|
One alternative is translating here after every semantic action,
|
|
but that translation would be missed if the semantic action invokes
|
|
YYABORT, YYACCEPT, or YYERROR immediately after altering grib_yychar or
|
|
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
|
|
incorrect destructor might then be invoked immediately. In the
|
|
case of YYERROR or YYBACKUP, subsequent parser actions might lead
|
|
to an incorrect destructor call or verbose syntax error message
|
|
before the lookahead is translated. */
|
|
YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (grib_yysymbol_kind_t, grib_yyr1[grib_yyn]), &grib_yyval, &grib_yyloc);
|
|
|
|
YYPOPSTACK (grib_yylen);
|
|
grib_yylen = 0;
|
|
|
|
*++grib_yyvsp = grib_yyval;
|
|
|
|
/* 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. */
|
|
{
|
|
const int grib_yylhs = grib_yyr1[grib_yyn] - YYNTOKENS;
|
|
const int grib_yyi = grib_yypgoto[grib_yylhs] + *grib_yyssp;
|
|
grib_yystate = (0 <= grib_yyi && grib_yyi <= YYLAST && grib_yycheck[grib_yyi] == *grib_yyssp
|
|
? grib_yytable[grib_yyi]
|
|
: grib_yydefgoto[grib_yylhs]);
|
|
}
|
|
|
|
goto grib_yynewstate;
|
|
|
|
|
|
/*--------------------------------------.
|
|
| grib_yyerrlab -- here on detecting error. |
|
|
`--------------------------------------*/
|
|
grib_yyerrlab:
|
|
/* Make sure we have latest lookahead translation. See comments at
|
|
user semantic actions for why this is necessary. */
|
|
grib_yytoken = grib_yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (grib_yychar);
|
|
/* If not already recovering from an error, report this error. */
|
|
if (!grib_yyerrstatus)
|
|
{
|
|
++grib_yynerrs;
|
|
grib_yyerror (YY_("syntax error"));
|
|
}
|
|
|
|
if (grib_yyerrstatus == 3)
|
|
{
|
|
/* If just tried and failed to reuse lookahead token after an
|
|
error, discard it. */
|
|
|
|
if (grib_yychar <= YYEOF)
|
|
{
|
|
/* Return failure if at end of input. */
|
|
if (grib_yychar == YYEOF)
|
|
YYABORT;
|
|
}
|
|
else
|
|
{
|
|
grib_yydestruct ("Error: discarding",
|
|
grib_yytoken, &grib_yylval);
|
|
grib_yychar = YYEMPTY;
|
|
}
|
|
}
|
|
|
|
/* Else will try to reuse lookahead token after shifting the error
|
|
token. */
|
|
goto grib_yyerrlab1;
|
|
|
|
|
|
/*---------------------------------------------------.
|
|
| grib_yyerrorlab -- error raised explicitly by YYERROR. |
|
|
`---------------------------------------------------*/
|
|
grib_yyerrorlab:
|
|
/* Pacify compilers when the user code never invokes YYERROR and the
|
|
label grib_yyerrorlab therefore never appears in user code. */
|
|
if (0)
|
|
YYERROR;
|
|
++grib_yynerrs;
|
|
|
|
/* Do not reclaim the symbols of the rule whose action triggered
|
|
this YYERROR. */
|
|
YYPOPSTACK (grib_yylen);
|
|
grib_yylen = 0;
|
|
YY_STACK_PRINT (grib_yyss, grib_yyssp);
|
|
grib_yystate = *grib_yyssp;
|
|
goto grib_yyerrlab1;
|
|
|
|
|
|
/*-------------------------------------------------------------.
|
|
| grib_yyerrlab1 -- common code for both syntax error and YYERROR. |
|
|
`-------------------------------------------------------------*/
|
|
grib_yyerrlab1:
|
|
grib_yyerrstatus = 3; /* Each real token shifted decrements this. */
|
|
|
|
/* Pop stack until we find a state that shifts the error token. */
|
|
for (;;)
|
|
{
|
|
grib_yyn = grib_yypact[grib_yystate];
|
|
if (!grib_yypact_value_is_default (grib_yyn))
|
|
{
|
|
grib_yyn += YYSYMBOL_YYerror;
|
|
if (0 <= grib_yyn && grib_yyn <= YYLAST && grib_yycheck[grib_yyn] == YYSYMBOL_YYerror)
|
|
{
|
|
grib_yyn = grib_yytable[grib_yyn];
|
|
if (0 < grib_yyn)
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* Pop the current state because it cannot handle the error token. */
|
|
if (grib_yyssp == grib_yyss)
|
|
YYABORT;
|
|
|
|
|
|
grib_yydestruct ("Error: popping",
|
|
YY_ACCESSING_SYMBOL (grib_yystate), grib_yyvsp);
|
|
YYPOPSTACK (1);
|
|
grib_yystate = *grib_yyssp;
|
|
YY_STACK_PRINT (grib_yyss, grib_yyssp);
|
|
}
|
|
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
*++grib_yyvsp = grib_yylval;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
|
|
|
|
/* Shift the error token. */
|
|
YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (grib_yyn), grib_yyvsp, grib_yylsp);
|
|
|
|
grib_yystate = grib_yyn;
|
|
goto grib_yynewstate;
|
|
|
|
|
|
/*-------------------------------------.
|
|
| grib_yyacceptlab -- YYACCEPT comes here. |
|
|
`-------------------------------------*/
|
|
grib_yyacceptlab:
|
|
grib_yyresult = 0;
|
|
goto grib_yyreturnlab;
|
|
|
|
|
|
/*-----------------------------------.
|
|
| grib_yyabortlab -- YYABORT comes here. |
|
|
`-----------------------------------*/
|
|
grib_yyabortlab:
|
|
grib_yyresult = 1;
|
|
goto grib_yyreturnlab;
|
|
|
|
|
|
/*-----------------------------------------------------------.
|
|
| grib_yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
|
|
`-----------------------------------------------------------*/
|
|
grib_yyexhaustedlab:
|
|
grib_yyerror (YY_("memory exhausted"));
|
|
grib_yyresult = 2;
|
|
goto grib_yyreturnlab;
|
|
|
|
|
|
/*----------------------------------------------------------.
|
|
| grib_yyreturnlab -- parsing is finished, clean up and return. |
|
|
`----------------------------------------------------------*/
|
|
grib_yyreturnlab:
|
|
if (grib_yychar != YYEMPTY)
|
|
{
|
|
/* Make sure we have latest lookahead translation. See comments at
|
|
user semantic actions for why this is necessary. */
|
|
grib_yytoken = YYTRANSLATE (grib_yychar);
|
|
grib_yydestruct ("Cleanup: discarding lookahead",
|
|
grib_yytoken, &grib_yylval);
|
|
}
|
|
/* Do not reclaim the symbols of the rule whose action triggered
|
|
this YYABORT or YYACCEPT. */
|
|
YYPOPSTACK (grib_yylen);
|
|
YY_STACK_PRINT (grib_yyss, grib_yyssp);
|
|
while (grib_yyssp != grib_yyss)
|
|
{
|
|
grib_yydestruct ("Cleanup: popping",
|
|
YY_ACCESSING_SYMBOL (+*grib_yyssp), grib_yyvsp);
|
|
YYPOPSTACK (1);
|
|
}
|
|
#ifndef grib_yyoverflow
|
|
if (grib_yyss != grib_yyssa)
|
|
YYSTACK_FREE (grib_yyss);
|
|
#endif
|
|
|
|
return grib_yyresult;
|
|
}
|
|
|
|
#line 875 "griby.y"
|
|
|
|
|
|
static grib_concept_value *_reverse_concept(grib_concept_value *r,grib_concept_value *s)
|
|
{
|
|
grib_concept_value *v;
|
|
|
|
if(r == NULL) return s;
|
|
|
|
v = r->next;
|
|
r->next = s;
|
|
return _reverse_concept(v,r);
|
|
}
|
|
|
|
static grib_concept_value* reverse_concept(grib_concept_value* r)
|
|
{
|
|
return _reverse_concept(r,NULL);
|
|
}
|
|
|
|
static grib_hash_array_value *_reverse_hash_array(grib_hash_array_value *r,grib_hash_array_value *s)
|
|
{
|
|
grib_hash_array_value *v;
|
|
|
|
if(r == NULL) return s;
|
|
|
|
v = r->next;
|
|
r->next = s;
|
|
return _reverse_hash_array(v,r);
|
|
}
|
|
|
|
static grib_hash_array_value* reverse_hash_array(grib_hash_array_value* r)
|
|
{
|
|
return _reverse_hash_array(r,NULL);
|
|
}
|