- 10
- 0
- 约1.12万字
- 约 27页
- 2021-03-21 发布于天津
- 举报
编译原理课程实验报告
实验2 :语法分析
姓名 ■ 1院系1软件学院 学号
任课教师
指导教师
实验地点
软件学院三楼机房
实验时间
2016/10/30/ 星期日
实验课表现
出勤、表现得分
实验报告
得分
实验总分
操作结果得分
一、需求分析
得分
要求:采用至少一种句法分析技术( LL(1)、SLR(1、LR(1)或LALR(1))对类高级语言中的基本语句进
行句法分析。阐述句法分析系统所要完成的功能。
本语法分析器是在词法分析器的基础上实现对类高级语言中的基本语句进行句法分析,基本功能 如下:
(1) 能识别以下几类语句:
声明语句(包括变量声明、数组声明、记录声明和过程声明 )
表达式及赋值语句(包括数组元素的引用和赋值)
分支语句:if_then_else
循环语句:do_while
过程调用语句
(2) 本语法分析器采用自顶向下的分析技术,能根据导入的文法,自动计算 first集和follow集, 能够生成每个产生式的select集,并自动生成预测分析表。
(3) 本语法分析器具备语法错误处理能力,可以进行错误检测,如果检测到在出错时,采用恐
慌模式,能够给出错误提示信息,格式:错误项 错误原因 行号
a) 忽略输入中的一些符号, 直到输入中出现选定的同步词法单元集合中的某个词法单元, 同
步集合的选取是非终结符的 follow集;
b) 如果终结符在栈顶而不能匹配,弹出此终结符。
c) 输入栈中缺少某些应有的符号,比如只有右括号没有左括号等,会给出相应的提示。
(4) 系统的输入形式多样:可以通过文件导入文法和测试用例,可以通过用户界面显示并编辑
测试用例。测试用例涵盖了第(1)条中列出的各种类型的语句,并设置了一些语法错误。
(5) 系统的输出分为两部分:一部分是打印输出语法分析器的 FIRST集、FOLLOW集、select集
和LL(1)分析表。另一部分是打印输出语法分析结果。
(6)本系统还实现了输出语法分析树的功能,让语法分析的过程更清晰。
二、文法设计 得分
要求:给出如下语言成分的文法描述。
声明语句(包括变量声明、数组声明、记录声明和过程声明 )
表达式及赋值语句(包括数组元素的引用和赋值)
分支语句:if_then_else
循环语句:do_while
过程调用语句
本语法分析器主要针对 C语言进行文法设计,下面给出各语言成分的文法描述。
程序入口:
Program-P
P-D P //支持连续声明
P -S P
P-£
1) 声明语句:
D proc id ; D S| T id; //支持过程声明和变量声明
T t X C | record D //支持结构体声明
X t short|int | Iong|float|double|char|string // 支持多种基本类型的声明
C t [num]C | II支持数组的声明
2) 表达式及赋值语句:
S id = E ;| L = E ;
E E + E | E * E | E |(E) | id | digit | L
L id[E] | L[E] II支持数组元素的引用和赋值
3) 控制流语句:
S if B then Slelse S2 | while B do S1
B t b || b II或语句
| B B II且语句
| ! B II非语句
1(B)| E relop E| true| false//使用括号
1(B)
| E relop E
| true
| false
//使用括号 //关系语句
//bool 型
//bool 型
//关系符号4)过程调用语句
//关系符号
S call id (Elist)
Elist Elist, E
Elist E
下面给出整个程序的无二义性,无左递归的 LL (1)文法:
Program-P
P-D P|S P|empty
D-proc T id ( M ) { P }|T id A ;|record id { P }
M-X id M
M-, X id M|empty
A-= F|empty|, id A
F-digit|id|char|{ G }|string
G-H G
G-, H G|empty
H-digit|char
T-X C
X-short|i nt|l on g|float|double|char|void|stri ng|boolea n
C-[ digit ] C|empty
S-L = E ;|if B the n S else S|while B do S|call id ( Elist ) ;|return E ;
E-- E E|( E ) E|digit E|L E|string E
E-+ E E|* E E|empty
L-id L
您可能关注的文档
最近下载
- 《合肥市新场景规模化应用示范行动方案(2025—2027年)》.pdf
- 标准化审查报告.doc VIP
- (新版)初级民航安全检查员资格考试题库大全-上(单选题汇总) .pdf VIP
- 2023初中毕业上卫校要多少分分数很高吗 .pdf VIP
- (新版)初级民航安全检查员资格考试题库大全-下(多选、判断题汇总).docx VIP
- H3C认证GB0-510 H3CNE-Security网络安全工程师考试题库及答案.docx VIP
- 索尼SW7600GR中文说明书.pdf
- 华三认证考试H3CNE安全 GB0-510 安全工程师考试题库(含答案).docx VIP
- 钢结构厂房水电安装施工组织方案.docx VIP
- 第1课+おじぎ+课文注音讲义 高中日语人教版第一册.docx VIP
原创力文档

文档评论(0)