有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java“决策无法区分输入的备选方案1、2…”

我目前正在修改Natty,并为我自己的日期格式创建一些规则。Natty使用AntlRv3。5.2

当我编译代码时,会出现以下错误:

com\joestelmach\natty\generated\DateParser.g:295:46: the decision cannot distinguish between alternative(s) 1,2 for input such as "WHITE_SPACE INT_10 TH WHITE_SPACE JANUARY COMMA WHITE_SPACE INT_00 INT_00 WHITE_SPACE INT_00 INT_00 EOF"

如果我看一下,第295行有以下规则:

relaxed_day_of_week
  : (prefix WHITE_SPACE)? day_of_week COMMA? WHITE_SPACE? -> day_of_week
  ;

我查看了ANTLR文档并搜索了堆栈溢出,但找不到关于这种类型错误的更多信息。我假设这是由于另一条规则中的一些模糊性,该规则使用了“放松的一天”或“放松的一周”

调用上述规则的规则是:

custom_date
  : relaxed_day_of_week WHITE_SPACE relaxed_day_of_month WHITE_SPACE relaxed_month (date_time_separator explicit_time_custom)? relaxed_year 
       -> ^(EXPLICIT_DATE relaxed_day_of_week relaxed_day_of_month relaxed_month relaxed_year (date_time_separator explicit_time_custom)?)
  ;

有人能给我解释一下错误并给我指出正确的方向吗

提前谢谢


共 (0) 个答案