- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理实验二 ;语法分析
编译原理
——语法分析器
成员: 杨霞 030802107
王日日 030802139
方艳丽 030802102
实验二:语法分析实验
一、实验目的
根据给出的文法编制LR(1)分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对LR(1)分析法的理解。
二、实验内容
对已给语言文法,构造LR(1)分析表,编制语法分析程序,要求将错误信息输出到语法错误文件中,并输出分析句子的过程(显示栈的内容)LR(1)分析法的功能是利用LR(1)分析表,对输入符号串自下而上的分析过程。 LR(1)分析表的构造及分析过程。
三.实验文法
program ::= block
block ::= const-decl var-decl proc-decl statement
const-decl ::= const const-assignment-list ; | ε
const-assignment-list ::= ident = number
| const-assignment-list , ident = number
var-decl ::= var ident-list ; |ε
ident-list ::= ident | ident-list , ident
proc-decl ::= proc-decl procedure ident ; block ; |ε
statement ::= ident := expression
| call id| begin statement-list end
| if condition then statement | while condition do statement|ε
statement-list ::= statement | statement-list ; statement
condition ::= odd expression | expression relation expression
relation ::= = | | | | = | =
expression ::= term | adding-operator term
| expression adding-operator term
adding-operator ::= + | -
term ::= factor | term multiplying-operator factor
multiplying-operator ::= * | /
factor ::= ident | number | ( expression )
文法缩略版:
P-S
S-BD
B-varH;
H-id|H,id
D-i=E|call(k)|if(k)DelseD|while(K)doD
K-ERE
R-||=|=||==
E-EOT|T
T-TQF|F
O-+|-
Q-*|/
F-id|nunber|(E)
programe::=P
black::=S
var-decl::=B
ident-list ::=H
statement ::=D
condition ::= K
expression ::=E
term ::= T
factor ::= F
实验环境:windows microsoft visual c++
实验原理:
构造项集
Setofltems closure(I)
{
repeat for each A ((.B( ,ain J and each produtcion
B(( of G such that B(.(, each of first((a)is not in J: ADD B(.(,b to I
until … no more items can be added to I
return I
}
Setofltems goto (I,X):
{
If I is a set of LR(1) items and X is a grammar symbol (terminal or non-terminal), then goto(I,X) is defined as follows:
If A .X,a in
您可能关注的文档
- 红酒基础知识——葡萄品种介绍.ppt
- 系所本位课程及职涯地图.ppt
- 红酒指数.doc
- 红鹤沟通-龙湖长桥郡提报.ppt
- 红酒文化..ppt
- 约定购回业务及股票质押.ppt
- 约翰伯利的演讲搞.doc
- 红鹤沟通—朱雀门—_______.doc
- 纯化水系统臭氧消毒效果验证报告.docx
- 纯化水清洁消毒规程.doc
- 2024年03月广东汕尾陆丰市龙山中学开展2024年春季外出招才引智工作笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年03月成都市金牛区人民法院2024年上半年公开招考17名编外聘用人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年03月广西龙州县2024年引进15名高层次(急需紧缺)人才笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年03月广西河池市都安县自主招考聘用教师97人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年03月徐州市教育局直属学校2024年面向社会公开招聘86名教师笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年03月江苏南京市浦口区教育局所属事业单位招考聘用高层次教师10人笔试历年典型题及考点剖析附带答案含详解.docx
- 汽车租赁带司机合同(32篇).docx
- 汽车融资租赁合同12篇.docx
- 汽车质押借款协议书.docx
- 汽车转让合同15篇.docx
文档评论(0)