我正在使用 ANTLR3C v3.4,这是语法片段:
include_cmd
: Include Double_Quote file_name Double_Quote
{
my_model->add_include($file_name.text, LT(0)->getLine(LT(0)));
}
;
但是我发现 LT(0)->getLine(LT(0)) 返回的行号不正确,当它是第一行时, LT() 返回 3;当它是第 3 行时,返回 5。似乎总是有一些偏移量。
这是 ANTLR3c 中的错误还是我使用 LT() 是错误的?我假设 LT(0) 返回令牌“包含”并从中获得行号。
谢谢!