問題タブ [xpand]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 独自のDSL-xtextで記述されたセキュリティモデルの変換
xtextエディターを使用して独自のDSLで記述されたビジネスプロセスのセキュリティエンジニアリングモデルがあります。たとえば、Activitiのセキュリティモデルには、伝送チャネルのセキュリティ保護、プロセス間のメッセージの暗号化、ユーザーアクセス制御などのセキュリティ制御があります。私がやりたいのは、myfile.mydslを取得して解析する実装を作成することです。環境を自動的に保護します(Activiti)。つまり、SSL用にtomcatでtomcatのserver.xmlを構成し、keytoolなどを使用してキーストアを作成します(したがって、チャネルは保護されます)。
これはモデルからモデルへの変換ではないため、ATL-eclipseは役に立たない可能性があります。xpandはモデルからテキストへの変換を行うため、xpand-eclipseは役立ちますか?
また、xtextからXMIを生成し、それをJavaで解析して、実装を行うことも考えていました。xtextエディターはDSLを解析して実装に役立つ他の方法を提供しますか?
私の投稿があいまいな場合は、さらに説明できます。
期待してくれてありがとう。
よろしくお願いします、
compiler-construction - DSLを既存のプログラミング言語に変換するにはどうすればよいですか?
既存の言語(Python、SQLなど)に変換できるドメイン固有言語を構築したいと思います。私は本格的なコンパイラを構築することを避けようとし、XtextとXpandを調べました。Xtextを使用して文法を設計し、解析ツリーを生成するため、Xpandは解析ツリーを使用して既存の言語のコードを生成するため、これらはもっともらしいように見えます(間違っている場合は修正してください)。
これについてどう思いますか?目的を達成するために使用できるXTextとXpandのより良い代替手段があると思いますか?
dsl - Xtext および Xpand で開発された DSL をコマンド ラインでコンパイルする
XtextおよびXpandで開発された DSL (ドメイン固有言語) はEclipse と密接に結びついているようです。Java コードをコンパイルするのと同じように、コマンド ラインで DSL をコンパイルする方法はありますか?
java - Xtend/Xpand の検索と置換 (ルール)
Xpand メソッドが入力に応じて指定されたテキスト文字列を出力できるようにするルールを設定することは可能ですか。例えば:
上記のコードは次のように出力されます。
この出力を作成するにはどうすればよいですか:
これはifステートメントで実行できることは知っていますが、多かれ少なかれ自動化できるようにしたいと考えています。これらの詳細を同じファイルに出力する必要があるたびに、そのようなルールを指定しなければならないのはもったいないでしょう。これを達成するために使用できるコードの種類を誰かに教えてもらえますか? ありがとうございました。
xpand - Java クラスから Xpand コード ジェネレーターをプログラムで実行するにはどうすればよいですか?
DSL を定義し、M2M と M2T (コード生成) を実行することで、モデル駆動型開発を実現しようとしています。コード生成では、XPand とテンプレート定義を使用することにしました。Java コードからテンプレート展開を呼び出す方法を説明するサンプル コードまたはドキュメントへのリンクを提供していただけますか?
PS Eclipse の外でスタンドアロン モードでこのようなものを実行するのは非常に難しいと思うので、単純な Java ユーティリティを作成することから始めました。
java - 生成された Xpand コード 'エディターにメイン タイプが含まれていません'。しかし、私は主な方法を持っています
xText と xPand を使用した DSL コード生成を理解しようとしています。
Eclipse で statemachine xText の例を開き、新しい Eclipse アプリケーションとして実行しました。次に、src に test.statemachine ファイルを含む Java を作成し、提供されたコードをそこにコピーしました。
次に、次の .java ファイルが src-gen フォルダーに生成されます。
ただし、これは「エディターにメインタイプが含まれていません」というエラーでは面白くありませんが、これが存在することがわかります
import - M2T Xpandと既存のecoreモデル
Xpand を使用してコードを生成したい ecore モデル MyModel.ecore があります。xpand プロジェクトの編集コードやランタイム環境はありません。単に xpand プロジェクトを作成し、MyModel.ecore をロードし、「動的インスタンスの作成」を使用して model.xmi を作成し、実行したいだけです。問題は、ワークフロー ファイルがメタモデルの要素を認識していないように見えることです。私のワークフローのコードは次のとおりです。
私のテンプレートファイル:
そして、このエラーが発生します:
695 情報 CompositeComponent - リーダー: プラットフォームからモデルを読み込んでいます:/resource/guiamovil.xpand/src/Application.xmi 890 情報 CompositeComponent - CheckComponent: スロット モデル チェック ファイル: メタモデル:: チェック 1329 情報 CompositeComponent - ジェネレータ: 'テンプレートを生成しています::Template::Root FOR Application' => src-gen 1340 ERROR AbstractExpressionsUsingWorkflowComponent - タイプ org.eclipse.xpand2.Generator のコンポーネントのエラー: EvaluationException : タイプまたはプロパティ 'Application' [59,11] が行に見つかりませんでした1 'Application' 1340 ERROR WorkflowEngine - ワークフローが中断されました。理由: タイプまたはプロパティ 'アプリケーション' が見つかりませんでした
ワークフローの何かを想像します。
ありがとう