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      identifier = 258,
43      string_literal = 259,
44      constructor = 260,
45      left_brace = 261,
46      right_brace = 262,
47      left_parenthesis = 263,
48      right_parenthesis = 264,
49      left_square = 265,
50      right_square = 266,
51      colon = 267,
52      comma = 268,
53      semicolon = 269,
54      equals = 270,
55      choice = 271,
56      grtr = 272,
57      question_mark = 273,
58      plus = 274,
59      minus = 275,
60      lex_error_token = 276
61    };
62 #endif
63 /* Tokens.  */
64 #define identifier 258
65 #define string_literal 259
66 #define constructor 260
67 #define left_brace 261
68 #define right_brace 262
69 #define left_parenthesis 263
70 #define right_parenthesis 264
71 #define left_square 265
72 #define right_square 266
73 #define colon 267
74 #define comma 268
75 #define semicolon 269
76 #define equals 270
77 #define choice 271
78 #define grtr 272
79 #define question_mark 273
80 #define plus 274
81 #define minus 275
82 #define lex_error_token 276
83 
84 
85 
86 
87 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
88 typedef union YYSTYPE
89 #line 48 "dcg_parser.y"
90 {
91 	int value;			/* int is a reserved word in C */
92 	string string;
93 	string_list string_list;
94 	def definition;
95 	def_list definition_list;
96 	stat statement;
97 	stat_list statement_list;
98 	field field;
99 	field_list field_list;
100 	vfield vfield;
101 	vfield_list vfield_list;
102 	type type;
103 	type_list type_list;
104 }
105 /* Line 1489 of yacc.c.  */
106 #line 107 "dcg_parser.h"
107 	YYSTYPE;
108 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
109 # define YYSTYPE_IS_DECLARED 1
110 # define YYSTYPE_IS_TRIVIAL 1
111 #endif
112 
113 extern YYSTYPE pdcg_lval;
114 
115