xref: /freebsd/crypto/heimdal/lib/asn1/asn1parse.h (revision 8aac90f18aef7c9eea906c3ff9a001ca7b94f375)
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