JetBrains MPS
From Wikipedia, the free encyclopedia
JetBrains MPSとはJetBrainsが開発しているメタプログラミングシステムで言語指向プログラミングを実装する。対応言語向けの言語ワークベンチ、統合開発環境といった言語定義に対応した開発環境になっている[2][3]。
|
| |
| 開発元 | JetBrains |
|---|---|
| 最新版 |
2022.2[1] (2022年11月1日)
|
| リポジトリ | |
| 対応OS | クロスプラットフォーム |
| ライセンス | オープンソース Apache License 2.0 |
| 公式サイト |
www |
構成可能言語
異なるドメインを持つ開発者は汎用プログラミング言語においてドメイン固有の言語拡張をしようすることができる。例として、Java使用開発者が金融アプリケーションで作業する時、金額の組み込みサポートが受けられる。しかし、従来のテキスト型言語ではこのような拡張が逆にテキストの曖昧性という問題を起こす。
MPSは構成可能な言語定義に対応しており、言語は拡張、埋め込みができ、これらの拡張の使用も可能でMPSにおいて同じプログラムで動作できる。例として、もしJavaがコレクションのより良い構文で拡張され後に、日付のより良い構文で再拡張されたら、これらの拡張は共に良い状態で動作する。
またMPSは抽象構文木を直接使用することで文法の曖昧さ問題を解決する。このような木を編集するために、テキストライクの構造エディタを使用する[4][5]。
再利用可能言語インフラストラクチャ
MPSは言語定義言語再利用可能を設定している言語インフラストラクチャを提供する。また、多くのエディタ、コード補完、使用法検索などのIDEサービスを自動的に提供している。
既存言語
- 基本言語 - MPSで再実装されたJavaが99%で、この言語にはたくさんの拡張がある。
- コレクション言語
- 日付言語
- クロージャ言語
- 正規表現言語
- 言語定義言語 - これらの言語はブートストラップなどで実装されている。
- 構造言語
- エディタ言語
- 制約言語
- タイプシステム言語
- ジェネレーター言語
MPSを使ったソフトウェア開発
ライセンス
MPSのソースコードはApache Licenseの下で公開されている。