📄 table.cpp
字号:
// Table.cpp: implementation of the Table class.
//
//////////////////////////////////////////////////////////////////////
#include "Table.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Table::Table(Simpsc *p)
{
pl=p;
lev=0;
tx[0]=0;
}
void Table::Enter(obj k,Word *Token)
{
if (pl->gra->ReturnLevel()>lev)
tx[++lev]=tx[lev-1];
else if (pl->gra->ReturnLevel())
lev--;
tx[lev]++;
if (tx[lev]>=TABLE_MAX) return;
strcpy(table[tx[lev]].name,pl->gra->ReturnName(Token));
table[tx[lev]].kind=k;
switch (k)
{
case constant:
break;
case variable:
table[tx[lev]].level=pl->gra->ReturnLevel();
table[tx[lev]].adr=pl->gra->ReturnAddr();
break;
case procedure:
table[tx[lev]].level=pl->gra->ReturnLevel();
break;
}
}
void Table::GetVal(int num)
{
table[tx[lev]].val=num;
}
int Table::ReturnIndex()
{
return tx[lev];
}
int Table::Position(char *id)
{
int i=tx[lev];
while (stricmp(table[i].name,id) && i>0) i--;
return i;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -