blob: ca5410ec6d1b950a269c004957423b979df8c2b4 [file] [log] [blame]
/* A Bison parser, made by GNU Bison 2.1. */
/* Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
TOK_PPEQ = 258,
TOK_whitespace = 259,
TOK_opaque = 260,
TOK_bstring = 261,
TOK_cstring = 262,
TOK_hstring = 263,
TOK_identifier = 264,
TOK_number = 265,
TOK_tuple = 266,
TOK_quadruple = 267,
TOK_number_negative = 268,
TOK_typereference = 269,
TOK_capitalreference = 270,
TOK_typefieldreference = 271,
TOK_valuefieldreference = 272,
TOK_Literal = 273,
TOK_ABSENT = 274,
TOK_ABSTRACT_SYNTAX = 275,
TOK_ALL = 276,
TOK_ANY = 277,
TOK_APPLICATION = 278,
TOK_AUTOMATIC = 279,
TOK_BEGIN = 280,
TOK_BIT = 281,
TOK_BMPString = 282,
TOK_BOOLEAN = 283,
TOK_BY = 284,
TOK_CHARACTER = 285,
TOK_CHOICE = 286,
TOK_CLASS = 287,
TOK_COMPONENT = 288,
TOK_COMPONENTS = 289,
TOK_CONSTRAINED = 290,
TOK_CONTAINING = 291,
TOK_DEFAULT = 292,
TOK_DEFINITIONS = 293,
TOK_DEFINED = 294,
TOK_EMBEDDED = 295,
TOK_ENCODED = 296,
TOK_ENCODING_CONTROL = 297,
TOK_END = 298,
TOK_ENUMERATED = 299,
TOK_EXPLICIT = 300,
TOK_EXPORTS = 301,
TOK_EXTENSIBILITY = 302,
TOK_EXTERNAL = 303,
TOK_FALSE = 304,
TOK_FROM = 305,
TOK_GeneralizedTime = 306,
TOK_GeneralString = 307,
TOK_GraphicString = 308,
TOK_IA5String = 309,
TOK_IDENTIFIER = 310,
TOK_IMPLICIT = 311,
TOK_IMPLIED = 312,
TOK_IMPORTS = 313,
TOK_INCLUDES = 314,
TOK_INSTANCE = 315,
TOK_INSTRUCTIONS = 316,
TOK_INTEGER = 317,
TOK_ISO646String = 318,
TOK_MAX = 319,
TOK_MIN = 320,
TOK_MINUS_INFINITY = 321,
TOK_NULL = 322,
TOK_NumericString = 323,
TOK_OBJECT = 324,
TOK_ObjectDescriptor = 325,
TOK_OCTET = 326,
TOK_OF = 327,
TOK_OPTIONAL = 328,
TOK_PATTERN = 329,
TOK_PDV = 330,
TOK_PLUS_INFINITY = 331,
TOK_PRESENT = 332,
TOK_PrintableString = 333,
TOK_PRIVATE = 334,
TOK_REAL = 335,
TOK_RELATIVE_OID = 336,
TOK_SEQUENCE = 337,
TOK_SET = 338,
TOK_SIZE = 339,
TOK_STRING = 340,
TOK_SYNTAX = 341,
TOK_T61String = 342,
TOK_TAGS = 343,
TOK_TeletexString = 344,
TOK_TRUE = 345,
TOK_TYPE_IDENTIFIER = 346,
TOK_UNIQUE = 347,
TOK_UNIVERSAL = 348,
TOK_UniversalString = 349,
TOK_UTCTime = 350,
TOK_UTF8String = 351,
TOK_VideotexString = 352,
TOK_VisibleString = 353,
TOK_WITH = 354,
TOK_EXCEPT = 355,
TOK_INTERSECTION = 356,
TOK_UNION = 357,
TOK_TwoDots = 358,
TOK_ThreeDots = 359
};
#endif
/* Tokens. */
#define TOK_PPEQ 258
#define TOK_whitespace 259
#define TOK_opaque 260
#define TOK_bstring 261
#define TOK_cstring 262
#define TOK_hstring 263
#define TOK_identifier 264
#define TOK_number 265
#define TOK_tuple 266
#define TOK_quadruple 267
#define TOK_number_negative 268
#define TOK_typereference 269
#define TOK_capitalreference 270
#define TOK_typefieldreference 271
#define TOK_valuefieldreference 272
#define TOK_Literal 273
#define TOK_ABSENT 274
#define TOK_ABSTRACT_SYNTAX 275
#define TOK_ALL 276
#define TOK_ANY 277
#define TOK_APPLICATION 278
#define TOK_AUTOMATIC 279
#define TOK_BEGIN 280
#define TOK_BIT 281
#define TOK_BMPString 282
#define TOK_BOOLEAN 283
#define TOK_BY 284
#define TOK_CHARACTER 285
#define TOK_CHOICE 286
#define TOK_CLASS 287
#define TOK_COMPONENT 288
#define TOK_COMPONENTS 289
#define TOK_CONSTRAINED 290
#define TOK_CONTAINING 291
#define TOK_DEFAULT 292
#define TOK_DEFINITIONS 293
#define TOK_DEFINED 294
#define TOK_EMBEDDED 295
#define TOK_ENCODED 296
#define TOK_ENCODING_CONTROL 297
#define TOK_END 298
#define TOK_ENUMERATED 299
#define TOK_EXPLICIT 300
#define TOK_EXPORTS 301
#define TOK_EXTENSIBILITY 302
#define TOK_EXTERNAL 303
#define TOK_FALSE 304
#define TOK_FROM 305
#define TOK_GeneralizedTime 306
#define TOK_GeneralString 307
#define TOK_GraphicString 308
#define TOK_IA5String 309
#define TOK_IDENTIFIER 310
#define TOK_IMPLICIT 311
#define TOK_IMPLIED 312
#define TOK_IMPORTS 313
#define TOK_INCLUDES 314
#define TOK_INSTANCE 315
#define TOK_INSTRUCTIONS 316
#define TOK_INTEGER 317
#define TOK_ISO646String 318
#define TOK_MAX 319
#define TOK_MIN 320
#define TOK_MINUS_INFINITY 321
#define TOK_NULL 322
#define TOK_NumericString 323
#define TOK_OBJECT 324
#define TOK_ObjectDescriptor 325
#define TOK_OCTET 326
#define TOK_OF 327
#define TOK_OPTIONAL 328
#define TOK_PATTERN 329
#define TOK_PDV 330
#define TOK_PLUS_INFINITY 331
#define TOK_PRESENT 332
#define TOK_PrintableString 333
#define TOK_PRIVATE 334
#define TOK_REAL 335
#define TOK_RELATIVE_OID 336
#define TOK_SEQUENCE 337
#define TOK_SET 338
#define TOK_SIZE 339
#define TOK_STRING 340
#define TOK_SYNTAX 341
#define TOK_T61String 342
#define TOK_TAGS 343
#define TOK_TeletexString 344
#define TOK_TRUE 345
#define TOK_TYPE_IDENTIFIER 346
#define TOK_UNIQUE 347
#define TOK_UNIVERSAL 348
#define TOK_UniversalString 349
#define TOK_UTCTime 350
#define TOK_UTF8String 351
#define TOK_VideotexString 352
#define TOK_VisibleString 353
#define TOK_WITH 354
#define TOK_EXCEPT 355
#define TOK_INTERSECTION 356
#define TOK_UNION 357
#define TOK_TwoDots 358
#define TOK_ThreeDots 359
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 72 "asn1p_y.y"
typedef union YYSTYPE {
asn1p_t *a_grammar;
asn1p_module_flags_e a_module_flags;
asn1p_module_t *a_module;
asn1p_expr_type_e a_type; /* ASN.1 Type */
asn1p_expr_t *a_expr; /* Constructed collection */
asn1p_constraint_t *a_constr; /* Constraint */
enum asn1p_constraint_type_e a_ctype;/* Constraint type */
asn1p_xports_t *a_xports; /* IMports/EXports */
struct AssignedIdentifier a_aid; /* Assigned Identifier */
asn1p_oid_t *a_oid; /* Object Identifier */
asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */
struct asn1p_type_tag_s a_tag; /* A tag */
asn1p_ref_t *a_ref; /* Reference to custom type */
asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */
asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */
struct asn1p_ref_component_s a_refcomp; /* Component of a reference */
asn1p_value_t *a_value; /* Number, DefinedValue, etc */
struct asn1p_param_s a_parg; /* A parameter argument */
asn1p_paramlist_t *a_plist; /* A pargs list */
struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
asn1c_integer_t a_int;
char *tv_str;
struct {
char *buf;
int len;
} tv_opaque;
struct {
char *name;
struct asn1p_type_tag_s tag;
} tv_nametag;
} YYSTYPE;
/* Line 1447 of yacc.c. */
#line 280 "y.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE asn1p_lval;