MPS 2020.3 ヘルプ

基本言語拡張スタイルガイド

基本言語は、MPS で群を抜いて最も広く拡張された言語です。典型的な MPS プロジェクトは、さまざまなソースまたは言語ベンダーからのさまざまな拡張機能を使用する可能性が非常に高いため、コミュニティは、すべての言語で統一されたスタイルを持つことで恩恵を受ける可能性があります。このドキュメントでは、作成者がすべての基本言語拡張機能に適用する必要がある規則について説明します。

クイックリファレンス

使うなら…

そのスタイルをに設定...

.

ドット

[

LeftBracket

]

RightBracket

{

LeftBrace

}

RightBrace

= + - * / % ++ -- ! == != > >= < <= && || ?: (ternary) ~ << >> >>> & ^ | :eq: :ne:

演算子

@interface abstract assert boolean break byte case catch char class const continue default do double else enum extends false final finally float for get goto if implements import instanceof int interface long native new null package private protected public return set short static strictfp super switch synchronized this throw throws transient try true void volatile while

KeyWord

キーワード

キーワードは広く使用されている文字列であり、言語から重要な概念を識別します。例: 基本言語のすべてのプリミティブ型はキーワードです。また、ifStatementforStatement などのステートメントの名前もキーワードです。キーワードには、基本言語のスタイルシートの KeyWord スタイルを使用します。

波括弧

波括弧は、包含構造内のコードブロックを区別するためによく使用されます。if 風の構文を作成する場合は、波括弧の先頭を構文ヘッダーと同じ行に配置します。すなわちつかいます:

abc { code }

の代わりに

abc { code }

正しいオフセットを設定する LeftBraceRightBrace スタイルを使用してください。波括弧を開くために左にある文字と波括弧自体の間のスペースが 1 スペースに等しいことを確認してください。padding-left/padding-right スタイルの助けを借りてそうすることができます。

丸括弧

括弧を使用する場合は、LeftParen/RightParen スタイルを左 / 右括弧に設定します。括弧セルの兄弟が名前付きノードのプロパティである場合は、最初 / 最後の位置が許可されたスタイルで括弧の最初 / 最後の位置を無効にします。

識別子

名前付きノード(メソッド、変数、フィールドなど)を使用する場合は、名前のプロパティの左右に 0 のパディングを設定することをお勧めします。同じ色を保持する識別子宣言と参照を作成することも良い考えです。例: ベース言語では、フィールド宣言と参照は同じ色になります。

句読点

どこかにセミコロンがある場合は、そのスタイルをセミコロンに設定します。ドットがある場合は、ドットスタイルを使用します。二項演算子がある場合は、演算子スタイルを使用します。

基本言語 クロージャー

関連ページ:

基本言語

BaseLanguage は、Java とほぼ同じ構造のセットを共有するため、Java に対応する MPS です。BaseLanguage は、MPS でのコード生成の最も一般的なターゲットであり、同時に最も広範囲に拡張された言語です。Java との統合を簡素化するために、MPS のすべてのモジュールのクラスパスを指定することができます。クラスパスで見つかったクラスは、@java_stub モデルに自動的にインポートされるため、BaseLanguage を使用するプログラムで直接使用できます。MPS の...

クロージャー

導入:クロージャは、基本言語の便利な拡張機能です。これらはコードをより簡潔にするだけでなく、プログラミングの関数型パラダイムの領域を通過するための手段として使用できます。プログラムでは、関数を第一級オブジェクトとして扱うことができます。変数に格納したり、引数としてメソッドに渡したり、メソッドや関数に他の関数を返させたりすることができます。MPS クロージャサポートを使用すると、自国語でクロージャを使用できます。実際、MPS 自体は、たとえばコレクション言語でクロージャを多用します。この言語は、...

MPS Java との互換性

環境設定ウィンドウの Java コンパイラー構成タブには、プロジェクトのバイトコードバージョンという 1 つの設定しかありません。この設定は、MPS によってコンパイルされたすべての Java クラスのバイトコードバージョンを定義します。これらのクラスには、言語の側面から生成されたクラス、ランタイムソリューションのクラス、サンドボックスソリューションのクラスなどがあります。デフォルトでは、バイトコードのバージョンは JDK Default に設定されています。つまり、コンパイルされたクラスのバージ...