MPS スクリーンキャスト
このページでは、JetBrains TV の MPS チャンネル(英語)で公開された MPS 関連のスクリーンキャストを一覧表示して分類しています。
カスタマーストーリー
誰がどのように MPS を使用します。MPS の MPS の使用方法を紹介しています。
なぜ JetBrains MPS(英語) - MPS についての概要ビデオ。誰が気にするべきか、なぜか。
音声メニュー IDE(英語) - MPS ができることのより徹底的な例。音声メニュー定義言語は、MPS の可能性を説明するためのサンプルドメインとして使用されています。
mbeddr.com プロジェクトが MPS を使用する理由 (英語) - mbeddr.com は、言語拡張と組込みソフトウェア開発のための正式な方法の利点を探ります。MPS で C プログラミング言語を実装しました。それは意味のある方法でそれを拡張することを可能にします。たとえば、ステートマシン、物理ユニット、製品ラインの多様性をサポートしています。このスクリーンキャストでは、なぜこのプロジェクトに MPS を選んだのかを簡単に説明します。
MPS ( パート 1(英語) およびパート 2(英語)) の Modelwerkstatt アプリケーション - オーストリア、インスブルックの modellwerkstatt.org(英語) は、エンタープライズアプリケーションを構築するための強力な DSL を開発するために MPS を使用しています。開発プロセス全体は MPS で実現されます。この 2 部構成のスクリーンキャストを見て、MPS がこの特定の分野で何をもたらすのかを味わってください。
ファーストステップ
MPS の仕組みに関する最初のインサイトを提供する 2 つのビデオ。
初めての実行 (英語) - MPS がどのように構成されているか、それがどのように機能するか、ユーザーがどのようにしてそれと対話するべきかについての、初心者にとって重要な情報。
Robot Kaja のサンプル - MPS を初めて使用する (英語) - ユーザーの観点から見た MPS の詳細な説明。
MPS 射影エディター (英語) - MPS 射影エディターの原理、テキストエディターとの違い、このアプローチの利点の説明。
Robot Kaja 言語の実装 - MPS で 2 回目 (英語) - 言語設計者の観点からの MPS の詳細な説明。
言語定義の高度な側面
これらのスクリーンキャストは、MPS 言語定義の分野に深く入り込んでいます。
コンテキストアシスタント (英語) - このビデオでは、サンプルロボット Kaja 言語のコンテキストアシスタントの使用と定義について説明します。
コンテキストアクションツール (英語) - このビデオでは、コンテキストアクションツールの使用方法と定義について説明します。
言語定義のためのコンテキストアシスタント (英語) - このビデオでは、Context Assistant が言語定義言語 - 構造とエディター - の中で提供するガイダンスを強調しています。
変換メニュー言語 (英語) - このビデオでは、新しいトランスフォームメニュー言語について説明します。これは、サイドトランスフォーメーション、置換、その他の状況依存アクションをエディターで定義するために使用されます。
ユーザーモデルを調査および更新する MPS コンソールを使用します(英語)。
チェックポイント、クロスモデル生成および生成計画 (英語) - このビデオは、クロスモデル生成を可能にするために生成計画を定義する方法を示しています。また、永続化されたマッピングラベルのデバッグに役立つ永続化されたチェックポイントモデルも強調しています。
相互運用性
MPS は真空中では生きていません。スタンドアロンで使用することも、他の開発環境に統合することもできます。詳細についてはこれらのスクリーンキャストをチェックしてください。
IntelliJ IDEA 用の DSL をパッケージする方法 (英語) - このスクリーンキャストを見て、言語を他のユーザーと共有したり、MPS と IntelliJ IDEA の両方で使用できるように言語を構築してパッケージ化する方法を学びましょう。言語をコンパイル、ビルド、パッケージ化し、適切な IntelliJ プラグイン zip ファイルを作成するサンプル言語のビルドスクリプトを作成します。
IntelliJ IDEA で MPS を有効にする方法 (英語) - MPS コア機能を IntelliJ IDEA に追加する方法と、サードパーティ言語をインポートする方法については、このスクリーンキャストを参照してください。IntelliJ IDEA 内で MPS プラグインを有効にするさまざまなオプションを確認し、プラグインを構成し、最初のデモを作成して実行します。次に、含まれている言語をコード内で使用するために、別の言語プラグインをインポートします。
チュートリアル
図形チュートリアルビデオ(英語)は図形チュートリアルの Shapes 言語を実演します。
これらのビデオは紹介計算機言語のチュートリアルを伴います。
入門電卓言語チュートリアル (英語) - このスクリーンキャストは MPS を学ぶための代替方法を提供します。オンライン紹介の MPS チュートリアルで説明されている手順に従って、スクリーンキャストは、計算機定義言語の構築プロセスを案内し、構造、エディター、ジェネレーターなどの MPS の基本概念の使用方法を説明します。オンラインチュートリアルを少し乾燥していて従うのが難しいと思うなら、このスクリーンキャストはそれを乗り越えるのを手助けするかもしれません。
入門電卓言語チュートリアル - 制約と型システム (英語) - これは、制約と型システムをカバーする電卓言語チュートリアルの第 2 部です。このスクリーンキャストは、MPS を学習するための代替方法を提供します。オンラインの入門 MPS チュートリアル(英語)で説明されている手順に従って、スクリーンキャストは、最初の部分で作成した電卓言語のスコープ制約と単純な型システムルールを作成するプロセスをガイドします。
歴史的なビデオ
これらのビデオはまだほとんど有効ですが、数年前に撮影されたものであり、ツールの最新の状態を示していません。ただし、説明に少し異なるアプローチを取っているため、MPS の学習に役立つ場合があります。
MPS の基本
MPS を使用して DSL を構築するためのコア原則をカバーするビデオ。この一連の短い紹介ビデオを見て、MPS で言語がどのように定義されるかを俯瞰してください。シリーズ全体を見た後、言語を定義するために必要な手順を理解し、全体像をよりよく理解することができます。
MPS の基本 - あなたの最初の言語を作るこ(英語)と - この入門スクリーンキャストは、MPS 初心者が最初の DSL を作成するときに直面する可能性のある一般的な困難を克服できます。DSL を作成する 3 つの基本的な手順、つまり言語構造、エディター、ジェネレーターの定義を説明します。MPS を初めて使用し、DSL 定義プロセスの基本を少しだけ理解したい場合は、この短いデモを参照してください。
MPS の基本 - 定数の言語を拡張する (英語) - MPS の新入生を対象とした一連の紹介スクリーンキャストのこの 2 番目は、前のエピソード(英語)で作成された定数の単純な言語に基づいて構築され、その不具合のいくつかを磨き、式と変数型で DSL を強化します。また、言語のインポートと単純な制約の定義についても触れます。
MPS の基本 - 参照の種類と範囲 (英語) - MPS 入門シリーズのスクリーンキャストの 3 回目のエピソードでは、参照、単純型システム規則、スコープ制約を使って実験用定数言語を拡張します。
MPS の基本 - インテンションと AST の操作 (英語) - MPS の基本シリーズの 4 番目のエピソードでは、インテンションとドメイン固有言語の AST を操作する方法を説明します。DSL にスムーズで楽しいユーザーエクスペリエンスを提供したい場合は、このスクリーンキャストが最適です。
MPS の基本 - TextGen を使ってテキストを生成する (英語) - MPS ビギナーズシリーズの第 5 話では、TextGen の側面に精通します。MPS ベースの DSL を使用して、そこから Ruby コードを生成します。
MPS の基本 - ルールの確認と迅速な修正 (英語) - 静的コード分析は、開発者がコード内のバグや問題を迅速に発見して解消できます。疑わしいコード部分を強調し、コードを修正するための自動リファクタリングを提供することによって、現代の IDE は開発時間を安全にし、ソフトウェアの欠陥の数を減らす。MPS は、この機能をドメイン固有言語のフィールドに拡張します。
MPS ビデオの紹介
JetBrains MPS の概要、パート 1: プロジェクト (英語) - このエピソードでは、MPS プロジェクトのセットアップ、およびモジュールとモデルの編成(それらの依存関係を含む)について説明します。
JetBrains MPS の概要、パート 2: 構造 (英語) - このエピソードでは、モデル、メタモデル、抽象構文木についての簡単な理論的背景を説明し、その知識を MPS 構造の側面に適用します。
JetBrains MPS の紹介、パート 3: 制約 (英語) - このエピソードでは、MPS における言語定義の制約の側面、主にプロパティ、リンクの制限方法、有効範囲の定義方法について詳しく説明します。
JetBrains MPS の紹介、パート 4: 振る舞い (英語) - このエピソードでは、概念やノードに機能を追加する上で役立つヒントをいくつか追加します。
JetBrains MPS の紹介、パート 5: エディター (英語) - コードを確認してください - 画面に AST を投影するエディターを定義します。
JetBrains MPS の紹介、パート 6: アクション (英語) - エディターを磨く - 変換と置換を定義することにより、編集エクスペリエンスをスムーズにします。
JetBrains MPS の紹介、パート 7: インテンション (英語) - 開発者が状況依存のヒントやリファクタリングを支援します。
JetBrains MPS の紹介、パート 8: 生成プログラム (英語) - モデルの変換 - モデルからモデルへの変換の定義。
JetBrains MPS の紹介、パート 9: テキスト元 (英語) - ここに書いたものがあります。モデルをテキストに変換します。
JetBrains MPS の紹介、パート 10: データフロー (英語) - フローに従ってください -MPS がコード構造の問題を自動的に検出できるように、データフロー定義を定義します。
JetBrains MPS の紹介、パート 11: 型システム (英語) - それらは私のタイプです - タイプと型システムルールを定義して、式を早期に検証します。
関連ページ:

