我想解析一种编程语言.我读了很多关于正式语言和Chomsky层次结构和ANTLR的内容.但我无法找到有关如何将ANTLR v3作为LL(*)递归下降解析器接受的语言与chomsky层次结构相关联的信息.
乔姆斯基类型如何与LL(*)混合?任何信息(在线,书籍,论文)都非常感谢.
编辑:ANTLR的语法/语义谓词和回溯如何映射到此?
乔姆斯基层次结构基本上是:
常规语言
无上下文语法
语境敏感语法
递归可枚举(图灵完备)语法
LL语法(和解析器)是无上下文语法的子集.使用它们是因为常规语言对于编程而言太弱,并且因为一般的无上下文解析器是O(n ^ 3),这对于解析程序而言太慢.实际上,使用辅助函数扩充解析器确实会使其更强大. 关于LL解析器的Wikipedia条目解释了其中的一些内容.Dragon Book被认为是关于编译器的领先教科书,可以进一步解释.