MPS 2020.3 ヘルプ

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(英語))- modellwerkstatt.org(英語) の Modelwerkstatt アプリケーションは、MPS を使用してエンタープライズアプリケーションを構築するための強力な DSL を開発します。開発プロセス全体は MPS で実現されています。この 2 部構成のスクリーンキャストを見て、MPS がこの特定の分野のテーブルに何をもたらしているのかを知ることができます。

ファーストステップ

MPS の仕組みに関する最初のインサイトを提供する 2 つのビデオ。

MPS の概要

MPS で言語がどのように定義されているかを一目で確認するには、この一連の短い紹介ビデオを参照してください。シリーズ全体を見た後は、言語を定義するために必要な手順がわかり、全体像をよく理解できます。

MPS の基本

MPS を使用して DSL を構築する際の基本原則を説明するビデオ

  • 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 は真空中では生きていません。スタンドアロンで使用することも、他の開発環境に統合することもできます。詳細についてはこれらのスクリーンキャストをチェックしてください。

  • IntelliJ IDEA 用の DSL をパッケージする方法 (英語) - このスクリーンキャストを見て、自分の言語を他の人と共有し、MPSIntelliJ IDEA の両方の内部で使用できるようにする方法を学びましょう。サンプル言語用のビルドスクリプトを作成して、その言語をコンパイル、ビルド、パッケージ化し、適切な IntelliJ プラグイン zip ファイルを作成します。

  • IntelliJ IDEA で MPS を有効にする方法 (英語) - IntelliJ IDEA に MPS のコア機能を追加する方法、およびサードパーティの言語をインポートする方法については、このスクリーンキャストを参照してください。IntelliJ IDEA 内で MPS プラグインを有効にし、プラグインを設定し、最初のデモを作成して実行するさまざまなオプションについて説明します。コードに含まれている言語を使用するために、別の言語プラグインをインポートします。

言語定義の高度な側面

これらのスクリーンキャストは、MPS 言語定義の分野に深く入り込んでいます。

チュートリアル

図形チュートリアルビデオ(英語)図形チュートリアルの Shapes 言語を実演します。

これらのビデオは紹介計算機言語のチュートリアルを伴います。

  • 入門電卓言語チュートリアル (英語) - このスクリーンキャストは MPS を学ぶための代替方法を提供します。オンライン紹介の MPS チュートリアルで説明されている手順に従って、スクリーンキャストは、計算機定義言語の構築プロセスを案内し、構造、エディター、ジェネレーターなどの MPS の基本概念の使用方法を説明します。オンラインチュートリアルを少し乾燥していて従うのが難しいと思うなら、このスクリーンキャストはそれを乗り越えるのを手助けするかもしれません。

  • 入門電卓言語チュートリアル - 制約と型システム (英語) - これは、制約と型システムをカバーする電卓言語チュートリアルの第 2 部です。このスクリーンキャストは、MPS を学習するための代替方法を提供します。オンラインの入門 MPS チュートリアル(英語)で説明されている手順に従って、スクリーンキャストは、最初の部分で作成した電卓言語のスコープ制約と単純な型システムルールを作成するプロセスをガイドします。

MPS ビデオの紹介

  1. JetBrains MPS の概要、パート 1: プロジェクト (英語) - このエピソードでは、MPS プロジェクトのセットアップ、およびモジュールとモデルの編成(それらの依存関係を含む)について説明します。

  2. JetBrains MPS の概要、パート 2: 構造 (英語) - このエピソードでは、モデル、メタモデル、抽象構文木についての簡単な理論的背景を説明し、その知識を MPS 構造の側面に適用します。

  3. JetBrains MPS の紹介、パート 3: 制約 (英語) - このエピソードでは、MPS における言語定義の制約の側面、主にプロパティ、リンクの制限方法、有効範囲の定義方法について詳しく説明します。

  4. JetBrains MPS の紹介、パート 4: 振る舞い (英語) - このエピソードでは、概念やノードに機能を追加する上で役立つヒントをいくつか追加します。

  5. JetBrains MPS の紹介、パート 5: エディター (英語) - コードを確認してください - 画面に AST を投影するエディターを定義します。

  6. JetBrains MPS の紹介、パート 6: アクション (英語) - エディターを磨く - 変換と置換を定義することにより、編集エクスペリエンスをスムーズにします。

  7. JetBrains MPS の紹介、パート 7: インテンション (英語) - 開発者が状況依存のヒントやリファクタリングを支援します。

  8. JetBrains MPS の紹介、パート 8: 生成プログラム (英語) - モデルの変換 - モデルからモデルへの変換の定義。

  9. JetBrains MPS の紹介、パート 9: テキスト元 (英語) - ここに書いたものがあります。モデルをテキストに変換します。

  10. JetBrains MPS の紹介、パート 10: データフロー (英語) - フローに従ってください -MPS がコード構造の問題を自動的に検出できるように、データフロー定義を定義します。

  11. JetBrains MPS の紹介、パート 11: 型システム (英語) - それらは私のタイプです - タイプと型システムルールを定義して、式を早期に検証します。

これらを単一の YouTube プレイリスト(英語)として視聴することもできます。

関連ページ:

図形

MPS を初めて使用し、すぐに試してみたい場合は、これが適切なチュートリアルです。2 時間以内に、新しい言語とその言語を使用する関数型コードを入手できます。チュートリアルでは、最初から始め、安全で便利なパスに沿って進めることで、新しい言語のコア要素を設計します。フィニッシュラインにすばやく到達するために、高度な概念、複雑な構成、暗いコーナーは避けます。最後に、MPS とは何か、MPS がどのような原則に基づいているかがわかります。シートベルトを締めてください。高速に走ります。前提条件:MPS...

MPS 電卓言語チュートリアル

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

MPS ユーザーズガイド

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

よくある質問 (FAQ)

DSL、LOP、プログラミング:ここでは、MPS に関して最もよくある質問に対する答えを見つけることができます。DSL とは何ですか? 「本物の」プログラミング言語とどう違うのですか。DSL は特定の種類の問題に最適化された言語です。通常、Java、C、Ruby などの汎用言語よりも複雑さは少なくなります。DSL はチューリング完全ではないかもしれず、関心のあるフィールドについての事実だけを述べています。通常 DSL は、DSL が設計されているフィールドの専門家である人々と密接に連携して開発...