Мне интересно, как мне получить номер строки токена внутри грамматики. Предположим, у меня есть следующая грамматика:
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
? Большое тебе спасибо!