- 8
- 0
- 约2.77万字
- 约 33页
- 2017-02-09 发布于重庆
- 举报
PL0课程设计多种思路
1. 增加一维数组类型(可增加指令)
增加一维数组后的声明语句语法描述图:
EBNF语法描述:声明语句::=var标识符[‘[‘number’]’]{,标识符[‘[‘number’]’]}
识别数组部分代码实现,在getsym和enter里改动
if(ch==[)//如果是‘[’则认为是数组
{
getchdo; getsymdo;
sum=num;//把getsym取出的数字赋给sum,作为数组的维数
if(ch==])//维数后的应该是‘]’
{
getchdo; sym=arrayp;
}
else
{
error(33);//如果没有‘]’报错
}
if(sum1) error(34);//数组维数不能为0
}
//-----------把一维数组当作变量,把数组填入名字表table里,在enter--------------------
switch(k)
{
case array: //数组时
table[(*ptx)-1].size=sum;//为数组变量开辟一个
原创力文档

文档评论(0)