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