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     kw_ABSENT = 258,
43     kw_ABSTRACT_SYNTAX = 259,
44     kw_ALL = 260,
45     kw_APPLICATION = 261,
46     kw_AUTOMATIC = 262,
47     kw_BEGIN = 263,
48     kw_BIT = 264,
49     kw_BMPString = 265,
50     kw_BOOLEAN = 266,
51     kw_BY = 267,
52     kw_CHARACTER = 268,
53     kw_CHOICE = 269,
54     kw_CLASS = 270,
55     kw_COMPONENT = 271,
56     kw_COMPONENTS = 272,
57     kw_CONSTRAINED = 273,
58     kw_CONTAINING = 274,
59     kw_DEFAULT = 275,
60     kw_DEFINITIONS = 276,
61     kw_EMBEDDED = 277,
62     kw_ENCODED = 278,
63     kw_END = 279,
64     kw_ENUMERATED = 280,
65     kw_EXCEPT = 281,
66     kw_EXPLICIT = 282,
67     kw_EXPORTS = 283,
68     kw_EXTENSIBILITY = 284,
69     kw_EXTERNAL = 285,
70     kw_FALSE = 286,
71     kw_FROM = 287,
72     kw_GeneralString = 288,
73     kw_GeneralizedTime = 289,
74     kw_GraphicString = 290,
75     kw_IA5String = 291,
76     kw_IDENTIFIER = 292,
77     kw_IMPLICIT = 293,
78     kw_IMPLIED = 294,
79     kw_IMPORTS = 295,
80     kw_INCLUDES = 296,
81     kw_INSTANCE = 297,
82     kw_INTEGER = 298,
83     kw_INTERSECTION = 299,
84     kw_ISO646String = 300,
85     kw_MAX = 301,
86     kw_MIN = 302,
87     kw_MINUS_INFINITY = 303,
88     kw_NULL = 304,
89     kw_NumericString = 305,
90     kw_OBJECT = 306,
91     kw_OCTET = 307,
92     kw_OF = 308,
93     kw_OPTIONAL = 309,
94     kw_ObjectDescriptor = 310,
95     kw_PATTERN = 311,
96     kw_PDV = 312,
97     kw_PLUS_INFINITY = 313,
98     kw_PRESENT = 314,
99     kw_PRIVATE = 315,
100     kw_PrintableString = 316,
101     kw_REAL = 317,
102     kw_RELATIVE_OID = 318,
103     kw_SEQUENCE = 319,
104     kw_SET = 320,
105     kw_SIZE = 321,
106     kw_STRING = 322,
107     kw_SYNTAX = 323,
108     kw_T61String = 324,
109     kw_TAGS = 325,
110     kw_TRUE = 326,
111     kw_TYPE_IDENTIFIER = 327,
112     kw_TeletexString = 328,
113     kw_UNION = 329,
114     kw_UNIQUE = 330,
115     kw_UNIVERSAL = 331,
116     kw_UTCTime = 332,
117     kw_UTF8String = 333,
118     kw_UniversalString = 334,
119     kw_VideotexString = 335,
120     kw_VisibleString = 336,
121     kw_WITH = 337,
122     RANGE = 338,
123     EEQUAL = 339,
124     ELLIPSIS = 340,
125     IDENTIFIER = 341,
126     referencename = 342,
127     STRING = 343,
128     NUMBER = 344
129   };
130#endif
131/* Tokens.  */
132#define kw_ABSENT 258
133#define kw_ABSTRACT_SYNTAX 259
134#define kw_ALL 260
135#define kw_APPLICATION 261
136#define kw_AUTOMATIC 262
137#define kw_BEGIN 263
138#define kw_BIT 264
139#define kw_BMPString 265
140#define kw_BOOLEAN 266
141#define kw_BY 267
142#define kw_CHARACTER 268
143#define kw_CHOICE 269
144#define kw_CLASS 270
145#define kw_COMPONENT 271
146#define kw_COMPONENTS 272
147#define kw_CONSTRAINED 273
148#define kw_CONTAINING 274
149#define kw_DEFAULT 275
150#define kw_DEFINITIONS 276
151#define kw_EMBEDDED 277
152#define kw_ENCODED 278
153#define kw_END 279
154#define kw_ENUMERATED 280
155#define kw_EXCEPT 281
156#define kw_EXPLICIT 282
157#define kw_EXPORTS 283
158#define kw_EXTENSIBILITY 284
159#define kw_EXTERNAL 285
160#define kw_FALSE 286
161#define kw_FROM 287
162#define kw_GeneralString 288
163#define kw_GeneralizedTime 289
164#define kw_GraphicString 290
165#define kw_IA5String 291
166#define kw_IDENTIFIER 292
167#define kw_IMPLICIT 293
168#define kw_IMPLIED 294
169#define kw_IMPORTS 295
170#define kw_INCLUDES 296
171#define kw_INSTANCE 297
172#define kw_INTEGER 298
173#define kw_INTERSECTION 299
174#define kw_ISO646String 300
175#define kw_MAX 301
176#define kw_MIN 302
177#define kw_MINUS_INFINITY 303
178#define kw_NULL 304
179#define kw_NumericString 305
180#define kw_OBJECT 306
181#define kw_OCTET 307
182#define kw_OF 308
183#define kw_OPTIONAL 309
184#define kw_ObjectDescriptor 310
185#define kw_PATTERN 311
186#define kw_PDV 312
187#define kw_PLUS_INFINITY 313
188#define kw_PRESENT 314
189#define kw_PRIVATE 315
190#define kw_PrintableString 316
191#define kw_REAL 317
192#define kw_RELATIVE_OID 318
193#define kw_SEQUENCE 319
194#define kw_SET 320
195#define kw_SIZE 321
196#define kw_STRING 322
197#define kw_SYNTAX 323
198#define kw_T61String 324
199#define kw_TAGS 325
200#define kw_TRUE 326
201#define kw_TYPE_IDENTIFIER 327
202#define kw_TeletexString 328
203#define kw_UNION 329
204#define kw_UNIQUE 330
205#define kw_UNIVERSAL 331
206#define kw_UTCTime 332
207#define kw_UTF8String 333
208#define kw_UniversalString 334
209#define kw_VideotexString 335
210#define kw_VisibleString 336
211#define kw_WITH 337
212#define RANGE 338
213#define EEQUAL 339
214#define ELLIPSIS 340
215#define IDENTIFIER 341
216#define referencename 342
217#define STRING 343
218#define NUMBER 344
219
220
221
222
223#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
224typedef union YYSTYPE
225#line 71 "asn1parse.y"
226{
227    int constant;
228    struct value *value;
229    struct range *range;
230    char *name;
231    Type *type;
232    Member *member;
233    struct objid *objid;
234    char *defval;
235    struct string_list *sl;
236    struct tagtype tag;
237    struct memhead *members;
238    struct constraint_spec *constraint_spec;
239}
240/* Line 1529 of yacc.c.  */
241#line 242 "asn1parse.h"
242	YYSTYPE;
243# define yystype YYSTYPE /* obsolescent; will be withdrawn */
244# define YYSTYPE_IS_DECLARED 1
245# define YYSTYPE_IS_TRIVIAL 1
246#endif
247
248extern YYSTYPE yylval;
249
250