1 / 13
文档名称:

语义分析实验报告(实验三).doc

格式:doc   大小:147KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

语义分析实验报告(实验三).doc

上传人:慢慢老师 2021/12/9 文件大小:147 KB

下载得到文件列表

语义分析实验报告(实验三).doc

文档介绍

文档介绍:编译原理语义分析实验报告
软工082班
兰洁
200831104044
实验内容
实验目的
实验要求
程序流程图
程序代码与主要过程说明
测试用例
输出结果
实验心得
实验内容
定义模拟的简单语言的语义成分,将语义分析程序编制成一个子程序,在实验2分析出个语法单位后,分析其含义,并将可执行语句或表达式翻译成四元式输出,并将错误信息输出。
实验目的
通过上机实验,加深对语义制导翻译原理的理解,掌握将语法分析所识别的语法成分变换成为中间代码的语义翻译方法。
实验要求
采用递归下降语法制导翻译方法,对算术表达式、赋值语句进行语义分析并生成四元式序列。
例如:对于语句串
Function
a=2+3*4;
x=(a+b)/c;
endfunc
#
输出的三地址指令如下
t1=3*4
t2=2+t1
a=t2
t3=a+b
t4=t3/c
x=t4
程序流程图
由于语义分析的的方法就是在语法分析过程中,根据每个产生式所对应的语义子程序进行翻译,为每个产生式配上一个翻译子程序,并在语法分析的同时执行这些子程序。所有对应的流程图与语法分析流程图大同小异,关于各类函数的流程图我已经在词法分析报告与语法分析报告中详细画出,所以这里只说明程序主要流程。
程序代码与主要过程说明
/*语义分析源代码*/
# include<>
# include<>
# include<>
# include<>
# include<>
struct quad // 四元式表
{ char result[12];
char ag1[12];
char op[12];
char ag2[12];
};
struct quad quad[30];
int count=0;
char *expression(void);
char prog[200],token[9];
char ch;
int syn,p,m,n,sum=0;
int kk=0,k=0;
char *rwtab[6]={"function","if","then","while","do","endfunc"};
void scaner()
{ m=0;
for(n=0;n<8;n++)
token[n]='\0';
ch=prog[p++];
while(ch==' ')
ch=prog[p++];
if((ch>='a'&& ch<='z')||(ch>='A' && ch<='Z'))
{
while((ch>='a'&& ch<='z')||(ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9'))
{ token[m++]=ch;
ch=prog[p++];
}//end of while
token[m++]='\0';
p--;
syn=10;
for(n=0;n<6;n++){
if(strcmp(token,rwtab[n])==0)
{ syn=n+1;
break;}
}//end of for
}
else if (ch>='0'&&ch<='9')
{ sum=0;
while(ch>='0'&&ch<='9')
{sum=sum*10+ch-'0';
ch=prog[p++];
}
p--;
syn=11;
}
else
{ switch(ch)
{ case'<':m=0;token[m++]=ch;
ch=prog[++p];
if(ch=='=')
{ syn=22;
token[m+1]=ch;
}
else
{ syn=20;
ch=prog[--p];}
break;
case'>':m=0;token[m++]=ch;
ch=prog[++p];
if(ch=='=')
{ syn=24;
token[m++]=ch;
}
else
{ syn=23;
ch=prog[--p];
}
break;
case'=':m=0,token[m++]

最近更新

2024年第二学期高中教师工作总结范文 8页

2024年第一次种菜作文12篇 11页

2024年第一学期物理教研组工作计划 32页

2024年第一学期小学教导处工作总结 12页

2024年第一季度销售工作总结(通用15篇) 48页

(人教版)部编版新小学一年级下册语文单元测试.. 33页

2024年笑猫日记的读后感 8页

2024年端午节给领导祝福语 30页

2024年端午节的感想感言大全 20页

2024年端午节活动方案模板合集七篇 17页

2021-2022学年广东省深圳市福田区七年级(下)期.. 17页

2021-2022青岛市七年级上英语期末考试题(含答.. 8页

2021年公路水运工程施工企业主要负责人和安全.. 136页

2024年端午节包粽子活动总结范文 4页

2022-2023学年九年级第一期期中历史试题 11页

2022-2023年部编版六年级语文下册期末试卷【加.. 7页

2022年-2023年二级造价工程师之建设工程造价管.. 19页

2022年一建《项目管理》试题及答案解析 8页

2022年大显身手五年级下册语文试卷电子版 9页

2024年竞选高中院学生会演讲稿 25页

2024年人民法院聘用书记员考试试题及答案 5页

小学生保险知识讲座 29页

2022年银河证券可转债权限综合评估问卷答案 1页

新版高中生物必修3实验:土壤中动物类群丰富度.. 2页

小学科学教科版三年级下册第二单元《动物的一.. 3页

热浸镀锌板黑斑产生的原因及判定初探 2页

拒绝接种知情书 2页

煤矿井下密闭墙管理制度 3页

烟花专用英语词汇 10页

双臂曲柄摇杆式翻板机 43页