JetBrains MPSとは?
JetBrains MPSは、JetBrainsによって開発されたメタプログラミングシステムで、言語指向プログラミングを実現するための強力なツールです。このプラットフォームは、様々な言語向けの開発環境を提供し、言語の定義に基づく作業を容易にします。
構成可能言語の利点
プログラミングの現場では、特定のドメインに特化した開発者が必要とする独自の機能や拡張が求められます。JetBrains MPSは、ドメイン固有言語(DSL)を通じて、開発者が既存の汎用言語に対して言語拡張を行うことを可能にします。このアプローチにより、例えば
Javaで金融アプリケーションを開発する際に、金額の操作を簡素化するための特別な構文を組み込むことができます。
従来のテキストベースの言語では、こうした拡張がしばしば文法の曖昧さを招く可能性がありますが、MPSは構成可能な言語定義を採用することで、この問題を効果的に解決します。具体的には、異なる構文を持つ拡張を同一のプログラム内で共存させつつ、それらが円滑に機能するよう工夫されています。たとえば、
Javaのコレクション構文を向上させた後、さらには日付の表現を改善するための構文を追加した場合でも、MPSではそれらの拡張が正しく動作するのです。
抽象構文木による文法の曖昧性解消
MPSでは、
抽象構文木(AST)を直接活用することで、文法における曖昧性問題を解消します。これにより、開発者はテキストライクの構造エディタを用いて、より直感的に木構造を編集することが可能となります。
再利用可能な言語インフラストラクチャ
MPSは、再利用可能な言語定義言語を設定するためのインフラを整備しています。このことで、開発者は言語の定義に必要なエディタ、コード補完、使用法検索などのIDEサービスを自動的に利用することができます。
既存の言語特徴
JetBrains MPSには、いくつかの基本的な言語が実装されています。特に、MPSで再実装された
Java言語は99%の互換性を持ち、多数の拡張が可能です。その他にも、コレクション、日付、クロージャ、正規表現、制約、タイプシステム、エディタ言語、そしてジェネレーター言語など、様々な言語がサポートされています。
MPSを使用したソフトウェア開発の実績
2009年10月、JetBrainsはMPSを用いて初めての商用ソフトウェア製品であるバグ追跡システム、YouTrackをリリースしました。また、2010年4月にはMPSプラットフォームに基づいたActionScriptエディタのベータ版も発表されました。
JetBrains MPSのソースコードは
Apache Licenseの下で公開されており、コミュニティの協力を得ながら開発が進められています。
さらに、以下のリンクから公式ウェブサイトやMPSに関するブログ、ユーザーガイドにアクセスできます: