java - 这些 ANTLR 警告是什么意思

标签 java parsing antlr antlr3

我的语法似乎有效,但会生成大量警告。 这些警告有多严重,有人可以就如何修复它们提供一些指导吗?

Warning 200
Decision can match input such as "LCURLY LPAREN" using multiple alternatives: 1, 2

As a result, alternative(s) 2 were disabled for that input

Warning 200:
Decision can match input such as "LCURLY PLUS" using multiple alternatives: 1, 2

As a result, alternative(s) 2 were disabled for that input
Semantic predicates were present but were hidden by actions.

Warning 203
Input such as "Date" is insufficiently covered with predicates at locations: alt 1: line 346: at Date, al
t 2: line 346: at Date

对于警告(200),禁用替代方案会有什么影响?我认为最主要的是,潜在的 AST 可能具有不同的形状,具体取决于禁用的替代方案。

我不确定 warning(203) 的含义。

最佳答案

您的语法可能有歧义,因为不止替代路径可以解析相同的输入字符串。所以解析器不知道哪个是“正确”的方式。您应该更正语法或语义谓词以防止歧义。

关于java - 这些 ANTLR 警告是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768201/

相关文章:

python 2 和 3 从 url 中提取域

java - 在 Gradle 构建中兼顾 Scala、Antlr 和 Java

java - Camunda 中的 "set assignee"和 "delegate task"有什么区别?

java - 使用 requests Restful 客户端时出现阿拉伯编码错误

c++ - 从文件中读取 64 位整数字符串

python - 为什么通过 for 循环第一次返回正确的计数值?

parsing - 是否有可能有一个语法,其中 "keyword"也可以被视为 "non-keyword"?

c# - 如何在 ANTLR4 中获取 IParseTree?

java - 在 gradle javadoc build 中排除 protected 方法

java - 将 JDateChoose 插入 MySQL