我正在使用Antlr3。
print a;
print b;
这是我的输入文件(存储在DB中)到解析器。在词法分析器中,我将换行符(\ n)保留在隐藏的通道中。因此,解析器将忽略所有换行符(\ n)。在执行它时,我获取输入文件(来自DB)它将改变如
print a;
print b;
我的新行(\ n)缺失!!! ...如何检索这些换行符(\ n)
答案 0 :(得分:1)
令牌流仍然包含所有这些。只需迭代所有标记,您就会在循环中看到新行。每个令牌都带有一个令牌索引,它是令牌流中的索引。因此,当您看到2个包含间隙的索引的正常令牌时,您知道存在隐藏令牌,您可以通过令牌流检索它们。