2

ANTLR 4 で、現在のトークンの最後の文字の行番号を返す方法はありますか?

私はAntlrを参照し、トークンから最後の行を取得しましたが、それはルールに固有のものです。もっと一般的なものが欲しかったのですが、ANTLR API で自分に合ったものを見つけることができませんでした。

4

1 に答える 1

3

この情報を直接取得する方法はありません。ただし、レクサーにコマンドがない場合は-> skip、次のトークンから派生させることができます。

token が tokenのb後に続くとしますa。の場合b.getCharPositionInLine()==0、 の最後の文字aは行上にありb.getLine()-1ます。それ以外の場合、 の最後の文字aは line にありb.getLine()ます。

于 2013-07-05T11:26:33.233 に答える