实验类型: 设计性 实验学时:4 实验要求:必修
一、实验目的
编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析。
二、实验内容
利用C语言编制递归下降分析程序,并对简单语言进行语法分析。
2.1 待分析的简单语言的语法
用扩充的
范式表示如下:

2.2 实验要求说明
输入单词串,以“#”结束,如果是文法正确的句子,则输出成功信息,打印“success”,否则输出“error”。
例如:
输入 begin a:=9; x:=2*3; b:=a+x end #
输出 success!
输入 x:=a+b*c end #
输出 error
三、仪器设备
计算机,C++6.0软件环境。
四、所需耗材
无
五、实验原理、方法和手段
语法分析程序的算法思想
(1)主程序示意图如图5-1所示。

(2)递归下降分析程序示意图如图5-2所示。
(3)语句串分析过程示意图如图5-3所示。

(4)statement语句分析程序流程如图5-4、5-5、5-6、5-7所示。

六、实验步骤
阅读实验说明,做好实验准备,然后进行编辑调试。
七、实验结果处理
演示结果并保存相关文件。
八、实验注意事项
注意数据输入格式,单词的匹配规则。
九、预习与思考题
预习:阅读课本相关内容,分析相关算法设计思想,熟悉VC++6.0使用方式。
思考题:类C语言程序的语法分析。
十、实验报告要求
1、实验报告中应包括相关操作步骤和程序代码。</

本次实验要求设计并实现一个递归下降分析器,用于对简单语言的词法序列进行语法检查和结构分析。实验内容包括利用C语言编写程序,处理以“#”结束的输入单词串,正确则输出“success”,错误则输出“error”。实验还包括理解并应用语法分析程序的算法思想,以及编写相关程序流程。实验报告需包含操作步骤、程序代码和问题思考。
最低0.47元/天 解锁文章
728

被折叠的 条评论
为什么被折叠?



