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 WITH = 258, 43 LETREC = 259, 44 MIX = 260, 45 SPLIT = 261, 46 SEQ = 262, 47 PAR = 263, 48 REC = 264, 49 NE = 265, 50 GE = 266, 51 GT = 267, 52 EQ = 268, 53 LE = 269, 54 LT = 270, 55 OR = 271, 56 SUB = 272, 57 ADD = 273, 58 RSH = 274, 59 LSH = 275, 60 XOR = 276, 61 AND = 277, 62 MOD = 278, 63 DIV = 279, 64 MUL = 280, 65 POWOP = 281, 66 FDELAY = 282, 67 DELAY1 = 283, 68 DOT = 284, 69 MEM = 285, 70 PREFIX = 286, 71 INTCAST = 287, 72 FLOATCAST = 288, 73 FFUNCTION = 289, 74 FCONSTANT = 290, 75 FVARIABLE = 291, 76 BUTTON = 292, 77 CHECKBOX = 293, 78 VSLIDER = 294, 79 HSLIDER = 295, 80 NENTRY = 296, 81 VGROUP = 297, 82 HGROUP = 298, 83 TGROUP = 299, 84 HBARGRAPH = 300, 85 VBARGRAPH = 301, 86 SOUNDFILE = 302, 87 ATTACH = 303, 88 ACOS = 304, 89 ASIN = 305, 90 ATAN = 306, 91 ATAN2 = 307, 92 COS = 308, 93 SIN = 309, 94 TAN = 310, 95 EXP = 311, 96 LOG = 312, 97 LOG10 = 313, 98 POWFUN = 314, 99 SQRT = 315, 100 ABS = 316, 101 MIN = 317, 102 MAX = 318, 103 FMOD = 319, 104 REMAINDER = 320, 105 FLOOR = 321, 106 CEIL = 322, 107 RINT = 323, 108 RDTBL = 324, 109 RWTBL = 325, 110 SELECT2 = 326, 111 SELECT3 = 327, 112 INT = 328, 113 FLOAT = 329, 114 LAMBDA = 330, 115 WIRE = 331, 116 CUT = 332, 117 ENDDEF = 333, 118 VIRG = 334, 119 LPAR = 335, 120 RPAR = 336, 121 LBRAQ = 337, 122 RBRAQ = 338, 123 LCROC = 339, 124 RCROC = 340, 125 DEF = 341, 126 IMPORT = 342, 127 COMPONENT = 343, 128 LIBRARY = 344, 129 ENVIRONMENT = 345, 130 WAVEFORM = 346, 131 ROUTE = 347, 132 ENABLE = 348, 133 CONTROL = 349, 134 IPAR = 350, 135 ISEQ = 351, 136 ISUM = 352, 137 IPROD = 353, 138 INPUTS = 354, 139 OUTPUTS = 355, 140 STRING = 356, 141 FSTRING = 357, 142 IDENT = 358, 143 EXTRA = 359, 144 DECLARE = 360, 145 CASE = 361, 146 ARROW = 362, 147 ASSERTBOUNDS = 363, 148 LOWEST = 364, 149 HIGHEST = 365, 150 FLOATMODE = 366, 151 DOUBLEMODE = 367, 152 QUADMODE = 368, 153 FIXEDPOINTMODE = 369, 154 BDOC = 370, 155 EDOC = 371, 156 BEQN = 372, 157 EEQN = 373, 158 BDGM = 374, 159 EDGM = 375, 160 BLST = 376, 161 ELST = 377, 162 BMETADATA = 378, 163 EMETADATA = 379, 164 DOCCHAR = 380, 165 NOTICE = 381, 166 LISTING = 382, 167 LSTTRUE = 383, 168 LSTFALSE = 384, 169 LSTDEPENDENCIES = 385, 170 LSTMDOCTAGS = 386, 171 LSTDISTRIBUTED = 387, 172 LSTEQ = 388, 173 LSTQ = 389 174 }; 175 #endif 176 /* Tokens. */ 177 #define WITH 258 178 #define LETREC 259 179 #define MIX 260 180 #define SPLIT 261 181 #define SEQ 262 182 #define PAR 263 183 #define REC 264 184 #define NE 265 185 #define GE 266 186 #define GT 267 187 #define EQ 268 188 #define LE 269 189 #define LT 270 190 #define OR 271 191 #define SUB 272 192 #define ADD 273 193 #define RSH 274 194 #define LSH 275 195 #define XOR 276 196 #define AND 277 197 #define MOD 278 198 #define DIV 279 199 #define MUL 280 200 #define POWOP 281 201 #define FDELAY 282 202 #define DELAY1 283 203 #define DOT 284 204 #define MEM 285 205 #define PREFIX 286 206 #define INTCAST 287 207 #define FLOATCAST 288 208 #define FFUNCTION 289 209 #define FCONSTANT 290 210 #define FVARIABLE 291 211 #define BUTTON 292 212 #define CHECKBOX 293 213 #define VSLIDER 294 214 #define HSLIDER 295 215 #define NENTRY 296 216 #define VGROUP 297 217 #define HGROUP 298 218 #define TGROUP 299 219 #define HBARGRAPH 300 220 #define VBARGRAPH 301 221 #define SOUNDFILE 302 222 #define ATTACH 303 223 #define ACOS 304 224 #define ASIN 305 225 #define ATAN 306 226 #define ATAN2 307 227 #define COS 308 228 #define SIN 309 229 #define TAN 310 230 #define EXP 311 231 #define LOG 312 232 #define LOG10 313 233 #define POWFUN 314 234 #define SQRT 315 235 #define ABS 316 236 #define MIN 317 237 #define MAX 318 238 #define FMOD 319 239 #define REMAINDER 320 240 #define FLOOR 321 241 #define CEIL 322 242 #define RINT 323 243 #define RDTBL 324 244 #define RWTBL 325 245 #define SELECT2 326 246 #define SELECT3 327 247 #define INT 328 248 #define FLOAT 329 249 #define LAMBDA 330 250 #define WIRE 331 251 #define CUT 332 252 #define ENDDEF 333 253 #define VIRG 334 254 #define LPAR 335 255 #define RPAR 336 256 #define LBRAQ 337 257 #define RBRAQ 338 258 #define LCROC 339 259 #define RCROC 340 260 #define DEF 341 261 #define IMPORT 342 262 #define COMPONENT 343 263 #define LIBRARY 344 264 #define ENVIRONMENT 345 265 #define WAVEFORM 346 266 #define ROUTE 347 267 #define ENABLE 348 268 #define CONTROL 349 269 #define IPAR 350 270 #define ISEQ 351 271 #define ISUM 352 272 #define IPROD 353 273 #define INPUTS 354 274 #define OUTPUTS 355 275 #define STRING 356 276 #define FSTRING 357 277 #define IDENT 358 278 #define EXTRA 359 279 #define DECLARE 360 280 #define CASE 361 281 #define ARROW 362 282 #define ASSERTBOUNDS 363 283 #define LOWEST 364 284 #define HIGHEST 365 285 #define FLOATMODE 366 286 #define DOUBLEMODE 367 287 #define QUADMODE 368 288 #define FIXEDPOINTMODE 369 289 #define BDOC 370 290 #define EDOC 371 291 #define BEQN 372 292 #define EEQN 373 293 #define BDGM 374 294 #define EDGM 375 295 #define BLST 376 296 #define ELST 377 297 #define BMETADATA 378 298 #define EMETADATA 379 299 #define DOCCHAR 380 300 #define NOTICE 381 301 #define LISTING 382 302 #define LSTTRUE 383 303 #define LSTFALSE 384 304 #define LSTDEPENDENCIES 385 305 #define LSTMDOCTAGS 386 306 #define LSTDISTRIBUTED 387 307 #define LSTEQ 388 308 #define LSTQ 389 309 310 311 312 313 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 314 typedef union YYSTYPE 315 #line 80 "faustparser.y" 316 { 317 CTree* exp; 318 char* str; 319 string* cppstr; 320 bool b; 321 int numvariant; 322 } 323 /* Line 1529 of yacc.c. */ 324 #line 325 "faustparser.hpp" 325 YYSTYPE; 326 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 327 # define YYSTYPE_IS_DECLARED 1 328 # define YYSTYPE_IS_TRIVIAL 1 329 #endif 330 331 extern YYSTYPE yylval; 332 333