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 int64_t 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 250