antlr3中的隐藏令牌管理

时间:2017-03-15 13:35:23

标签: antlr3

我正在使用Antlr3。

print a;




print b;

这是我的输入文件(存储在DB中)到解析器。在词法分析器中,我将换行符(\ n)保留在隐藏的通道中。因此,解析器将忽略所有换行符(\ n)。在执行它时,我获取输入文件(来自DB)它将改变如

print a;
print b;

我的新行(\ n)缺失!!! ...如何检索这些换行符(\ n)

1 个答案:

答案 0 :(得分:1)

令牌流仍然包含所有这些。只需迭代所有标记,您就会在循环中看到新行。每个令牌都带有一个令牌索引,它是令牌流中的索引。因此,当您看到2个包含间隙的索引的正常令牌时,您知道存在隐藏令牌,您可以通过令牌流检索它们。