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