MPS 2019.2ヘルプ

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

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

言語定義の高度な側面

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

チュートリアル

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

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

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

  • 入門電卓言語チュートリアル - 制約と型システム(英語) - これは、制約と型システムを扱う電卓言語チュートリアルの第2部です。このスクリーンキャストは、MPSを学習する別の方法を提供します。オンライン入門MPSチュートリアルで説明されている手順に従って、スクリーンキャストは、第1部(英語)で構築した計算言語の範囲制約と単純な型システム規則を作成するプロセスをガイドします。

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プレイリスト(英語)として見ることもできます。

最終更新日: 2019年8月30日

関連ページ:

図形 - MPS入門チュートリアル

MPSに不慣れですぐにそれを試してみたいなら、これはあなたのための正しいチュートリアルです。2時間以内に、新しい言語とその言語を使用する機能コードを入手できます。このチュートリアルでは、最初から始め、安全で便利な道を歩むことで、新しい言語のコア要素を設計します。すぐにフィニッシュラインに到達するため...

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

このチュートリアル導入、テンプレートの実装、導入このチュートリアルでは、MPSでの言語デザインのさまざまな分野について説明します。単純なスタンドアロン言語の抽象的な構造を定義し、そのためのエディターを設計し、タイプを制限し、スコープを作成し、最後にJavaコードを生成するジェネレータを準備します。以...

MPSユーザーズガイド

言語デザイナーのためのMPSユーザーガイド:MPSへようこそこのユーザーガイドはMPSの完全なリファレンスマニュアルであり、MPSが提供する多くの概念と使用パターンを案内し、システムの特定の側面に関する詳細を知る必要があるときはいつでも手に入れることができます。ここに私達の新しい人たちのためのオファ...

よくある質問 (FAQ)

DSL、LOP、プログラミング、DSLとは何ですか? 「本物の」プログラミング言語とどう違うのですか。DSLの利点は何ですか?なぜ気にする必要がありますか?、DSLと通常のコードはどのように連携していますか?、言語指向プログラミングとは、なぜ言語を拡張したいのですか?ライブラリーは十分ではないですか...