2011-10-26 18 views
0

複数の行(複数行のコメントのようなもの)を含むことができるトークン定義があります。Antlr、トークンから最後の行を取得

私は.line属性を使用してトークンの開始行を取得できますが、トークンがどこで終了するかを知るには が必要です。

トークンの最後の行を取得できますか?

+0

トークンの行を終了する行に変更することは可能です。しかし、あなたはスタートラインとエンドラインの両方を望んでいますか?それらの両方を必要とする場合、いつこの情報にアクセスしたいですか(パーサールール内か、複数行コメントトークンのレクサールール内)? –

+0

こんにちは、私はエンド・ラインだけが必要です。 – gulyan

答えて

1

トークンの行番号を変更するには、(Java)コードブロック{$line=getLine();}をルールのエンドに配置します。

ので、複数行のコメントのために、それは次のようになります。

COMMENT 
    : '/*' .* '*/' {$line=getLine();} 
    ; 

部分文字列"*/"がオンに発生した行番号を返すためにトークンCOMMENTの方法getLine()の原因となります。

関連する問題