| 1 | /* A Bison parser, made by GNU Bison 2.3.  */
 | 
|---|
| 2 | 
 | 
|---|
| 3 | /* Skeleton interface for Bison's Yacc-like parsers in C
 | 
|---|
| 4 | 
 | 
|---|
| 5 |    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 | 
|---|
| 6 |    Free Software Foundation, Inc.
 | 
|---|
| 7 | 
 | 
|---|
| 8 |    This program is free software; you can redistribute it and/or modify
 | 
|---|
| 9 |    it under the terms of the GNU General Public License as published by
 | 
|---|
| 10 |    the Free Software Foundation; either version 2, or (at your option)
 | 
|---|
| 11 |    any later version.
 | 
|---|
| 12 | 
 | 
|---|
| 13 |    This program is distributed in the hope that it will be useful,
 | 
|---|
| 14 |    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
| 15 |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
| 16 |    GNU General Public License for more details.
 | 
|---|
| 17 | 
 | 
|---|
| 18 |    You should have received a copy of the GNU General Public License
 | 
|---|
| 19 |    along with this program; if not, write to the Free Software
 | 
|---|
| 20 |    Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
|---|
| 21 |    Boston, MA 02110-1301, USA.  */
 | 
|---|
| 22 | 
 | 
|---|
| 23 | /* As a special exception, you may create a larger work that contains
 | 
|---|
| 24 |    part or all of the Bison parser skeleton and distribute that work
 | 
|---|
| 25 |    under terms of your choice, so long as that work isn't itself a
 | 
|---|
| 26 |    parser generator using the skeleton or a modified version thereof
 | 
|---|
| 27 |    as a parser skeleton.  Alternatively, if you modify or redistribute
 | 
|---|
| 28 |    the parser skeleton itself, you may (at your option) remove this
 | 
|---|
| 29 |    special exception, which will cause the skeleton and the resulting
 | 
|---|
| 30 |    Bison output files to be licensed under the GNU General Public
 | 
|---|
| 31 |    License without this special exception.
 | 
|---|
| 32 | 
 | 
|---|
| 33 |    This special exception was added by the Free Software Foundation in
 | 
|---|
| 34 |    version 2.2 of Bison.  */
 | 
|---|
| 35 | 
 | 
|---|
| 36 | /* Tokens.  */
 | 
|---|
| 37 | #ifndef YYTOKENTYPE
 | 
|---|
| 38 | # define YYTOKENTYPE
 | 
|---|
| 39 |    /* Put the tokens into the symbol table, so that GDB and other debuggers
 | 
|---|
| 40 |       know about them.  */
 | 
