JavaScript ANTLR4 目标中的不同换行符识别

Different Newline Recognition in JavaScript ANTLR4 Target

这是我的岛屿语法的一部分:

listing
    : LISTING (newlines listingPath)? (newlines label)? newlines caption
    ;

newlines
    : NL+
    ;

例如一些输入文本:

~~~~~

Listing 1 content...

~~~~~
{#lst:listing-1#}
##### Explanation for listing 1. #####

这得到了很好的认可。在 IntelliJ 原型项目中(我认为 Java 在后台运行)以及在我的带有 JavaScript 目标的应用程序中。

当我用 "NL+" 或 "NL" 替换 "listing" 规则中的 "newlines" 规则时,我收到一个解析错误,第一个 \r\n 在关闭列表标签“~~~~~”是一个错误的标记。换行符无法识别。

这两个版本在原型项目中都与 IntelliJ 配合得很好。我用 ANTLR 预览功能测试了语法。

我是不是遗漏了什么或者这可能是 ANTLR4 中的 Java脚本目标错误?

这只是我的解析器语法文件中的一个小错误。

ANTLR4 代码生成当然没有错误。 :)