【编译原理】基于鲲鹏平台的语法分析实验
1.培养学生利用软件工程方法分析和设计某语言的语法分析模块,并基于鲲鹏平台选择合适语言编码实现语法分析程序。2.训练学生理论应用能力和方案选择与实现能力。1.运用LL(1)文法列出Sample语言的赋值语句和IF语句的语法规则;2.编写一个递归下降分析函数,判断给定的一串单词能否构成一个正确的赋值语句;3.编写一个递归下降分析函数,判断给定的一串单词能否构成一个正确的IF语句;4.测试所编写函数能
文章目录
实验目的
1.培养学生利用软件工程方法分析和设计某语言的语法分析模块,并基于鲲鹏平台选择合适语言编码实现语法分析程序。
2.训练学生理论应用能力和方案选择与实现能力。
实验要求
1.运用LL(1)文法列出Sample语言的赋值语句和IF语句的语法规则;
2.编写一个递归下降分析函数,判断给定的一串单词能否构成一个正确的赋值语句;
3.编写一个递归下降分析函数,判断给定的一串单词能否构成一个正确的IF语句;
4.测试所编写函数能否完成语法分析要求;
5.完成实验报告。
实验内容
基于校内鲲鹏平台,根据Sample语言(或你所选定的语言)的语法规则判定输入的一串单词能否构成一个正确的语句,至少包括以下两项内容。
(1)应用递归下降分析方法,判断给定的一串单词能否构成一个正确的赋值语句。
(2)应用递归下降分析方法,判断给定的一串单词能否构成一个正确的IF语句。
实验环境
- 校内鲲鹏平台(黄河服务器)、OpenEuler 20.03
- flex 2.6.4、gcc 7.3.0、openjdk 17.0.1
- SSH远程登录工具(如MobaXterm等)
实验步骤
1.进入parse目录
2.编译java程序生成字节码文件
3.运行java字节码文件
实验代码
1.1进入parse目录
cd /compiler/parse/
截图:
1.2编译递归下降分析函数,判断给定的一串单词能否构成一个正确的赋值语句.
javac parse_1/*.java
截图:
1.3输出结果
java parse_1.Parse_1_Main
截图:
2.1编译递归下降分析方法,判断给定的一串单词能否构成一个正确的IF语句
javac parse_2/*.java
截图:
2.2 输出结果
java parse_2.Parse_2_Main
截图:
实验小结
通过本次实验:
编写一个递归下降分析函数,判断给定的一串单词能否构成一个正确的赋值语句;编写一个递归下降分析函数,判断给定的一串单词能否构成一个正确的IF语句
1.学会了利用软件工程方法分析和设计某语言的语法分析模块,并基于鲲鹏平台选择合适语言编码实现语法分析程序。
2.提高我的理论应用能力和方案选择与实现能力。
更多推荐
所有评论(0)