|---|
| 41 |    enum yytokentype {
 | 
|---|
| 42 |      kw_ABSENT = 258,
 | 
|---|
| 43 |      kw_ABSTRACT_SYNTAX = 259,
 | 
|---|
| 44 |      kw_ALL = 260,
 | 
|---|
| 45 |      kw_APPLICATION = 261,
 | 
|---|
| 46 |      kw_AUTOMATIC = 262,
 | 
|---|
| 47 |      kw_BEGIN = 263,
 | 
|---|
| 48 |      kw_BIT = 264,
 | 
|---|
| 49 |      kw_BMPString = 265,
 | 
|---|
| 50 |      kw_BOOLEAN = 266,
 | 
|---|
| 51 |      kw_BY = 267,
 | 
|---|
| 52 |      kw_CHARACTER = 268,
 | 
|---|
| 53 |      kw_CHOICE = 269,
 | 
|---|
| 54 |      kw_CLASS = 270,
 | 
|---|
| 55 |      kw_COMPONENT = 271,
 | 
|---|
| 56 |      kw_COMPONENTS = 272,
 | 
|---|
| 57 |      kw_CONSTRAINED = 273,
 | 
|---|
| 58 |      kw_CONTAINING = 274,
 | 
|---|
| 59 |      kw_DEFAULT = 275,
 | 
|---|
| 60 |      kw_DEFINITIONS = 276,
 | 
|---|
| 61 |      kw_EMBEDDED = 277,
 | 
|---|
| 62 |      kw_ENCODED = 278,
 | 
|---|
| 63 |      kw_END = 279,
 | 
|---|
| 64 |      kw_ENUMERATED = 280,
 | 
|---|
| 65 |      kw_EXCEPT = 281,
 | 
|---|
| 66 |      kw_EXPLICIT = 282,
 | 
|---|
| 67 |      kw_EXPORTS = 283,
 | 
|---|
| 68 |      kw_EXTENSIBILITY = 284,
 | 
|---|
| 69 |      kw_EXTERNAL = 285,
 | 
|---|
| 70 |      kw_FALSE = 286,
 | 
|---|
| 71 |      kw_FROM = 287,
 | 
|---|
| 72 |      kw_GeneralString = 288,
 | 
|---|
| 73 |      kw_GeneralizedTime = 289,
 | 
|---|
| 74 |      kw_GraphicString = 290,
 | 
|---|
| 75 |      kw_IA5String = 291,
 | 
|---|
| 76 |      kw_IDENTIFIER = 292,
 | 
|---|
| 77 |      kw_IMPLICIT = 293,
 | 
|---|
| 78 |      kw_IMPLIED = 294,
 | 
|---|
| 79 |      kw_IMPORTS = 295,
 | 
|---|
| 80 |      kw_INCLUDES = 296,
 | 
|---|
| 81 |      kw_INSTANCE = 297,
 | 
|---|
| 82 |      kw_INTEGER = 298,
 | 
|---|
| 83 |      kw_INTERSECTION = 299,
 | 
|---|
| 84 |      kw_ISO646String = 300,
 | 
|---|
| 85 |      kw_MAX = 301,
 | 
|---|
| 86 |      kw_MIN = 302,
 | 
|---|
| 87 |      kw_MINUS_INFINITY = 303,
 | 
|---|
| 88 |      kw_NULL = 304,
 | 
|---|
| 89 |      kw_NumericString = 305,
 | 
|---|
| 90 |      kw_OBJECT = 306,
 | 
|---|
| 91 |      kw_OCTET = 307,
 | 
|---|
| 92 |      kw_OF = 308,
 | 
|---|
| 93 |      kw_OPTIONAL = 309,
 | 
|---|
| 94 |      kw_ObjectDescriptor = 310,
 | 
|---|
| 95 |      kw_PATTERN = 311,
 | 
|---|
| 96 |      kw_PDV = 312,
 | 
|---|
| 97 |      kw_PLUS_INFINITY = 313,
 | 
|---|
| 98 |      kw_PRESENT = 314,
 | 
|---|
| 99 |      kw_PRIVATE = 315,
 | 
|---|
| 100 |      kw_PrintableString = 316,
 | 
|---|
| 101 |      kw_REAL = 317,
 | 
|---|
| 102 |      kw_RELATIVE_OID = 318,
 | 
|---|
| 103 |      kw_SEQUENCE = 319,
 | 
|---|
| 104 |      kw_SET = 320,
 | 
|---|
| 105 |      kw_SIZE = 321,
 | 
|---|
| 106 |      kw_STRING = 322,
 | 
|---|
| 107 |      kw_SYNTAX = 323,
 | 
|---|
| 108 |      kw_T61String = 324,
 | 
|---|
| 109 |      kw_TAGS = 325,
 | 
|---|
| 110 |      kw_TRUE = 326,
 | 
|---|
| 111 |      kw_TYPE_IDENTIFIER = 327,
 | 
|---|
| 112 |      kw_TeletexString = 328,
 | 
|---|
| 113 |      kw_UNION = 329,
 | 
|---|
| 114 |      kw_UNIQUE = 330,
 | 
|---|
| 115 |      kw_UNIVERSAL = 331,
 | 
|---|
| 116 |      kw_UTCTime = 332,
 | 
|---|
| 117 |      kw_UTF8String = 333,
 | 
|---|
| 118 |      kw_UniversalString = 334,
 | 
|---|
| 119 |      kw_VideotexString = 335,
 | 
|---|
| 120 |      kw_VisibleString = 336,
 | 
|---|
| 121 |      kw_WITH = 337,
 | 
|---|
| 122 |      RANGE = 338,
 | 
|---|
| 123 |      EEQUAL = 339,
 | 
|---|
| 124 |      ELLIPSIS = 340,
 | 
|---|
| 125 |      IDENTIFIER = 341,
 | 
|---|
| 126 |      referencename = 342,
 | 
|---|
| 127 |      STRING = 343,
 | 
|---|
| 128 |      NUMBER = 344
 | 
|---|
| 129 |    };
 | 
