1 /* A Bison parser, made by GNU Bison 2.4.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 2009, 2010 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 3 of the License, or 11 (at your option) 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, see <http://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 35 /* Tokens. */ 36 #ifndef YYTOKENTYPE 37 # define YYTOKENTYPE 38 /* Put the tokens into the symbol table, so that GDB and other debuggers 39 know about them. */ 40 enum yytokentype { 41 EOS = 258, 42 BAD = 259, 43 HELP = 260, 44 HEX = 261, 45 DECIMAL = 262, 46 QUIT = 263, 47 ABS = 264, 48 BIN = 265, 49 FIB = 266, 50 GCD = 267, 51 KRON = 268, 52 LCM = 269, 53 LUCNUM = 270, 54 NEXTPRIME = 271, 55 POWM = 272, 56 ROOT = 273, 57 SQRT = 274, 58 NUMBER = 275, 59 VARIABLE = 276, 60 LOR = 277, 61 LAND = 278, 62 GE = 279, 63 LE = 280, 64 NE = 281, 65 EQ = 282, 66 RSHIFT = 283, 67 LSHIFT = 284, 68 UMINUS = 285 69 }; 70 #endif 71 /* Tokens. */ 72 #define EOS 258 73 #define BAD 259 74 #define HELP 260 75 #define HEX 261 76 #define DECIMAL 262 77 #define QUIT 263 78 #define ABS 264 79 #define BIN 265 80 #define FIB 266 81 #define GCD 267 82 #define KRON 268 83 #define LCM 269 84 #define LUCNUM 270 85 #define NEXTPRIME 271 86 #define POWM 272 87 #define ROOT 273 88 #define SQRT 274 89 #define NUMBER 275 90 #define VARIABLE 276 91 #define LOR 277 92 #define LAND 278 93 #define GE 279 94 #define LE 280 95 #define NE 281 96 #define EQ 282 97 #define RSHIFT 283 98 #define LSHIFT 284 99 #define UMINUS 285 100 101 102 103 104 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 105 typedef union YYSTYPE 106 { 107 108 /* Line 1685 of yacc.c */ 109 #line 142 "calc.y" 110 111 char *str; 112 int var; 113 114 115 116 /* Line 1685 of yacc.c */ 117 #line 118 "calc.h" 118 } YYSTYPE; 119 # define YYSTYPE_IS_TRIVIAL 1 120 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 121 # define YYSTYPE_IS_DECLARED 1 122 #endif 123 124 extern YYSTYPE yylval; 125 126 127