- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理综合训练
语义分析实验报告
指导老师:
班级:
学生:zeadom
学号:
学生: 学号:
2011/6/29
目录
语言文法的形式化描述 错误!未定义书签。 语义规则 错误!未定义书签。 运行环境介绍 错误!未定义书签。
关键算法的流程图及文字解释 错误!未定义书签。
K本编译器的总框架 错谋!未定义书签。
2、 在语义分析中的主要函数介绍 错误!未定义书签。
3、 产生布尔农达式 错误!未定义书签。
4、While-do语句的语义分析
4、While-do语句的语义分析
错误!未定义书签。
5、词法、语法和语义分析的衔接
错误!未定义书签。
测试报告错课!未定义书签。
测试报告
附录
错误!未定义书签。
语言文法的形式化描述(BNF范式)
程序开始
P-program i;SDn SC;
定义语句 SDn-SDSDn|null
SD-var int iSDT
SDT ?null|,iSDT
复合语句
SC-begin Sn end
Sn-S;Sn| | null
单个语句 S-SD|SA|SIF|SW|SC
赋值语句SA-i:=E
算术衣达式 E-cET|iET|(E)ET
ET-AE|CE|DE|null;
C-+|-|*l/;
布尔表达式 B-EAEBT|NOTB|(B)BT
BT-DB|null
A-?|| = |=|=|
D-AND|OR
语句 ifSIF-if B then S SELSE
SELSE-null|else S2
语句 whileSW-while B do S
语义规则(属性文法)?
产生式语义规则
i:=E {Gen(:=, # — , entry(i))}
{ = Ne^vtemp; EE1+E2 Gen(+, f . )}
{ = Ne^vtemp; EE1*E2
)}
/ Gen(*/Z
El -E
{ = Newtemp; Gen(@ … 一 z )}
E(E1)
{ = }
Ei
{ = Entry(i)}
产生式
则语义规
{:=makelist(nextquad); :=makelist(nextquad+l);
Ei
Gen( jnz entry(i), — , 0 ); Gen( j ? — , — , 0) }
{:=makelist(nextquad);
Eil R i2
} 0 ) , — ,, 0 );
:=makelist(nextquad+l);
Gen( j — Gen( jR, entry(il), entry(i2) ; { := E ~i El}
;{:=E(E1)}
? — ?
.一 /
M }
£ { := nextquad ;
{backpatch,);
ME2 EE1A :=merge,E2. Falselist)} {backpatch(El. falselist,);
:=merge(El. truelist, E2. truelist); ME2 EE1V := E2. Falselist } {backpatch,);
? — ?
.一 f
ME2 EElA:=mergez }
产生式语义规则
{backpatch, SI
);
Sif E then M
:=merge, }
{ := nextquad ; } M c
N £ {:=makelist(nextquad);
} — 〃,0) — Gen(j,
S讦 E then Ml SI); { backpatch,
else M2 S2
);backpatch, N
:二merge,
,}
Swhile MIE { backpatch, ); Ge n( j,—.—,); backpatch, ); := do M2 SI }
{:= }
S begin L end
SA{:= makelist()严空链拿/}
{:=L S }
{backpatch, ); S
LL1: M
运行环境介绍
运行环境是DEVC++
Dev-C++是-个CC++开发工具,它是?款自由软件,遵守GPL协议。它集合了 GCC、MinGW32 等众多自由软件,并且可以取得必威体育精装版版本的各种工具支持,而这?切工作都是来自全球的宛热者 所做的工作,并且你拥有对这?切工具自由使用的权利,包括取得源代码等,前提是你也必须遵 守GNU协议。Dev-C++每-天都在进步着,因为它是?个自由软件。Dev-C++是?个非常实用的 编程软件,多款着名软件均由它编写而成,它在C的基础上,增强了逻辑性
关键算法的流程图及文字解释
1>本编译器的总框架
2、在语义分析中的主要函数介绍
Backpatch(int list)nt quad) 代码:
void backpatch(int listjnt patch) {
int t
您可能关注的文档
- 2020年(安全生产)部门安全责任制.docx
- 2020年(安全生产)成都市企业安全生产信用等级评估评分细则.docx
- 2020年(安全生产)大连市安全生产监管监察与应急平台系统建设基本经验.docx
- 2020年(企业管理咨询)管理咨询公司的成本计算.docx
- 2020年员工管理造价人员的一些心得完整版.docx
- Flipped怦然心动电影台词英文整理版.docx
- SQLServer图书管理系统数据库实训.docx
- XXX网络支付业务可行性研究报告.docx
- x有限公司安装施工监理招标文件.docx
- 安防系统招投标文件范本(内部招投标).docx
- 2024学年第一学期浙江省精诚联盟10月联考高二物理试题含答案及解析.pdf
- 【山东卷】山东省泰安市2024-2025学年高三上学期11月期中考试(11.13-11.15)英语试卷含答案及解析.pdf
- 【浙江卷】浙江省杭州市四校联考2024-2025学年高一上学期10月月考英语试卷含答案及解析.pdf
- 西南大学附中高一10月月考生物试卷含答案及解析.pdf
- 辽宁省县域重点高中协作体2024~2025学年高一上学期10月质量监测试题历史试卷含答案及解析.pdf
- 基于多功能超疏水材料的海水淡化及油水分离研究.pdf
- FKBP5基因多态性与抚养方式对孤儿静息态脑功能的影响.pdf
- 《因明入正理论略抄及后疏》的研习与创作感受.pdf
- HIF-1α、SGK1在子宫内膜增生及子宫内膜癌孕激素抵抗中的表达和意义.pdf
- 初中信息科技大单元教学设计框架构建及应用研究--以《人工智能》大单元为例.pdf
文档评论(0)