基本言語
BaseLanguage は MPS における Java に相当する言語であり、ほぼ同じ構成要素を共有しています。BaseLanguage は MPS におけるコード生成の最も一般的なターゲットであり、同時に最も広範囲に拡張された言語でもあります。
Java との統合を簡素化するために、MPS のすべてのモジュールに対してクラスパスを指定できます。クラスパスで見つかったクラスは、@java_stub モデルに自動的にインポートされ、BaseLanguage を使用するプログラムで直接使用できます。
MPS の頻繁に拡張される概念は次のとおりです。
式。1 や "abc" などの結果に評価される構成要素。
ステートメント。if、while、同期ステートメントなど、メソッドレベルで使用できる構成要素。
型。int や double などの変数の型。
IOperation。ドットの後に配置できる構造体です。例: node.parent。ここでは親要素が IOperation です。
AbstractCreator。さまざまな要素をインスタンス化するために使用される構成要素。
BaseLanguage は元々 Java 6 仕様に基づいて作成されますが、現在では、try-with-resources、複数の例外のキャッチ、ローカル変数の型推論、デフォルトおよびプライベートインターフェースメソッド、後の Java バージョンで採用されたダイヤモンド演算子などの機能が含まれています。これらの機能は BaseLanguage 自体に組み込まれているため、追加の言語インポートは不要です。特定の Java 言語レベルを必要とするビルドプロセスとの互換性を維持するため、各ソリューションはモジュールプロパティダイアログの Java タブで、必要なレベルと互換性のない言語機能を無効にするように設定できます。

Javadoc
Java と同様に、BaseLanguage は Javadoc 形式のドキュメントコメントをサポートしています。Javadoc を利用するには、jetbrains.mps.baseLanguage.javadoc 言語をインポートする必要があります。Javadoc コメントのスケルトンを挿入するには、「ドキュメントコメントの追加」というインテンションを使用するか、メソッドまたは(静的)フィールド宣言の前に「/**」と入力します。

javadoc コメントを編集するときに、サイド変換とインテンションを使用して、インラインタグとブロックタグ (例: @author、{@link ...} など)、HTML マークアップ、またはコードスニペットを作成できます。

javadoc は内部的に jetbrains.mps.lang.text を使用しているため、MPS 内の他の「テキスト」言語と同様の編集エクスペリエンスが得られます。スタイル(例: 太字)やフォーマット(例: ヘッダー、箇条書きなど)を適用できます。これらの「テキスト」言語間でのコピー / 貼り付けもスムーズに行えます。詳細については、テキスト言語編集のドキュメントを参照してください。
テキスト Java をインポート
テキスト形式の Java と射影的な BaseLanguage の間のギャップを埋めるために、BaseLanguage コード編集時にポップアップメニューでいくつかのコンテキストアクションが利用可能になりました。これらのアクションは、クリップボードから Java コードを貼り付けるためのものです。これらのアクションは、組み込みの Java パーサーを起動し、BaseLanguage の概念を用いて元の Java コードを表す射影コードを挿入します。

Java クラスコンテンツとして貼り付け - クリップボードからテキストを解析し、クラス / インターフェース / 列挙型の定義、メソッド、フィールド、ネストされたクラスに貼り付けます。
Java ステートメントとして貼り付け - クリップボードからテキストを解析し、BaseLanguage メソッドの本体として貼り付けます。
JavaDoc として貼り付け - クリップボードのテキストを解析し、現在のカーソル位置に JavaDoc コメントとして貼り付けます。カーソルが既存の JavaDoc コメント内にない場合は、解析された JavaDoc を後続のフィールド / メソッド / クラス定義の JavaDoc に添付し、必要に応じて新しい JavaDoc を作成します。
関連ページ:
MPS Java との互換性
構成:環境設定ウィンドウの Java コンパイラー構成タブには、プロジェクトのバイトコードバージョンという 1 つの設定しかありません。この設定は、MPS によってコンパイルされたすべての Java クラスのバイトコードバージョンを定義します。これらのクラスには、言語の側面から生成されたクラス、ランタイムソリューションのクラス、サンドボックスソリューションのクラスなどがあります。デフォルトでは、バイトコードバージョンは JDK Default に設定されています。つまり、コンパイルされたクラスの...
ドキュメントファセット
導入:ドキュメント言語を使用すると、言語構造をドキュメント化できます。ドキュメント化された情報は、情報ポップアップダイアログ(ツールチップとも呼ばれます)と専用のドキュメントツールウィンドウを通じて、言語構造モデルのユーザーに即座に提供されます。さらに、HTML Javadoc 形式のドキュメントとして生成することも可能です。始め方:言語のドキュメントを有効にするのは非常に簡単です: 言語のモジュールプロパティに移動します。ファセットタブでドキュメントファセットを有効にします。生成されたドキュ...
基本言語拡張スタイルガイド
基本言語は、MPS で群を抜いて最も広く拡張された言語です。典型的な MPS プロジェクトは、さまざまなソースまたは言語ベンダーからのさまざまな拡張機能を使用する可能性が非常に高いため、コミュニティは、すべての言語で統一されたスタイルを持つことで恩恵を受ける可能性があります。このドキュメントでは、作成者がすべての基本言語拡張機能に適用する必要がある規則について説明します。クイックリファレンス:. ドット [LeftBracket]RightBracket{LeftBrace}RightBrace=...