図形
MPS に不慣れですぐにそれを試してみたいなら、これはあなたのための正しいチュートリアルです。2 時間以内に、新しい言語とその言語を使用する機能コードを入手できます。このチュートリアルでは、最初から始め、安全で便利な道を歩むことで、新しい言語のコア要素を設計します。すぐにフィニッシュラインに到達するために、高度な概念、複雑な構成要素、暗いコーナーを避けます。最後に、MPS とは何か、MPS がどのような原則に基づいているのかを理解できます。シートベルトを締めてください。高速に走ります。前提条件...

MPS 電卓言語チュートリアル
導入:このチュートリアルでは、MPS での言語デザインのさまざまな分野について説明します。単純なスタンドアロン言語の抽象的な構造を定義し、そのためのエディターを設計し、タイプを制限し、スコープを作成し、最後に Java コードを生成するジェネレーターを準備します。以前の MPS への露出に応じて、このチュートリアルでは完了までに約 1 日かかります。このチュートリアルでは、主に MPS を評価する必要のある言語デザイナーを対象とし、ベアボーンの例以外のものを見たいと思っています。Java の基...

MPS ユーザーズガイド
言語デザイナーのための MPS ユーザーガイド:MPS へようこそ。このユーザーガイドは MPS の完全なリファレンスドキュメントであり、MPS が提供する多くの概念と使用パターンを案内し、システムの特定の側面に関する詳細を知る必要があるときはいつでも手に入れることができます。トピック基礎知識 - 基本概念の概要 MPS の基本概念: ノード、概念、言語、用語集、よくある質問 (FAQ)、MPS プロジェクト構造、コピーライト、JetBrains MPS への貢献 - MPS のソースコードを回避す...

よくある質問 (FAQ)
ドメイン固有言語、プロジェクショナルエディターおよび MPS:ここでは、MPS に関して最もよくある質問に対する答えを見つけることができます。ドメイン固有言語(DSL)とは何ですか? それらは「実際の」プログラミング言語とどう違うのですか? DSL は、特定の問題領域向けに最適化された言語です。通常、Java、C、Ruby などの汎用言語ほど複雑ではありません。DSL は通常、DSL が設計されているドメインまたはフィールドの専門家と緊密に連携して開発されます。多くの場合、DSL は、DSL が対...