【发布时间】:2014-09-17 08:14:40
【问题描述】:
我的一位老师说,Java 无法进行 LL 解析。 我不明白这一点,想知道这是不是真的。
我搜索了一个Java 8的语法,发现了这个:https://github.com/antlr/grammars-v4/blob/master/java8/Java8.g4
但是即使我尝试分析语法,我也没有得到 LL 解析的问题。 有谁知道这是否属实,知道科学证明或只是可以向我解释为什么不可能找到可以 LL 解析的 Java 语法构造?
非常感谢大家。
【问题讨论】:
-
考虑重新标记以将“语言律师”作为标签之一。
-
我会区分语言的 LL 可解析性和语言的某些语法。你的老师显然没有。我至少想不出任何会影响 Java 的 LL 可解析性的东西(尽管我实际上也没有见过或写过 Java 的 LL 语法)。
-
以下分支允许 ANTLR 4 使用语言规范中语法的文字转录来解析 Java 8。它不仅允许使用 LL 解析器解析 Java 8,而且实际上允许它甚至无需将语法更改为 LL 解析器生成器传统使用的形式,并生成准确反映语言规范中使用的具体语法的解析树。 github.com/sharwell/antlr4/tree/java8-grammar
标签: java parsing grammar language-lawyer