1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton interface for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
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)
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.
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. */
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.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
43 TOK_VBracketLeft = 259,
44 TOK_VBracketRight = 260,
52 TOK_number_negative = 268,
56 TOK_typereference = 272,
57 TOK_capitalreference = 273,
58 TOK_typefieldreference = 274,
59 TOK_valuefieldreference = 275,
61 TOK_ExtValue_BIT_STRING = 277,
63 TOK_ABSTRACT_SYNTAX = 279,
66 TOK_APPLICATION = 282,
78 TOK_CONSTRAINED = 294,
81 TOK_DEFINITIONS = 297,
85 TOK_ENCODING_CONTROL = 301,
90 TOK_EXTENSIBILITY = 306,
94 TOK_GeneralizedTime = 310,
95 TOK_GeneralString = 311,
96 TOK_GraphicString = 312,
104 TOK_INSTRUCTIONS = 320,
106 TOK_ISO646String = 322,
109 TOK_MINUS_INFINITY = 325,
111 TOK_NumericString = 327,
113 TOK_ObjectDescriptor = 329,
119 TOK_PLUS_INFINITY = 335,
121 TOK_PrintableString = 337,
124 TOK_RELATIVE_OID = 340,
132 TOK_TeletexString = 348,
134 TOK_TYPE_IDENTIFIER = 350,
137 TOK_UniversalString = 353,
139 TOK_UTF8String = 355,
140 TOK_VideotexString = 356,
141 TOK_VisibleString = 357,
145 TOK_INTERSECTION = 361,
153 #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
171 #define TOK_ExtValue_BIT_STRING 277
172 #define TOK_ABSENT 278
173 #define TOK_ABSTRACT_SYNTAX 279
176 #define TOK_APPLICATION 282
177 #define TOK_AUTOMATIC 283
178 #define TOK_BEGIN 284
180 #define TOK_BMPString 286
181 #define TOK_BOOLEAN 287
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
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
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
219 #define TOK_MINUS_INFINITY 325
221 #define TOK_NumericString 327
222 #define TOK_OBJECT 328
223 #define TOK_ObjectDescriptor 329
224 #define TOK_OCTET 330
226 #define TOK_OPTIONAL 332
227 #define TOK_PATTERN 333
229 #define TOK_PLUS_INFINITY 335
230 #define TOK_PRESENT 336
231 #define TOK_PrintableString 337
232 #define TOK_PRIVATE 338
234 #define TOK_RELATIVE_OID 340
235 #define TOK_SEQUENCE 341
238 #define TOK_STRING 344
239 #define TOK_SYNTAX 345
240 #define TOK_T61String 346
242 #define TOK_TeletexString 348
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
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
263 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
264 typedef union YYSTYPE
265 #line 115 "asn1p_y.y"
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 */
275 struct AssignedIdentifier a_aid; /* Assigned Identifier */
276 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 */
286 struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
287 enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
288 asn1c_integer_t a_int;
297 struct asn1p_type_tag_s tag;
300 /* Line 1529 of yacc.c. */
301 #line 302 "asn1p_y.h"
303 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
304 # define YYSTYPE_IS_DECLARED 1
305 # define YYSTYPE_IS_TRIVIAL 1
308 extern YYSTYPE asn1p_lval;