Parsing 如何将语法转换为非左递归形式

Parsing 如何将语法转换为非左递归形式,parsing,grammar,Parsing,Grammar,我只是一个学习语法分析的初学者。我想练习实现简单的解析器,但我只知道如何实现递归下降解析器,这需要非左递归语法 我只是想知道如何将语法转换成非左递归形式,有一般规则吗 例如,假设我有语法S->()|)S(| SS;如何重写它以便实现递归下降解析器 非常感谢!!!这里有一个算法。但它并不总是有效的,因为不是所有的语法都可以机械地转换成LL(1)语法。

我只是一个学习语法分析的初学者。我想练习实现简单的解析器,但我只知道如何实现递归下降解析器,这需要非左递归语法

我只是想知道如何将语法转换成非左递归形式,有一般规则吗

例如,假设我有语法S->()|)S(| SS;如何重写它以便实现递归下降解析器

非常感谢!!!

这里有一个算法。但它并不总是有效的,因为不是所有的语法都可以机械地转换成LL(1)语法。