blob: 8581bc80bf9e60ce3b4c6230257e30a7c9c853d9 [file] [log] [blame]
Lev Walkin0e90aa02013-03-19 16:17:13 -07001/* A Bison parser, made by GNU Bison 2.3. */
Lev Walkin418298d2006-07-13 08:24:20 +00002
Lev Walkin0e90aa02013-03-19 16:17:13 -07003/* 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.
Lev Walkin418298d2006-07-13 08:24:20 +00007
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
Lev Walkin0e90aa02013-03-19 16:17:13 -070020 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
Lev Walkin418298d2006-07-13 08:24:20 +000022
Lev Walkin0e90aa02013-03-19 16:17:13 -070023/* 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.
Lev Walkin418298d2006-07-13 08:24:20 +000032
Lev Walkin0e90aa02013-03-19 16:17:13 -070033 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
Lev Walkin418298d2006-07-13 08:24:20 +000035
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 TOK_PPEQ = 258,
Lev Walkin0e90aa02013-03-19 16:17:13 -070043 TOK_VBracketLeft = 259,
44 TOK_VBracketRight = 260,
45 TOK_whitespace = 261,
46 TOK_opaque = 262,
47 TOK_bstring = 263,
48 TOK_cstring = 264,
49 TOK_hstring = 265,
50 TOK_identifier = 266,
51 TOK_number = 267,
52 TOK_number_negative = 268,
53 TOK_realnumber = 269,
54 TOK_tuple = 270,
55 TOK_quadruple = 271,
56 TOK_typereference = 272,
57 TOK_capitalreference = 273,
58 TOK_typefieldreference = 274,
59 TOK_valuefieldreference = 275,
60 TOK_Literal = 276,
Lev Walkinbe518fa2017-09-07 02:05:28 -070061 TOK_ExtValue_BIT_STRING = 277,
62 TOK_ABSENT = 278,
63 TOK_ABSTRACT_SYNTAX = 279,
64 TOK_ALL = 280,
65 TOK_ANY = 281,
66 TOK_APPLICATION = 282,
67 TOK_AUTOMATIC = 283,
68 TOK_BEGIN = 284,
69 TOK_BIT = 285,
70 TOK_BMPString = 286,
71 TOK_BOOLEAN = 287,
72 TOK_BY = 288,
73 TOK_CHARACTER = 289,
74 TOK_CHOICE = 290,
75 TOK_CLASS = 291,
76 TOK_COMPONENT = 292,
77 TOK_COMPONENTS = 293,
78 TOK_CONSTRAINED = 294,
79 TOK_CONTAINING = 295,
80 TOK_DEFAULT = 296,
81 TOK_DEFINITIONS = 297,
82 TOK_DEFINED = 298,
83 TOK_EMBEDDED = 299,
84 TOK_ENCODED = 300,
85 TOK_ENCODING_CONTROL = 301,
86 TOK_END = 302,
87 TOK_ENUMERATED = 303,
88 TOK_EXPLICIT = 304,
89 TOK_EXPORTS = 305,
90 TOK_EXTENSIBILITY = 306,
91 TOK_EXTERNAL = 307,
92 TOK_FALSE = 308,
93 TOK_FROM = 309,
94 TOK_GeneralizedTime = 310,
95 TOK_GeneralString = 311,
96 TOK_GraphicString = 312,
97 TOK_IA5String = 313,
98 TOK_IDENTIFIER = 314,
99 TOK_IMPLICIT = 315,
100 TOK_IMPLIED = 316,
101 TOK_IMPORTS = 317,
102 TOK_INCLUDES = 318,
103 TOK_INSTANCE = 319,
104 TOK_INSTRUCTIONS = 320,
105 TOK_INTEGER = 321,
106 TOK_ISO646String = 322,
107 TOK_MAX = 323,
108 TOK_MIN = 324,
109 TOK_MINUS_INFINITY = 325,
110 TOK_NULL = 326,
111 TOK_NumericString = 327,
112 TOK_OBJECT = 328,
113 TOK_ObjectDescriptor = 329,
114 TOK_OCTET = 330,
115 TOK_OF = 331,
116 TOK_OPTIONAL = 332,
117 TOK_PATTERN = 333,
118 TOK_PDV = 334,
119 TOK_PLUS_INFINITY = 335,
120 TOK_PRESENT = 336,
121 TOK_PrintableString = 337,
122 TOK_PRIVATE = 338,
123 TOK_REAL = 339,
124 TOK_RELATIVE_OID = 340,
125 TOK_SEQUENCE = 341,
126 TOK_SET = 342,
127 TOK_SIZE = 343,
128 TOK_STRING = 344,
129 TOK_SYNTAX = 345,
130 TOK_T61String = 346,
131 TOK_TAGS = 347,
132 TOK_TeletexString = 348,
133 TOK_TRUE = 349,
134 TOK_TYPE_IDENTIFIER = 350,
135 TOK_UNIQUE = 351,
136 TOK_UNIVERSAL = 352,
137 TOK_UniversalString = 353,
138 TOK_UTCTime = 354,
139 TOK_UTF8String = 355,
140 TOK_VideotexString = 356,
141 TOK_VisibleString = 357,
142 TOK_WITH = 358,
143 UTF8_BOM = 359,
144 TOK_EXCEPT = 360,
145 TOK_INTERSECTION = 361,
146 TOK_UNION = 362,
147 TOK_TwoDots = 363,
148 TOK_ThreeDots = 364
Lev Walkin418298d2006-07-13 08:24:20 +0000149 };
150#endif
Lev Walkin0e90aa02013-03-19 16:17:13 -0700151/* Tokens. */
Lev Walkin418298d2006-07-13 08:24:20 +0000152#define TOK_PPEQ 258
Lev Walkin0e90aa02013-03-19 16:17:13 -0700153#define TOK_VBracketLeft 259
154#define TOK_VBracketRight 260
155#define TOK_whitespace 261
156#define TOK_opaque 262
157#define TOK_bstring 263
158#define TOK_cstring 264
159#define TOK_hstring 265
160#define TOK_identifier 266
161#define TOK_number 267
162#define TOK_number_negative 268
163#define TOK_realnumber 269
164#define TOK_tuple 270
165#define TOK_quadruple 271
166#define TOK_typereference 272
167#define TOK_capitalreference 273
168#define TOK_typefieldreference 274
169#define TOK_valuefieldreference 275
170#define TOK_Literal 276
Lev Walkinbe518fa2017-09-07 02:05:28 -0700171#define TOK_ExtValue_BIT_STRING 277
172#define TOK_ABSENT 278
173#define TOK_ABSTRACT_SYNTAX 279
174#define TOK_ALL 280
175#define TOK_ANY 281
176#define TOK_APPLICATION 282
177#define TOK_AUTOMATIC 283
178#define TOK_BEGIN 284
179#define TOK_BIT 285
180#define TOK_BMPString 286
181#define TOK_BOOLEAN 287
182#define TOK_BY 288
183#define TOK_CHARACTER 289
184#define TOK_CHOICE 290
185#define TOK_CLASS 291
186#define TOK_COMPONENT 292
187#define TOK_COMPONENTS 293
188#define TOK_CONSTRAINED 294
189#define TOK_CONTAINING 295
190#define TOK_DEFAULT 296
191#define TOK_DEFINITIONS 297
192#define TOK_DEFINED 298
193#define TOK_EMBEDDED 299
194#define TOK_ENCODED 300
195#define TOK_ENCODING_CONTROL 301
196#define TOK_END 302
197#define TOK_ENUMERATED 303
198#define TOK_EXPLICIT 304
199#define TOK_EXPORTS 305
200#define TOK_EXTENSIBILITY 306
201#define TOK_EXTERNAL 307
202#define TOK_FALSE 308
203#define TOK_FROM 309
204#define TOK_GeneralizedTime 310
205#define TOK_GeneralString 311
206#define TOK_GraphicString 312
207#define TOK_IA5String 313
208#define TOK_IDENTIFIER 314
209#define TOK_IMPLICIT 315
210#define TOK_IMPLIED 316
211#define TOK_IMPORTS 317
212#define TOK_INCLUDES 318
213#define TOK_INSTANCE 319
214#define TOK_INSTRUCTIONS 320
215#define TOK_INTEGER 321
216#define TOK_ISO646String 322
217#define TOK_MAX 323
218#define TOK_MIN 324
219#define TOK_MINUS_INFINITY 325
220#define TOK_NULL 326
221#define TOK_NumericString 327
222#define TOK_OBJECT 328
223#define TOK_ObjectDescriptor 329
224#define TOK_OCTET 330
225#define TOK_OF 331
226#define TOK_OPTIONAL 332
227#define TOK_PATTERN 333
228#define TOK_PDV 334
229#define TOK_PLUS_INFINITY 335
230#define TOK_PRESENT 336
231#define TOK_PrintableString 337
232#define TOK_PRIVATE 338
233#define TOK_REAL 339
234#define TOK_RELATIVE_OID 340
235#define TOK_SEQUENCE 341
236#define TOK_SET 342
237#define TOK_SIZE 343
238#define TOK_STRING 344
239#define TOK_SYNTAX 345
240#define TOK_T61String 346
241#define TOK_TAGS 347
242#define TOK_TeletexString 348
243#define TOK_TRUE 349
244#define TOK_TYPE_IDENTIFIER 350
245#define TOK_UNIQUE 351
246#define TOK_UNIVERSAL 352
247#define TOK_UniversalString 353
248#define TOK_UTCTime 354
249#define TOK_UTF8String 355
250#define TOK_VideotexString 356
251#define TOK_VisibleString 357
252#define TOK_WITH 358
253#define UTF8_BOM 359
254#define TOK_EXCEPT 360
255#define TOK_INTERSECTION 361
256#define TOK_UNION 362
257#define TOK_TwoDots 363
258#define TOK_ThreeDots 364
Lev Walkin418298d2006-07-13 08:24:20 +0000259
260
261
262
Lev Walkin0e90aa02013-03-19 16:17:13 -0700263#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
264typedef union YYSTYPE
Lev Walkin1a49ced2017-11-06 00:07:00 -0800265#line 115 "asn1p_y.y"
Lev Walkin0e90aa02013-03-19 16:17:13 -0700266{
Lev Walkinf15320b2004-06-03 03:38:44 +0000267 asn1p_t *a_grammar;
268 asn1p_module_flags_e a_module_flags;
269 asn1p_module_t *a_module;
270 asn1p_expr_type_e a_type; /* ASN.1 Type */
271 asn1p_expr_t *a_expr; /* Constructed collection */
272 asn1p_constraint_t *a_constr; /* Constraint */
273 enum asn1p_constraint_type_e a_ctype;/* Constraint type */
274 asn1p_xports_t *a_xports; /* IMports/EXports */
Lev Walkinb36317c2005-08-12 10:09:10 +0000275 struct AssignedIdentifier a_aid; /* Assigned Identifier */
Lev Walkinf15320b2004-06-03 03:38:44 +0000276 asn1p_oid_t *a_oid; /* Object Identifier */
277 asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */
278 struct asn1p_type_tag_s a_tag; /* A tag */
279 asn1p_ref_t *a_ref; /* Reference to custom type */
280 asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */
281 asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */
282 struct asn1p_ref_component_s a_refcomp; /* Component of a reference */
283 asn1p_value_t *a_value; /* Number, DefinedValue, etc */
284 struct asn1p_param_s a_parg; /* A parameter argument */
285 asn1p_paramlist_t *a_plist; /* A pargs list */
Lev Walkin9c974182004-09-15 11:59:51 +0000286 struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
Lev Walkinf15320b2004-06-03 03:38:44 +0000287 enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
Lev Walkind21c5052004-09-29 13:18:09 +0000288 asn1c_integer_t a_int;
Lev Walkinadf863f2006-09-05 16:18:34 +0000289 double a_dbl;
Lev Walkinf15320b2004-06-03 03:38:44 +0000290 char *tv_str;
291 struct {
292 char *buf;
293 int len;
294 } tv_opaque;
295 struct {
296 char *name;
297 struct asn1p_type_tag_s tag;
298 } tv_nametag;
Lev Walkin0e90aa02013-03-19 16:17:13 -0700299}
300/* Line 1529 of yacc.c. */
Lev Walkinbe518fa2017-09-07 02:05:28 -0700301#line 302 "asn1p_y.h"
Lev Walkin0e90aa02013-03-19 16:17:13 -0700302 YYSTYPE;
303# define yystype YYSTYPE /* obsolescent; will be withdrawn */
304# define YYSTYPE_IS_DECLARED 1
305# define YYSTYPE_IS_TRIVIAL 1
Lev Walkin418298d2006-07-13 08:24:20 +0000306#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000307
308extern YYSTYPE asn1p_lval;
Lev Walkin418298d2006-07-13 08:24:20 +0000309