|
@@ -332,12 +332,12 @@ static const short yyrline[] = { 0,
|
|
393, 395, 397, 399, 401, 403, 405, 407, 409, 411,
|
|
393, 395, 397, 399, 401, 403, 405, 407, 409, 411,
|
|
413, 415, 417, 419, 421, 423, 425, 427, 429, 431,
|
|
413, 415, 417, 419, 421, 423, 425, 427, 429, 431,
|
|
433, 435, 437, 439, 441, 443, 445, 447, 449, 451,
|
|
433, 435, 437, 439, 441, 443, 445, 447, 449, 451,
|
|
- 453, 455, 457, 459, 475, 477, 482, 484, 489, 491,
|
|
|
|
- 496, 498, 500, 502, 504, 506, 508, 510, 512, 514,
|
|
|
|
- 516, 518, 523, 525, 527, 529, 531, 533, 535, 537,
|
|
|
|
- 539, 541, 546, 548, 550, 555, 557, 562, 564, 569,
|
|
|
|
- 571, 576, 578, 583, 585, 590, 592, 594, 596, 598,
|
|
|
|
- 603, 605
|
|
|
|
|
|
+ 453, 455, 457, 459, 477, 479, 484, 486, 491, 493,
|
|
|
|
+ 498, 500, 502, 504, 506, 508, 510, 512, 514, 516,
|
|
|
|
+ 518, 520, 525, 527, 529, 531, 533, 535, 537, 539,
|
|
|
|
+ 541, 543, 548, 550, 552, 557, 559, 564, 566, 571,
|
|
|
|
+ 573, 578, 580, 585, 587, 592, 594, 596, 598, 600,
|
|
|
|
+ 605, 607
|
|
};
|
|
};
|
|
|
|
|
|
static const char * const yytname[] = { "$","error","$undefined.","rwDEFINE",
|
|
static const char * const yytname[] = { "$","error","$undefined.","rwDEFINE",
|
|
@@ -2042,209 +2042,211 @@ case 113:
|
|
break;}
|
|
break;}
|
|
case 114:
|
|
case 114:
|
|
#line 460 "cmdgram.y"
|
|
#line 460 "cmdgram.y"
|
|
-{
|
|
|
|
- String fnname = String("__anonymous_function_" + String::ToString(gAnonFunctionID++));
|
|
|
|
- StringTableEntry afnName = StringTable->insert(fnname.c_str());
|
|
|
|
- StmtNode *fndef = FunctionDeclStmtNode::alloc(yyvsp[-6].i.lineNumber, afnName, NULL, yyvsp[-4].var, yyvsp[-1].stmt);
|
|
|
|
|
|
+{
|
|
|
|
+ const U32 bufLen = 64;
|
|
|
|
+ UTF8 buffer[bufLen];
|
|
|
|
+ dSprintf(buffer, bufLen, "__anonymous_function%d", gAnonFunctionID++);
|
|
|
|
+ StringTableEntry fName = StringTable->insert(buffer);
|
|
|
|
+ StmtNode *fndef = FunctionDeclStmtNode::alloc(yyvsp[-6].i.lineNumber, fName, NULL, yyvsp[-4].var, yyvsp[-1].stmt);
|
|
|
|
|
|
if(!gAnonFunctionList)
|
|
if(!gAnonFunctionList)
|
|
- gAnonFunctionList = fndef;
|
|
|
|
|
|
+ gAnonFunctionList = fndef;
|
|
else
|
|
else
|
|
- gAnonFunctionList->append(fndef);
|
|
|
|
|
|
+ gAnonFunctionList->append(fndef);
|
|
|
|
|
|
- yyval.expr = StrConstNode::alloc( yyvsp[-6].i.lineNumber, (UTF8*)fnname.utf8(), false );
|
|
|
|
|
|
+ yyval.expr = StrConstNode::alloc( yyvsp[-6].i.lineNumber, (UTF8*)fName, false );
|
|
;
|
|
;
|
|
break;}
|
|
break;}
|
|
case 115:
|
|
case 115:
|
|
-#line 476 "cmdgram.y"
|
|
|
|
|
|
+#line 478 "cmdgram.y"
|
|
{ yyval.slot.lineNumber = yyvsp[-2].expr->dbgLineNumber; yyval.slot.object = yyvsp[-2].expr; yyval.slot.slotName = yyvsp[0].s.value; yyval.slot.array = NULL; ;
|
|
{ yyval.slot.lineNumber = yyvsp[-2].expr->dbgLineNumber; yyval.slot.object = yyvsp[-2].expr; yyval.slot.slotName = yyvsp[0].s.value; yyval.slot.array = NULL; ;
|
|
break;}
|
|
break;}
|
|
case 116:
|
|
case 116:
|
|
-#line 478 "cmdgram.y"
|
|
|
|
|
|
+#line 480 "cmdgram.y"
|
|
{ yyval.slot.lineNumber = yyvsp[-5].expr->dbgLineNumber; yyval.slot.object = yyvsp[-5].expr; yyval.slot.slotName = yyvsp[-3].s.value; yyval.slot.array = yyvsp[-1].expr; ;
|
|
{ yyval.slot.lineNumber = yyvsp[-5].expr->dbgLineNumber; yyval.slot.object = yyvsp[-5].expr; yyval.slot.slotName = yyvsp[-3].s.value; yyval.slot.array = yyvsp[-1].expr; ;
|
|
break;}
|
|
break;}
|
|
case 117:
|
|
case 117:
|
|
-#line 483 "cmdgram.y"
|
|
|
|
|
|
+#line 485 "cmdgram.y"
|
|
{ yyval.intslot.lineNumber = yyvsp[-2].expr->dbgLineNumber; yyval.intslot.object = yyvsp[-2].expr; yyval.intslot.slotExpr = yyvsp[0].expr; yyval.intslot.recurse = false; ;
|
|
{ yyval.intslot.lineNumber = yyvsp[-2].expr->dbgLineNumber; yyval.intslot.object = yyvsp[-2].expr; yyval.intslot.slotExpr = yyvsp[0].expr; yyval.intslot.recurse = false; ;
|
|
break;}
|
|
break;}
|
|
case 118:
|
|
case 118:
|
|
-#line 485 "cmdgram.y"
|
|
|
|
|
|
+#line 487 "cmdgram.y"
|
|
{ yyval.intslot.lineNumber = yyvsp[-2].expr->dbgLineNumber; yyval.intslot.object = yyvsp[-2].expr; yyval.intslot.slotExpr = yyvsp[0].expr; yyval.intslot.recurse = true; ;
|
|
{ yyval.intslot.lineNumber = yyvsp[-2].expr->dbgLineNumber; yyval.intslot.object = yyvsp[-2].expr; yyval.intslot.slotExpr = yyvsp[0].expr; yyval.intslot.recurse = true; ;
|
|
break;}
|
|
break;}
|
|
case 119:
|
|
case 119:
|
|
-#line 490 "cmdgram.y"
|
|
|
|
|
|
+#line 492 "cmdgram.y"
|
|
{ yyval.expr = ConstantNode::alloc( yyvsp[0].s.lineNumber, yyvsp[0].s.value ); ;
|
|
{ yyval.expr = ConstantNode::alloc( yyvsp[0].s.lineNumber, yyvsp[0].s.value ); ;
|
|
break;}
|
|
break;}
|
|
case 120:
|
|
case 120:
|
|
-#line 492 "cmdgram.y"
|
|
|
|
|
|
+#line 494 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[-1].expr; ;
|
|
{ yyval.expr = yyvsp[-1].expr; ;
|
|
break;}
|
|
break;}
|
|
case 121:
|
|
case 121:
|
|
-#line 497 "cmdgram.y"
|
|
|
|
|
|
+#line 499 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[0].i.lineNumber; yyval.asn.token = '+'; yyval.asn.expr = FloatNode::alloc( yyvsp[0].i.lineNumber, 1 ); ;
|
|
{ yyval.asn.lineNumber = yyvsp[0].i.lineNumber; yyval.asn.token = '+'; yyval.asn.expr = FloatNode::alloc( yyvsp[0].i.lineNumber, 1 ); ;
|
|
break;}
|
|
break;}
|
|
case 122:
|
|
case 122:
|
|
-#line 499 "cmdgram.y"
|
|
|
|
|
|
+#line 501 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[0].i.lineNumber; yyval.asn.token = '-'; yyval.asn.expr = FloatNode::alloc( yyvsp[0].i.lineNumber, 1 ); ;
|
|
{ yyval.asn.lineNumber = yyvsp[0].i.lineNumber; yyval.asn.token = '-'; yyval.asn.expr = FloatNode::alloc( yyvsp[0].i.lineNumber, 1 ); ;
|
|
break;}
|
|
break;}
|
|
case 123:
|
|
case 123:
|
|
-#line 501 "cmdgram.y"
|
|
|
|
|
|
+#line 503 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '+'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '+'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 124:
|
|
case 124:
|
|
-#line 503 "cmdgram.y"
|
|
|
|
|
|
+#line 505 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '-'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '-'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 125:
|
|
case 125:
|
|
-#line 505 "cmdgram.y"
|
|
|
|
|
|
+#line 507 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '*'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '*'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 126:
|
|
case 126:
|
|
-#line 507 "cmdgram.y"
|
|
|
|
|
|
+#line 509 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '/'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '/'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 127:
|
|
case 127:
|
|
-#line 509 "cmdgram.y"
|
|
|
|
|
|
+#line 511 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '%'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '%'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 128:
|
|
case 128:
|
|
-#line 511 "cmdgram.y"
|
|
|
|
|
|
+#line 513 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '&'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '&'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 129:
|
|
case 129:
|
|
-#line 513 "cmdgram.y"
|
|
|
|
|
|
+#line 515 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '^'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '^'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 130:
|
|
case 130:
|
|
-#line 515 "cmdgram.y"
|
|
|
|
|
|
+#line 517 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '|'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = '|'; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 131:
|
|
case 131:
|
|
-#line 517 "cmdgram.y"
|
|
|
|
|
|
+#line 519 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = opSHL; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = opSHL; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 132:
|
|
case 132:
|
|
-#line 519 "cmdgram.y"
|
|
|
|
|
|
+#line 521 "cmdgram.y"
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = opSHR; yyval.asn.expr = yyvsp[0].expr; ;
|
|
{ yyval.asn.lineNumber = yyvsp[-1].i.lineNumber; yyval.asn.token = opSHR; yyval.asn.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 133:
|
|
case 133:
|
|
-#line 524 "cmdgram.y"
|
|
|
|
|
|
+#line 526 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 134:
|
|
case 134:
|
|
-#line 526 "cmdgram.y"
|
|
|
|
|
|
+#line 528 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 135:
|
|
case 135:
|
|
-#line 528 "cmdgram.y"
|
|
|
|
|
|
+#line 530 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[0].od; ;
|
|
{ yyval.expr = yyvsp[0].od; ;
|
|
break;}
|
|
break;}
|
|
case 136:
|
|
case 136:
|
|
-#line 530 "cmdgram.y"
|
|
|
|
|
|
+#line 532 "cmdgram.y"
|
|
{ yyval.expr = AssignExprNode::alloc( yyvsp[-2].s.lineNumber, yyvsp[-2].s.value, NULL, yyvsp[0].expr); ;
|
|
{ yyval.expr = AssignExprNode::alloc( yyvsp[-2].s.lineNumber, yyvsp[-2].s.value, NULL, yyvsp[0].expr); ;
|
|
break;}
|
|
break;}
|
|
case 137:
|
|
case 137:
|
|
-#line 532 "cmdgram.y"
|
|
|
|
|
|
+#line 534 "cmdgram.y"
|
|
{ yyval.expr = AssignExprNode::alloc( yyvsp[-5].s.lineNumber, yyvsp[-5].s.value, yyvsp[-3].expr, yyvsp[0].expr); ;
|
|
{ yyval.expr = AssignExprNode::alloc( yyvsp[-5].s.lineNumber, yyvsp[-5].s.value, yyvsp[-3].expr, yyvsp[0].expr); ;
|
|
break;}
|
|
break;}
|
|
case 138:
|
|
case 138:
|
|
-#line 534 "cmdgram.y"
|
|
|
|
|
|
+#line 536 "cmdgram.y"
|
|
{ yyval.expr = AssignOpExprNode::alloc( yyvsp[-1].s.lineNumber, yyvsp[-1].s.value, NULL, yyvsp[0].asn.expr, yyvsp[0].asn.token); ;
|
|
{ yyval.expr = AssignOpExprNode::alloc( yyvsp[-1].s.lineNumber, yyvsp[-1].s.value, NULL, yyvsp[0].asn.expr, yyvsp[0].asn.token); ;
|
|
break;}
|
|
break;}
|
|
case 139:
|
|
case 139:
|
|
-#line 536 "cmdgram.y"
|
|
|
|
|
|
+#line 538 "cmdgram.y"
|
|
{ yyval.expr = AssignOpExprNode::alloc( yyvsp[-4].s.lineNumber, yyvsp[-4].s.value, yyvsp[-2].expr, yyvsp[0].asn.expr, yyvsp[0].asn.token); ;
|
|
{ yyval.expr = AssignOpExprNode::alloc( yyvsp[-4].s.lineNumber, yyvsp[-4].s.value, yyvsp[-2].expr, yyvsp[0].asn.expr, yyvsp[0].asn.token); ;
|
|
break;}
|
|
break;}
|
|
case 140:
|
|
case 140:
|
|
-#line 538 "cmdgram.y"
|
|
|
|
|
|
+#line 540 "cmdgram.y"
|
|
{ yyval.expr = SlotAssignOpNode::alloc( yyvsp[-1].slot.lineNumber, yyvsp[-1].slot.object, yyvsp[-1].slot.slotName, yyvsp[-1].slot.array, yyvsp[0].asn.token, yyvsp[0].asn.expr); ;
|
|
{ yyval.expr = SlotAssignOpNode::alloc( yyvsp[-1].slot.lineNumber, yyvsp[-1].slot.object, yyvsp[-1].slot.slotName, yyvsp[-1].slot.array, yyvsp[0].asn.token, yyvsp[0].asn.expr); ;
|
|
break;}
|
|
break;}
|
|
case 141:
|
|
case 141:
|
|
-#line 540 "cmdgram.y"
|
|
|
|
|
|
+#line 542 "cmdgram.y"
|
|
{ yyval.expr = SlotAssignNode::alloc( yyvsp[-2].slot.lineNumber, yyvsp[-2].slot.object, yyvsp[-2].slot.array, yyvsp[-2].slot.slotName, yyvsp[0].expr); ;
|
|
{ yyval.expr = SlotAssignNode::alloc( yyvsp[-2].slot.lineNumber, yyvsp[-2].slot.object, yyvsp[-2].slot.array, yyvsp[-2].slot.slotName, yyvsp[0].expr); ;
|
|
break;}
|
|
break;}
|
|
case 142:
|
|
case 142:
|
|
-#line 542 "cmdgram.y"
|
|
|
|
|
|
+#line 544 "cmdgram.y"
|
|
{ yyval.expr = SlotAssignNode::alloc( yyvsp[-4].slot.lineNumber, yyvsp[-4].slot.object, yyvsp[-4].slot.array, yyvsp[-4].slot.slotName, yyvsp[-1].expr); ;
|
|
{ yyval.expr = SlotAssignNode::alloc( yyvsp[-4].slot.lineNumber, yyvsp[-4].slot.object, yyvsp[-4].slot.array, yyvsp[-4].slot.slotName, yyvsp[-1].expr); ;
|
|
break;}
|
|
break;}
|
|
case 143:
|
|
case 143:
|
|
-#line 547 "cmdgram.y"
|
|
|
|
|
|
+#line 549 "cmdgram.y"
|
|
{ yyval.expr = FuncCallExprNode::alloc( yyvsp[-3].s.lineNumber, yyvsp[-3].s.value, NULL, yyvsp[-1].expr, false); ;
|
|
{ yyval.expr = FuncCallExprNode::alloc( yyvsp[-3].s.lineNumber, yyvsp[-3].s.value, NULL, yyvsp[-1].expr, false); ;
|
|
break;}
|
|
break;}
|
|
case 144:
|
|
case 144:
|
|
-#line 549 "cmdgram.y"
|
|
|
|
|
|
+#line 551 "cmdgram.y"
|
|
{ yyval.expr = FuncCallExprNode::alloc( yyvsp[-5].s.lineNumber, yyvsp[-3].s.value, yyvsp[-5].s.value, yyvsp[-1].expr, false); ;
|
|
{ yyval.expr = FuncCallExprNode::alloc( yyvsp[-5].s.lineNumber, yyvsp[-3].s.value, yyvsp[-5].s.value, yyvsp[-1].expr, false); ;
|
|
break;}
|
|
break;}
|
|
case 145:
|
|
case 145:
|
|
-#line 551 "cmdgram.y"
|
|
|
|
|
|
+#line 553 "cmdgram.y"
|
|
{ yyvsp[-5].expr->append(yyvsp[-1].expr); yyval.expr = FuncCallExprNode::alloc( yyvsp[-5].expr->dbgLineNumber, yyvsp[-3].s.value, NULL, yyvsp[-5].expr, true); ;
|
|
{ yyvsp[-5].expr->append(yyvsp[-1].expr); yyval.expr = FuncCallExprNode::alloc( yyvsp[-5].expr->dbgLineNumber, yyvsp[-3].s.value, NULL, yyvsp[-5].expr, true); ;
|
|
break;}
|
|
break;}
|
|
case 146:
|
|
case 146:
|
|
-#line 556 "cmdgram.y"
|
|
|
|
|
|
+#line 558 "cmdgram.y"
|
|
{ yyval.expr = AssertCallExprNode::alloc( yyvsp[-3].i.lineNumber, yyvsp[-1].expr, NULL ); ;
|
|
{ yyval.expr = AssertCallExprNode::alloc( yyvsp[-3].i.lineNumber, yyvsp[-1].expr, NULL ); ;
|
|
break;}
|
|
break;}
|
|
case 147:
|
|
case 147:
|
|
-#line 558 "cmdgram.y"
|
|
|
|
|
|
+#line 560 "cmdgram.y"
|
|
{ yyval.expr = AssertCallExprNode::alloc( yyvsp[-5].i.lineNumber, yyvsp[-3].expr, yyvsp[-1].str.value ); ;
|
|
{ yyval.expr = AssertCallExprNode::alloc( yyvsp[-5].i.lineNumber, yyvsp[-3].expr, yyvsp[-1].str.value ); ;
|
|
break;}
|
|
break;}
|
|
case 148:
|
|
case 148:
|
|
-#line 563 "cmdgram.y"
|
|
|
|
|
|
+#line 565 "cmdgram.y"
|
|
{ yyval.expr = NULL; ;
|
|
{ yyval.expr = NULL; ;
|
|
break;}
|
|
break;}
|
|
case 149:
|
|
case 149:
|
|
-#line 565 "cmdgram.y"
|
|
|
|
|
|
+#line 567 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 150:
|
|
case 150:
|
|
-#line 570 "cmdgram.y"
|
|
|
|
|
|
+#line 572 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 151:
|
|
case 151:
|
|
-#line 572 "cmdgram.y"
|
|
|
|
|
|
+#line 574 "cmdgram.y"
|
|
{ (yyvsp[-2].expr)->append(yyvsp[0].expr); yyval.expr = yyvsp[-2].expr; ;
|
|
{ (yyvsp[-2].expr)->append(yyvsp[0].expr); yyval.expr = yyvsp[-2].expr; ;
|
|
break;}
|
|
break;}
|
|
case 152:
|
|
case 152:
|
|
-#line 577 "cmdgram.y"
|
|
|
|
|
|
+#line 579 "cmdgram.y"
|
|
{ yyval.slist = NULL; ;
|
|
{ yyval.slist = NULL; ;
|
|
break;}
|
|
break;}
|
|
case 153:
|
|
case 153:
|
|
-#line 579 "cmdgram.y"
|
|
|
|
|
|
+#line 581 "cmdgram.y"
|
|
{ yyval.slist = yyvsp[0].slist; ;
|
|
{ yyval.slist = yyvsp[0].slist; ;
|
|
break;}
|
|
break;}
|
|
case 154:
|
|
case 154:
|
|
-#line 584 "cmdgram.y"
|
|
|
|
|
|
+#line 586 "cmdgram.y"
|
|
{ yyval.slist = yyvsp[0].slist; ;
|
|
{ yyval.slist = yyvsp[0].slist; ;
|
|
break;}
|
|
break;}
|
|
case 155:
|
|
case 155:
|
|
-#line 586 "cmdgram.y"
|
|
|
|
|
|
+#line 588 "cmdgram.y"
|
|
{ yyvsp[-1].slist->append(yyvsp[0].slist); yyval.slist = yyvsp[-1].slist; ;
|
|
{ yyvsp[-1].slist->append(yyvsp[0].slist); yyval.slist = yyvsp[-1].slist; ;
|
|
break;}
|
|
break;}
|
|
case 156:
|
|
case 156:
|
|
-#line 591 "cmdgram.y"
|
|
|
|
|
|
+#line 593 "cmdgram.y"
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-3].s.lineNumber, NULL, NULL, yyvsp[-3].s.value, yyvsp[-1].expr); ;
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-3].s.lineNumber, NULL, NULL, yyvsp[-3].s.value, yyvsp[-1].expr); ;
|
|
break;}
|
|
break;}
|
|
case 157:
|
|
case 157:
|
|
-#line 593 "cmdgram.y"
|
|
|
|
|
|
+#line 595 "cmdgram.y"
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-4].i.lineNumber, NULL, NULL, yyvsp[-3].s.value, yyvsp[-1].expr, yyvsp[-4].i.value); ;
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-4].i.lineNumber, NULL, NULL, yyvsp[-3].s.value, yyvsp[-1].expr, yyvsp[-4].i.value); ;
|
|
break;}
|
|
break;}
|
|
case 158:
|
|
case 158:
|
|
-#line 595 "cmdgram.y"
|
|
|
|
|
|
+#line 597 "cmdgram.y"
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-3].i.lineNumber, NULL, NULL, StringTable->insert("datablock"), yyvsp[-1].expr); ;
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-3].i.lineNumber, NULL, NULL, StringTable->insert("datablock"), yyvsp[-1].expr); ;
|
|
break;}
|
|
break;}
|
|
case 159:
|
|
case 159:
|
|
-#line 597 "cmdgram.y"
|
|
|
|
|
|
+#line 599 "cmdgram.y"
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-6].s.lineNumber, NULL, yyvsp[-4].expr, yyvsp[-6].s.value, yyvsp[-1].expr); ;
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-6].s.lineNumber, NULL, yyvsp[-4].expr, yyvsp[-6].s.value, yyvsp[-1].expr); ;
|
|
break;}
|
|
break;}
|
|
case 160:
|
|
case 160:
|
|
-#line 599 "cmdgram.y"
|
|
|
|
|
|
+#line 601 "cmdgram.y"
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-7].i.lineNumber, NULL, yyvsp[-4].expr, yyvsp[-6].s.value, yyvsp[-1].expr, yyvsp[-7].i.value); ;
|
|
{ yyval.slist = SlotAssignNode::alloc( yyvsp[-7].i.lineNumber, NULL, yyvsp[-4].expr, yyvsp[-6].s.value, yyvsp[-1].expr, yyvsp[-7].i.value); ;
|
|
break;}
|
|
break;}
|
|
case 161:
|
|
case 161:
|
|
-#line 604 "cmdgram.y"
|
|
|
|
|
|
+#line 606 "cmdgram.y"
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
{ yyval.expr = yyvsp[0].expr; ;
|
|
break;}
|
|
break;}
|
|
case 162:
|
|
case 162:
|
|
-#line 606 "cmdgram.y"
|
|
|
|
|
|
+#line 608 "cmdgram.y"
|
|
{ yyval.expr = CommaCatExprNode::alloc( yyvsp[-2].expr->dbgLineNumber, yyvsp[-2].expr, yyvsp[0].expr); ;
|
|
{ yyval.expr = CommaCatExprNode::alloc( yyvsp[-2].expr->dbgLineNumber, yyvsp[-2].expr, yyvsp[0].expr); ;
|
|
break;}
|
|
break;}
|
|
}
|
|
}
|
|
@@ -2445,6 +2447,6 @@ yyerrhandle:
|
|
yystate = yyn;
|
|
yystate = yyn;
|
|
goto yynewstate;
|
|
goto yynewstate;
|
|
}
|
|
}
|
|
-#line 608 "cmdgram.y"
|
|
|
|
|
|
+#line 610 "cmdgram.y"
|
|
|
|
|
|
|
|
|