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