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 EOS = 258, 41 BAD = 259, 42 HELP = 260, 43 HEX = 261, 44 DECIMAL = 262, 45 QUIT = 263, 46 ABS = 264, 47 BIN = 265, 48 FIB = 266, 49 GCD = 267, 50 KRON = 268, 51 LCM = 269, 52 LUCNUM = 270, 53 NEXTPRIME = 271, 54 POWM = 272, 55 ROOT = 273, 56 SQRT = 274, 57 NUMBER = 275, 58 VARIABLE = 276, 59 LOR = 277, 60 LAND = 278, 61 GE = 279, 62 LE = 280, 63 NE = 281, 64 EQ = 282, 65 RSHIFT = 283, 66 LSHIFT = 284, 67 UMINUS = 285 68 }; 69#endif 70/* Tokens. */ 71#define EOS 258 72#define BAD 259 73#define HELP 260 74#define HEX 261 75#define DECIMAL 262 76#define QUIT 263 77#define ABS 264 78#define BIN 265 79#define FIB 266 80#define GCD 267 81#define KRON 268 82#define LCM 269 83#define LUCNUM 270 84#define NEXTPRIME 271 85#define POWM 272 86#define ROOT 273 87#define SQRT 274 88#define NUMBER 275 89#define VARIABLE 276 90#define LOR 277 91#define LAND 278 92#define GE 279 93#define LE 280 94#define NE 281 95#define EQ 282 96#define RSHIFT 283 97#define LSHIFT 284 98#define UMINUS 285 99 100 101 102 103#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 104typedef union YYSTYPE 105{ 106 107/* Line 2068 of yacc.c */ 108#line 142 "calc.y" 109 110 char *str; 111 int var; 112 113 114 115/* Line 2068 of yacc.c */ 116#line 117 "calc.h" 117} YYSTYPE; 118# define YYSTYPE_IS_TRIVIAL 1 119# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 120# define YYSTYPE_IS_DECLARED 1 121#endif 122 123extern YYSTYPE yylval; 124 125 126