1/* $NetBSD: asn1parse.h,v 1.3 2023/06/19 21:41:42 christos Exp $ */ 2 3/* A Bison parser, made by GNU Bison 3.8.2. */ 4 5/* Bison interface for Yacc-like parsers in C 6 7 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 8 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 3 of the License, or 13 (at your option) 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, see <https://www.gnu.org/licenses/>. */ 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/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 37 especially those whose name start with YY_ or yy_. They are 38 private implementation details that can be changed or removed. */ 39 40#ifndef YY_YY_ASN_PARSE_H_INCLUDED 41# define YY_YY_ASN_PARSE_H_INCLUDED 42/* Debug traces. */ 43#ifndef YYDEBUG 44# define YYDEBUG 1 45#endif 46#if YYDEBUG 47extern int yydebug; 48#endif 49 50/* Token kinds. */ 51#ifndef YYTOKENTYPE 52# define YYTOKENTYPE 53 enum yytokentype 54 { 55 YYEMPTY = -2, 56 YYEOF = 0, /* "end of file" */ 57 YYerror = 256, /* error */ 58 YYUNDEF = 257, /* "invalid token" */ 59 kw_ABSENT = 258, /* kw_ABSENT */ 60 kw_ABSTRACT_SYNTAX = 259, /* kw_ABSTRACT_SYNTAX */ 61 kw_ALL = 260, /* kw_ALL */ 62 kw_APPLICATION = 261, /* kw_APPLICATION */ 63 kw_AUTOMATIC = 262, /* kw_AUTOMATIC */ 64 kw_BEGIN = 263, /* kw_BEGIN */ 65 kw_BIT = 264, /* kw_BIT */ 66 kw_BMPString = 265, /* kw_BMPString */ 67 kw_BOOLEAN = 266, /* kw_BOOLEAN */ 68 kw_BY = 267, /* kw_BY */ 69 kw_CHARACTER = 268, /* kw_CHARACTER */ 70 kw_CHOICE = 269, /* kw_CHOICE */ 71 kw_CLASS = 270, /* kw_CLASS */ 72 kw_COMPONENT = 271, /* kw_COMPONENT */ 73 kw_COMPONENTS = 272, /* kw_COMPONENTS */ 74 kw_CONSTRAINED = 273, /* kw_CONSTRAINED */ 75 kw_CONTAINING = 274, /* kw_CONTAINING */ 76 kw_DEFAULT = 275, /* kw_DEFAULT */ 77 kw_DEFINITIONS = 276, /* kw_DEFINITIONS */ 78 kw_EMBEDDED = 277, /* kw_EMBEDDED */ 79 kw_ENCODED = 278, /* kw_ENCODED */ 80 kw_END = 279, /* kw_END */ 81 kw_ENUMERATED = 280, /* kw_ENUMERATED */ 82 kw_EXCEPT = 281, /* kw_EXCEPT */ 83 kw_EXPLICIT = 282, /* kw_EXPLICIT */ 84 kw_EXPORTS = 283, /* kw_EXPORTS */ 85 kw_EXTENSIBILITY = 284, /* kw_EXTENSIBILITY */ 86 kw_EXTERNAL = 285, /* kw_EXTERNAL */ 87 kw_FALSE = 286, /* kw_FALSE */ 88 kw_FROM = 287, /* kw_FROM */ 89 kw_GeneralString = 288, /* kw_GeneralString */ 90 kw_GeneralizedTime = 289, /* kw_GeneralizedTime */ 91 kw_GraphicString = 290, /* kw_GraphicString */ 92 kw_IA5String = 291, /* kw_IA5String */ 93 kw_IDENTIFIER = 292, /* kw_IDENTIFIER */ 94 kw_IMPLICIT = 293, /* kw_IMPLICIT */ 95 kw_IMPLIED = 294, /* kw_IMPLIED */ 96 kw_IMPORTS = 295, /* kw_IMPORTS */ 97 kw_INCLUDES = 296, /* kw_INCLUDES */ 98 kw_INSTANCE = 297, /* kw_INSTANCE */ 99 kw_INTEGER = 298, /* kw_INTEGER */ 100 kw_INTERSECTION = 299, /* kw_INTERSECTION */ 101 kw_ISO646String = 300, /* kw_ISO646String */ 102 kw_MAX = 301, /* kw_MAX */ 103 kw_MIN = 302, /* kw_MIN */ 104 kw_MINUS_INFINITY = 303, /* kw_MINUS_INFINITY */ 105 kw_NULL = 304, /* kw_NULL */ 106 kw_NumericString = 305, /* kw_NumericString */ 107 kw_OBJECT = 306, /* kw_OBJECT */ 108 kw_OCTET = 307, /* kw_OCTET */ 109 kw_OF = 308, /* kw_OF */ 110 kw_OPTIONAL = 309, /* kw_OPTIONAL */ 111 kw_ObjectDescriptor = 310, /* kw_ObjectDescriptor */ 112 kw_PATTERN = 311, /* kw_PATTERN */ 113 kw_PDV = 312, /* kw_PDV */ 114 kw_PLUS_INFINITY = 313, /* kw_PLUS_INFINITY */ 115 kw_PRESENT = 314, /* kw_PRESENT */ 116 kw_PRIVATE = 315, /* kw_PRIVATE */ 117 kw_PrintableString = 316, /* kw_PrintableString */ 118 kw_REAL = 317, /* kw_REAL */ 119 kw_RELATIVE_OID = 318, /* kw_RELATIVE_OID */ 120 kw_SEQUENCE = 319, /* kw_SEQUENCE */ 121 kw_SET = 320, /* kw_SET */ 122 kw_SIZE = 321, /* kw_SIZE */ 123 kw_STRING = 322, /* kw_STRING */ 124 kw_SYNTAX = 323, /* kw_SYNTAX */ 125 kw_T61String = 324, /* kw_T61String */ 126 kw_TAGS = 325, /* kw_TAGS */ 127 kw_TRUE = 326, /* kw_TRUE */ 128 kw_TYPE_IDENTIFIER = 327, /* kw_TYPE_IDENTIFIER */ 129 kw_TeletexString = 328, /* kw_TeletexString */ 130 kw_UNION = 329, /* kw_UNION */ 131 kw_UNIQUE = 330, /* kw_UNIQUE */ 132 kw_UNIVERSAL = 331, /* kw_UNIVERSAL */ 133 kw_UTCTime = 332, /* kw_UTCTime */ 134 kw_UTF8String = 333, /* kw_UTF8String */ 135 kw_UniversalString = 334, /* kw_UniversalString */ 136 kw_VideotexString = 335, /* kw_VideotexString */ 137 kw_VisibleString = 336, /* kw_VisibleString */ 138 kw_WITH = 337, /* kw_WITH */ 139 RANGE = 338, /* RANGE */ 140 EEQUAL = 339, /* EEQUAL */ 141 ELLIPSIS = 340, /* ELLIPSIS */ 142 IDENTIFIER = 341, /* IDENTIFIER */ 143 referencename = 342, /* referencename */ 144 STRING = 343, /* STRING */ 145 NUMBER = 344 /* NUMBER */ 146 }; 147 typedef enum yytokentype yytoken_kind_t; 148#endif 149/* Token kinds. */ 150#define YYEMPTY -2 151#define YYEOF 0 152#define YYerror 256 153#define YYUNDEF 257 154#define kw_ABSENT 258 155#define kw_ABSTRACT_SYNTAX 259 156#define kw_ALL 260 157#define kw_APPLICATION 261 158#define kw_AUTOMATIC 262 159#define kw_BEGIN 263 160#define kw_BIT 264 161#define kw_BMPString 265 162#define kw_BOOLEAN 266 163#define kw_BY 267 164#define kw_CHARACTER 268 165#define kw_CHOICE 269 166#define kw_CLASS 270 167#define kw_COMPONENT 271 168#define kw_COMPONENTS 272 169#define kw_CONSTRAINED 273 170#define kw_CONTAINING 274 171#define kw_DEFAULT 275 172#define kw_DEFINITIONS 276 173#define kw_EMBEDDED 277 174#define kw_ENCODED 278 175#define kw_END 279 176#define kw_ENUMERATED 280 177#define kw_EXCEPT 281 178#define kw_EXPLICIT 282 179#define kw_EXPORTS 283 180#define kw_EXTENSIBILITY 284 181#define kw_EXTERNAL 285 182#define kw_FALSE 286 183#define kw_FROM 287 184#define kw_GeneralString 288 185#define kw_GeneralizedTime 289 186#define kw_GraphicString 290 187#define kw_IA5String 291 188#define kw_IDENTIFIER 292 189#define kw_IMPLICIT 293 190#define kw_IMPLIED 294 191#define kw_IMPORTS 295 192#define kw_INCLUDES 296 193#define kw_INSTANCE 297 194#define kw_INTEGER 298 195#define kw_INTERSECTION 299 196#define kw_ISO646String 300 197#define kw_MAX 301 198#define kw_MIN 302 199#define kw_MINUS_INFINITY 303 200#define kw_NULL 304 201#define kw_NumericString 305 202#define kw_OBJECT 306 203#define kw_OCTET 307 204#define kw_OF 308 205#define kw_OPTIONAL 309 206#define kw_ObjectDescriptor 310 207#define kw_PATTERN 311 208#define kw_PDV 312 209#define kw_PLUS_INFINITY 313 210#define kw_PRESENT 314 211#define kw_PRIVATE 315 212#define kw_PrintableString 316 213#define kw_REAL 317 214#define kw_RELATIVE_OID 318 215#define kw_SEQUENCE 319 216#define kw_SET 320 217#define kw_SIZE 321 218#define kw_STRING 322 219#define kw_SYNTAX 323 220#define kw_T61String 324 221#define kw_TAGS 325 222#define kw_TRUE 326 223#define kw_TYPE_IDENTIFIER 327 224#define kw_TeletexString 328 225#define kw_UNION 329 226#define kw_UNIQUE 330 227#define kw_UNIVERSAL 331 228#define kw_UTCTime 332 229#define kw_UTF8String 333 230#define kw_UniversalString 334 231#define kw_VideotexString 335 232#define kw_VisibleString 336 233#define kw_WITH 337 234#define RANGE 338 235#define EEQUAL 339 236#define ELLIPSIS 340 237#define IDENTIFIER 341 238#define referencename 342 239#define STRING 343 240#define NUMBER 344 241 242/* Value type. */ 243#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 244union YYSTYPE 245{ 246#line 72 "asn1parse.y" 247 248 int64_t constant; 249 struct value *value; 250 struct range *range; 251 char *name; 252 Type *type; 253 Member *member; 254 struct objid *objid; 255 char *defval; 256 struct string_list *sl; 257 struct tagtype tag; 258 struct memhead *members; 259 struct constraint_spec *constraint_spec; 260 261#line 260 "asn1parse.h" 262 263}; 264typedef union YYSTYPE YYSTYPE; 265# define YYSTYPE_IS_TRIVIAL 1 266# define YYSTYPE_IS_DECLARED 1 267#endif 268 269 270extern YYSTYPE yylval; 271 272 273int yyparse (void); 274 275 276#endif /* !YY_YY_ASN_PARSE_H_INCLUDED */ 277