0

私の言語では、別のファイルの相対パスまたは絶対パスを持つことができる include ステートメントがあります。この別のファイルで定義されたオブジェクトを参照できるようにする必要があります。importURI を使用してみましたが、うまくいきません。私が試したのは、このルールを追加することだけでした:

Include:
    'INCLUDE' '='  importURI=STRING ';'
;

環境変数について質問があります。この文法は以前に開発されたものであり、この文法に基づいた多くのテスト ファイルがあるため、以前のすべてをサポートするように xtext パーサーを作成する必要があります。これらの 1 つは、パス内の環境変数を使用して別のファイルをインポートする機能です。

プロジェクトの環境変数を定義してから、これらの変数に基づいてファイルをリンクしようとしましたが、問題は importURI 文字列が環境変数を取得しないことです。

次のようなファイルへのリンクがあるプロジェクトで定義されたファイル 1 があるとします。

INCLUDE = "${VAR1}/file2.foo";

VAR1 が定義され、file2 は VAR1 に基づいてプロジェクトにリンクされます。

残念ながら、これは機能しません。これを解決する方法を教えてください。

4

1 に答える 1

0

メソッドを上書きすることでこの問題を解決しましたImportUriGlobalScopeProvider.getImportUris

問題はimportURI、ワークスペースまたはプロジェクトにリンクされたファイルで作業していることです。そのため、私の場合は、getimportUrisメソッド内のダミー プロジェクトにファイルを自動的にリンクしました。

于 2013-08-09T00:07:01.030 に答える