简单语义分析扩展实验说明

简单语义分析扩展实验说明

ID:6740014

大小:40.50 KB

页数:3页

时间:2018-01-24

简单语义分析扩展实验说明_第1页
简单语义分析扩展实验说明_第2页
简单语义分析扩展实验说明_第3页
资源描述:

《简单语义分析扩展实验说明》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、简单语义分析扩展实验一、实验目的和内容进一步理解递归下降分析原理和实现方法,理解语义分析的基本机制,掌握语义子程序的构造方法。二、扩展要求1.增加乘法*和除法/运算l*,/优先级别高于+,*和/满足左结合规则l对包含除法运算的表达式生成对应的四元式2.禁止同名重复声明,所以登记符号之前要检查有没有同名变量声明过三、提交实验提交内容:(1)纸质版的实验报告;(2)修改之后、并且编译通过的程序代码。可选的扩展可以进行如语法错误处理,二元运算时进行类型匹配检查等等。四、已知条件提供了C语言版本的语义程序“语义分析.

2、cpp”、“语义分析.h”。“语义分析.cpp”程序实现对下面文法的语义分析。P→DS.D→B;DD→εB→intL

3、realLL→id

4、L,idS→V:=EHH→;S

5、εE→E+T

6、TT→(E)T→idV→id语义包括l非终结符号D实现定义两种类型int,real变量的声明;l非终结符号S实现变量之间的+,:=(赋值运算)l两个关键字int和reall变量之间的+,:=(赋值)运算只能使用声明过的变量,所以要检查使用的变量是否声明过。l对每个+,:=(赋值)运算生成一条四元式如(+,A,B,T1),其中T1

7、是临时变量l例输入reala,b;intc,d;c:=c+d+b;d:=b+a.则输出(+,d,b,T101)(+,c,T101,T102)(:=,T102,,c)(+,b,a,T103)(:=,T103,,d)例输入reala,b;intc,d,a;c:=c+d+b;d:=b+a.则语义分析要能识别出重复申明错reala,b;intc,d;f:=c+d+b;d:=b+a.则语义分析要能识别没有申明使用标识符错四、提示P→DS.D→B;DD→εB→intL

8、realLL→id

9、L,idS→V:=EHH→;S

10、

11、εE→E+T

12、TT→T*F

13、FF→(E)F→idV→id

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

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

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