python综合实验的原理_Ll(1)Python分析,编译,原理,实验,二,LL1,分析法,实现

1.实验目的

通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区别和联系。使学生了解语法分析的功能,掌握语法分析程序设计的原理和构造方法,训练学生掌握开发应用程序的基本方法。有利于提高学生的专业素质,为培养适应社会多方面需要的能力。

2.

实验内容

根据某一文法编制调试 LL ( 1 )分析程序,以便对任意输入的符号串进行分析。

构造预测分析表,并利用分析表和一个栈来实现对上述程序设计语言的分析程序。

分析法的功能是利用 LL(1)控制程序根据显示栈栈顶内容、向前看符号以及 LL(1)分析表,对输入符号串自上而下的分析过程。

3.

LL(1)

分析法实验设计思想及算法

本LL(1)分析器只针对现有提供的LL(1)文法,对于左递归文法并没有进行处理。本分析器实现功能如下:

1.提供精致的GUI界面显示各类信息。

2.对输入的文法进行读取,并在GUI界面显示文法,同时保存在相应的数据结构中。

3.能够计算并显示每一个非终结符的FIRST集合。

4.能够计算并显示每一个非终结符的FOLLOW集合。

5.能够根据已求得的FIRST集和FOLLOW集构建预测分析表。

6.根据分析表对输入的字符串进行分析(总控程序)。

7.能够显示每一步分析过程,并能对相应的错误进行处理。

4.

源程序关键代码(Python实现)

// 包含创建First集函数、创建Follow集函数、构建预测分析表函数、报错程序函数、记录步骤函数、文本分析器函数

# 创建first(字符串形式)

def creat_str_first(self, string):

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值