xref: /netbsd-src/crypto/external/bsd/heimdal/dist/lib/asn1/asn1parse.h (revision afab4e300d3a9fb07dd8c80daf53d0feb3345706)
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
47 extern 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
244 union 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 };
264 typedef union YYSTYPE YYSTYPE;
265 # define YYSTYPE_IS_TRIVIAL 1
266 # define YYSTYPE_IS_DECLARED 1
267 #endif
268 
269 
270 extern YYSTYPE yylval;
271 
272 
273 int yyparse (void);
274 
275 
276 #endif /* !YY_YY_ASN_PARSE_H_INCLUDED  */
277