一、如何解决递归下降分析法存在的复杂回溯
递归下降分析法通过尝试匹配去确定,如果我们能提取获取字符串的信息,那么我们就可以提前知道更多的信息来进行语法分析,这就是预测分析法。
预测分析法不会对若干产生式进行尝试,自然也没有回溯,它会通过向前看一些记号来预测需要用到的产生式。
预测分析法接受LL(k)文法。
实际应用中,最常用的是LL(1)。
二、FIRST集与FOLLOW集
(一)FIRST集
举个例子。
递归下降分析法通过尝试匹配去确定,如果我们能提取获取字符串的信息,那么我们就可以提前知道更多的信息来进行语法分析,这就是预测分析法。
预测分析法不会对若干产生式进行尝试,自然也没有回溯,它会通过向前看一些记号来预测需要用到的产生式。
预测分析法接受LL(k)文法。
实际应用中,最常用的是LL(1)。
举个例子。