我想知道如何在语法中获取标记的行号。假设我有以下语法:
S : expr MINUS expr { $$ = $1 -$3; }
;
如何获取 MINUS 令牌的行号?我没有在 jison 中使用词法分析器,而是通过覆盖词法分析器从 lex 文件中传递它:
parser.lexer = {
lex: function() {
var token = "MINUS";
parser.lexer.yytext = "...";
parser.lexer.yylineno = xx;
return token;
}
}
我意识到我可以调用yylineno
,但是如果语法中的不同标记具有不同的行号并且我只想要 jison 文件中特定标记的行号怎么办。也许像$1.yylineno
什么?非常感谢!