マッピング優先順位
マッピング優先順位
マッピング優先順位は、生成規則(マッピング構成)間の優先順位を指定するマッピング優先順位規則のセットです。
マッピングの優先順位は、ジェネレーターモジュールのプロパティダイアログで指定されます。参照: 生成プログラム
各マッピング優先度ルールは、左側、右側、中央の優先度記号で構成されます。
例:
優先度ルールの左側は、このジェネレーターのマッピング構成のみを参照できます。
表記 | 参照先 |
---|---|
* | このジェネレーターのすべてのマッピング |
modelName . * | モデル内のすべてのマッピング |
modelName 。マッピング名 | マッピング構成 |
{ ... } | マッピングのセット。 エントリは次のいずれかになります modelName . * または modelName 。マッピング名 |
優先順位ルールの右側の部分は、このジェネレーターのマッピング設定だけでなく、スコープ内で表示される他のジェネレーターも参照できます ( 生成プログラムを参照)。
表記 | 参照先 |
---|---|
* | このジェネレーターのすべてのマッピング |
modelName . * | モデル内のすべてのマッピング |
modelName 。マッピング名 | マッピング構成 |
{ ... } | マッピングのセット。 エントリは次のいずれかになります modelName . * または modelName 。マッピング名 |
[ 言語名 / ジェネレーター名 : * ] | 外部ジェネレーターでのすべてのマッピング |
[ languageName / generatorName : modelName ] | 外部ジェネレーターモデルにおけるすべてのマッピング |
[ LANGUAGENAME / generatorName :MODELNAME 。マッピング名 ] | 外部マッピング構成 |
[ languageName / generatorName : { ... }] | 外部ジェネレーターでのすべてのマッピング |
[*:*] | すべての可能なマッピング |
優先シンボル
表記 | 説明 |
---|---|
< | 左側のマッピングは右側のマッピングの前に処理されます |
<= | 左部分のマッピングは右部分のマッピングより遅くなく処理されます |
== | 左部分と右部分のマッピングは一緒に処理されます |
関連ページ:
生成プログラム
導入:ジェネレーターは、言語の概念の表示的意味論を定義する言語仕様の一部です。MPS はモデル間変換アプローチに従います。MPS ジェネレーターは、入力言語でエンコードされた構成から出力言語でエンコードされた構成への変換を指定します。モデル間変換のプロセスには多くの中間モデルが含まれ、最終的には sn 出力モデルが生成されます。このモデルでは、すべての構成はすでに意味が別の場所で定義されている言語になります。たとえば、baseLanguage のほとんどの概念 (クラス、メソッドなど) は「機械が...
ジェネレーターアルゴリズム
ジェネレーターアルゴリズム:入力モデルからターゲットアセットを生成するプロセス(生成セッション)には、5 つのステージが含まれます。関与する必要があるすべてのジェネレーターの定義、変換の優先順位を定義する、段階的なモデル変換、テキストを生成してファイルに保存する (出力モデルの各ルートに対して)、後処理アセット: コンパイルなど、このプロセスの最初の 3 段階について詳しく説明します。関与するジェネレーターの定義必要なジェネレーターを定義するために、MPS は入力モデルを調べて、その中で使用さ...
世代計画
世代計画:生成計画を使用すると、開発者は自分のモデルに望ましい生成順序を明示的に指定でき、生成プロセスをより適切に制御できます。目的相互ジェネレーターの優先順位の指定は、大規模なプロジェクトの場合には面倒になる可能性があります。さらに、優先順位を指定するために、関係する言語は、適切な相互依存関係を宣言することによって互いのことを知る必要があります。これにより、言語の (場合によっては望ましい) 独立性が損なわれます。生成計画では、生成ステップの適切な順序付けの責任が 1 か所 (生成計画) に...