语义分析器实验报告

语义分析器实验报告

ID:30429192

大小:20.40 KB

页数:18页

时间:2018-12-29

语义分析器实验报告_第1页
语义分析器实验报告_第2页
语义分析器实验报告_第3页
语义分析器实验报告_第4页
语义分析器实验报告_第5页
资源描述:

《语义分析器实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划语义分析器实验报告  编译原理语义分析实验报告  软工082班  兰洁  XX  一、实验内容  二、实验目的  三、实验要求  四、程序流程图  五、程序代码与主要过程说明  六、测试用例  七、输出结果  八、实验心得  一、实验内容  定义模拟的简单语言的语义成分,将语义分析程序编制成一个子程序,在实验2分析出个语法单位后,分析其含义,并将可执行语句或表达式翻译成四元式输出,并将错误信息输出。  二、实验目的目的-通过该培训员工可对保安行业有初步了解,并感受到安

2、保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  通过上机实验,加深对语义制导翻译原理的理解,掌握将语法分析所识别的语法成分变换成为中间代码的语义翻译方法。  三、实验要求  采用递归下降语法制导翻译方法,对算术表达式、赋值语句进行语义分析并生成四元式序列。  例如:对于语句串  Function  a=2+3*4;  x=(a+b)/c;  endfunc  #  输出的三地址指令如下  ?t1=3*4  ?t2=2+t1  ?a=t2  

3、?t3=a+b  ?t4=t3/c  ?x=t4  四、程序流程图目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  由于语义分析的的方法就是在语法分析过程中,根据每个产生式所对应的语义子程序进行翻译,为每个产生式配上一个翻译子程序,并在语法分析的同时执行这些子程序。所有对应的流程图与语法分析流程图大同小异,关于各类函数的流程图我已经在词法分析报告与语法分析报告中详细画出,所以这里只说明程序

4、主要流程。  五、程序代码与主要过程说明  /*语义分析源代码*/  #include  #include  #include  #include  #include  structquad//四元式表  {charresult[12];  };charag1[12];charop[12];charag2[12];  structquadquad[30];  intcount=0;  char*expression(void);  charprog[200],token[9];  charch;  intsyn,p,m,n,sum=0;  intkk=0,k=0;  char*

5、rwtab[6]={"function","if","then","while","do","endfunc"};voidscaner()目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  {m=0;  for(n=0;n='a'&&ch='A'&&ch='a'&&ch='A'&&ch='0'&&ch='0'&&ch='0'&&ch':m=0;token[m++]=ch;ch=prog[++

6、p];if(ch=='='){syn=24;}else{syn=23;}break;ch=prog[--p];token[m++]=ch;case'=':m=0,token[m++]=ch;ch=prog[++p];if(ch=='='){syn=25;}else{syn=18;}break;ch=prog[--p];token[m++]=ch;case'!':m=0;token[m++]=ch;ch=prog[++p];if(ch=='='){syn=22;  实验三语法分析  XX科3李君林  一.实验目的:  通过使用、剖析和扩充TINY语言的语义分析程序,掌握编译器的语

7、义分析程序的构造方法。  二.实验内容  (一)运行TINY的语义分析程序  (二)扩充TINY的语法分析程序  提示:  考虑作用域和数组时可能需要修改符号表。  三.实验步骤  1.先读懂TINY语义程序  buildSymtab(syntaxTree);//根据语法树建立符号表目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。