2017-03-12 17 views
2

私はこのようなディレクトリに2つの文法ファイルがあります:別のディレクトリ/パッケージにある文法ファイルをインポートする(またはtokenVocabを使用する)方法は?

grammar Lang; 

    options { 
     tokenVocab = common.Numbers; 
    } 

しかし、私はエラーを取得:: Lang.g4インサイド

+- antlr4 
    +- common 
    | +- Numbers.g4 
    +- lang 
     +- Lang.g4 

を、私が実行しようとしました

cannot find tokens file <PROJECT_LOCATION>/target/generated-sources/antlr4/common.Numbers.tokens 

アムI限定をすべての文法とレクサーファイルを同じディレクトリに置くだけですか?

答えて

1

あなたは限定されるものではありません。

あなたはLang.g4文法ディレクトリ内Numbers.tokenファイルを持っている必要があります。その後、あなたは以下の方法によりtokenVocabを使用することができます:あなたは-oコマンドラインパラメータを使用することができます

options { 
     tokenVocab = Numbers; 
} 

カスタムの場所に生成されたファイルを配置します。ここを参照してください:ANTLR Tool Command Line Options

+0

私は問題がちょうどANTLRのIntelliJのプラグインだと思います。それは私が実際にパーサを生成するときに発生していないエラーを示しています。 –

関連する問題