blob: 41f312eebaf3d9654d84e124af7151b51175e749 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001typedef union {
2 asn1p_t *a_grammar;
3 asn1p_module_flags_e a_module_flags;
4 asn1p_module_t *a_module;
5 asn1p_expr_type_e a_type; /* ASN.1 Type */
6 asn1p_expr_t *a_expr; /* Constructed collection */
7 asn1p_constraint_t *a_constr; /* Constraint */
8 enum asn1p_constraint_type_e a_ctype;/* Constraint type */
9 asn1p_xports_t *a_xports; /* IMports/EXports */
Lev Walkinb36317c2005-08-12 10:09:10 +000010 struct AssignedIdentifier a_aid; /* Assigned Identifier */
Lev Walkinf15320b2004-06-03 03:38:44 +000011 asn1p_oid_t *a_oid; /* Object Identifier */
12 asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */
13 struct asn1p_type_tag_s a_tag; /* A tag */
14 asn1p_ref_t *a_ref; /* Reference to custom type */
15 asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */
16 asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */
17 struct asn1p_ref_component_s a_refcomp; /* Component of a reference */
18 asn1p_value_t *a_value; /* Number, DefinedValue, etc */
19 struct asn1p_param_s a_parg; /* A parameter argument */
20 asn1p_paramlist_t *a_plist; /* A pargs list */
Lev Walkin9c974182004-09-15 11:59:51 +000021 struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
Lev Walkinf15320b2004-06-03 03:38:44 +000022 enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
Lev Walkind21c5052004-09-29 13:18:09 +000023 asn1c_integer_t a_int;
Lev Walkinf15320b2004-06-03 03:38:44 +000024 char *tv_str;
25 struct {
26 char *buf;
27 int len;
28 } tv_opaque;
29 struct {
30 char *name;
31 struct asn1p_type_tag_s tag;
32 } tv_nametag;
Lev Walkin1004aa92004-09-08 00:28:11 +000033} YYSTYPE;
34#define TOK_PPEQ 257
Lev Walkin57074f12006-03-16 05:11:14 +000035#define TOK_whitespace 258
36#define TOK_opaque 259
37#define TOK_bstring 260
38#define TOK_cstring 261
39#define TOK_hstring 262
40#define TOK_identifier 263
41#define TOK_number 264
42#define TOK_tuple 265
43#define TOK_quadruple 266
44#define TOK_number_negative 267
45#define TOK_typereference 268
46#define TOK_capitalreference 269
47#define TOK_typefieldreference 270
48#define TOK_valuefieldreference 271
49#define TOK_Literal 272
50#define TOK_ABSENT 273
51#define TOK_ABSTRACT_SYNTAX 274
52#define TOK_ALL 275
53#define TOK_ANY 276
54#define TOK_APPLICATION 277
55#define TOK_AUTOMATIC 278
56#define TOK_BEGIN 279
57#define TOK_BIT 280
58#define TOK_BMPString 281
59#define TOK_BOOLEAN 282
60#define TOK_BY 283
61#define TOK_CHARACTER 284
62#define TOK_CHOICE 285
63#define TOK_CLASS 286
64#define TOK_COMPONENT 287
65#define TOK_COMPONENTS 288
66#define TOK_CONSTRAINED 289
67#define TOK_CONTAINING 290
68#define TOK_DEFAULT 291
69#define TOK_DEFINITIONS 292
70#define TOK_DEFINED 293
71#define TOK_EMBEDDED 294
72#define TOK_ENCODED 295
73#define TOK_ENCODING_CONTROL 296
74#define TOK_END 297
75#define TOK_ENUMERATED 298
76#define TOK_EXPLICIT 299
77#define TOK_EXPORTS 300
78#define TOK_EXTENSIBILITY 301
79#define TOK_EXTERNAL 302
80#define TOK_FALSE 303
81#define TOK_FROM 304
82#define TOK_GeneralizedTime 305
83#define TOK_GeneralString 306
84#define TOK_GraphicString 307
85#define TOK_IA5String 308
86#define TOK_IDENTIFIER 309
87#define TOK_IMPLICIT 310
88#define TOK_IMPLIED 311
89#define TOK_IMPORTS 312
90#define TOK_INCLUDES 313
91#define TOK_INSTANCE 314
92#define TOK_INSTRUCTIONS 315
93#define TOK_INTEGER 316
94#define TOK_ISO646String 317
95#define TOK_MAX 318
96#define TOK_MIN 319
97#define TOK_MINUS_INFINITY 320
98#define TOK_NULL 321
99#define TOK_NumericString 322
100#define TOK_OBJECT 323
101#define TOK_ObjectDescriptor 324
102#define TOK_OCTET 325
103#define TOK_OF 326
104#define TOK_OPTIONAL 327
105#define TOK_PATTERN 328
106#define TOK_PDV 329
107#define TOK_PLUS_INFINITY 330
108#define TOK_PRESENT 331
109#define TOK_PrintableString 332
110#define TOK_PRIVATE 333
111#define TOK_REAL 334
112#define TOK_RELATIVE_OID 335
113#define TOK_SEQUENCE 336
114#define TOK_SET 337
115#define TOK_SIZE 338
116#define TOK_STRING 339
117#define TOK_SYNTAX 340
118#define TOK_T61String 341
119#define TOK_TAGS 342
120#define TOK_TeletexString 343
121#define TOK_TRUE 344
122#define TOK_TYPE_IDENTIFIER 345
123#define TOK_UNIQUE 346
124#define TOK_UNIVERSAL 347
125#define TOK_UniversalString 348
126#define TOK_UTCTime 349
127#define TOK_UTF8String 350
128#define TOK_VideotexString 351
129#define TOK_VisibleString 352
130#define TOK_WITH 353
131#define TOK_EXCEPT 354
132#define TOK_INTERSECTION 355
133#define TOK_UNION 356
134#define TOK_TwoDots 357
135#define TOK_ThreeDots 358
Lev Walkin1004aa92004-09-08 00:28:11 +0000136
Lev Walkinf15320b2004-06-03 03:38:44 +0000137
138extern YYSTYPE asn1p_lval;