基本言語
BaseLanguage は、Java とほぼ同じ構造のセットを共有するため、Java に対応する MPS です。BaseLanguage は、MPS でのコード生成の最も一般的なターゲットであり、同時に最も広範囲に拡張された言語です。
Java との統合を簡素化するために、MPS のすべてのモジュールのクラスパスを指定することができます。クラスパスで見つかったクラスは、@java_stub モデルに自動的にインポートされるため、BaseLanguage を使用するプログラムで直接使用できます。
MPS の頻繁に拡張される概念は次のとおりです。
式。1、"abc" などの結果に評価される構造。
ステートメント。if/while/synchronized ステートメントのようなメソッドレベルに含めることができる構成要素。
型。int、double などの変数の型。
IOperation。node.parent のようにドットの後に配置できる構成。ここでは、親 要素は IOperation です。
AbstractCreator。さまざまな要素をインスタンス化するために使用できる構成。
BaseLanguage は元々 Java 6 仕様を使用して作成されますが、リソースの試行、複数の例外のキャッチ、ローカル変数型の推論、デフォルトおよびプライベートインターフェースメソッド、または後の Java バージョンの diamond 演算子などの機能が含まれるようになりました。 これらの機能は 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=...