質問は明らかですが、私はちょうどXtext
で始まっています。 したがって、xtextプロジェクトを作成し、mydsl.xtext
ファイルを実行した後。
eclipseの新しい反復を起動します。新しいプロジェクトに新しい.mydslファイルを作成します。しかし、私は次に何をすべきかわからない! .mydsl
ファイルを実行するにはどうすればよいですか? DSL
はどのように使用しますか?
Xtextのチュートリアルはすべて、DSL
の作成後に終了し、使用方法を示していません。 私は次のようでしたthe 15 minutes Xtext tutorial
私のコードは日食で与えられたhello wordコードですが、この時点では特別なものはありません。Xtext .mydslファイルを実行するには?
-1
A
答えて
0
Xtextプロジェクトの結果は、あなた自身でデザインされたドメイン固有言語で、IDE(EclipseまたはIntellijが私が知る限り)とヘッドレスのコード生成に解析、検証、リンク、および使用できます。
DSLに含める機能によっては、XTextプロジェクト内で別のクラスを変更して作成する必要があります。
は、通常、最初のステップは、次のとおりです。
- は、あなたのDSLを解析する方法を指定し、構文的に見て、あなたの文法(
.xtext
ファイル)を作成します。 - ラン文法の言語生成(右
.xtext
ファイルをクリック - >として実行 - >のXtextの成果物を生成する) - ラン(として実行 - > Eclipseのアプリケーション)別の日食のインスタンスのアクションであなたの文法を参照するには。そのためには、新しいプロジェクトを作成し、DSLファイルがプロジェクト内で終わるファイルを配置します。プロジェクトにDSLプロジェクトの性質を追加するダイアログが表示されます。同意してファイルを編集してみてください。このファイルはxtext文法で指定されたとおりに動作するはずです。
+0
私は自分自身を間違って表明している可能性がありますので、申し訳ありません。私は次のステップについて尋ねています。 プロジェクトとファイルを作成しましたが、DSLファイルが終了していて、期待どおりに動作しています。しかし、私は最後のファイルを実行haw。私のDSLを使用しているものです。私は、私のプロジェクトがMavenやGraleを実行する方法を期待できると思っていました。 –
0
あなたはJavaのメインモデルを読み込んで発電機を実行したい場合は、あなたを保存するときは、このスニペット
package org.eclipse.xtext.example.domainmodel;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtext.generator.GeneratorContext;
import org.eclipse.xtext.generator.GeneratorDelegate;
import org.eclipse.xtext.generator.IGeneratorContext;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.util.CancelIndicator;
import org.eclipse.xtext.validation.CheckMode;
import org.eclipse.xtext.validation.IResourceValidator;
import org.eclipse.xtext.validation.Issue;
import com.google.common.collect.Lists;
import com.google.inject.Injector;
/**
* @author dietrich - Initial contribution and API
*/
public class Main {
public static void main(String[] args) {
// TODO traverse directory
List<String> files = Lists.newArrayList("model/a.dmodel", "model/b.dmodel");
Injector injector = new DomainmodelStandaloneSetup().createInjectorAndDoEMFRegistration();
ResourceSet rs = injector.getInstance(ResourceSet.class);
ArrayList<Resource> resources = Lists.newArrayList();
for (String file : files) {
Resource r = rs.getResource(URI.createFileURI(file), true);
resources.add(r);
}
IResourceValidator validator = injector.getInstance(IResourceValidator.class);
for (Resource r : resources) {
List<Issue> issues = validator.validate(r, CheckMode.ALL, CancelIndicator.NullImpl);
for (Issue i : issues) {
System.out.println(i);
}
}
GeneratorDelegate generator = injector.getInstance(GeneratorDelegate.class);
JavaIoFileSystemAccess fsa = injector.getInstance(JavaIoFileSystemAccess.class);
fsa.setOutputPath("src-gen-code/");
GeneratorContext context = new GeneratorContext();
context.setCancelIndicator(CancelIndicator.NullImpl);
for (Resource r : resources) {
generator.generate(r, fsa, context);
}
}
}
0
を見ていることがあります。 yourdsl一時的に開いたエディタ上のファイルは自動的にビルドされます。エラーなく正常にビルドされたら、src-genという名前のディレクトリがワークスペースにあります。そこにあなたのdslがあなたのyourdsl Generator.xtextに基づいて生成したばかりのファイルがあります。
関連する問題
- 1. Xtext、MyDslプロジェクトで別のプロジェクトをインポート
- 2. のXtextは、選択
- 3. のXtext、私は次のようにルールが含まれている私の文法では私自身のmydslファイル
- 4. Xtext、LaunchMydslShortcutのIselection入力を取得
- 5. のXtext不一致入力「0」RULE_INT
- 6. Xtextインデントと1行のコメント
- 7. XTextで自分のDSL。無制限のかっこ( "("、 ")")の問題
- 8. カスタムターミナルルールを使用したXtext相互参照
- 9. Xtext、マルチファイルクロスローズ
- 10. xtextライティングとインタプリタ
- 11. Javaファイルを実行するには?
- 12. .sqliteファイルを実行するには?
- 13. .awkファイルを実行するには?
- 14. JSPファイルを実行するには?
- 15. smbでファイルを実行するには
- 16. ファイルでCypherを実行するには?
- 17. XtextとXtendを使ってASTを生成するには?
- 18. Visual Studio 2010の実行ファイルを実行するには?
- 19. MATLABから実行可能ファイルを実行するには?
- 20. aws lambdaで実行可能ファイルを実行するには?
- 21. Ubuntu 16.04で実行ファイルをrootから実行するには?
- 22. AppDomainで実行可能ファイルを実行するには?
- 23. RaspbianでPythonで実行可能ファイルを実行するには?
- 24. jarでJava実行可能ファイルを実行するには
- 25. 実行可能ファイルでTextviewを実行するには
- 26. Javaパスで特定のファイルを実行/実行するには
- 27. enum型の言語のXtext相互参照
- 28. のXtextは
- 29. のXtext - 私はのXtextに新たなんだと簡単なのXtextプログラムに問題を持つ
- 30. Xtext 2.9 RuntimeModule
新しいEclipseインスタンスが開いたら、新しいプロジェクトを作成し、その内部にDSLファイル拡張子を持つ新しいファイルを作成します。すべてを正しく実行した場合、このファイルはDSLのXtextエディタで開き、編集は文法で指定されているように動作します。 – lwi