2010-06-03 58 views
1

我想编写一个程序,将语法作为输入并将其更改为LL1。
我的问题是转换为LL1我没有任何算法转换。我通过一个简单的文本分析器从一些输入文本中获得语法,但我如何将它更改为LL1?有什么算法可以清楚地实现。将上下文免费语法转换为LL1语法

+0

听起来像作业给我。 – 2010-06-03 06:38:02

+0

没有一种确定性的方式来做到这一点,所以......将无法编写程序......您可以使用一些技术作为因式分解或消除左递归......但是也许您不会达到所需的LL1语法(甚至如果语言可以表示为LL1语法) – Qsebas 2013-12-09 19:40:09

回答

1

由Aho,Sethi和Ullman编写的龙书:编译器,原理,技术和工具有一章(标题为语法分析),它解释了消除左递归的过程,以及另一个左过程因子的上下文无关语法。

生成的语法适用于LL解析。

我建议你阅读本书中的那一章,看看你是否可以将它转换成代码。