语法分析-哈工大编译原理实验二

本实验旨在设计并实现一个能够处理多种语句类型的语法分析器,包括声明语句、表达式及赋值语句等。实验重点在于自动生成语法分析表,并有效处理语法错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验2语法分析

实验目的

1.巩固对语法分析的基本功能和原理的认识。

2.通过对语法分析表的自动生成加深语法分析表的认识。

3.理解并处理语法分析中的异常和错误。

实验内容

在词法分析器的基础上设计实现类高级语言的语法分析器,基本功能如下:

(1)    能识别以下几类语句:

Ø 声明语句(包括变量声明、数组声明、记录声明和过程声明

Ø 表达式及赋值语句(包括数组元素的引用和赋值)

Ø 分支语句:if_then_else

Ø 循环语句:do_while

Ø 过程调用语句

(2)如果语法分析器采用的是自顶向下的分析技术,要求编写程序自动计算FIRST集和FOLLOW,并自动生成预测分析表。如果采用的是自底向上的分析技术,要求编写自动计算CLOSURE(I)GOTO函数的程序,并自动生成LR分析表

(3)具备语法错误处理能力,能准确给出错误所在位置,并采用可行的错误恢复策略。输出的错误提示信息格式如下:

Error at Line [行号]:[说明文字]

(4)系统的输入形式:要求可以通过文件导入文法和测试用例,可以通过用户界面显示并编辑测试用例。测试用例要涵盖“实验内容”第(1)条中列出的各种类型的语句,并设置一些语法错误

(5)系统的输出分为两部分:一部分是打印输出语法分析器的FIRST集、FOLLOW集和LL(1)分析表(或LR分析表)。另一部分是打印输出语法分析结果


在这里我就附上我的实验报告啦~

自我感觉还是不错的嘻嘻嘻

http://download.youkuaiyun.com/download/qq_32285991/10125099

源代码:https://github.com/JiayanFighting/SyntaxAnalysis

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值