【发布时间】:2017-08-18 07:56:08
【问题描述】:
目前我正在使用来自此 repo 的 java 8 的 Java8.g4: https://github.com/antlr/grammars-v4
但是,我想知道如何修改 Java8.g4 文件以确保如果遇到多个新行,我只标记其中一个?
参考:Parsing Newlines, EOF as End-of-Statement Marker with ANTLR3,我可以在解析树中添加新行(通过在.g4文件中添加NEWLINE: ('\r\n'|'\n'|'\r')。但是,如果我有多个新行,则会解析多行并将其添加到树中这不是我想要的。
希望有人能帮帮我!
谢谢
【问题讨论】:
-
你不能只从语法中删除 EOS(我猜是分号):它会变成一大堆模棱两可的烂摊子。
-
在我上面发布的 repo 中的 java8.g4 中,它没有将“\n”添加到其令牌列表中。我想要做的是将它添加到列表中,并可能用 EOF 替换“\n”。我不确定这是否可能。
-
好的,所以您不是要删除 EOS(不是 EOF?)而是替换它。试试看,自己看看。如果您遇到困难,请随时就 SO 提出具体问题。祝你好运!
标签: antlr