- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译?原理》
课程设?计性实验报告
课程?题目: ? ?LR(0)分析法
姓? 名: ? ? 钟继文
?专业班级: ? 计算机科?学与技术(1)班
指?导老师: ? ? 孙长圣老师
学 ? 号: ? ? 0019
报告日期:? ? 2015?年6月7日
编译原?理语法分析实验报告
?
实验内容
利?用C语言编写一个程序?,对字符串进行语法分?析,了解掌握实验的原?理及方法,要求该文法?为LR(0)文法。
?
实验目的
? LR(K?)分析方法是1965?年Knuth提出的,?括号中的K表示向右查?看输入串符号的个数。?对于大多数用无二义性?上下文无关文法描述的?语言都可以用相应的L?R分析器进行识别,而?且这种方法还具有分析?速度快,能准确、及时?地指出出错位置。它的?主要缺点是对于一个实?用语言文法的分析器的?构造工作量相当大,K?愈大构造愈复杂,实现?相当困难。
LR分析?法是一种自底向上分析?方法。它的分析过程是?一种规范归约过程,规?范归约是规范推导的逆?过程。规范推导是最右?推导,规范归约是其逆?过程,则是最左归约。? LR分析法的可归约?串是当前句型的句柄,?即最左直接短语。
对?于大多数用无二义性上?下文无关文法描述的语?言都可以用相应的LR?分析器进行识别,而且?这种方法还具有分析速?度快,能准确、及时地?指出出错位置。
本实?验通过设计、调试一个?简单的的LR分析器,?实现对词法分析程序所?提供的单词序列进行语?法检查和结构分析,进?一步掌握常用的语法分?析方法。
实?验功能
通过?定义的文法G,G是一?个LR(0)文法,输?入源码,能够基本判别?出该源码是否是正确的?。如果是正确的则接收?,反之,如果是错误的?则显示错误。
?
?实验步骤
类ALGO?LF的文法
pro?gram - ?Block
p?rogram -?Compound? Statement?
Block ?- Block ?head ; C?ompound Ta?il
Block? head -b?egin
Bloc?k head -?Block hea?d;d
Comp?ound Tail? -s;end
?Compound T?ail -s;?Compound T?ail
Comp?ound State?ment - b?egin Comp?ound Tail?
用小写字母表示终结?符,大写字母表示非终?结符
b:begin? d:d ?s:s e:e?nd
P:Prog?ram
B:Bl?ock
S:Co?mpound Sta?tement
H:?Block hea?d
T:Comp?ound Tail?
则文法为:
1 ?P-B ? 5 ?H-H;d
2 ? P-S ? 6 ? T-se
3? B-H;T ? 7? T-s;T
?4 H-bd ? ?8 S-bT
拓?广后为G’,增加产生?式 P’-p
1 ? P’-P
?2 P-B
3 ? P-S
4 B?-H;T
5 H?-bd
6 H-?H;d
7 T-?se
8 T-?s;T
S-bT
?
3.项目集规范族?:
P’-·?P P’-?P·
P-?·B P-?B·
P-?·S P-?S·
B-?·H;T B-?H·;T B?-H;·T ? B-H;T·
? H-·bd ? H-b·d? H-bd? ·
H-·?H;d H-?H·;d H-?H;·d ? H-H;d·
? T-·se ? T-s·e? T-se?·
T-·s?;T T-?s·;T T?-s;·T ? T-s;T·?
S-·bT ? S-b·T ? S-bT ·
?4.LR(0)的分?析表
(s表示移进,?r表示归约)
状态
?ACTION
GOT?O
b
d
?s
e
;
#
P
?B
S
H
T
0?
S12
?1
2
3
4
?1
acc?
2
r?2
r2
r2
r2?
r2
r2
?
3
r3
r3?
r3
r3
r3
?r3
4?
S5
?
5
S7?
S8
?
6
r4
r4?
r4
r4
r4
?r4
7?
r6
r6
r6
?r6
原创力文档


文档评论(0)