自定向下的递归下降法背景是?能够解决的问题都是什么?

来源:创视网 时间:2023-04-26 11:44:44

自定向下的递归下降法背景

自定向下的语法分析方法,LL(1)是一种非常直观的方法,它的分析过程是按照句子的定义来进行的,也就是说从开始符出发对要分析的串进行推导,如果推导成功就证明这个被分析的串是一个合法的句子,否则的话就有语法错误,但是在推导过程中,对文法进行了一些限定,保证推导过程是唯一的 。

总体上说,LL(1)就是在选择规则的时候加入了约束条件,考虑到输入流中的第一个符号,以及推导过程中的非终极符的规则选择,只有当头符属于当前Vn为左部的某条规则的Predict 集的时候,才使用该规则进行推导,否则即错。对规则的限定就是说规则要唯一,所以P集交集为空。

构造语法分析器的方法也很简单,分成输入流、分析栈、LL(1)分析表、驱动程序四个部分,构造表的目的是提高分析器的效率,驱动程序中的动作无非4个——替换、查找、成功、失败。这样就把结构用程序描述出来了,得到语法分析器。

能够解决的问题

数据的定义是按递归定义的。如Fibonacci函数。

问题解法按递归算法实现。如Hanoi问题。

数据的结构形式是按递归定义的。如二叉树、广义表等。

X 关闭

Copyright   2015-2022 科技讯版权所有   备案号:豫ICP备2021032478号-15   联系邮箱:897 18 09@qq.com