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 代码生成当然没有错误。 :)
这是我的岛屿语法的一部分:
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 代码生成当然没有错误。 :)