NativeEnumerated.c vars NULL init and check
[com/asn1c.git] / libasn1parser / asn1p_y.h
1 /* A Bison parser, made by GNU Bison 2.3.  */
2
3 /* 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.
7
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
20    Foundation, Inc., 51 Franklin Street, Fifth Floor,
21    Boston, MA 02110-1301, USA.  */
22
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.
32
33    This special exception was added by the Free Software Foundation in
34    version 2.2 of Bison.  */
35
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,
43      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,
61      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
149    };
150 #endif
151 /* Tokens.  */
152 #define TOK_PPEQ 258
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
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
259
260
261
262
263 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
264 typedef union YYSTYPE
265 #line 115 "asn1p_y.y"
266 {
267         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 */
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;
289         double                   a_dbl;
290         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;
299 }
300 /* Line 1529 of yacc.c.  */
301 #line 302 "asn1p_y.h"
302         YYSTYPE;
303 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
304 # define YYSTYPE_IS_DECLARED 1
305 # define YYSTYPE_IS_TRIVIAL 1
306 #endif
307
308 extern YYSTYPE asn1p_lval;
309