blob: ee3af65b285d89ad3f386551ddf3ff990b1242a6 [file] [log] [blame]
Lev Walkin418298d2006-07-13 08:24:20 +00001/* A Bison parser, made from asn1p_y.y, by GNU bison 1.75. */
2
3/* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
20
21/* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
25
26#ifndef BISON_ASN_P_Y_H
27# define BISON_ASN_P_Y_H
28
29/* Tokens. */
30#ifndef YYTOKENTYPE
31# define YYTOKENTYPE
32 /* Put the tokens into the symbol table, so that GDB and other debuggers
33 know about them. */
34 enum yytokentype {
35 TOK_PPEQ = 258,
36 TOK_whitespace = 259,
37 TOK_opaque = 260,
38 TOK_bstring = 261,
39 TOK_cstring = 262,
40 TOK_hstring = 263,
41 TOK_identifier = 264,
42 TOK_number = 265,
Lev Walkinadf863f2006-09-05 16:18:34 +000043 TOK_number_negative = 266,
44 TOK_realnumber = 267,
45 TOK_tuple = 268,
46 TOK_quadruple = 269,
47 TOK_typereference = 270,
48 TOK_capitalreference = 271,
49 TOK_typefieldreference = 272,
50 TOK_valuefieldreference = 273,
51 TOK_Literal = 274,
52 TOK_ABSENT = 275,
53 TOK_ABSTRACT_SYNTAX = 276,
54 TOK_ALL = 277,
55 TOK_ANY = 278,
56 TOK_APPLICATION = 279,
57 TOK_AUTOMATIC = 280,
58 TOK_BEGIN = 281,
59 TOK_BIT = 282,
60 TOK_BMPString = 283,
61 TOK_BOOLEAN = 284,
62 TOK_BY = 285,
63 TOK_CHARACTER = 286,
64 TOK_CHOICE = 287,
65 TOK_CLASS = 288,
66 TOK_COMPONENT = 289,
67 TOK_COMPONENTS = 290,
68 TOK_CONSTRAINED = 291,
69 TOK_CONTAINING = 292,
70 TOK_DEFAULT = 293,
71 TOK_DEFINITIONS = 294,
72 TOK_DEFINED = 295,
73 TOK_EMBEDDED = 296,
74 TOK_ENCODED = 297,
75 TOK_ENCODING_CONTROL = 298,
76 TOK_END = 299,
77 TOK_ENUMERATED = 300,
78 TOK_EXPLICIT = 301,
79 TOK_EXPORTS = 302,
80 TOK_EXTENSIBILITY = 303,
81 TOK_EXTERNAL = 304,
82 TOK_FALSE = 305,
83 TOK_FROM = 306,
84 TOK_GeneralizedTime = 307,
85 TOK_GeneralString = 308,
86 TOK_GraphicString = 309,
87 TOK_IA5String = 310,
88 TOK_IDENTIFIER = 311,
89 TOK_IMPLICIT = 312,
90 TOK_IMPLIED = 313,
91 TOK_IMPORTS = 314,
92 TOK_INCLUDES = 315,
93 TOK_INSTANCE = 316,
94 TOK_INSTRUCTIONS = 317,
95 TOK_INTEGER = 318,
96 TOK_ISO646String = 319,
97 TOK_MAX = 320,
98 TOK_MIN = 321,
99 TOK_MINUS_INFINITY = 322,
100 TOK_NULL = 323,
101 TOK_NumericString = 324,
102 TOK_OBJECT = 325,
103 TOK_ObjectDescriptor = 326,
104 TOK_OCTET = 327,
105 TOK_OF = 328,
106 TOK_OPTIONAL = 329,
107 TOK_PATTERN = 330,
108 TOK_PDV = 331,
109 TOK_PLUS_INFINITY = 332,
110 TOK_PRESENT = 333,
111 TOK_PrintableString = 334,
112 TOK_PRIVATE = 335,
113 TOK_REAL = 336,
114 TOK_RELATIVE_OID = 337,
115 TOK_SEQUENCE = 338,
116 TOK_SET = 339,
117 TOK_SIZE = 340,
118 TOK_STRING = 341,
119 TOK_SYNTAX = 342,
120 TOK_T61String = 343,
121 TOK_TAGS = 344,
122 TOK_TeletexString = 345,
123 TOK_TRUE = 346,
124 TOK_TYPE_IDENTIFIER = 347,
125 TOK_UNIQUE = 348,
126 TOK_UNIVERSAL = 349,
127 TOK_UniversalString = 350,
128 TOK_UTCTime = 351,
129 TOK_UTF8String = 352,
130 TOK_VideotexString = 353,
131 TOK_VisibleString = 354,
132 TOK_WITH = 355,
133 TOK_EXCEPT = 356,
134 TOK_INTERSECTION = 357,
135 TOK_UNION = 358,
136 TOK_TwoDots = 359,
137 TOK_ThreeDots = 360
Lev Walkin418298d2006-07-13 08:24:20 +0000138 };
139#endif
140#define TOK_PPEQ 258
141#define TOK_whitespace 259
142#define TOK_opaque 260
143#define TOK_bstring 261
144#define TOK_cstring 262
145#define TOK_hstring 263
146#define TOK_identifier 264
147#define TOK_number 265
Lev Walkinadf863f2006-09-05 16:18:34 +0000148#define TOK_number_negative 266
149#define TOK_realnumber 267
150#define TOK_tuple 268
151#define TOK_quadruple 269
152#define TOK_typereference 270
153#define TOK_capitalreference 271
154#define TOK_typefieldreference 272
155#define TOK_valuefieldreference 273
156#define TOK_Literal 274
157#define TOK_ABSENT 275
158#define TOK_ABSTRACT_SYNTAX 276
159#define TOK_ALL 277
160#define TOK_ANY 278
161#define TOK_APPLICATION 279
162#define TOK_AUTOMATIC 280
163#define TOK_BEGIN 281
164#define TOK_BIT 282
165#define TOK_BMPString 283
166#define TOK_BOOLEAN 284
167#define TOK_BY 285
168#define TOK_CHARACTER 286
169#define TOK_CHOICE 287
170#define TOK_CLASS 288
171#define TOK_COMPONENT 289
172#define TOK_COMPONENTS 290
173#define TOK_CONSTRAINED 291
174#define TOK_CONTAINING 292
175#define TOK_DEFAULT 293
176#define TOK_DEFINITIONS 294
177#define TOK_DEFINED 295
178#define TOK_EMBEDDED 296
179#define TOK_ENCODED 297
180#define TOK_ENCODING_CONTROL 298
181#define TOK_END 299
182#define TOK_ENUMERATED 300
183#define TOK_EXPLICIT 301
184#define TOK_EXPORTS 302
185#define TOK_EXTENSIBILITY 303
186#define TOK_EXTERNAL 304
187#define TOK_FALSE 305
188#define TOK_FROM 306
189#define TOK_GeneralizedTime 307
190#define TOK_GeneralString 308
191#define TOK_GraphicString 309
192#define TOK_IA5String 310
193#define TOK_IDENTIFIER 311
194#define TOK_IMPLICIT 312
195#define TOK_IMPLIED 313
196#define TOK_IMPORTS 314
197#define TOK_INCLUDES 315
198#define TOK_INSTANCE 316
199#define TOK_INSTRUCTIONS 317
200#define TOK_INTEGER 318
201#define TOK_ISO646String 319
202#define TOK_MAX 320
203#define TOK_MIN 321
204#define TOK_MINUS_INFINITY 322
205#define TOK_NULL 323
206#define TOK_NumericString 324
207#define TOK_OBJECT 325
208#define TOK_ObjectDescriptor 326
209#define TOK_OCTET 327
210#define TOK_OF 328
211#define TOK_OPTIONAL 329
212#define TOK_PATTERN 330
213#define TOK_PDV 331
214#define TOK_PLUS_INFINITY 332
215#define TOK_PRESENT 333
216#define TOK_PrintableString 334
217#define TOK_PRIVATE 335
218#define TOK_REAL 336
219#define TOK_RELATIVE_OID 337
220#define TOK_SEQUENCE 338
221#define TOK_SET 339
222#define TOK_SIZE 340
223#define TOK_STRING 341
224#define TOK_SYNTAX 342
225#define TOK_T61String 343
226#define TOK_TAGS 344
227#define TOK_TeletexString 345
228#define TOK_TRUE 346
229#define TOK_TYPE_IDENTIFIER 347
230#define TOK_UNIQUE 348
231#define TOK_UNIVERSAL 349
232#define TOK_UniversalString 350
233#define TOK_UTCTime 351
234#define TOK_UTF8String 352
235#define TOK_VideotexString 353
236#define TOK_VisibleString 354
237#define TOK_WITH 355
238#define TOK_EXCEPT 356
239#define TOK_INTERSECTION 357
240#define TOK_UNION 358
241#define TOK_TwoDots 359
242#define TOK_ThreeDots 360
Lev Walkin418298d2006-07-13 08:24:20 +0000243
244
245
246
247#ifndef YYSTYPE
Lev Walkina9532f42006-09-17 04:52:50 +0000248#line 88 "asn1p_y.y"
Lev Walkina00d6b32006-03-21 03:40:38 +0000249typedef union {
Lev Walkinf15320b2004-06-03 03:38:44 +0000250 asn1p_t *a_grammar;
251 asn1p_module_flags_e a_module_flags;
252 asn1p_module_t *a_module;
253 asn1p_expr_type_e a_type; /* ASN.1 Type */
254 asn1p_expr_t *a_expr; /* Constructed collection */
255 asn1p_constraint_t *a_constr; /* Constraint */
256 enum asn1p_constraint_type_e a_ctype;/* Constraint type */
257 asn1p_xports_t *a_xports; /* IMports/EXports */
Lev Walkinb36317c2005-08-12 10:09:10 +0000258 struct AssignedIdentifier a_aid; /* Assigned Identifier */
Lev Walkinf15320b2004-06-03 03:38:44 +0000259 asn1p_oid_t *a_oid; /* Object Identifier */
260 asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */
261 struct asn1p_type_tag_s a_tag; /* A tag */
262 asn1p_ref_t *a_ref; /* Reference to custom type */
263 asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */
264 asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */
265 struct asn1p_ref_component_s a_refcomp; /* Component of a reference */
266 asn1p_value_t *a_value; /* Number, DefinedValue, etc */
267 struct asn1p_param_s a_parg; /* A parameter argument */
268 asn1p_paramlist_t *a_plist; /* A pargs list */
Lev Walkin9c974182004-09-15 11:59:51 +0000269 struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
Lev Walkinf15320b2004-06-03 03:38:44 +0000270 enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
Lev Walkind21c5052004-09-29 13:18:09 +0000271 asn1c_integer_t a_int;
Lev Walkinadf863f2006-09-05 16:18:34 +0000272 double a_dbl;
Lev Walkinf15320b2004-06-03 03:38:44 +0000273 char *tv_str;
274 struct {
275 char *buf;
276 int len;
277 } tv_opaque;
278 struct {
279 char *name;
280 struct asn1p_type_tag_s tag;
281 } tv_nametag;
Lev Walkin418298d2006-07-13 08:24:20 +0000282} yystype;
283/* Line 1281 of /usr/local/share/bison/yacc.c. */
Lev Walkinadf863f2006-09-05 16:18:34 +0000284#line 285 "asn1p_y.h"
Lev Walkin418298d2006-07-13 08:24:20 +0000285# define YYSTYPE yystype
286#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000287
288extern YYSTYPE asn1p_lval;
Lev Walkin418298d2006-07-13 08:24:20 +0000289
290
291#endif /* not BISON_ASN_P_Y_H */
292