|---|
| 130 | #endif
 | 
|---|
| 131 | /* Tokens.  */
 | 
|---|
| 132 | #define kw_ABSENT 258
 | 
|---|
| 133 | #define kw_ABSTRACT_SYNTAX 259
 | 
|---|
| 134 | #define kw_ALL 260
 | 
|---|
| 135 | #define kw_APPLICATION 261
 | 
|---|
| 136 | #define kw_AUTOMATIC 262
 | 
|---|
| 137 | #define kw_BEGIN 263
 | 
|---|
| 138 | #define kw_BIT 264
 | 
|---|
| 139 | #define kw_BMPString 265
 | 
|---|
| 140 | #define kw_BOOLEAN 266
 | 
|---|
| 141 | #define kw_BY 267
 | 
|---|
| 142 | #define kw_CHARACTER 268
 | 
|---|
| 143 | #define kw_CHOICE 269
 | 
|---|
| 144 | #define kw_CLASS 270
 | 
|---|
| 145 | #define kw_COMPONENT 271
 | 
|---|
| 146 | #define kw_COMPONENTS 272
 | 
|---|
| 147 | #define kw_CONSTRAINED 273
 | 
|---|
| 148 | #define kw_CONTAINING 274
 | 
|---|
| 149 | #define kw_DEFAULT 275
 | 
|---|
| 150 | #define kw_DEFINITIONS 276
 | 
|---|
| 151 | #define kw_EMBEDDED 277
 | 
|---|
| 152 | #define kw_ENCODED 278
 | 
|---|
| 153 | #define kw_END 279
 | 
|---|
| 154 | #define kw_ENUMERATED 280
 | 
|---|
| 155 | #define kw_EXCEPT 281
 | 
|---|
| 156 | #define kw_EXPLICIT 282
 | 
|---|
| 157 | #define kw_EXPORTS 283
 | 
|---|
| 158 | #define kw_EXTENSIBILITY 284
 | 
|---|
| 159 | #define kw_EXTERNAL 285
 | 
|---|
| 160 | #define kw_FALSE 286
 | 
|---|
| 161 | #define kw_FROM 287
 | 
|---|
| 162 | #define kw_GeneralString 288
 | 
|---|
| 163 | #define kw_GeneralizedTime 289
 | 
|---|
| 164 | #define kw_GraphicString 290
 | 
|---|
| 165 | #define kw_IA5String 291
 | 
|---|
| 166 | #define kw_IDENTIFIER 292
 | 
|---|
| 167 | #define kw_IMPLICIT 293
 | 
|---|
| 168 | #define kw_IMPLIED 294
 | 
|---|
| 169 | #define kw_IMPORTS 295
 | 
|---|
| 170 | #define kw_INCLUDES 296
 | 
|---|
| 171 | #define kw_INSTANCE 297
 | 
|---|
| 172 | #define kw_INTEGER 298
 | 
|---|
| 173 | #define kw_INTERSECTION 299
 | 
|---|
| 174 | #define kw_ISO646String 300
 | 
|---|
| 175 | #define kw_MAX 301
 | 
|---|
| 176 | #define kw_MIN 302
 | 
|---|
| 177 | #define kw_MINUS_INFINITY 303
 | 
|---|
| 178 | #define kw_NULL 304
 | 
|---|
| 179 | #define kw_NumericString 305
 | 
|---|
| 180 | #define kw_OBJECT 306
 | 
|---|
| 181 | #define kw_OCTET 307
 | 
