📄 checker.tab.c.bak
字号:
{ yyval.int_list = yyvsp[-2].int_list; yyval.int_list.push_back(yyvsp[0].intval); ;}
break;
case 12:
#line 116 "checker.y"
{ yyval = yyvsp[-1]; ;}
break;
case 13:
#line 117 "checker.y"
{ yyval.intval = yyvsp[-3].intval;
yyval.int_list = yyvsp[-1].int_list;
yyval.int_list.push_front(*yyvsp[-3].int_list.begin()); ;}
break;
case 14:
#line 120 "checker.y"
{ CheckAddConstVariable(SymbolListTypeADDArrayList(yyvsp[-4].intval, yyvsp[-4].int_list), yyvsp[-3].intval, yyvsp[-1].Ventry);
;}
break;
case 15:
#line 124 "checker.y"
{ yyval.Ventry = yyvsp[-1].Ventry; ;}
break;
case 16:
#line 127 "checker.y"
{ yyval.intval = SymbolListTypeADDArrayList(yyvsp[-1].intval, yyvsp[-1].int_list);
yyval.int_list.clear(); yyval.int_list.push_back(yyvsp[0].intval); ;}
break;
case 17:
#line 131 "checker.y"
{ yyval.Ventry_list.clear();
TSymbolListVariableEntry Ventry;
Ventry.var_type = SymbolListTypeADDArrayList(yyvsp[0].intval, yyvsp[0].int_list);
yyval.Ventry_list.push_back(Ventry); ;}
break;
case 18:
#line 135 "checker.y"
{ yyval.Ventry_list = yyvsp[-2].Ventry_list;
TSymbolListVariableEntry Ventry;
Ventry.var_type = SymbolListTypeADDArrayList(yyvsp[0].intval, yyvsp[0].int_list);
yyval.Ventry_list.push_back(Ventry); ;}
break;
case 19:
#line 141 "checker.y"
{ yyval.intval = yyvsp[0].intval; yyval.int_list.clear(); ;}
break;
case 20:
#line 142 "checker.y"
{ yyval.intval = SymbolListTypeADDArrayList(yyvsp[-1].intval, yyvsp[-1].int_list);
yyval.intval = SymbolListTypeADDStar(yyval.intval);
yyval.int_list.clear(); ;}
break;
case 21:
#line 145 "checker.y"
{ yyval.intval = yyvsp[-1].intval; yyval.int_list = yyvsp[-1].int_list;
yyval.int_list.push_back(CheckArraysubToConst(yyvsp[0].Ventry)); ;}
break;
case 22:
#line 147 "checker.y"
{ yyval.intval = SymbolListMakeFunctionType(SymbolListTypeADDArrayList(yyvsp[-5].intval, yyvsp[-5].int_list),
yyvsp[-1].Ventry_list);
yyval.int_list.clear(); ;}
break;
case 23:
#line 152 "checker.y"
{ yyval.intval = var_type_int; ;}
break;
case 24:
#line 153 "checker.y"
{ yyval.intval = var_type_char; ;}
break;
case 25:
#line 154 "checker.y"
{ yyval.intval = var_type_void; ;}
break;
case 26:
#line 155 "checker.y"
{ if (SymbolListType[yyvsp[0].intval].total_size == type_undefined )
{
errormsg(4, PROGRAM_LineNumber, IDHash_int2ID(yyvsp[0].intval));
yyval.intval = var_type_notfound;
}
else
{
yyval.intval = yyvsp[0].intval;
}
;}
break;
case 27:
#line 167 "checker.y"
{ TSymbolListFunctionEntry Fentry;
Fentry.defined = 0;
Fentry.id = yyvsp[-4].intval; Fentry.arg_list = yyvsp[-2].Ventry_list;
Fentry.func_type = SymbolListMakeFunctionType(SymbolListTypeADDArrayList(yyvsp[-5].intval, yyvsp[-5].int_list), yyvsp[-2].Ventry_list);
Fentry.defined_line = PROGRAM_LineNumber; Fentry.valid = 1;
yyval.Fentry = Fentry; ;}
break;
case 28:
#line 175 "checker.y"
{ yyval.Ventry_list = yyvsp[0].Ventry_list; ;}
break;
case 29:
#line 176 "checker.y"
{ yyval.Ventry_list.clear(); ;}
break;
case 30:
#line 179 "checker.y"
{ yyval.Ventry_list.clear(); yyval.Ventry_list.push_back(yyvsp[0].Ventry); ;}
break;
case 31:
#line 180 "checker.y"
{ yyval.Ventry_list = yyvsp[-2].Ventry_list; yyval.Ventry_list.push_back(yyvsp[0].Ventry); ;}
break;
case 32:
#line 183 "checker.y"
{ yyval.Ventry.var_type = yyvsp[0].intval; yyval.Ventry.defined_line = PROGRAM_LineNumber;
yyval.Ventry.id = *yyvsp[0].int_list.begin();
yyval.Ventry.const_sign = 0; yyval.Ventry.lvalue = 1; ;}
break;
case 33:
#line 188 "checker.y"
{ TSymbolListFunctionEntry Fentry;
Fentry.id = yyvsp[-3].intval; Fentry.arg_list = yyvsp[-1].Ventry_list;
Fentry.func_type = SymbolListMakeFunctionType(SymbolListTypeADDArrayList(yyvsp[-4].intval, yyvsp[-4].int_list), yyvsp[-1].Ventry_list);
Fentry.defined_line = PROGRAM_LineNumber; Fentry.valid = 1;
CheckMakeNewFuncDecl(Fentry);
yyval.Fentry = Fentry;
PROGRAM_func_ret = SymbolListTypeADDArrayList(yyvsp[-4].intval, yyvsp[-4].int_list);
SymbolListIncLevel();
for (list <TSymbolListVariableEntry> :: iterator p = yyvsp[-1].Ventry_list.begin(); p != yyvsp[-1].Ventry_list.end(); p ++)
{
CheckMakeNewVarDecl(*p);
}
SymbolListNowLevel --; ;}
break;
case 34:
#line 202 "checker.y"
{ yyval.Fentry = yyvsp[-1].Fentry; ;}
break;
case 35:
#line 205 "checker.y"
{ yyval.intval = PROGRAM_LineNumber; ;}
break;
case 36:
#line 206 "checker.y"
{ CheckMakeNewStructDef(yyvsp[-3].intval, yyvsp[-1].Tentry, yyvsp[-2].intval); ;}
break;
case 37:
#line 209 "checker.y"
{ yyval.Tentry = yyvsp[-1].Tentry; ;}
break;
case 38:
#line 210 "checker.y"
{ SymbolListMakeNewStruct(yyval.Tentry); ;}
break;
case 39:
#line 213 "checker.y"
{ SymbolListMakeNewStruct(yyval.Tentry);
AddVars2Field(yyval.Tentry, yyvsp[0].intval, yyvsp[0].int_list); ;}
break;
case 40:
#line 215 "checker.y"
{ yyval.Tentry = yyvsp[-1].Tentry;
AddVars2Field(yyval.Tentry, yyvsp[0].intval, yyvsp[0].int_list); ;}
break;
case 41:
#line 220 "checker.y"
{ SymbolListIncLevel(); ;}
break;
case 42:
#line 221 "checker.y"
{ SymbolListDecLevel(); ;}
break;
case 43:
#line 224 "checker.y"
{ ;}
break;
case 44:
#line 225 "checker.y"
{ ;}
break;
case 45:
#line 228 "checker.y"
{ ;}
break;
case 46:
#line 229 "checker.y"
{ ;}
break;
case 47:
#line 232 "checker.y"
{ ;}
break;
case 48:
#line 233 "checker.y"
{ ;}
break;
case 49:
#line 236 "checker.y"
{ ;}
break;
case 50:
#line 237 "checker.y"
{ ;}
break;
case 51:
#line 240 "checker.y"
{ ;}
break;
case 52:
#line 241 "checker.y"
{ CheckASM(0, yyvsp[-2].strval); ;}
break;
case 53:
#line 242 "checker.y"
{ CheckASM(1, yyvsp[-4].strval, yyvsp[-2].strval); ;}
break;
case 54:
#line 244 "checker.y"
{ CheckASM(2, yyvsp[-6].strval, yyvsp[-4].strval, yyvsp[-2].strval); ;}
break;
case 55:
#line 246 "checker.y"
{ CheckASM(3, yyvsp[-8].strval, yyvsp[-6].strval, yyvsp[-4].strval, yyvsp[-2].strval); ;}
break;
case 56:
#line 248 "checker.y"
{ CheckRegOperation(REG_OP_READ, yyvsp[-4].strval, yyvsp[-2].intval); ;}
break;
case 57:
#line 250 "checker.y"
{ CheckRegOperation(REG_OP_WRITE, yyvsp[-4].strval, yyvsp[-2].intval); ;}
break;
case 58:
#line 253 "checker.y"
{ ;}
break;
case 59:
#line 254 "checker.y"
{ CheckMakeNewVarDecls(yyvsp[0].intval, yyvsp[0].int_list); ;}
break;
case 60:
#line 255 "checker.y"
{ ;}
break;
case 61:
#line 256 "checker.y"
{ ;}
break;
case 62:
#line 257 "checker.y"
{ ;}
break;
case 63:
#line 258 "checker.y"
{ ;}
break;
case 64:
#line 259 "checker.y"
{ ;}
break;
case 65:
#line 260 "checker.y"
{ ;}
break;
case 66:
#line 261 "checker.y"
{ ;}
break;
case 67:
#line 262 "checker.y"
{ ;}
break;
case 68:
#line 265 "checker.y"
{ ;}
break;
case 69:
#line 266 "checker.y"
{ ;}
break;
case 70:
#line 269 "checker.y"
{ CheckCall(yyvsp[-3].Ventry, yyvsp[-1].Ventry_list, yyval.Ventry); ;}
break;
case 71:
#line 272 "checker.y"
{ yyval.Ventry_list = yyvsp[0].Ventry_list; ;}
break;
case 72:
#line 273 "checker.y"
{ yyval.Ventry_list.clear(); ;}
break;
case 73:
#line 276 "checker.y"
{ CheckCondExpr(yyvsp[0].Ventry); ;}
break;
case 74:
#line 277 "checker.y"
{ InLoopCount ++; ;}
break;
case 75:
#line 278 "checker.y"
{ InLoopCount --; ;}
break;
case 76:
#line 281 "checker.y"
{ CheckCondExpr(yyvsp[-1].Ventry); InLoopCount ++; ;}
break;
case 77:
#line 282 "checker.y"
{ InLoopCount --; ;}
break;
case 78:
#line 285 "checker.y"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -