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