#include "tree.hh"
#include "xtended.hh"
#include "boxes.hh"
#include "prim2.hh"
#include "signals.hh"
#include "errormsg.hh"
#include "sourcereader.hh"
#include <string>
#include <set>
#include <vector>
#include "doc.hh"
#include "ppbox.hh"
#include <list>
#include <stdio.h>
Go to the source code of this file.
Classes | |
union | YYSTYPE |
union | yyalloc |
Defines | |
#define | YYBISON 1 |
#define | YYBISON_VERSION "2.4.1" |
#define | YYSKELETON_NAME "yacc.c" |
#define | YYPURE 0 |
#define | YYPUSH 0 |
#define | YYPULL 1 |
#define | YYLSP_NEEDED 0 |
#define | YYDEBUG 1 |
#define | YYERROR_VERBOSE 1 |
#define | YYMAXDEPTH 100000 |
#define | YYERROR_VERBOSE 1 |
#define | YYTOKEN_TABLE 0 |
#define | YYTOKENTYPE |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | yystype YYSTYPE |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYSIZE_T unsigned int |
#define | YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
#define | YY_(msgid) msgid |
#define | YYUSE(e) ((void) (e)) |
#define | YYID(n) (n) |
#define | YYSTACK_ALLOC YYMALLOC |
#define | YYSTACK_FREE YYFREE |
#define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
#define | YYMALLOC malloc |
#define | YYFREE free |
#define | YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
#define | YYSTACK_BYTES(N) |
#define | YYCOPY(To, From, Count) |
#define | YYSTACK_RELOCATE(Stack_alloc, Stack) |
#define | YYFINAL 3 |
#define | YYLAST 600 |
#define | YYNTOKENS 121 |
#define | YYNNTS 52 |
#define | YYNRULES 188 |
#define | YYNSTATES 406 |
#define | YYUNDEFTOK 2 |
#define | YYMAXUTOK 375 |
#define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define | YYPACT_NINF -189 |
#define | YYTABLE_NINF -3 |
#define | yyerrok (yyerrstatus = 0) |
#define | yyclearin (yychar = YYEMPTY) |
#define | YYEMPTY (-2) |
#define | YYEOF 0 |
#define | YYACCEPT goto yyacceptlab |
#define | YYABORT goto yyabortlab |
#define | YYERROR goto yyerrorlab |
#define | YYFAIL goto yyerrlab |
#define | YYRECOVERING() (!!yyerrstatus) |
#define | YYBACKUP(Token, Value) |
#define | YYTERROR 1 |
#define | YYERRCODE 256 |
#define | YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#define | YYLLOC_DEFAULT(Current, Rhs, N) |
#define | YY_LOCATION_PRINT(File, Loc) ((void) 0) |
#define | YYLEX yylex () |
#define | YYFPRINTF fprintf |
#define | YYDPRINTF(Args) |
#define | YY_SYMBOL_PRINT(Title, Type, Value, Location) |
#define | YY_STACK_PRINT(Bottom, Top) |
#define | YY_REDUCE_PRINT(Rule) |
#define | YYINITDEPTH 200 |
#define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
Typedefs | |
typedef union YYSTYPE | YYSTYPE |
typedef unsigned char | yytype_uint8 |
typedef short int | yytype_int8 |
typedef unsigned short int | yytype_uint16 |
typedef short int | yytype_int16 |
Enumerations | |
enum | yytokentype { WITH = 258, MIX = 259, SPLIT = 260, SEQ = 261, PAR = 262, REC = 263, NE = 264, GE = 265, GT = 266, EQ = 267, LE = 268, LT = 269, OR = 270, SUB = 271, ADD = 272, RSH = 273, LSH = 274, XOR = 275, AND = 276, MOD = 277, DIV = 278, MUL = 279, POWOP = 280, FDELAY = 281, DELAY1 = 282, DOT = 283, APPL = 284, MEM = 285, PREFIX = 286, INTCAST = 287, FLOATCAST = 288, FFUNCTION = 289, FCONSTANT = 290, FVARIABLE = 291, BUTTON = 292, CHECKBOX = 293, VSLIDER = 294, HSLIDER = 295, NENTRY = 296, VGROUP = 297, HGROUP = 298, TGROUP = 299, HBARGRAPH = 300, VBARGRAPH = 301, ATTACH = 302, ACOS = 303, ASIN = 304, ATAN = 305, ATAN2 = 306, COS = 307, SIN = 308, TAN = 309, EXP = 310, LOG = 311, LOG10 = 312, POWFUN = 313, SQRT = 314, ABS = 315, MIN = 316, MAX = 317, FMOD = 318, REMAINDER = 319, FLOOR = 320, CEIL = 321, RINT = 322, RDTBL = 323, RWTBL = 324, SELECT2 = 325, SELECT3 = 326, INT = 327, FLOAT = 328, LAMBDA = 329, WIRE = 330, CUT = 331, ENDDEF = 332, VIRG = 333, LPAR = 334, RPAR = 335, LBRAQ = 336, RBRAQ = 337, LCROC = 338, RCROC = 339, DEF = 340, IMPORT = 341, COMPONENT = 342, LIBRARY = 343, ENVIRONMENT = 344, IPAR = 345, ISEQ = 346, ISUM = 347, IPROD = 348, STRING = 349, FSTRING = 350, IDENT = 351, EXTRA = 352, DECLARE = 353, CASE = 354, ARROW = 355, BDOC = 356, EDOC = 357, BEQN = 358, EEQN = 359, BDGM = 360, EDGM = 361, BLST = 362, ELST = 363, BMETADATA = 364, EMETADATA = 365, DOCCHAR = 366, NOTICE = 367, LISTING = 368, LSTTRUE = 369, LSTFALSE = 370, LSTDEPENDENCIES = 371, LSTMDOCTAGS = 372, LSTDISTRIBUTED = 373, LSTEQ = 374, LSTQ = 375 } |
Functions | |
int | yylex () |
Tree | unquote (char *str) |
static void | yy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput |
static YYSIZE_T | yystrlen (yystr) const char *yystr |
int | yyparse () |
Variables | |
char * | yytext |
const char * | yyfilename |
int | yylineno |
int | yyerr |
Tree | gResult |
bool | gStripDocSwitch |
bool | gLstDependenciesSwitch |
mdoc listing management. | |
bool | gLstDistributedSwitch |
mdoc listing management. | |
bool | gLstMdocTagsSwitch |
mdoc listing management. | |
map< Tree, set< Tree > > | gMetaDataSet |
vector< Tree > | gDocVector |
Contains <mdoc> parsed trees: DOCTXT, DOCEQN, DOCDGM. | |
static const yytype_uint8 | yytranslate [] |
static const yytype_uint16 | yyprhs [] |
static const yytype_int16 | yyrhs [] |
static const yytype_uint16 | yyrline [] |
static const char *const | yytname [] |
static const yytype_uint8 | yyr1 [] |
static const yytype_uint8 | yyr2 [] |
static const yytype_uint8 | yydefact [] |
static const yytype_int16 | yydefgoto [] |
static const yytype_int16 | yypact [] |
static const yytype_int16 | yypgoto [] |
static const yytype_int16 | yytable [] |
static const yytype_uint16 | yycheck [] |
static const yytype_uint8 | yystos [] |
int | yytype |
YYSTYPE const *const | yyvaluep |
yytype_int16 * | yytop |
int | yyrule |
const char * | yysrc |
int | yychar |
YYSTYPE | yylval |
int | yynerrs |
#define YY_ | ( | msgid | ) | msgid |
Definition at line 370 of file faustparser.cpp.
Referenced by yyparse().
#define YY_LOCATION_PRINT | ( | File, | |||
Loc | ) | ((void) 0) |
Definition at line 1189 of file faustparser.cpp.
#define YY_REDUCE_PRINT | ( | Rule | ) |
#define YY_STACK_PRINT | ( | Bottom, | |||
Top | ) |
#define YY_SYMBOL_PRINT | ( | Title, | |||
Type, | |||||
Value, | |||||
Location | ) |
#define YYABORT goto yyabortlab |
Definition at line 1118 of file faustparser.cpp.
Referenced by yyparse().
#define YYACCEPT goto yyacceptlab |
Definition at line 1117 of file faustparser.cpp.
Referenced by yyparse().
#define YYBACKUP | ( | Token, | |||
Value | ) |
do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0))
Definition at line 1130 of file faustparser.cpp.
#define YYBISON 1 |
Definition at line 46 of file faustparser.cpp.
#define YYBISON_VERSION "2.4.1" |
Definition at line 49 of file faustparser.cpp.
#define yyclearin (yychar = YYEMPTY) |
Definition at line 1113 of file faustparser.cpp.
#define YYCOPY | ( | To, | |||
From, | |||||
Count | ) |
do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0))
Definition at line 496 of file faustparser.cpp.
#define YYDEBUG 1 |
Definition at line 87 of file faustparser.cpp.
#define YYDPRINTF | ( | Args | ) |
Definition at line 1210 of file faustparser.cpp.
Referenced by yyparse().
#define YYEMPTY (-2) |
Definition at line 1114 of file faustparser.cpp.
Referenced by yyparse().
#define YYEOF 0 |
Definition at line 1115 of file faustparser.cpp.
Referenced by yyparse().
#define YYERRCODE 256 |
Definition at line 1149 of file faustparser.cpp.
#define yyerrok (yyerrstatus = 0) |
Definition at line 1112 of file faustparser.cpp.
#define YYERROR goto yyerrorlab |
Definition at line 1119 of file faustparser.cpp.
#define YYERROR_VERBOSE 1 |
Definition at line 146 of file faustparser.cpp.
#define YYERROR_VERBOSE 1 |
Definition at line 146 of file faustparser.cpp.
#define YYFAIL goto yyerrlab |
Definition at line 1126 of file faustparser.cpp.
#define YYFINAL 3 |
Definition at line 526 of file faustparser.cpp.
Referenced by yyparse().
#define YYFPRINTF fprintf |
Definition at line 1207 of file faustparser.cpp.
#define YYFREE free |
Definition at line 459 of file faustparser.cpp.
#define YYID | ( | n | ) | (n) |
Definition at line 383 of file faustparser.cpp.
Referenced by yyparse().
#define YYINITDEPTH 200 |
Definition at line 1368 of file faustparser.cpp.
Referenced by yyparse().
#define YYLAST 600 |
Definition at line 528 of file faustparser.cpp.
Referenced by yyparse().
#define YYLEX yylex () |
Definition at line 1199 of file faustparser.cpp.
Referenced by yyparse().
#define YYLLOC_DEFAULT | ( | Current, | |||
Rhs, | |||||
N | ) |
do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0))
Definition at line 1158 of file faustparser.cpp.
#define YYLSP_NEEDED 0 |
Definition at line 64 of file faustparser.cpp.
#define YYMALLOC malloc |
Definition at line 452 of file faustparser.cpp.
#define YYMAXDEPTH 100000 |
Definition at line 89 of file faustparser.cpp.
Referenced by yyparse().
#define YYMAXUTOK 375 |
Definition at line 541 of file faustparser.cpp.
#define YYNNTS 52 |
Definition at line 533 of file faustparser.cpp.
#define YYNRULES 188 |
Definition at line 535 of file faustparser.cpp.
#define YYNSTATES 406 |
Definition at line 537 of file faustparser.cpp.
#define YYNTOKENS 121 |
Definition at line 531 of file faustparser.cpp.
Referenced by yyparse().
#define YYPACT_NINF -189 |
Definition at line 873 of file faustparser.cpp.
Referenced by yyparse().
#define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
Referenced by yyparse().
#define YYPULL 1 |
Definition at line 61 of file faustparser.cpp.
#define YYPURE 0 |
Definition at line 55 of file faustparser.cpp.
#define YYPUSH 0 |
Definition at line 58 of file faustparser.cpp.
#define YYRECOVERING | ( | ) | (!!yyerrstatus) |
Definition at line 1128 of file faustparser.cpp.
#define YYRHSLOC | ( | Rhs, | |||
K | ) | ((Rhs)[K]) |
Definition at line 1156 of file faustparser.cpp.
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
Definition at line 360 of file faustparser.cpp.
#define YYSIZE_T unsigned int |
Definition at line 356 of file faustparser.cpp.
Referenced by yyparse().
#define YYSKELETON_NAME "yacc.c" |
Definition at line 52 of file faustparser.cpp.
#define YYSTACK_ALLOC YYMALLOC |
Definition at line 438 of file faustparser.cpp.
Referenced by yyparse().
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Definition at line 441 of file faustparser.cpp.
Referenced by yyparse().
#define YYSTACK_BYTES | ( | N | ) |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM)
Definition at line 485 of file faustparser.cpp.
Referenced by yyparse().
#define YYSTACK_FREE YYFREE |
Definition at line 439 of file faustparser.cpp.
Referenced by yyparse().
#define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
Definition at line 481 of file faustparser.cpp.
#define YYSTACK_RELOCATE | ( | Stack_alloc, | |||
Stack | ) |
do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0))
Definition at line 512 of file faustparser.cpp.
Referenced by yyparse().
#define yystype YYSTYPE |
Definition at line 304 of file faustparser.cpp.
#define YYSTYPE_IS_DECLARED 1 |
Definition at line 305 of file faustparser.cpp.
#define YYSTYPE_IS_TRIVIAL 1 |
Definition at line 303 of file faustparser.cpp.
#define YYTABLE_NINF -3 |
Definition at line 934 of file faustparser.cpp.
Referenced by yyparse().
#define YYTERROR 1 |
Definition at line 1148 of file faustparser.cpp.
Referenced by yyparse().
#define YYTOKEN_TABLE 0 |
Definition at line 153 of file faustparser.cpp.
#define YYTOKENTYPE |
Definition at line 159 of file faustparser.cpp.
#define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
Definition at line 543 of file faustparser.cpp.
Referenced by yyparse().
#define YYUNDEFTOK 2 |
Definition at line 540 of file faustparser.cpp.
#define YYUSE | ( | e | ) | ((void) (e)) |
Definition at line 376 of file faustparser.cpp.
typedef short int yytype_int16 |
Definition at line 343 of file faustparser.cpp.
typedef short int yytype_int8 |
Definition at line 331 of file faustparser.cpp.
typedef unsigned short int yytype_uint16 |
Definition at line 337 of file faustparser.cpp.
typedef unsigned char yytype_uint8 |
Definition at line 322 of file faustparser.cpp.
enum yytokentype |
Definition at line 162 of file faustparser.cpp.
00162 { 00163 WITH = 258, 00164 MIX = 259, 00165 SPLIT = 260, 00166 SEQ = 261, 00167 PAR = 262, 00168 REC = 263, 00169 NE = 264, 00170 GE = 265, 00171 GT = 266, 00172 EQ = 267, 00173 LE = 268, 00174 LT = 269, 00175 OR = 270, 00176 SUB = 271, 00177 ADD = 272, 00178 RSH = 273, 00179 LSH = 274, 00180 XOR = 275, 00181 AND = 276, 00182 MOD = 277, 00183 DIV = 278, 00184 MUL = 279, 00185 POWOP = 280, 00186 FDELAY = 281, 00187 DELAY1 = 282, 00188 DOT = 283, 00189 APPL = 284, 00190 MEM = 285, 00191 PREFIX = 286, 00192 INTCAST = 287, 00193 FLOATCAST = 288, 00194 FFUNCTION = 289, 00195 FCONSTANT = 290, 00196 FVARIABLE = 291, 00197 BUTTON = 292, 00198 CHECKBOX = 293, 00199 VSLIDER = 294, 00200 HSLIDER = 295, 00201 NENTRY = 296, 00202 VGROUP = 297, 00203 HGROUP = 298, 00204 TGROUP = 299, 00205 HBARGRAPH = 300, 00206 VBARGRAPH = 301, 00207 ATTACH = 302, 00208 ACOS = 303, 00209 ASIN = 304, 00210 ATAN = 305, 00211 ATAN2 = 306, 00212 COS = 307, 00213 SIN = 308, 00214 TAN = 309, 00215 EXP = 310, 00216 LOG = 311, 00217 LOG10 = 312, 00218 POWFUN = 313, 00219 SQRT = 314, 00220 ABS = 315, 00221 MIN = 316, 00222 MAX = 317, 00223 FMOD = 318, 00224 REMAINDER = 319, 00225 FLOOR = 320, 00226 CEIL = 321, 00227 RINT = 322, 00228 RDTBL = 323, 00229 RWTBL = 324, 00230 SELECT2 = 325, 00231 SELECT3 = 326, 00232 INT = 327, 00233 FLOAT = 328, 00234 LAMBDA = 329, 00235 WIRE = 330, 00236 CUT = 331, 00237 ENDDEF = 332, 00238 VIRG = 333, 00239 LPAR = 334, 00240 RPAR = 335, 00241 LBRAQ = 336, 00242 RBRAQ = 337, 00243 LCROC = 338, 00244 RCROC = 339, 00245 DEF = 340, 00246 IMPORT = 341, 00247 COMPONENT = 342, 00248 LIBRARY = 343, 00249 ENVIRONMENT = 344, 00250 IPAR = 345, 00251 ISEQ = 346, 00252 ISUM = 347, 00253 IPROD = 348, 00254 STRING = 349, 00255 FSTRING = 350, 00256 IDENT = 351, 00257 EXTRA = 352, 00258 DECLARE = 353, 00259 CASE = 354, 00260 ARROW = 355, 00261 BDOC = 356, 00262 EDOC = 357, 00263 BEQN = 358, 00264 EEQN = 359, 00265 BDGM = 360, 00266 EDGM = 361, 00267 BLST = 362, 00268 ELST = 363, 00269 BMETADATA = 364, 00270 EMETADATA = 365, 00271 DOCCHAR = 366, 00272 NOTICE = 367, 00273 LISTING = 368, 00274 LSTTRUE = 369, 00275 LSTFALSE = 370, 00276 LSTDEPENDENCIES = 371, 00277 LSTMDOCTAGS = 372, 00278 LSTDISTRIBUTED = 373, 00279 LSTEQ = 374, 00280 LSTQ = 375 00281 };
Tree unquote | ( | char * | str | ) |
Definition at line 109 of file faustparser.cpp.
References tree().
00110 { 00111 //-----------copy unquoted filename------------- 00112 char buf[512]; 00113 int j=0; 00114 00115 if (str[0] == '"') { 00116 //it is a quoted string, we remove the quotes 00117 for (int i=1; j<511 && str[i];) { 00118 buf[j++] = str[i++]; 00119 } 00120 // remove last quote 00121 if (j>0) buf[j-1] = 0; 00122 } else { 00123 for (int i=0; j<511 && str[i];) { 00124 buf[j++] = str[i++]; 00125 } 00126 } 00127 buf[j] = 0; 00128 00129 return tree(buf); 00130 //---------------------------------------------- 00131 }
int yylex | ( | ) |
int yyparse | ( | ) |
Definition at line 1674 of file faustparser.cpp.
References YYSTYPE::b, xtended::box(), boxAccess(), boxButton(), boxCase(), boxCheckbox(), boxComponent(), boxCut(), boxEnvironment(), boxFConst(), boxFFun(), boxFVar(), boxHBargraph(), boxHGroup(), boxHSlider(), boxIdent(), boxInt(), boxIPar(), boxIProd(), boxISeq(), boxISum(), boxLibrary(), boxMerge(), boxModifLocalDef(), boxNumEntry(), boxPar(), boxPrim1(), boxPrim2(), boxPrim3(), boxPrim4(), boxPrim5(), boxReal(), boxRec(), boxSeq(), boxSplit(), boxTGroup(), boxVBargraph(), boxVGroup(), boxVSlider(), boxWire(), boxWithLocalDef(), buildBoxAbstr(), buildBoxAppl(), checkRulelist(), cons(), YYSTYPE::cppstr, declareDoc(), declareMetadata(), docDgm(), docEqn(), docLst(), docMtd(), docNtc(), docTxt(), YYSTYPE::exp, ffunction(), formatDefinitions(), gAbsPrim, gAcosPrim, gAsinPrim, gAtan2Prim, gAtanPrim, gCeilPrim, gCosPrim, gExpPrim, gFloorPrim, gFmodPrim, gLog10Prim, gLogPrim, gLstDependenciesSwitch, gLstDistributedSwitch, gMaxPrim, gMinPrim, gPowPrim, gRemainderPrim, gRintPrim, gSinPrim, gSqrtPrim, gStripDocSwitch, gTanPrim, importFile(), nil, setDefProp(), sigAdd(), sigAND(), sigAttach(), sigDelay1(), sigDiv(), sigEQ(), sigFixDelay(), sigFloatCast(), sigGE(), sigGT(), sigIntCast(), sigLE(), sigLeftShift(), sigLT(), sigMul(), sigNE(), sigOR(), sigPrefix(), sigReadOnlyTable(), sigRem(), sigRightShift(), sigSelect2(), sigSelect3(), sigSub(), sigWriteReadTable(), sigXOR(), tree(), unquote(), YY_, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, YYDPRINTF, YYEMPTY, YYEOF, yyerr, yyerror(), yyfilename, YYFINAL, YYID, YYINITDEPTH, YYLAST, YYLEX, yylineno, YYMAXDEPTH, YYNTOKENS, YYPACT_NINF, YYPOPSTACK, YYSIZE_T, yyalloc::yyss_alloc, YYSTACK_ALLOC, YYSTACK_ALLOC_MAXIMUM, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, YYTABLE_NINF, YYTERROR, yytext, YYTRANSLATE, and yyalloc::yyvs_alloc.
Referenced by SourceReader::parse().
01678 { 01679 01680 01681 int yystate; 01682 /* Number of tokens to shift before error messages enabled. */ 01683 int yyerrstatus; 01684 01685 /* The stacks and their tools: 01686 `yyss': related to states. 01687 `yyvs': related to semantic values. 01688 01689 Refer to the stacks thru separate pointers, to allow yyoverflow 01690 to reallocate them elsewhere. */ 01691 01692 /* The state stack. */ 01693 yytype_int16 yyssa[YYINITDEPTH]; 01694 yytype_int16 *yyss; 01695 yytype_int16 *yyssp; 01696 01697 /* The semantic value stack. */ 01698 YYSTYPE yyvsa[YYINITDEPTH]; 01699 YYSTYPE *yyvs; 01700 YYSTYPE *yyvsp; 01701 01702 YYSIZE_T yystacksize; 01703 01704 int yyn; 01705 int yyresult; 01706 /* Lookahead token as an internal (translated) token number. */ 01707 int yytoken; 01708 /* The variables used to return semantic value and location from the 01709 action routines. */ 01710 YYSTYPE yyval; 01711 01712 #if YYERROR_VERBOSE 01713 /* Buffer for error messages, and its allocated size. */ 01714 char yymsgbuf[128]; 01715 char *yymsg = yymsgbuf; 01716 YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 01717 #endif 01718 01719 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 01720 01721 /* The number of symbols on the RHS of the reduced rule. 01722 Keep to zero when no symbol should be popped. */ 01723 int yylen = 0; 01724 01725 yytoken = 0; 01726 yyss = yyssa; 01727 yyvs = yyvsa; 01728 yystacksize = YYINITDEPTH; 01729 01730 YYDPRINTF ((stderr, "Starting parse\n")); 01731 01732 yystate = 0; 01733 yyerrstatus = 0; 01734 yynerrs = 0; 01735 yychar = YYEMPTY; /* Cause a token to be read. */ 01736 01737 /* Initialize stack pointers. 01738 Waste one element of value and location stack 01739 so that they stay on the same level as the state stack. 01740 The wasted elements are never initialized. */ 01741 yyssp = yyss; 01742 yyvsp = yyvs; 01743 01744 goto yysetstate; 01745 01746 /*------------------------------------------------------------. 01747 | yynewstate -- Push a new state, which is found in yystate. | 01748 `------------------------------------------------------------*/ 01749 yynewstate: 01750 /* In all cases, when you get here, the value and location stacks 01751 have just been pushed. So pushing a state here evens the stacks. */ 01752 yyssp++; 01753 01754 yysetstate: 01755 *yyssp = yystate; 01756 01757 if (yyss + yystacksize - 1 <= yyssp) 01758 { 01759 /* Get the current used size of the three stacks, in elements. */ 01760 YYSIZE_T yysize = yyssp - yyss + 1; 01761 01762 #ifdef yyoverflow 01763 { 01764 /* Give user a chance to reallocate the stack. Use copies of 01765 these so that the &'s don't force the real ones into 01766 memory. */ 01767 YYSTYPE *yyvs1 = yyvs; 01768 yytype_int16 *yyss1 = yyss; 01769 01770 /* Each stack pointer address is followed by the size of the 01771 data in use in that stack, in bytes. This used to be a 01772 conditional around just the two extra args, but that might 01773 be undefined if yyoverflow is a macro. */ 01774 yyoverflow (YY_("memory exhausted"), 01775 &yyss1, yysize * sizeof (*yyssp), 01776 &yyvs1, yysize * sizeof (*yyvsp), 01777 &yystacksize); 01778 01779 yyss = yyss1; 01780 yyvs = yyvs1; 01781 } 01782 #else /* no yyoverflow */ 01783 # ifndef YYSTACK_RELOCATE 01784 goto yyexhaustedlab; 01785 # else 01786 /* Extend the stack our own way. */ 01787 if (YYMAXDEPTH <= yystacksize) 01788 goto yyexhaustedlab; 01789 yystacksize *= 2; 01790 if (YYMAXDEPTH < yystacksize) 01791 yystacksize = YYMAXDEPTH; 01792 01793 { 01794 yytype_int16 *yyss1 = yyss; 01795 union yyalloc *yyptr = 01796 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 01797 if (! yyptr) 01798 goto yyexhaustedlab; 01799 YYSTACK_RELOCATE (yyss_alloc, yyss); 01800 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 01801 # undef YYSTACK_RELOCATE 01802 if (yyss1 != yyssa) 01803 YYSTACK_FREE (yyss1); 01804 } 01805 # endif 01806 #endif /* no yyoverflow */ 01807 01808 yyssp = yyss + yysize - 1; 01809 yyvsp = yyvs + yysize - 1; 01810 01811 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 01812 (unsigned long int) yystacksize)); 01813 01814 if (yyss + yystacksize - 1 <= yyssp) 01815 YYABORT; 01816 } 01817 01818 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 01819 01820 if (yystate == YYFINAL) 01821 YYACCEPT; 01822 01823 goto yybackup; 01824 01825 /*-----------. 01826 | yybackup. | 01827 `-----------*/ 01828 yybackup: 01829 01830 /* Do appropriate processing given the current state. Read a 01831 lookahead token if we need one and don't already have one. */ 01832 01833 /* First try to decide what to do without reference to lookahead token. */ 01834 yyn = yypact[yystate]; 01835 if (yyn == YYPACT_NINF) 01836 goto yydefault; 01837 01838 /* Not known => get a lookahead token if don't already have one. */ 01839 01840 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 01841 if (yychar == YYEMPTY) 01842 { 01843 YYDPRINTF ((stderr, "Reading a token: ")); 01844 yychar = YYLEX; 01845 } 01846 01847 if (yychar <= YYEOF) 01848 { 01849 yychar = yytoken = YYEOF; 01850 YYDPRINTF ((stderr, "Now at end of input.\n")); 01851 } 01852 else 01853 { 01854 yytoken = YYTRANSLATE (yychar); 01855 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 01856 } 01857 01858 /* If the proper action on seeing token YYTOKEN is to reduce or to 01859 detect an error, take that action. */ 01860 yyn += yytoken; 01861 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 01862 goto yydefault; 01863 yyn = yytable[yyn]; 01864 if (yyn <= 0) 01865 { 01866 if (yyn == 0 || yyn == YYTABLE_NINF) 01867 goto yyerrlab; 01868 yyn = -yyn; 01869 goto yyreduce; 01870 } 01871 01872 /* Count tokens shifted since error; after three, turn off error 01873 status. */ 01874 if (yyerrstatus) 01875 yyerrstatus--; 01876 01877 /* Shift the lookahead token. */ 01878 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 01879 01880 /* Discard the shifted token. */ 01881 yychar = YYEMPTY; 01882 01883 yystate = yyn; 01884 *++yyvsp = yylval; 01885 01886 goto yynewstate; 01887 01888 01889 /*-----------------------------------------------------------. 01890 | yydefault -- do the default action for the current state. | 01891 `-----------------------------------------------------------*/ 01892 yydefault: 01893 yyn = yydefact[yystate]; 01894 if (yyn == 0) 01895 goto yyerrlab; 01896 goto yyreduce; 01897 01898 01899 /*-----------------------------. 01900 | yyreduce -- Do a reduction. | 01901 `-----------------------------*/ 01902 yyreduce: 01903 /* yyn is the number of a rule to reduce with. */ 01904 yylen = yyr2[yyn]; 01905 01906 /* If YYLEN is nonzero, implement the default value of the action: 01907 `$$ = $1'. 01908 01909 Otherwise, the following line sets YYVAL to garbage. 01910 This behavior is undocumented and Bison 01911 users should not rely upon it. Assigning to YYVAL 01912 unconditionally makes the parser a bit smaller, and it avoids a 01913 GCC warning that YYVAL may be used uninitialized. */ 01914 yyval = yyvsp[1-yylen]; 01915 01916 01917 YY_REDUCE_PRINT (yyn); 01918 switch (yyn) 01919 { 01920 case 2: 01921 01922 /* Line 1455 of yacc.c */ 01923 #line 292 "parser/faustparser.y" 01924 { (yyval.exp) = (yyvsp[(1) - (1)].exp); gResult = formatDefinitions((yyval.exp)); ;} 01925 break; 01926 01927 case 3: 01928 01929 /* Line 1455 of yacc.c */ 01930 #line 295 "parser/faustparser.y" 01931 { (yyval.exp) = nil; ;} 01932 break; 01933 01934 case 4: 01935 01936 /* Line 1455 of yacc.c */ 01937 #line 296 "parser/faustparser.y" 01938 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;} 01939 break; 01940 01941 case 5: 01942 01943 /* Line 1455 of yacc.c */ 01944 #line 298 "parser/faustparser.y" 01945 { (yyval.exp) = nil; ;} 01946 break; 01947 01948 case 6: 01949 01950 /* Line 1455 of yacc.c */ 01951 #line 299 "parser/faustparser.y" 01952 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;} 01953 break; 01954 01955 case 7: 01956 01957 /* Line 1455 of yacc.c */ 01958 #line 302 "parser/faustparser.y" 01959 { (yyval.exp) = importFile((yyvsp[(3) - (5)].exp)); ;} 01960 break; 01961 01962 case 8: 01963 01964 /* Line 1455 of yacc.c */ 01965 #line 303 "parser/faustparser.y" 01966 { declareMetadata((yyvsp[(2) - (4)].exp),(yyvsp[(3) - (4)].exp)); (yyval.exp) = nil; ;} 01967 break; 01968 01969 case 9: 01970 01971 /* Line 1455 of yacc.c */ 01972 #line 304 "parser/faustparser.y" 01973 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 01974 break; 01975 01976 case 10: 01977 01978 /* Line 1455 of yacc.c */ 01979 #line 305 "parser/faustparser.y" 01980 { declareDoc((yyvsp[(2) - (3)].exp)); (yyval.exp) = nil; /* cerr << "Yacc : doc : " << *$2 << endl; */ ;} 01981 break; 01982 01983 case 11: 01984 01985 /* Line 1455 of yacc.c */ 01986 #line 308 "parser/faustparser.y" 01987 { (yyval.exp) = nil; ;} 01988 break; 01989 01990 case 12: 01991 01992 /* Line 1455 of yacc.c */ 01993 #line 309 "parser/faustparser.y" 01994 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;} 01995 break; 01996 01997 case 13: 01998 01999 /* Line 1455 of yacc.c */ 02000 #line 312 "parser/faustparser.y" 02001 { (yyval.exp) = docTxt((yyvsp[(1) - (1)].cppstr)->c_str()); delete (yyvsp[(1) - (1)].cppstr); ;} 02002 break; 02003 02004 case 14: 02005 02006 /* Line 1455 of yacc.c */ 02007 #line 313 "parser/faustparser.y" 02008 { (yyval.exp) = docEqn((yyvsp[(1) - (1)].exp)); ;} 02009 break; 02010 02011 case 15: 02012 02013 /* Line 1455 of yacc.c */ 02014 #line 314 "parser/faustparser.y" 02015 { (yyval.exp) = docDgm((yyvsp[(1) - (1)].exp)); ;} 02016 break; 02017 02018 case 16: 02019 02020 /* Line 1455 of yacc.c */ 02021 #line 315 "parser/faustparser.y" 02022 { (yyval.exp) = docNtc(); ;} 02023 break; 02024 02025 case 17: 02026 02027 /* Line 1455 of yacc.c */ 02028 #line 316 "parser/faustparser.y" 02029 { (yyval.exp) = docLst(); ;} 02030 break; 02031 02032 case 18: 02033 02034 /* Line 1455 of yacc.c */ 02035 #line 317 "parser/faustparser.y" 02036 { (yyval.exp) = docMtd((yyvsp[(1) - (1)].exp)); ;} 02037 break; 02038 02039 case 19: 02040 02041 /* Line 1455 of yacc.c */ 02042 #line 320 "parser/faustparser.y" 02043 { (yyval.cppstr) = new string(); ;} 02044 break; 02045 02046 case 20: 02047 02048 /* Line 1455 of yacc.c */ 02049 #line 321 "parser/faustparser.y" 02050 { (yyval.cppstr) = &((yyvsp[(1) - (2)].cppstr)->append(yytext)); ;} 02051 break; 02052 02053 case 21: 02054 02055 /* Line 1455 of yacc.c */ 02056 #line 324 "parser/faustparser.y" 02057 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;} 02058 break; 02059 02060 case 22: 02061 02062 /* Line 1455 of yacc.c */ 02063 #line 327 "parser/faustparser.y" 02064 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;} 02065 break; 02066 02067 case 23: 02068 02069 /* Line 1455 of yacc.c */ 02070 #line 330 "parser/faustparser.y" 02071 { ;} 02072 break; 02073 02074 case 24: 02075 02076 /* Line 1455 of yacc.c */ 02077 #line 333 "parser/faustparser.y" 02078 { ;} 02079 break; 02080 02081 case 25: 02082 02083 /* Line 1455 of yacc.c */ 02084 #line 336 "parser/faustparser.y" 02085 { ;} 02086 break; 02087 02088 case 26: 02089 02090 /* Line 1455 of yacc.c */ 02091 #line 337 "parser/faustparser.y" 02092 { ;} 02093 break; 02094 02095 case 27: 02096 02097 /* Line 1455 of yacc.c */ 02098 #line 340 "parser/faustparser.y" 02099 { gLstDependenciesSwitch = (yyvsp[(4) - (5)].b); ;} 02100 break; 02101 02102 case 28: 02103 02104 /* Line 1455 of yacc.c */ 02105 #line 341 "parser/faustparser.y" 02106 { gStripDocSwitch = (yyvsp[(4) - (5)].b); gStripDocSwitch==true ? gStripDocSwitch=false : gStripDocSwitch=true; ;} 02107 break; 02108 02109 case 29: 02110 02111 /* Line 1455 of yacc.c */ 02112 #line 342 "parser/faustparser.y" 02113 { gLstDistributedSwitch = (yyvsp[(4) - (5)].b); ;} 02114 break; 02115 02116 case 30: 02117 02118 /* Line 1455 of yacc.c */ 02119 #line 345 "parser/faustparser.y" 02120 { (yyval.b) = true; ;} 02121 break; 02122 02123 case 31: 02124 02125 /* Line 1455 of yacc.c */ 02126 #line 346 "parser/faustparser.y" 02127 { (yyval.b) = false; ;} 02128 break; 02129 02130 case 32: 02131 02132 /* Line 1455 of yacc.c */ 02133 #line 349 "parser/faustparser.y" 02134 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;} 02135 break; 02136 02137 case 33: 02138 02139 /* Line 1455 of yacc.c */ 02140 #line 352 "parser/faustparser.y" 02141 { (yyval.exp) = cons((yyvsp[(1) - (7)].exp),cons((yyvsp[(3) - (7)].exp),(yyvsp[(6) - (7)].exp))); ;} 02142 break; 02143 02144 case 34: 02145 02146 /* Line 1455 of yacc.c */ 02147 #line 353 "parser/faustparser.y" 02148 { (yyval.exp) = cons((yyvsp[(1) - (4)].exp),cons(nil,(yyvsp[(3) - (4)].exp))); ;} 02149 break; 02150 02151 case 35: 02152 02153 /* Line 1455 of yacc.c */ 02154 #line 354 "parser/faustparser.y" 02155 { (yyval.exp) = nil; yyerr++; ;} 02156 break; 02157 02158 case 36: 02159 02160 /* Line 1455 of yacc.c */ 02161 #line 357 "parser/faustparser.y" 02162 { (yyval.exp)=(yyvsp[(1) - (1)].exp); setDefProp((yyvsp[(1) - (1)].exp), yyfilename, yylineno); ;} 02163 break; 02164 02165 case 37: 02166 02167 /* Line 1455 of yacc.c */ 02168 #line 360 "parser/faustparser.y" 02169 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;} 02170 break; 02171 02172 case 38: 02173 02174 /* Line 1455 of yacc.c */ 02175 #line 361 "parser/faustparser.y" 02176 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;} 02177 break; 02178 02179 case 39: 02180 02181 /* Line 1455 of yacc.c */ 02182 #line 364 "parser/faustparser.y" 02183 { (yyval.exp) = boxWithLocalDef((yyvsp[(1) - (5)].exp),formatDefinitions((yyvsp[(4) - (5)].exp))); ;} 02184 break; 02185 02186 case 40: 02187 02188 /* Line 1455 of yacc.c */ 02189 #line 365 "parser/faustparser.y" 02190 { (yyval.exp) = boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02191 break; 02192 02193 case 41: 02194 02195 /* Line 1455 of yacc.c */ 02196 #line 366 "parser/faustparser.y" 02197 { (yyval.exp) = boxSeq((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02198 break; 02199 02200 case 42: 02201 02202 /* Line 1455 of yacc.c */ 02203 #line 367 "parser/faustparser.y" 02204 { (yyval.exp) = boxSplit((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02205 break; 02206 02207 case 43: 02208 02209 /* Line 1455 of yacc.c */ 02210 #line 368 "parser/faustparser.y" 02211 { (yyval.exp) = boxMerge((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02212 break; 02213 02214 case 44: 02215 02216 /* Line 1455 of yacc.c */ 02217 #line 369 "parser/faustparser.y" 02218 { (yyval.exp) = boxRec((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02219 break; 02220 02221 case 45: 02222 02223 /* Line 1455 of yacc.c */ 02224 #line 370 "parser/faustparser.y" 02225 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02226 break; 02227 02228 case 46: 02229 02230 /* Line 1455 of yacc.c */ 02231 #line 373 "parser/faustparser.y" 02232 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigAdd)); ;} 02233 break; 02234 02235 case 47: 02236 02237 /* Line 1455 of yacc.c */ 02238 #line 374 "parser/faustparser.y" 02239 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigSub)); ;} 02240 break; 02241 02242 case 48: 02243 02244 /* Line 1455 of yacc.c */ 02245 #line 375 "parser/faustparser.y" 02246 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigMul)); ;} 02247 break; 02248 02249 case 49: 02250 02251 /* Line 1455 of yacc.c */ 02252 #line 376 "parser/faustparser.y" 02253 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigDiv)); ;} 02254 break; 02255 02256 case 50: 02257 02258 /* Line 1455 of yacc.c */ 02259 #line 377 "parser/faustparser.y" 02260 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigRem)); ;} 02261 break; 02262 02263 case 51: 02264 02265 /* Line 1455 of yacc.c */ 02266 #line 378 "parser/faustparser.y" 02267 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),gPowPrim->box()); ;} 02268 break; 02269 02270 case 52: 02271 02272 /* Line 1455 of yacc.c */ 02273 #line 379 "parser/faustparser.y" 02274 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigFixDelay)); ;} 02275 break; 02276 02277 case 53: 02278 02279 /* Line 1455 of yacc.c */ 02280 #line 380 "parser/faustparser.y" 02281 { (yyval.exp) = boxSeq((yyvsp[(1) - (2)].exp),boxPrim1(sigDelay1)); ;} 02282 break; 02283 02284 case 54: 02285 02286 /* Line 1455 of yacc.c */ 02287 #line 381 "parser/faustparser.y" 02288 { (yyval.exp) = boxAccess((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02289 break; 02290 02291 case 55: 02292 02293 /* Line 1455 of yacc.c */ 02294 #line 383 "parser/faustparser.y" 02295 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigAND)); ;} 02296 break; 02297 02298 case 56: 02299 02300 /* Line 1455 of yacc.c */ 02301 #line 384 "parser/faustparser.y" 02302 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigOR)); ;} 02303 break; 02304 02305 case 57: 02306 02307 /* Line 1455 of yacc.c */ 02308 #line 385 "parser/faustparser.y" 02309 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigXOR)); ;} 02310 break; 02311 02312 case 58: 02313 02314 /* Line 1455 of yacc.c */ 02315 #line 387 "parser/faustparser.y" 02316 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigLeftShift)); ;} 02317 break; 02318 02319 case 59: 02320 02321 /* Line 1455 of yacc.c */ 02322 #line 388 "parser/faustparser.y" 02323 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigRightShift)); ;} 02324 break; 02325 02326 case 60: 02327 02328 /* Line 1455 of yacc.c */ 02329 #line 390 "parser/faustparser.y" 02330 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigLT)); ;} 02331 break; 02332 02333 case 61: 02334 02335 /* Line 1455 of yacc.c */ 02336 #line 391 "parser/faustparser.y" 02337 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigLE)); ;} 02338 break; 02339 02340 case 62: 02341 02342 /* Line 1455 of yacc.c */ 02343 #line 392 "parser/faustparser.y" 02344 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigGT)); ;} 02345 break; 02346 02347 case 63: 02348 02349 /* Line 1455 of yacc.c */ 02350 #line 393 "parser/faustparser.y" 02351 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigGE)); ;} 02352 break; 02353 02354 case 64: 02355 02356 /* Line 1455 of yacc.c */ 02357 #line 394 "parser/faustparser.y" 02358 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigEQ)); ;} 02359 break; 02360 02361 case 65: 02362 02363 /* Line 1455 of yacc.c */ 02364 #line 395 "parser/faustparser.y" 02365 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigNE)); ;} 02366 break; 02367 02368 case 66: 02369 02370 /* Line 1455 of yacc.c */ 02371 #line 397 "parser/faustparser.y" 02372 { (yyval.exp) = buildBoxAppl((yyvsp[(1) - (4)].exp),(yyvsp[(3) - (4)].exp)); ;} 02373 break; 02374 02375 case 67: 02376 02377 /* Line 1455 of yacc.c */ 02378 #line 398 "parser/faustparser.y" 02379 { (yyval.exp) = boxModifLocalDef((yyvsp[(1) - (4)].exp),formatDefinitions((yyvsp[(3) - (4)].exp))); ;} 02380 break; 02381 02382 case 68: 02383 02384 /* Line 1455 of yacc.c */ 02385 #line 400 "parser/faustparser.y" 02386 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02387 break; 02388 02389 case 69: 02390 02391 /* Line 1455 of yacc.c */ 02392 #line 403 "parser/faustparser.y" 02393 { (yyval.exp) = boxInt(atoi(yytext)); ;} 02394 break; 02395 02396 case 70: 02397 02398 /* Line 1455 of yacc.c */ 02399 #line 404 "parser/faustparser.y" 02400 { (yyval.exp) = boxReal(atof(yytext)); ;} 02401 break; 02402 02403 case 71: 02404 02405 /* Line 1455 of yacc.c */ 02406 #line 406 "parser/faustparser.y" 02407 { (yyval.exp) = boxInt (atoi(yytext)); ;} 02408 break; 02409 02410 case 72: 02411 02412 /* Line 1455 of yacc.c */ 02413 #line 407 "parser/faustparser.y" 02414 { (yyval.exp) = boxReal(atof(yytext)); ;} 02415 break; 02416 02417 case 73: 02418 02419 /* Line 1455 of yacc.c */ 02420 #line 409 "parser/faustparser.y" 02421 { (yyval.exp) = boxInt ( -atoi(yytext) ); ;} 02422 break; 02423 02424 case 74: 02425 02426 /* Line 1455 of yacc.c */ 02427 #line 410 "parser/faustparser.y" 02428 { (yyval.exp) = boxReal( -atof(yytext) ); ;} 02429 break; 02430 02431 case 75: 02432 02433 /* Line 1455 of yacc.c */ 02434 #line 412 "parser/faustparser.y" 02435 { (yyval.exp) = boxWire(); ;} 02436 break; 02437 02438 case 76: 02439 02440 /* Line 1455 of yacc.c */ 02441 #line 413 "parser/faustparser.y" 02442 { (yyval.exp) = boxCut(); ;} 02443 break; 02444 02445 case 77: 02446 02447 /* Line 1455 of yacc.c */ 02448 #line 415 "parser/faustparser.y" 02449 { (yyval.exp) = boxPrim1(sigDelay1); ;} 02450 break; 02451 02452 case 78: 02453 02454 /* Line 1455 of yacc.c */ 02455 #line 416 "parser/faustparser.y" 02456 { (yyval.exp) = boxPrim2(sigPrefix); ;} 02457 break; 02458 02459 case 79: 02460 02461 /* Line 1455 of yacc.c */ 02462 #line 418 "parser/faustparser.y" 02463 { (yyval.exp) = boxPrim1(sigIntCast); ;} 02464 break; 02465 02466 case 80: 02467 02468 /* Line 1455 of yacc.c */ 02469 #line 419 "parser/faustparser.y" 02470 { (yyval.exp) = boxPrim1(sigFloatCast); ;} 02471 break; 02472 02473 case 81: 02474 02475 /* Line 1455 of yacc.c */ 02476 #line 421 "parser/faustparser.y" 02477 { (yyval.exp) = boxPrim2(sigAdd); ;} 02478 break; 02479 02480 case 82: 02481 02482 /* Line 1455 of yacc.c */ 02483 #line 422 "parser/faustparser.y" 02484 { (yyval.exp) = boxPrim2(sigSub); ;} 02485 break; 02486 02487 case 83: 02488 02489 /* Line 1455 of yacc.c */ 02490 #line 423 "parser/faustparser.y" 02491 { (yyval.exp) = boxPrim2(sigMul); ;} 02492 break; 02493 02494 case 84: 02495 02496 /* Line 1455 of yacc.c */ 02497 #line 424 "parser/faustparser.y" 02498 { (yyval.exp) = boxPrim2(sigDiv); ;} 02499 break; 02500 02501 case 85: 02502 02503 /* Line 1455 of yacc.c */ 02504 #line 425 "parser/faustparser.y" 02505 { (yyval.exp) = boxPrim2(sigRem); ;} 02506 break; 02507 02508 case 86: 02509 02510 /* Line 1455 of yacc.c */ 02511 #line 426 "parser/faustparser.y" 02512 { (yyval.exp) = boxPrim2(sigFixDelay); ;} 02513 break; 02514 02515 case 87: 02516 02517 /* Line 1455 of yacc.c */ 02518 #line 428 "parser/faustparser.y" 02519 { (yyval.exp) = boxPrim2(sigAND); ;} 02520 break; 02521 02522 case 88: 02523 02524 /* Line 1455 of yacc.c */ 02525 #line 429 "parser/faustparser.y" 02526 { (yyval.exp) = boxPrim2(sigOR); ;} 02527 break; 02528 02529 case 89: 02530 02531 /* Line 1455 of yacc.c */ 02532 #line 430 "parser/faustparser.y" 02533 { (yyval.exp) = boxPrim2(sigXOR); ;} 02534 break; 02535 02536 case 90: 02537 02538 /* Line 1455 of yacc.c */ 02539 #line 432 "parser/faustparser.y" 02540 { (yyval.exp) = boxPrim2(sigLeftShift); ;} 02541 break; 02542 02543 case 91: 02544 02545 /* Line 1455 of yacc.c */ 02546 #line 433 "parser/faustparser.y" 02547 { (yyval.exp) = boxPrim2(sigRightShift); ;} 02548 break; 02549 02550 case 92: 02551 02552 /* Line 1455 of yacc.c */ 02553 #line 435 "parser/faustparser.y" 02554 { (yyval.exp) = boxPrim2(sigLT); ;} 02555 break; 02556 02557 case 93: 02558 02559 /* Line 1455 of yacc.c */ 02560 #line 436 "parser/faustparser.y" 02561 { (yyval.exp) = boxPrim2(sigLE); ;} 02562 break; 02563 02564 case 94: 02565 02566 /* Line 1455 of yacc.c */ 02567 #line 437 "parser/faustparser.y" 02568 { (yyval.exp) = boxPrim2(sigGT); ;} 02569 break; 02570 02571 case 95: 02572 02573 /* Line 1455 of yacc.c */ 02574 #line 438 "parser/faustparser.y" 02575 { (yyval.exp) = boxPrim2(sigGE); ;} 02576 break; 02577 02578 case 96: 02579 02580 /* Line 1455 of yacc.c */ 02581 #line 439 "parser/faustparser.y" 02582 { (yyval.exp) = boxPrim2(sigEQ); ;} 02583 break; 02584 02585 case 97: 02586 02587 /* Line 1455 of yacc.c */ 02588 #line 440 "parser/faustparser.y" 02589 { (yyval.exp) = boxPrim2(sigNE); ;} 02590 break; 02591 02592 case 98: 02593 02594 /* Line 1455 of yacc.c */ 02595 #line 442 "parser/faustparser.y" 02596 { (yyval.exp) = boxPrim2(sigAttach); ;} 02597 break; 02598 02599 case 99: 02600 02601 /* Line 1455 of yacc.c */ 02602 #line 444 "parser/faustparser.y" 02603 { (yyval.exp) = gAcosPrim->box(); ;} 02604 break; 02605 02606 case 100: 02607 02608 /* Line 1455 of yacc.c */ 02609 #line 445 "parser/faustparser.y" 02610 { (yyval.exp) = gAsinPrim->box(); ;} 02611 break; 02612 02613 case 101: 02614 02615 /* Line 1455 of yacc.c */ 02616 #line 446 "parser/faustparser.y" 02617 { (yyval.exp) = gAtanPrim->box(); ;} 02618 break; 02619 02620 case 102: 02621 02622 /* Line 1455 of yacc.c */ 02623 #line 447 "parser/faustparser.y" 02624 { (yyval.exp) = gAtan2Prim->box(); ;} 02625 break; 02626 02627 case 103: 02628 02629 /* Line 1455 of yacc.c */ 02630 #line 448 "parser/faustparser.y" 02631 { (yyval.exp) = gCosPrim->box(); ;} 02632 break; 02633 02634 case 104: 02635 02636 /* Line 1455 of yacc.c */ 02637 #line 449 "parser/faustparser.y" 02638 { (yyval.exp) = gSinPrim->box(); ;} 02639 break; 02640 02641 case 105: 02642 02643 /* Line 1455 of yacc.c */ 02644 #line 450 "parser/faustparser.y" 02645 { (yyval.exp) = gTanPrim->box(); ;} 02646 break; 02647 02648 case 106: 02649 02650 /* Line 1455 of yacc.c */ 02651 #line 452 "parser/faustparser.y" 02652 { (yyval.exp) = gExpPrim->box(); ;} 02653 break; 02654 02655 case 107: 02656 02657 /* Line 1455 of yacc.c */ 02658 #line 453 "parser/faustparser.y" 02659 { (yyval.exp) = gLogPrim->box(); ;} 02660 break; 02661 02662 case 108: 02663 02664 /* Line 1455 of yacc.c */ 02665 #line 454 "parser/faustparser.y" 02666 { (yyval.exp) = gLog10Prim->box(); ;} 02667 break; 02668 02669 case 109: 02670 02671 /* Line 1455 of yacc.c */ 02672 #line 455 "parser/faustparser.y" 02673 { (yyval.exp) = gPowPrim->box(); ;} 02674 break; 02675 02676 case 110: 02677 02678 /* Line 1455 of yacc.c */ 02679 #line 456 "parser/faustparser.y" 02680 { (yyval.exp) = gPowPrim->box(); ;} 02681 break; 02682 02683 case 111: 02684 02685 /* Line 1455 of yacc.c */ 02686 #line 457 "parser/faustparser.y" 02687 { (yyval.exp) = gSqrtPrim->box(); ;} 02688 break; 02689 02690 case 112: 02691 02692 /* Line 1455 of yacc.c */ 02693 #line 459 "parser/faustparser.y" 02694 { (yyval.exp) = gAbsPrim->box(); ;} 02695 break; 02696 02697 case 113: 02698 02699 /* Line 1455 of yacc.c */ 02700 #line 460 "parser/faustparser.y" 02701 { (yyval.exp) = gMinPrim->box(); ;} 02702 break; 02703 02704 case 114: 02705 02706 /* Line 1455 of yacc.c */ 02707 #line 461 "parser/faustparser.y" 02708 { (yyval.exp) = gMaxPrim->box(); ;} 02709 break; 02710 02711 case 115: 02712 02713 /* Line 1455 of yacc.c */ 02714 #line 463 "parser/faustparser.y" 02715 { (yyval.exp) = gFmodPrim->box(); ;} 02716 break; 02717 02718 case 116: 02719 02720 /* Line 1455 of yacc.c */ 02721 #line 464 "parser/faustparser.y" 02722 { (yyval.exp) = gRemainderPrim->box(); ;} 02723 break; 02724 02725 case 117: 02726 02727 /* Line 1455 of yacc.c */ 02728 #line 466 "parser/faustparser.y" 02729 { (yyval.exp) = gFloorPrim->box(); ;} 02730 break; 02731 02732 case 118: 02733 02734 /* Line 1455 of yacc.c */ 02735 #line 467 "parser/faustparser.y" 02736 { (yyval.exp) = gCeilPrim->box(); ;} 02737 break; 02738 02739 case 119: 02740 02741 /* Line 1455 of yacc.c */ 02742 #line 468 "parser/faustparser.y" 02743 { (yyval.exp) = gRintPrim->box(); ;} 02744 break; 02745 02746 case 120: 02747 02748 /* Line 1455 of yacc.c */ 02749 #line 471 "parser/faustparser.y" 02750 { (yyval.exp) = boxPrim3(sigReadOnlyTable); ;} 02751 break; 02752 02753 case 121: 02754 02755 /* Line 1455 of yacc.c */ 02756 #line 472 "parser/faustparser.y" 02757 { (yyval.exp) = boxPrim5(sigWriteReadTable); ;} 02758 break; 02759 02760 case 122: 02761 02762 /* Line 1455 of yacc.c */ 02763 #line 474 "parser/faustparser.y" 02764 { (yyval.exp) = boxPrim3(sigSelect2); ;} 02765 break; 02766 02767 case 123: 02768 02769 /* Line 1455 of yacc.c */ 02770 #line 475 "parser/faustparser.y" 02771 { (yyval.exp) = boxPrim4(sigSelect3); ;} 02772 break; 02773 02774 case 124: 02775 02776 /* Line 1455 of yacc.c */ 02777 #line 477 "parser/faustparser.y" 02778 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02779 break; 02780 02781 case 125: 02782 02783 /* Line 1455 of yacc.c */ 02784 #line 478 "parser/faustparser.y" 02785 { (yyval.exp) = boxSeq(boxPar(boxInt(0),(yyvsp[(2) - (2)].exp)),boxPrim2(sigSub)); ;} 02786 break; 02787 02788 case 126: 02789 02790 /* Line 1455 of yacc.c */ 02791 #line 480 "parser/faustparser.y" 02792 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;} 02793 break; 02794 02795 case 127: 02796 02797 /* Line 1455 of yacc.c */ 02798 #line 482 "parser/faustparser.y" 02799 { (yyval.exp) = buildBoxAbstr((yyvsp[(3) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 02800 break; 02801 02802 case 128: 02803 02804 /* Line 1455 of yacc.c */ 02805 #line 484 "parser/faustparser.y" 02806 { (yyval.exp) = boxCase(checkRulelist((yyvsp[(3) - (4)].exp))); ;} 02807 break; 02808 02809 case 129: 02810 02811 /* Line 1455 of yacc.c */ 02812 #line 486 "parser/faustparser.y" 02813 { (yyval.exp) = boxFFun((yyvsp[(1) - (1)].exp)); ;} 02814 break; 02815 02816 case 130: 02817 02818 /* Line 1455 of yacc.c */ 02819 #line 487 "parser/faustparser.y" 02820 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02821 break; 02822 02823 case 131: 02824 02825 /* Line 1455 of yacc.c */ 02826 #line 488 "parser/faustparser.y" 02827 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02828 break; 02829 02830 case 132: 02831 02832 /* Line 1455 of yacc.c */ 02833 #line 489 "parser/faustparser.y" 02834 { (yyval.exp) = boxComponent((yyvsp[(3) - (4)].exp)); ;} 02835 break; 02836 02837 case 133: 02838 02839 /* Line 1455 of yacc.c */ 02840 #line 490 "parser/faustparser.y" 02841 { (yyval.exp) = boxLibrary((yyvsp[(3) - (4)].exp)); ;} 02842 break; 02843 02844 case 134: 02845 02846 /* Line 1455 of yacc.c */ 02847 #line 491 "parser/faustparser.y" 02848 { (yyval.exp) = boxWithLocalDef(boxEnvironment(),formatDefinitions((yyvsp[(3) - (4)].exp))); ;} 02849 break; 02850 02851 case 135: 02852 02853 /* Line 1455 of yacc.c */ 02854 #line 493 "parser/faustparser.y" 02855 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02856 break; 02857 02858 case 136: 02859 02860 /* Line 1455 of yacc.c */ 02861 #line 494 "parser/faustparser.y" 02862 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02863 break; 02864 02865 case 137: 02866 02867 /* Line 1455 of yacc.c */ 02868 #line 495 "parser/faustparser.y" 02869 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02870 break; 02871 02872 case 138: 02873 02874 /* Line 1455 of yacc.c */ 02875 #line 496 "parser/faustparser.y" 02876 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02877 break; 02878 02879 case 139: 02880 02881 /* Line 1455 of yacc.c */ 02882 #line 497 "parser/faustparser.y" 02883 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02884 break; 02885 02886 case 140: 02887 02888 /* Line 1455 of yacc.c */ 02889 #line 498 "parser/faustparser.y" 02890 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02891 break; 02892 02893 case 141: 02894 02895 /* Line 1455 of yacc.c */ 02896 #line 499 "parser/faustparser.y" 02897 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02898 break; 02899 02900 case 142: 02901 02902 /* Line 1455 of yacc.c */ 02903 #line 500 "parser/faustparser.y" 02904 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02905 break; 02906 02907 case 143: 02908 02909 /* Line 1455 of yacc.c */ 02910 #line 501 "parser/faustparser.y" 02911 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02912 break; 02913 02914 case 144: 02915 02916 /* Line 1455 of yacc.c */ 02917 #line 502 "parser/faustparser.y" 02918 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02919 break; 02920 02921 case 145: 02922 02923 /* Line 1455 of yacc.c */ 02924 #line 504 "parser/faustparser.y" 02925 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02926 break; 02927 02928 case 146: 02929 02930 /* Line 1455 of yacc.c */ 02931 #line 505 "parser/faustparser.y" 02932 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02933 break; 02934 02935 case 147: 02936 02937 /* Line 1455 of yacc.c */ 02938 #line 506 "parser/faustparser.y" 02939 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02940 break; 02941 02942 case 148: 02943 02944 /* Line 1455 of yacc.c */ 02945 #line 507 "parser/faustparser.y" 02946 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 02947 break; 02948 02949 case 149: 02950 02951 /* Line 1455 of yacc.c */ 02952 #line 511 "parser/faustparser.y" 02953 { (yyval.exp) = boxIdent(yytext); ;} 02954 break; 02955 02956 case 150: 02957 02958 /* Line 1455 of yacc.c */ 02959 #line 514 "parser/faustparser.y" 02960 { (yyval.exp) = tree(yytext); ;} 02961 break; 02962 02963 case 151: 02964 02965 /* Line 1455 of yacc.c */ 02966 #line 519 "parser/faustparser.y" 02967 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;} 02968 break; 02969 02970 case 152: 02971 02972 /* Line 1455 of yacc.c */ 02973 #line 520 "parser/faustparser.y" 02974 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;} 02975 break; 02976 02977 case 153: 02978 02979 /* Line 1455 of yacc.c */ 02980 #line 523 "parser/faustparser.y" 02981 { (yyval.exp) = boxSeq((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02982 break; 02983 02984 case 154: 02985 02986 /* Line 1455 of yacc.c */ 02987 #line 524 "parser/faustparser.y" 02988 { (yyval.exp) = boxSplit((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02989 break; 02990 02991 case 155: 02992 02993 /* Line 1455 of yacc.c */ 02994 #line 525 "parser/faustparser.y" 02995 { (yyval.exp) = boxMerge((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 02996 break; 02997 02998 case 156: 02999 03000 /* Line 1455 of yacc.c */ 03001 #line 526 "parser/faustparser.y" 03002 { (yyval.exp) = boxRec((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;} 03003 break; 03004 03005 case 157: 03006 03007 /* Line 1455 of yacc.c */ 03008 #line 527 "parser/faustparser.y" 03009 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;} 03010 break; 03011 03012 case 158: 03013 03014 /* Line 1455 of yacc.c */ 03015 #line 530 "parser/faustparser.y" 03016 { (yyval.exp) = tree(yytext); ;} 03017 break; 03018 03019 case 159: 03020 03021 /* Line 1455 of yacc.c */ 03022 #line 533 "parser/faustparser.y" 03023 { (yyval.exp) = unquote(yytext); ;} 03024 break; 03025 03026 case 160: 03027 03028 /* Line 1455 of yacc.c */ 03029 #line 536 "parser/faustparser.y" 03030 { (yyval.exp) = tree(yytext); ;} 03031 break; 03032 03033 case 161: 03034 03035 /* Line 1455 of yacc.c */ 03036 #line 537 "parser/faustparser.y" 03037 { (yyval.exp) = tree(yytext); ;} 03038 break; 03039 03040 case 162: 03041 03042 /* Line 1455 of yacc.c */ 03043 #line 543 "parser/faustparser.y" 03044 { (yyval.exp) = boxIPar((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03045 break; 03046 03047 case 163: 03048 03049 /* Line 1455 of yacc.c */ 03050 #line 547 "parser/faustparser.y" 03051 { (yyval.exp) = boxISeq((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03052 break; 03053 03054 case 164: 03055 03056 /* Line 1455 of yacc.c */ 03057 #line 551 "parser/faustparser.y" 03058 { (yyval.exp) = boxISum((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03059 break; 03060 03061 case 165: 03062 03063 /* Line 1455 of yacc.c */ 03064 #line 555 "parser/faustparser.y" 03065 { (yyval.exp) = boxIProd((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03066 break; 03067 03068 case 166: 03069 03070 /* Line 1455 of yacc.c */ 03071 #line 562 "parser/faustparser.y" 03072 { (yyval.exp) = ffunction((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03073 break; 03074 03075 case 167: 03076 03077 /* Line 1455 of yacc.c */ 03078 #line 566 "parser/faustparser.y" 03079 { (yyval.exp) = boxFConst((yyvsp[(3) - (7)].exp),(yyvsp[(4) - (7)].exp),(yyvsp[(6) - (7)].exp)); ;} 03080 break; 03081 03082 case 168: 03083 03084 /* Line 1455 of yacc.c */ 03085 #line 569 "parser/faustparser.y" 03086 { (yyval.exp) = boxFVar((yyvsp[(3) - (7)].exp),(yyvsp[(4) - (7)].exp),(yyvsp[(6) - (7)].exp)); ;} 03087 break; 03088 03089 case 169: 03090 03091 /* Line 1455 of yacc.c */ 03092 #line 573 "parser/faustparser.y" 03093 { (yyval.exp) = boxButton((yyvsp[(3) - (4)].exp)); ;} 03094 break; 03095 03096 case 170: 03097 03098 /* Line 1455 of yacc.c */ 03099 #line 576 "parser/faustparser.y" 03100 { (yyval.exp) = boxCheckbox((yyvsp[(3) - (4)].exp)); ;} 03101 break; 03102 03103 case 171: 03104 03105 /* Line 1455 of yacc.c */ 03106 #line 580 "parser/faustparser.y" 03107 { (yyval.exp) = boxVSlider((yyvsp[(3) - (12)].exp),(yyvsp[(5) - (12)].exp),(yyvsp[(7) - (12)].exp),(yyvsp[(9) - (12)].exp),(yyvsp[(11) - (12)].exp)); ;} 03108 break; 03109 03110 case 172: 03111 03112 /* Line 1455 of yacc.c */ 03113 #line 583 "parser/faustparser.y" 03114 { (yyval.exp) = boxHSlider((yyvsp[(3) - (12)].exp),(yyvsp[(5) - (12)].exp),(yyvsp[(7) - (12)].exp),(yyvsp[(9) - (12)].exp),(yyvsp[(11) - (12)].exp)); ;} 03115 break; 03116 03117 case 173: 03118 03119 /* Line 1455 of yacc.c */ 03120 #line 586 "parser/faustparser.y" 03121 { (yyval.exp) = boxNumEntry((yyvsp[(3) - (12)].exp),(yyvsp[(5) - (12)].exp),(yyvsp[(7) - (12)].exp),(yyvsp[(9) - (12)].exp),(yyvsp[(11) - (12)].exp)); ;} 03122 break; 03123 03124 case 174: 03125 03126 /* Line 1455 of yacc.c */ 03127 #line 589 "parser/faustparser.y" 03128 { (yyval.exp) = boxVGroup((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;} 03129 break; 03130 03131 case 175: 03132 03133 /* Line 1455 of yacc.c */ 03134 #line 592 "parser/faustparser.y" 03135 { (yyval.exp) = boxHGroup((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;} 03136 break; 03137 03138 case 176: 03139 03140 /* Line 1455 of yacc.c */ 03141 #line 595 "parser/faustparser.y" 03142 { (yyval.exp) = boxTGroup((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;} 03143 break; 03144 03145 case 177: 03146 03147 /* Line 1455 of yacc.c */ 03148 #line 599 "parser/faustparser.y" 03149 { (yyval.exp) = boxVBargraph((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03150 break; 03151 03152 case 178: 03153 03154 /* Line 1455 of yacc.c */ 03155 #line 602 "parser/faustparser.y" 03156 { (yyval.exp) = boxHBargraph((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;} 03157 break; 03158 03159 case 179: 03160 03161 /* Line 1455 of yacc.c */ 03162 #line 607 "parser/faustparser.y" 03163 { (yyval.exp) = cons((yyvsp[(1) - (5)].exp), cons((yyvsp[(2) - (5)].exp), (yyvsp[(4) - (5)].exp))); ;} 03164 break; 03165 03166 case 180: 03167 03168 /* Line 1455 of yacc.c */ 03169 #line 608 "parser/faustparser.y" 03170 { (yyval.exp) = cons((yyvsp[(1) - (4)].exp), cons((yyvsp[(2) - (4)].exp), nil)); ;} 03171 break; 03172 03173 case 181: 03174 03175 /* Line 1455 of yacc.c */ 03176 #line 611 "parser/faustparser.y" 03177 { (yyval.exp) = tree(yytext); ;} 03178 break; 03179 03180 case 182: 03181 03182 /* Line 1455 of yacc.c */ 03183 #line 614 "parser/faustparser.y" 03184 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;} 03185 break; 03186 03187 case 183: 03188 03189 /* Line 1455 of yacc.c */ 03190 #line 615 "parser/faustparser.y" 03191 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;} 03192 break; 03193 03194 case 184: 03195 03196 /* Line 1455 of yacc.c */ 03197 #line 618 "parser/faustparser.y" 03198 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;} 03199 break; 03200 03201 case 185: 03202 03203 /* Line 1455 of yacc.c */ 03204 #line 619 "parser/faustparser.y" 03205 { (yyval.exp) = cons((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;} 03206 break; 03207 03208 case 186: 03209 03210 /* Line 1455 of yacc.c */ 03211 #line 623 "parser/faustparser.y" 03212 { (yyval.exp) = cons((yyvsp[(2) - (6)].exp),(yyvsp[(5) - (6)].exp)); ;} 03213 break; 03214 03215 case 187: 03216 03217 /* Line 1455 of yacc.c */ 03218 #line 626 "parser/faustparser.y" 03219 { (yyval.exp) = tree(0); ;} 03220 break; 03221 03222 case 188: 03223 03224 /* Line 1455 of yacc.c */ 03225 #line 627 "parser/faustparser.y" 03226 { (yyval.exp) = tree(1); ;} 03227 break; 03228 03229 03230 03231 /* Line 1455 of yacc.c */ 03232 #line 3233 "parser/faustparser.cpp" 03233 default: break; 03234 } 03235 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 03236 03237 YYPOPSTACK (yylen); 03238 yylen = 0; 03239 YY_STACK_PRINT (yyss, yyssp); 03240 03241 *++yyvsp = yyval; 03242 03243 /* Now `shift' the result of the reduction. Determine what state 03244 that goes to, based on the state we popped back to and the rule 03245 number reduced by. */ 03246 03247 yyn = yyr1[yyn]; 03248 03249 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 03250 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 03251 yystate = yytable[yystate]; 03252 else 03253 yystate = yydefgoto[yyn - YYNTOKENS]; 03254 03255 goto yynewstate; 03256 03257 03258 /*------------------------------------. 03259 | yyerrlab -- here on detecting error | 03260 `------------------------------------*/ 03261 yyerrlab: 03262 /* If not already recovering from an error, report this error. */ 03263 if (!yyerrstatus) 03264 { 03265 ++yynerrs; 03266 #if ! YYERROR_VERBOSE 03267 yyerror (YY_("syntax error")); 03268 #else 03269 { 03270 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 03271 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 03272 { 03273 YYSIZE_T yyalloc = 2 * yysize; 03274 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 03275 yyalloc = YYSTACK_ALLOC_MAXIMUM; 03276 if (yymsg != yymsgbuf) 03277 YYSTACK_FREE (yymsg); 03278 yymsg = (char *) YYSTACK_ALLOC (yyalloc); 03279 if (yymsg) 03280 yymsg_alloc = yyalloc; 03281 else 03282 { 03283 yymsg = yymsgbuf; 03284 yymsg_alloc = sizeof yymsgbuf; 03285 } 03286 } 03287 03288 if (0 < yysize && yysize <= yymsg_alloc) 03289 { 03290 (void) yysyntax_error (yymsg, yystate, yychar); 03291 yyerror (yymsg); 03292 } 03293 else 03294 { 03295 yyerror (YY_("syntax error")); 03296 if (yysize != 0) 03297 goto yyexhaustedlab; 03298 } 03299 } 03300 #endif 03301 } 03302 03303 03304 03305 if (yyerrstatus == 3) 03306 { 03307 /* If just tried and failed to reuse lookahead token after an 03308 error, discard it. */ 03309 03310 if (yychar <= YYEOF) 03311 { 03312 /* Return failure if at end of input. */ 03313 if (yychar == YYEOF) 03314 YYABORT; 03315 } 03316 else 03317 { 03318 yydestruct ("Error: discarding", 03319 yytoken, &yylval); 03320 yychar = YYEMPTY; 03321 } 03322 } 03323 03324 /* Else will try to reuse lookahead token after shifting the error 03325 token. */ 03326 goto yyerrlab1; 03327 03328 03329 /*---------------------------------------------------. 03330 | yyerrorlab -- error raised explicitly by YYERROR. | 03331 `---------------------------------------------------*/ 03332 yyerrorlab: 03333 03334 /* Pacify compilers like GCC when the user code never invokes 03335 YYERROR and the label yyerrorlab therefore never appears in user 03336 code. */ 03337 if (/*CONSTCOND*/ 0) 03338 goto yyerrorlab; 03339 03340 /* Do not reclaim the symbols of the rule which action triggered 03341 this YYERROR. */ 03342 YYPOPSTACK (yylen); 03343 yylen = 0; 03344 YY_STACK_PRINT (yyss, yyssp); 03345 yystate = *yyssp; 03346 goto yyerrlab1; 03347 03348 03349 /*-------------------------------------------------------------. 03350 | yyerrlab1 -- common code for both syntax error and YYERROR. | 03351 `-------------------------------------------------------------*/ 03352 yyerrlab1: 03353 yyerrstatus = 3; /* Each real token shifted decrements this. */ 03354 03355 for (;;) 03356 { 03357 yyn = yypact[yystate]; 03358 if (yyn != YYPACT_NINF) 03359 { 03360 yyn += YYTERROR; 03361 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 03362 { 03363 yyn = yytable[yyn]; 03364 if (0 < yyn) 03365 break; 03366 } 03367 } 03368 03369 /* Pop the current state because it cannot handle the error token. */ 03370 if (yyssp == yyss) 03371 YYABORT; 03372 03373 03374 yydestruct ("Error: popping", 03375 yystos[yystate], yyvsp); 03376 YYPOPSTACK (1); 03377 yystate = *yyssp; 03378 YY_STACK_PRINT (yyss, yyssp); 03379 } 03380 03381 *++yyvsp = yylval; 03382 03383 03384 /* Shift the error token. */ 03385 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 03386 03387 yystate = yyn; 03388 goto yynewstate; 03389 03390 03391 /*-------------------------------------. 03392 | yyacceptlab -- YYACCEPT comes here. | 03393 `-------------------------------------*/ 03394 yyacceptlab: 03395 yyresult = 0; 03396 goto yyreturn; 03397 03398 /*-----------------------------------. 03399 | yyabortlab -- YYABORT comes here. | 03400 `-----------------------------------*/ 03401 yyabortlab: 03402 yyresult = 1; 03403 goto yyreturn; 03404 03405 #if !defined(yyoverflow) || YYERROR_VERBOSE 03406 /*-------------------------------------------------. 03407 | yyexhaustedlab -- memory exhaustion comes here. | 03408 `-------------------------------------------------*/ 03409 yyexhaustedlab: 03410 yyerror (YY_("memory exhausted")); 03411 yyresult = 2; 03412 /* Fall through. */ 03413 #endif 03414 03415 yyreturn: 03416 if (yychar != YYEMPTY) 03417 yydestruct ("Cleanup: discarding lookahead", 03418 yytoken, &yylval); 03419 /* Do not reclaim the symbols of the rule which action triggered 03420 this YYABORT or YYACCEPT. */ 03421 YYPOPSTACK (yylen); 03422 YY_STACK_PRINT (yyss, yyssp); 03423 while (yyssp != yyss) 03424 { 03425 yydestruct ("Cleanup: popping", 03426 yystos[*yyssp], yyvsp); 03427 YYPOPSTACK (1); 03428 } 03429 #ifndef yyoverflow 03430 if (yyss != yyssa) 03431 YYSTACK_FREE (yyss); 03432 #endif 03433 #if YYERROR_VERBOSE 03434 if (yymsg != yymsgbuf) 03435 YYSTACK_FREE (yymsg); 03436 #endif 03437 /* Make sure YYID is used. */ 03438 return YYID (yyresult); 03439 }
static YYSIZE_T yystrlen | ( | yystr | ) | const [static] |
vector<Tree> gDocVector |
mdoc listing management.
Definition at line 114 of file doc.cpp.
Referenced by printfaustlistings(), and yyparse().
mdoc listing management.
Definition at line 116 of file doc.cpp.
Referenced by printdoccontent(), and yyparse().
bool gLstMdocTagsSwitch |
map<Tree, set<Tree> > gMetaDataSet |
bool gStripDocSwitch |
int yychar |
Definition at line 1637 of file faustparser.cpp.
const yytype_uint16 yycheck[] [static] |
Definition at line 1000 of file faustparser.cpp.
const yytype_uint8 yydefact[] [static] |
Definition at line 815 of file faustparser.cpp.
const yytype_int16 yydefgoto[] [static] |
{ -1, 1, 2, 235, 9, 17, 30, 31, 32, 33, 34, 35, 139, 212, 339, 36, 299, 11, 230, 133, 111, 112, 113, 16, 114, 115, 23, 21, 316, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 216, 281, 344, 241, 242, 217 }
Definition at line 861 of file faustparser.cpp.
const char* yyfilename |
Definition at line 30 of file errormsg.cpp.
int yylineno |
Definition at line 1646 of file faustparser.cpp.
int yynerrs |
Definition at line 1649 of file faustparser.cpp.
const yytype_int16 yypact[] [static] |
Definition at line 874 of file faustparser.cpp.
const yytype_int16 yypgoto[] [static] |
{ -189, -189, -189, -188, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -74, -189, 596, -189, -189, -13, -19, -189, 40, -24, -149, -157, 258, 158, -69, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 358, -147 }
Definition at line 920 of file faustparser.cpp.
const yytype_uint16 yyprhs[] [static] |
{ 0, 0, 3, 5, 6, 9, 10, 13, 19, 24, 26, 30, 31, 34, 36, 38, 40, 42, 44, 46, 47, 50, 54, 58, 60, 64, 65, 68, 74, 80, 86, 88, 90, 94, 102, 107, 110, 112, 114, 118, 124, 128, 132, 136, 140, 144, 146, 150, 154, 158, 162, 166, 170, 174, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 230, 235, 237, 239, 241, 244, 247, 250, 253, 255, 257, 259, 261, 263, 265, 267, 269, 271, 273, 275, 277, 279, 281, 283, 285, 287, 289, 291, 293, 295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 317, 319, 321, 323, 325, 327, 329, 331, 333, 335, 337, 339, 341, 343, 345, 347, 349, 351, 353, 356, 360, 369, 374, 376, 378, 380, 385, 390, 395, 397, 399, 401, 403, 405, 407, 409, 411, 413, 415, 417, 419, 421, 423, 425, 427, 429, 433, 437, 441, 445, 449, 451, 453, 455, 457, 459, 468, 477, 486, 495, 504, 512, 520, 525, 530, 543, 556, 569, 576, 583, 590, 599, 608, 614, 619, 621, 623, 627, 629, 632, 639, 641 }
Definition at line 592 of file faustparser.cpp.
const yytype_uint8 yyr1[] [static] |
{ 0, 121, 122, 123, 123, 124, 124, 125, 125, 125, 125, 126, 126, 127, 127, 127, 127, 127, 127, 128, 128, 129, 130, 131, 132, 133, 133, 134, 134, 134, 135, 135, 136, 137, 137, 137, 138, 139, 139, 140, 140, 140, 140, 140, 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 143, 144, 145, 145, 146, 146, 146, 146, 146, 147, 148, 149, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 167, 168, 169, 169, 170, 170, 171, 172, 172 }
Definition at line 765 of file faustparser.cpp.
const yytype_uint8 yyr2[] [static] |
{ 0, 2, 1, 0, 2, 0, 2, 5, 4, 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, 0, 2, 3, 3, 1, 3, 0, 2, 5, 5, 5, 1, 1, 3, 7, 4, 2, 1, 1, 3, 5, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 8, 4, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 7, 7, 4, 4, 12, 12, 12, 6, 6, 6, 8, 8, 5, 4, 1, 1, 3, 1, 2, 6, 1, 1 }
Definition at line 789 of file faustparser.cpp.
const yytype_int16 yyrhs[] [static] |
Definition at line 616 of file faustparser.cpp.
const yytype_uint16 yyrline[] [static] |
{ 0, 292, 292, 295, 296, 298, 299, 302, 303, 304, 305, 308, 309, 312, 313, 314, 315, 316, 317, 320, 321, 324, 327, 330, 333, 336, 337, 340, 341, 342, 345, 346, 349, 352, 353, 354, 357, 360, 361, 364, 365, 366, 367, 368, 369, 370, 373, 374, 375, 376, 377, 378, 379, 380, 381, 383, 384, 385, 387, 388, 390, 391, 392, 393, 394, 395, 397, 398, 400, 403, 404, 406, 407, 409, 410, 412, 413, 415, 416, 418, 419, 421, 422, 423, 424, 425, 426, 428, 429, 430, 432, 433, 435, 436, 437, 438, 439, 440, 442, 444, 445, 446, 447, 448, 449, 450, 452, 453, 454, 455, 456, 457, 459, 460, 461, 463, 464, 466, 467, 468, 471, 472, 474, 475, 477, 478, 480, 481, 484, 486, 487, 488, 489, 490, 491, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 504, 505, 506, 507, 511, 514, 519, 520, 523, 524, 525, 526, 527, 530, 533, 536, 537, 542, 546, 550, 554, 561, 565, 568, 573, 576, 579, 582, 585, 588, 591, 594, 598, 601, 607, 608, 611, 614, 615, 618, 619, 622, 626, 627 }
Definition at line 686 of file faustparser.cpp.
int yyrule |
Definition at line 1329 of file faustparser.cpp.
const char* yysrc |
Definition at line 1422 of file faustparser.cpp.
const yytype_uint8 yystos[] [static] |
Definition at line 1067 of file faustparser.cpp.
const yytype_int16 yytable[] [static] |
Definition at line 935 of file faustparser.cpp.
char* yytext |
const char* const yytname[] [static] |
{ "$end", "error", "$undefined", "WITH", "MIX", "SPLIT", "SEQ", "PAR", "REC", "NE", "GE", "GT", "EQ", "LE", "LT", "OR", "SUB", "ADD", "RSH", "LSH", "XOR", "AND", "MOD", "DIV", "MUL", "POWOP", "FDELAY", "DELAY1", "DOT", "APPL", "MEM", "PREFIX", "INTCAST", "FLOATCAST", "FFUNCTION", "FCONSTANT", "FVARIABLE", "BUTTON", "CHECKBOX", "VSLIDER", "HSLIDER", "NENTRY", "VGROUP", "HGROUP", "TGROUP", "HBARGRAPH", "VBARGRAPH", "ATTACH", "ACOS", "ASIN", "ATAN", "ATAN2", "COS", "SIN", "TAN", "EXP", "LOG", "LOG10", "POWFUN", "SQRT", "ABS", "MIN", "MAX", "FMOD", "REMAINDER", "FLOOR", "CEIL", "RINT", "RDTBL", "RWTBL", "SELECT2", "SELECT3", "INT", "FLOAT", "LAMBDA", "WIRE", "CUT", "ENDDEF", "VIRG", "LPAR", "RPAR", "LBRAQ", "RBRAQ", "LCROC", "RCROC", "DEF", "IMPORT", "COMPONENT", "LIBRARY", "ENVIRONMENT", "IPAR", "ISEQ", "ISUM", "IPROD", "STRING", "FSTRING", "IDENT", "EXTRA", "DECLARE", "CASE", "ARROW", "BDOC", "EDOC", "BEQN", "EEQN", "BDGM", "EDGM", "BLST", "ELST", "BMETADATA", "EMETADATA", "DOCCHAR", "NOTICE", "LISTING", "LSTTRUE", "LSTFALSE", "LSTDEPENDENCIES", "LSTMDOCTAGS", "LSTDISTRIBUTED", "LSTEQ", "LSTQ", "$accept", "program", "stmtlist", "deflist", "statement", "doc", "docelem", "doctxt", "doceqn", "docdgm", "docntc", "doclst", "lstattrlist", "lstattrdef", "lstattrval", "docmtd", "definition", "defname", "params", "expression", "infixexp", "primitive", "ident", "name", "arglist", "argument", "string", "uqstring", "fstring", "fpar", "fseq", "fsum", "fprod", "ffunction", "fconst", "fvariable", "button", "checkbox", "vslider", "hslider", "nentry", "vgroup", "hgroup", "tgroup", "vbargraph", "hbargraph", "signature", "fun", "typelist", "rulelist", "rule", "type", 0 }
Definition at line 713 of file faustparser.cpp.
Definition at line 1298 of file faustparser.cpp.
const yytype_uint8 yytranslate[] [static] |
Definition at line 547 of file faustparser.cpp.
int yytype |
Definition at line 1241 of file faustparser.cpp.
Definition at line 1242 of file faustparser.cpp.