version 1.5, 2004/03/18 01:24:23 |
version 1.7, 2004/06/22 00:33:25 |
Line 222 static const short yyrline[] = |
|
Line 222 static const short yyrline[] = |
|
177, 183, 185, 187, 190, 192, 195, 197, 200, 203, |
177, 183, 185, 187, 190, 192, 195, 197, 200, 203, |
205, 208, 210, 213, 215, 218, 220, 223, 225, 228, |
205, 208, 210, 213, 215, 218, 220, 223, 225, 228, |
230, 233, 235, 238, 240, 243, 246, 248, 250, 252, |
230, 233, 235, 238, 240, 243, 246, 248, 250, 252, |
254, 256, 258, 285, 292, 299, 305, 311, 316, 320, |
254, 256, 258, 279, 286, 293, 299, 305, 310, 314, |
324, 328, 335, 342, 346, 348, 350, 352, 365, 375, |
318, 322, 329, 336, 340, 342, 344, 346, 359, 369, |
378, 380, 382, 384, 386, 388, 390, 392, 394, 396, |
372, 374, 376, 378, 380, 382, 384, 386, 388, 390, |
398, 400, 402, 404, 406, 408, 410, 412, 414, 416, |
392, 394, 396, 398, 400, 402, 404, 406, 408, 410, |
418, 420, 422, 424, 426, 428, 430, 432, 434, 436, |
412, 414, 416, 418, 420, 422, 424, 426, 428, 430, |
438 |
432 |
}; |
}; |
#endif |
#endif |
|
|
|
|
if ( f ) |
if ( f ) |
yyval.f = mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,0)); |
yyval.f = mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,0)); |
else { |
else { |
searchf(sysf,yyvsp[0].p,&f); |
gen_searchf_searchonly(yyvsp[0].p,(FUNC *)&f); |
if ( !f ) |
|
searchf(ubinf,yyvsp[0].p,&f); |
|
if ( !f ) |
|
searchpf(yyvsp[0].p,&f); |
|
if ( !f ) |
|
searchf(usrf,yyvsp[0].p,&f); |
|
if ( f ) |
if ( f ) |
makesrvar(f,(P *)&val); |
makesrvar(f,(P *)&val); |
else |
else |
|
|
} |
} |
break; |
break; |
case 63: |
case 63: |
#line 286 "parse.y" |
#line 280 "parse.y" |
{ |
{ |
gen_searchf(yyvsp[-3].p,(FUNC *)&val); |
gen_searchf(yyvsp[-3].p,(FUNC *)&val); |
print_crossref(val); |
print_crossref(val); |
|
|
} |
} |
break; |
break; |
case 64: |
case 64: |
#line 293 "parse.y" |
#line 287 "parse.y" |
{ |
{ |
gen_searchf(yyvsp[-5].p,(FUNC *)&val); |
gen_searchf(yyvsp[-5].p,(FUNC *)&val); |
print_crossref(val); |
print_crossref(val); |
|
|
} |
} |
break; |
break; |
case 65: |
case 65: |
#line 300 "parse.y" |
#line 294 "parse.y" |
{ |
{ |
gen_searchf(yyvsp[-3].p,(FUNC *)&val); |
gen_searchf(yyvsp[-3].p,(FUNC *)&val); |
print_crossref(val); |
print_crossref(val); |
|
|
} |
} |
break; |
break; |
case 66: |
case 66: |
#line 306 "parse.y" |
#line 300 "parse.y" |
{ |
{ |
gen_searchf(yyvsp[-3].p,(FUNC *)&val); |
gen_searchf(yyvsp[-3].p,(FUNC *)&val); |
print_crossref(val); |
print_crossref(val); |
|
|
} |
} |
break; |
break; |
case 67: |
case 67: |
#line 312 "parse.y" |
#line 306 "parse.y" |
{ |
{ |
searchpf(yyvsp[-6].p,(FUNC *)&val); |
searchpf(yyvsp[-6].p,(FUNC *)&val); |
yyval.f = mkfnode(2,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n)); |
yyval.f = mkfnode(2,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n)); |
} |
} |
break; |
break; |
case 68: |
case 68: |
#line 317 "parse.y" |
#line 311 "parse.y" |
{ |
{ |
yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p); |
yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p); |
} |
} |
break; |
break; |
case 69: |
case 69: |
#line 321 "parse.y" |
#line 315 "parse.y" |
{ |
{ |
yyval.f = mkfnode(2,I_GETOPT,0); |
yyval.f = mkfnode(2,I_GETOPT,0); |
} |
} |
break; |
break; |
case 70: |
case 70: |
#line 325 "parse.y" |
#line 319 "parse.y" |
{ |
{ |
yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f); |
yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f); |
} |
} |
break; |
break; |
case 71: |
case 71: |
#line 329 "parse.y" |
#line 323 "parse.y" |
{ |
{ |
searchf(parif,yyvsp[-1].p,(FUNC *)&val); |
searchf(parif,yyvsp[-1].p,(FUNC *)&val); |
if ( !val ) |
if ( !val ) |
|
|
} |
} |
break; |
break; |
case 72: |
case 72: |
#line 336 "parse.y" |
#line 330 "parse.y" |
{ |
{ |
searchf(parif,yyvsp[-3].p,(FUNC *)&val); |
searchf(parif,yyvsp[-3].p,(FUNC *)&val); |
if ( !val ) |
if ( !val ) |
|
|
} |
} |
break; |
break; |
case 73: |
case 73: |
#line 343 "parse.y" |
#line 337 "parse.y" |
{ |
{ |
yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n)); |
yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n)); |
} |
} |
break; |
break; |
case 74: |
case 74: |
#line 347 "parse.y" |
#line 341 "parse.y" |
{ yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); } |
{ yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); } |
break; |
break; |
case 75: |
case 75: |
#line 349 "parse.y" |
#line 343 "parse.y" |
{ yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); } |
{ yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); } |
break; |
break; |
case 76: |
case 76: |
#line 351 "parse.y" |
#line 345 "parse.y" |
{ yyval.f = mkfnode(1,I_PAREN,yyvsp[-1].f); } |
{ yyval.f = mkfnode(1,I_PAREN,yyvsp[-1].f); } |
break; |
break; |
case 77: |
case 77: |
#line 353 "parse.y" |
#line 347 "parse.y" |
{ |
{ |
if ( main_parser || allow_create_var ) |
if ( main_parser || allow_create_var ) |
yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0); |
yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0); |
|
|
} |
} |
break; |
break; |
case 78: |
case 78: |
#line 366 "parse.y" |
#line 360 "parse.y" |
{ |
{ |
if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) { |
if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) { |
appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a); |
appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a); |
|
|
} |
} |
break; |
break; |
case 79: |
case 79: |
#line 376 "parse.y" |
#line 370 "parse.y" |
{ yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); } |
{ yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); } |
break; |
break; |
case 80: |
case 80: |
#line 379 "parse.y" |
#line 373 "parse.y" |
{ yyval.f = yyvsp[0].f; } |
{ yyval.f = yyvsp[0].f; } |
break; |
break; |
case 81: |
case 81: |
#line 381 "parse.y" |
#line 375 "parse.y" |
{ yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); } |
{ yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); } |
break; |
break; |
case 82: |
case 82: |
#line 383 "parse.y" |
#line 377 "parse.y" |
{ yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 83: |
case 83: |
#line 385 "parse.y" |
#line 379 "parse.y" |
{ yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); } |
{ yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); } |
break; |
break; |
case 84: |
case 84: |
#line 387 "parse.y" |
#line 381 "parse.y" |
{ yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); } |
{ yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); } |
break; |
break; |
case 85: |
case 85: |
#line 389 "parse.y" |
#line 383 "parse.y" |
{ yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); } |
{ yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); } |
break; |
break; |
case 86: |
case 86: |
#line 391 "parse.y" |
#line 385 "parse.y" |
{ yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); } |
{ yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); } |
break; |
break; |
case 87: |
case 87: |
#line 393 "parse.y" |
#line 387 "parse.y" |
{ yyval.f = yyvsp[0].f; } |
{ yyval.f = yyvsp[0].f; } |
break; |
break; |
case 88: |
case 88: |
#line 395 "parse.y" |
#line 389 "parse.y" |
{ yyval.f = mkfnode(1,I_MINUS,yyvsp[0].f); } |
{ yyval.f = mkfnode(1,I_MINUS,yyvsp[0].f); } |
break; |
break; |
case 89: |
case 89: |
#line 397 "parse.y" |
#line 391 "parse.y" |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 90: |
case 90: |
#line 399 "parse.y" |
#line 393 "parse.y" |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 91: |
case 91: |
#line 401 "parse.y" |
#line 395 "parse.y" |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 92: |
case 92: |
#line 403 "parse.y" |
#line 397 "parse.y" |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 93: |
case 93: |
#line 405 "parse.y" |
#line 399 "parse.y" |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 94: |
case 94: |
#line 407 "parse.y" |
#line 401 "parse.y" |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 95: |
case 95: |
#line 409 "parse.y" |
#line 403 "parse.y" |
{ yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 96: |
case 96: |
#line 411 "parse.y" |
#line 405 "parse.y" |
{ yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); } |
{ yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); } |
break; |
break; |
case 97: |
case 97: |
#line 413 "parse.y" |
#line 407 "parse.y" |
{ yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 98: |
case 98: |
#line 415 "parse.y" |
#line 409 "parse.y" |
{ yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 99: |
case 99: |
#line 417 "parse.y" |
#line 411 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); } |
break; |
break; |
case 100: |
case 100: |
#line 419 "parse.y" |
#line 413 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 101: |
case 101: |
#line 421 "parse.y" |
#line 415 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 102: |
case 102: |
#line 423 "parse.y" |
#line 417 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 103: |
case 103: |
#line 425 "parse.y" |
#line 419 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 104: |
case 104: |
#line 427 "parse.y" |
#line 421 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 105: |
case 105: |
#line 429 "parse.y" |
#line 423 "parse.y" |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 106: |
case 106: |
#line 431 "parse.y" |
#line 425 "parse.y" |
{ yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); } |
{ yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); } |
break; |
break; |
case 107: |
case 107: |
#line 433 "parse.y" |
#line 427 "parse.y" |
{ yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); } |
{ yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); } |
break; |
break; |
case 108: |
case 108: |
#line 435 "parse.y" |
#line 429 "parse.y" |
{ yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); } |
{ yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); } |
break; |
break; |
case 109: |
case 109: |
#line 437 "parse.y" |
#line 431 "parse.y" |
{ MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); } |
{ MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); } |
break; |
break; |
case 110: |
case 110: |
#line 439 "parse.y" |
#line 433 "parse.y" |
{ MKQUOTE(quote,yyvsp[0].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); } |
{ MKQUOTE(quote,yyvsp[0].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); } |
break; |
break; |
} |
} |
|
|
#endif |
#endif |
return yyresult; |
return yyresult; |
} |
} |
#line 441 "parse.y" |
#line 435 "parse.y" |
|
|