- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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;//为数组变量开辟一个长度sum的空间
for(i=0;isum;i++)
{
table[(*ptx)].level=lev; //填入层次
table[(*ptx)].adr=(*pdx); //填入地址
strcpy(table[(*ptx)].name,#); //用#做为该数组的名字
table[(*ptx)].kind=variable; //类型为变量
(*ptx)++;
(*pdx)++;
}
sum=0; //清空sum
(*ptx)--;
break;
}
增加数组后赋值语句语法描述图:
if(sym==varsym)/*收到变量声名符号,开始处理变量声名*/
{
getsymdo;
do{
vardeclarationdo(tx,lev,dx);
if(sym==arrayp)////
{
enter(array,tx,lev,dx);
getsymdo;
}////
while(sym==comma)
{
getsymdo;//
vardeclarationdo(tx,lev,dx);
if(sym==arrayp) ////
{
enter(array,tx,lev,dx);
getsymdo;
}////
}
if(sym==semicolon)
{
getsymdo;//
}
else
{
error(5);
}
}while(sym==ident);
}
数组单元在名字表中的位置:
因为把数组当成一种特殊的变量,所以也可以当做因子使用,不用做任何修改。
当使用数组中的单元时候,找到单元在名字表位置时调用position。
代码实现:在position里改动
int position(char * idt,int tx)
{
if(ch==[) getsymdo;//如果取到的符号为‘]’则认为是数组
if(sym==arrayp)//判断
您可能关注的文档
- 堆场道路施工方案.doc
- 五子棋游戏课程设计.doc
- 基于单片机设计的自行车速度测试系统毕业论文.doc
- 基于51单片机的烟雾报警器设计论文毕业设计.doc
- 开关电源设计毕业论文.doc
- 基于光敏电阻路灯的智能控制毕业设计.doc
- 基于单片机的智能语音识别系统设计毕业设计.doc
- 某某镇墓园景观设计.doc
- xx煤业绩效考核管理办法.doc
- 克拉玛依市世纪大厦安全施工方案.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
最近下载
- 6.2交友的智慧 课件-2024-2025学年道德与法治七年级上册(统编版2024).pptx VIP
- (完整版)高中生物知识点总结(完整版).pdf
- 浙江省上虞实验中学2020-2021学年八年级上学期第一次月考数学试题(含解析).doc
- 环保涂料建设项目环境影响报告书.pdf
- 重难点专题02 函数值域与最值十四大题型汇总(解析版).docx VIP
- 6.1友谊的真谛 课件 2024-2025学年七年级道德与法治上册 统编版2024.pptx VIP
- 《公司治理学》(李维安第四版)教学全套课件.pptx
- 迷雾水珠 高清钢琴谱五线谱.pdf
- 湖南省长沙市长郡2024-2025学年高三上学期月考试卷(一)+英语试卷(含解析,含听力原文无音频).pdf VIP
- 6.1 友谊的真谛 【课件】2024-2025学年七年级上册道德与法治 统编版2024).pptx VIP
文档评论(0)