|---|
| 182 | #define kw_OF 308
 | 
|---|
| 183 | #define kw_OPTIONAL 309
 | 
|---|
| 184 | #define kw_ObjectDescriptor 310
 | 
|---|
| 185 | #define kw_PATTERN 311
 | 
|---|
| 186 | #define kw_PDV 312
 | 
|---|
| 187 | #define kw_PLUS_INFINITY 313
 | 
|---|
| 188 | #define kw_PRESENT 314
 | 
|---|
| 189 | #define kw_PRIVATE 315
 | 
|---|
| 190 | #define kw_PrintableString 316
 | 
|---|
| 191 | #define kw_REAL 317
 | 
|---|
| 192 | #define kw_RELATIVE_OID 318
 | 
|---|
| 193 | #define kw_SEQUENCE 319
 | 
|---|
| 194 | #define kw_SET 320
 | 
|---|
| 195 | #define kw_SIZE 321
 | 
|---|
| 196 | #define kw_STRING 322
 | 
|---|
| 197 | #define kw_SYNTAX 323
 | 
|---|
| 198 | #define kw_T61String 324
 | 
|---|
| 199 | #define kw_TAGS 325
 | 
|---|
| 200 | #define kw_TRUE 326
 | 
|---|
| 201 | #define kw_TYPE_IDENTIFIER 327
 | 
|---|
| 202 | #define kw_TeletexString 328
 | 
|---|
| 203 | #define kw_UNION 329
 | 
|---|
| 204 | #define kw_UNIQUE 330
 | 
|---|
| 205 | #define kw_UNIVERSAL 331
 | 
|---|
| 206 | #define kw_UTCTime 332
 | 
|---|
| 207 | #define kw_UTF8String 333
 | 
|---|
| 208 | #define kw_UniversalString 334
 | 
|---|
| 209 | #define kw_VideotexString 335
 | 
|---|
| 210 | #define kw_VisibleString 336
 | 
|---|
| 211 | #define kw_WITH 337
 | 
|---|
| 212 | #define RANGE 338
 | 
|---|
| 213 | #define EEQUAL 339
 | 
|---|
| 214 | #define ELLIPSIS 340
 | 
|---|
| 215 | #define IDENTIFIER 341
 | 
|---|
| 216 | #define referencename 342
 | 
|---|
| 217 | #define STRING 343
 | 
|---|
| 218 | #define NUMBER 344
 | 
|---|
| 219 | 
 | 
|---|
| 220 | 
 | 
|---|
| 221 | 
 | 
|---|
| 222 | 
 | 
|---|
| 223 | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 | 
|---|
| 224 | typedef union YYSTYPE
 | 
|---|
| 225 | #line 71 "asn1parse.y"
 | 
|---|
| 226 | {
 | 
|---|
| 227 |     int constant;
 | 
|---|
| 228 |     struct value *value;
 | 
|---|
| 229 |     struct range *range;
 | 
|---|
| 230 |     char *name;
 | 
|---|
| 231 |     Type *type;
 | 
|---|
| 232 |     Member *member;
 | 
|---|
| 233 |     struct objid *objid;
 | 
|---|
| 234 |     char *defval;
 | 
|---|
| 235 |     struct string_list *sl;
 | 
|---|
| 236 |     struct tagtype tag;
 | 
|---|
| 237 |     struct memhead *members;
 | 
|---|
| 238 |     struct constraint_spec *constraint_spec;
 | 
|---|
| 239 | }
 | 
|---|
| 240 | /* Line 1529 of yacc.c.  */
 | 
|---|
| 241 | #line 242 "asn1parse.h"
 | 
|---|
| 242 |         YYSTYPE;
 | 
|---|
| 243 | # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 | 
|---|
| 244 | # define YYSTYPE_IS_DECLARED 1
 | 
|---|
| 245 | # define YYSTYPE_IS_TRIVIAL 1
 | 
|---|
| 246 | #endif
 | 
|---|
| 247 | 
 | 
|---|
| 248 | extern YYSTYPE yylval;
 | 
|---|
| 249 | 
 | 
|---|