1 /* A Bison parser, made by GNU Bison 2.5. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 /* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33 34 /* Tokens. */ 35 #ifndef YYTOKENTYPE 36 # define YYTOKENTYPE 37 /* Put the tokens into the symbol table, so that GDB and other debuggers 38 know about them. */ 39 enum yytokentype { 40 tSYMBOL = 258, 41 tREGEXP = 259, 42 tSTRING = 260, 43 tINTEGER = 261, 44 tREAL = 262, 45 tSUB = 263, 46 tSTATE = 264, 47 tSTART = 265, 48 tSTARTRULES = 266, 49 tNAMERULES = 267, 50 tBEGIN = 268, 51 tEND = 269, 52 tRETURN = 270, 53 tIF = 271, 54 tELSE = 272, 55 tLOCAL = 273, 56 tWHILE = 274, 57 tFOR = 275, 58 tEXTENDS = 276, 59 tDIVASSIGN = 277, 60 tMULASSIGN = 278, 61 tSUBASSIGN = 279, 62 tADDASSIGN = 280, 63 tOR = 281, 64 tAND = 282, 65 tNE = 283, 66 tEQ = 284, 67 tLE = 285, 68 tGE = 286, 69 tDIV = 287, 70 tMINUSMINUS = 288, 71 tPLUSPLUS = 289 72 }; 73 #endif 74 /* Tokens. */ 75 #define tSYMBOL 258 76 #define tREGEXP 259 77 #define tSTRING 260 78 #define tINTEGER 261 79 #define tREAL 262 80 #define tSUB 263 81 #define tSTATE 264 82 #define tSTART 265 83 #define tSTARTRULES 266 84 #define tNAMERULES 267 85 #define tBEGIN 268 86 #define tEND 269 87 #define tRETURN 270 88 #define tIF 271 89 #define tELSE 272 90 #define tLOCAL 273 91 #define tWHILE 274 92 #define tFOR 275 93 #define tEXTENDS 276 94 #define tDIVASSIGN 277 95 #define tMULASSIGN 278 96 #define tSUBASSIGN 279 97 #define tADDASSIGN 280 98 #define tOR 281 99 #define tAND 282 100 #define tNE 283 101 #define tEQ 284 102 #define tLE 285 103 #define tGE 286 104 #define tDIV 287 105 #define tMINUSMINUS 288 106 #define tPLUSPLUS 289 107 108 109 110 111 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 112 typedef union YYSTYPE 113 { 114 115 /* Line 2068 of yacc.c */ 116 #line 34 "gram.y" 117 118 List *lst; 119 Node *node; 120 Cons *cons; 121 Stmt *stmt; 122 Expr *expr; 123 124 125 126 /* Line 2068 of yacc.c */ 127 #line 128 "gram.h" 128 } YYSTYPE; 129 # define YYSTYPE_IS_TRIVIAL 1 130 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 131 # define YYSTYPE_IS_DECLARED 1 132 #endif 133 134 extern YYSTYPE yylval; 135 136 137