blob: b7b7f1a1b77522db7714ec11c632f43c8283d59b [file] [log] [blame]
vlm1aeaddd2006-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,
43 TOK_tuple = 266,
44 TOK_quadruple = 267,
45 TOK_number_negative = 268,
46 TOK_typereference = 269,
47 TOK_capitalreference = 270,
48 TOK_typefieldreference = 271,
49 TOK_valuefieldreference = 272,
50 TOK_Literal = 273,
51 TOK_ABSENT = 274,
52 TOK_ABSTRACT_SYNTAX = 275,
53 TOK_ALL = 276,
54 TOK_ANY = 277,
55 TOK_APPLICATION = 278,
56 TOK_AUTOMATIC = 279,
57 TOK_BEGIN = 280,
58 TOK_BIT = 281,
59 TOK_BMPString = 282,
60 TOK_BOOLEAN = 283,
61 TOK_BY = 284,
62 TOK_CHARACTER = 285,
63 TOK_CHOICE = 286,
64 TOK_CLASS = 287,
65 TOK_COMPONENT = 288,
66 TOK_COMPONENTS = 289,
67 TOK_CONSTRAINED = 290,
68 TOK_CONTAINING = 291,
69 TOK_DEFAULT = 292,
70 TOK_DEFINITIONS = 293,
71 TOK_DEFINED = 294,
72 TOK_EMBEDDED = 295,
73 TOK_ENCODED = 296,
74 TOK_ENCODING_CONTROL = 297,
75 TOK_END = 298,
76 TOK_ENUMERATED = 299,
77 TOK_EXPLICIT = 300,
78 TOK_EXPORTS = 301,
79 TOK_EXTENSIBILITY = 302,
80 TOK_EXTERNAL = 303,
81 TOK_FALSE = 304,
82 TOK_FROM = 305,
83 TOK_GeneralizedTime = 306,
84 TOK_GeneralString = 307,
85 TOK_GraphicString = 308,
86 TOK_IA5String = 309,
87 TOK_IDENTIFIER = 310,
88 TOK_IMPLICIT = 311,
89 TOK_IMPLIED = 312,
90 TOK_IMPORTS = 313,
91 TOK_INCLUDES = 314,
92 TOK_INSTANCE = 315,
93 TOK_INSTRUCTIONS = 316,
94 TOK_INTEGER = 317,
95 TOK_ISO646String = 318,
96 TOK_MAX = 319,
97 TOK_MIN = 320,
98 TOK_MINUS_INFINITY = 321,
99 TOK_NULL = 322,
100 TOK_NumericString = 323,
101 TOK_OBJECT = 324,
102 TOK_ObjectDescriptor = 325,
103 TOK_OCTET = 326,
104 TOK_OF = 327,
105 TOK_OPTIONAL = 328,
106 TOK_PATTERN = 329,
107 TOK_PDV = 330,
108 TOK_PLUS_INFINITY = 331,
109 TOK_PRESENT = 332,
110 TOK_PrintableString = 333,
111 TOK_PRIVATE = 334,
112 TOK_REAL = 335,
113 TOK_RELATIVE_OID = 336,
114 TOK_SEQUENCE = 337,
115 TOK_SET = 338,
116 TOK_SIZE = 339,
117 TOK_STRING = 340,
118 TOK_SYNTAX = 341,
119 TOK_T61String = 342,
120 TOK_TAGS = 343,
121 TOK_TeletexString = 344,
122 TOK_TRUE = 345,
123 TOK_TYPE_IDENTIFIER = 346,
124 TOK_UNIQUE = 347,
125 TOK_UNIVERSAL = 348,
126 TOK_UniversalString = 349,
127 TOK_UTCTime = 350,
128 TOK_UTF8String = 351,
129 TOK_VideotexString = 352,
130 TOK_VisibleString = 353,
131 TOK_WITH = 354,
132 TOK_EXCEPT = 355,
133 TOK_INTERSECTION = 356,
134 TOK_UNION = 357,
135 TOK_TwoDots = 358,
136 TOK_ThreeDots = 359
137 };
138#endif
139#define TOK_PPEQ 258
140#define TOK_whitespace 259
141#define TOK_opaque 260
142#define TOK_bstring 261
143#define TOK_cstring 262
144#define TOK_hstring 263
145#define TOK_identifier 264
146#define TOK_number 265
147#define TOK_tuple 266
148#define TOK_quadruple 267
149#define TOK_number_negative 268
150#define TOK_typereference 269
151#define TOK_capitalreference 270
152#define TOK_typefieldreference 271
153#define TOK_valuefieldreference 272
154#define TOK_Literal 273
155#define TOK_ABSENT 274
156#define TOK_ABSTRACT_SYNTAX 275
157#define TOK_ALL 276
158#define TOK_ANY 277
159#define TOK_APPLICATION 278
160#define TOK_AUTOMATIC 279
161#define TOK_BEGIN 280
162#define TOK_BIT 281
163#define TOK_BMPString 282
164#define TOK_BOOLEAN 283
165#define TOK_BY 284
166#define TOK_CHARACTER 285
167#define TOK_CHOICE 286
168#define TOK_CLASS 287
169#define TOK_COMPONENT 288
170#define TOK_COMPONENTS 289
171#define TOK_CONSTRAINED 290
172#define TOK_CONTAINING 291
173#define TOK_DEFAULT 292
174#define TOK_DEFINITIONS 293
175#define TOK_DEFINED 294
176#define TOK_EMBEDDED 295
177#define TOK_ENCODED 296
178#define TOK_ENCODING_CONTROL 297
179#define TOK_END 298
180#define TOK_ENUMERATED 299
181#define TOK_EXPLICIT 300
182#define TOK_EXPORTS 301
183#define TOK_EXTENSIBILITY 302
184#define TOK_EXTERNAL 303
185#define TOK_FALSE 304
186#define TOK_FROM 305
187#define TOK_GeneralizedTime 306
188#define TOK_GeneralString 307
189#define TOK_GraphicString 308
190#define TOK_IA5String 309
191#define TOK_IDENTIFIER 310
192#define TOK_IMPLICIT 311
193#define TOK_IMPLIED 312
194#define TOK_IMPORTS 313
195#define TOK_INCLUDES 314
196#define TOK_INSTANCE 315
197#define TOK_INSTRUCTIONS 316
198#define TOK_INTEGER 317
199#define TOK_ISO646String 318
200#define TOK_MAX 319
201#define TOK_MIN 320
202#define TOK_MINUS_INFINITY 321
203#define TOK_NULL 322
204#define TOK_NumericString 323
205#define TOK_OBJECT 324
206#define TOK_ObjectDescriptor 325
207#define TOK_OCTET 326
208#define TOK_OF 327
209#define TOK_OPTIONAL 328
210#define TOK_PATTERN 329
211#define TOK_PDV 330
212#define TOK_PLUS_INFINITY 331
213#define TOK_PRESENT 332
214#define TOK_PrintableString 333
215#define TOK_PRIVATE 334
216#define TOK_REAL 335
217#define TOK_RELATIVE_OID 336
218#define TOK_SEQUENCE 337
219#define TOK_SET 338
220#define TOK_SIZE 339
221#define TOK_STRING 340
222#define TOK_SYNTAX 341
223#define TOK_T61String 342
224#define TOK_TAGS 343
225#define TOK_TeletexString 344
226#define TOK_TRUE 345
227#define TOK_TYPE_IDENTIFIER 346
228#define TOK_UNIQUE 347
229#define TOK_UNIVERSAL 348
230#define TOK_UniversalString 349
231#define TOK_UTCTime 350
232#define TOK_UTF8String 351
233#define TOK_VideotexString 352
234#define TOK_VisibleString 353
235#define TOK_WITH 354
236#define TOK_EXCEPT 355
237#define TOK_INTERSECTION 356
238#define TOK_UNION 357
239#define TOK_TwoDots 358
240#define TOK_ThreeDots 359
241
242
243
244
245#ifndef YYSTYPE
246#line 72 "asn1p_y.y"
vlm0c6d3812006-03-21 03:40:38 +0000247typedef union {
vlmfa67ddc2004-06-03 03:38:44 +0000248 asn1p_t *a_grammar;
249 asn1p_module_flags_e a_module_flags;
250 asn1p_module_t *a_module;
251 asn1p_expr_type_e a_type; /* ASN.1 Type */
252 asn1p_expr_t *a_expr; /* Constructed collection */
253 asn1p_constraint_t *a_constr; /* Constraint */
254 enum asn1p_constraint_type_e a_ctype;/* Constraint type */
255 asn1p_xports_t *a_xports; /* IMports/EXports */
vlm931aeed2005-08-12 10:09:10 +0000256 struct AssignedIdentifier a_aid; /* Assigned Identifier */
vlmfa67ddc2004-06-03 03:38:44 +0000257 asn1p_oid_t *a_oid; /* Object Identifier */
258 asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */
259 struct asn1p_type_tag_s a_tag; /* A tag */
260 asn1p_ref_t *a_ref; /* Reference to custom type */
261 asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */
262 asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */
263 struct asn1p_ref_component_s a_refcomp; /* Component of a reference */
264 asn1p_value_t *a_value; /* Number, DefinedValue, etc */
265 struct asn1p_param_s a_parg; /* A parameter argument */
266 asn1p_paramlist_t *a_plist; /* A pargs list */
vlmc94e28f2004-09-15 11:59:51 +0000267 struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
vlmfa67ddc2004-06-03 03:38:44 +0000268 enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
vlmec6acd42004-09-29 13:18:09 +0000269 asn1c_integer_t a_int;
vlmfa67ddc2004-06-03 03:38:44 +0000270 char *tv_str;
271 struct {
272 char *buf;
273 int len;
274 } tv_opaque;
275 struct {
276 char *name;
277 struct asn1p_type_tag_s tag;
278 } tv_nametag;
vlm1aeaddd2006-07-13 08:24:20 +0000279} yystype;
280/* Line 1281 of /usr/local/share/bison/yacc.c. */
vlm1fcf7592006-08-18 02:27:55 +0000281#line 282 "asn1p_y.h"
vlm1aeaddd2006-07-13 08:24:20 +0000282# define YYSTYPE yystype
283#endif
vlmfa67ddc2004-06-03 03:38:44 +0000284
285extern YYSTYPE asn1p_lval;
vlm1aeaddd2006-07-13 08:24:20 +0000286
287
288#endif /* not BISON_ASN_P_Y_H */
289