SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
わんくま同盟名古屋勉強会#33Xtextハンズオン(仮) ~~きみのDSLが、僕を楽にする。~~ 
2014/11/15(土)You&I
わんくま同盟名古屋勉強会#33 
ジコ、ショウカイ。 
•H/N:You&I(読み:ユーアンドアイ) 
•SNS:@you_and_i 
•出身:生まれも育ちも名古屋市 
•年齢:30代中盤 
•本職:商学部出身の職業プログラマ 
•言語:C++, C#他 
•所属:プログラミング生放送勉強会名古屋支部 
名古屋アジャイル勉強会 
わんくま同盟名古屋勉強会 
2
わんくま同盟名古屋勉強会#33 
AGENDA 
1.Hands-onとは 
2.Xtextの環境構築 
3.Xtextのサンプル紹介 
4.Xtextハンズオン(5 Minutes Tutorial編) 
5.Xtextハンズオン(15 Minutes Tutorial編) 
3
わんくま同盟名古屋勉強会#33 
1. Hands-onとは 
Xtextハンズオン(仮) 
4
わんくま同盟名古屋勉強会#33 
1. Hands-onとは 
•何なの?と言う方もいらっしゃると思いますので、 言葉の定義から。 
•Hands-onとは、体験学習を意味する教育用 語です。参加体験、実習、実験、体感など体を 使う学習方法です。 
•Workshopも同じ意味合いですが、今回のよう にPCを使った実習スタイルは、Hands-onと呼ば れる事が多いです。 
•XtextによるDSL作成を体験しましょう。
わんくま同盟名古屋勉強会#33 
2. Xtextの環境構築 
Xtextハンズオン(仮) 
6
わんくま同盟名古屋勉強会#33 
2. Xtextの環境構築(1/3) 
•Java SE 
–Eclipseを実行するには、Java SEのRuntime (JRE)又はJDKがインストールされている必要がありま す。 
•Oracle Java SE Downloads 
•http://www.oracle.com/technetwork/java/javase/downloads/index.html 
–ダウンロードしたインストーラーを実行し、セットアップを 行って下さい。因みにMcAfeeを入れる必要はありま せん。 
7
わんくま同盟名古屋勉強会#33 
2. Xtextの環境構築(2/3) 
•Eclipse本体 
–公式サイトから入手するか、日本語表示をしたいので あれば、Pleiades All in Oneをインストールします。 
•Eclipse公式 
–https://www.eclipse.org/downloads/ 
–Eclipse IDE for Java and DSL Developersをダウンロード する。 
•Pleiades All in One 
–Pleiades All in Oneでは、チュートリアルのエディタを起動する手 順でEclipseが異常終了してしまい、手順を進める事が出来ませ んでした。 
–Xtextを使うつもりなら、こちらは止めておいた方が良いかも。 
8
わんくま同盟名古屋勉強会#33 
2. Xtextの環境構築(3/3) 
•Eclipseのインストール&起動 
–Eclipse公式からダウンロードした場合と、PleiadesAll in Oneからダウンロードした場合でも、ZIP書庫 を任意の場所に解凍すればインスト-ル完了です。 
–Eclipseの起動は「eclipse」フォルダの 「eclipse.exe」(windows版)又は「eclipse」 (Windows版以外)を実行します。 
9
わんくま同盟名古屋勉強会#33 
2. Xtextの環境構築(3.1/3) 
•Eclipseのインストール&起動(続き) 
–Eclipse初回起動時は左上の「Workbench」のリン クをクリックして画面を切り替えます。 
10
わんくま同盟名古屋勉強会#33 
3. Xtextのサンプル紹介 
Xtextハンズオン(仮) 
11
わんくま同盟名古屋勉強会#33 
3. Xtextのサンプル紹介(1/2) 
•Xtextなかなか難しいです・・・ 
•公式サイトにチュートリアルがあります。 
–http://www.eclipse.org/Xtext/documentation.html 
•5 Minutes Tutorial 
•15 Minutes Tutorial 
•15 Minutes Tutorial -Extended 
•Five simple steps to your JVM language 
•今日のハンズオンはこのチュートリアルをやります。 
12
わんくま同盟名古屋勉強会#33 
3. Xtextのサンプル紹介(2/2) 
•Xtextのプロジェクト作成にもサンプルが含まれて います。より高度なXtextの利用方法を知りたい 場合はこちらで。 
13
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン (5 Minutes Tutorial編) 
Xtextハンズオン(仮) 
14
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(1/13) 
•早速Xtext公式のチュートリアルをやっていきたい と思います。 
•今回は公式サイトのEclipse 4.3(luna)で説明 していきます。
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(2/13) 
•5 Minutes Tutorial 
–このチュートリアルでは、新規Xtextプロジェクトの作り 方、完全動作する言語基盤の生成、エディタをテスト する為に新規のEclipseインスタンスを開始する方法 を学びます。 
–始める前に、EclipseXtextがちゃんとインストールさ れている必要があります。
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(3/13) 
•5 Minutes Tutorialの流れ 
1.新規Xtextプロジェクトの作成 
2.言語基盤の生成 
3.エディタを試す
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(4/13) 
•新規Xtextプロジェクトの作成 
–Eclipseのメニューから[ファイル] -[新規] -[プロジェ クト]を開きます。
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(5/13) 
•新規Xtextプロジェクトの作成(続き) 
–ウィザード欄に「Xtext」と入力します。 
–一番上の「Xtext」カテゴリの「XtextProject」を選 択します。
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(6/13) 
•言語基盤の生成 
1.DSLのプロジェクトの[src] – [org.xtext.example.XXX]の下にある 「XXX.xtext」の右クリックメニューを開く。 
2.右クリックメニューの[Run As(R)] -[Generate XtextArtifacts]を開く。 
3.環境構築して初回の実行時は、赤字でANTLRの ダウンロード確認メッセージが表示されるので、コン ソールで「Y」を入力してENTERキー押下するとダウ ンロードされます。 
4.Javaのソースコードなど沢山生成されます。 
20
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(7/13) 
•言語基盤の生成(続き) 
21
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(8/13) 
•エディタを試す 
–DSLのプロジェクトの右クリックメニューを開く。 
–右クリックメニューの[Run As(R)] -[1 Eclipse Application]を開く。 
–別なEclipseが起動します 
22
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(9/13) 
•エディタを試す(続き) 
–起動したEclipseで何かプロジェクトを作成します。 Javaのプロジェクトでやりましょう。 
–「src」フォルダを右クリックして[New]-[File]で新規 ファイル作成ウィザードを開きます。 
23
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(10/13) 
•エディタを試す(続きの続き) 
–ファイル名は「XXX.自分が作ったDSLの拡張子」とし ます。 
24
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(11/13) 
•エディタを試す(続きの続きの続き) 
–別で起動したEclipseで新規作成したファイルをエディ タで開きます。 
–実はこのエディタは、DSLから生成した言語用のエディ タになっています。 
•入力補完が効くので「H」と入力したら[Ctrl+Space]をし てみましょう。 
•キーワードハイライトもされているはずです。 
•ファイル保存すると、入力チェックも行われます。 
25
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(12/13) 
•エディタを試す(続きの続きの続きの続き) 
–入力文法は「HelloXXXX!」です。 
26
わんくま同盟名古屋勉強会#33 
4. Xtextハンズオン(5 Minutes Tutorial編)(13/13) 
•すみません。私の時間切れで今日はここまでです。 
–なんで5分のチュートリアルを実行するのに、こんなに 時間かかるんだよ!w 
•Xtextで書いたDSLから言語生成して、生成し た言語がEclipseのエディタ上で正しく動作してい たかと思います。 
27

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (9)

LT司会資料(わんくま同盟名古屋勉強会#14)
LT司会資料(わんくま同盟名古屋勉強会#14)LT司会資料(わんくま同盟名古屋勉強会#14)
LT司会資料(わんくま同盟名古屋勉強会#14)
 
LT司会資料(わんくま同盟名古屋勉強会#16)
LT司会資料(わんくま同盟名古屋勉強会#16)LT司会資料(わんくま同盟名古屋勉強会#16)
LT司会資料(わんくま同盟名古屋勉強会#16)
 
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
 
パターンを活用したチーム活動を体験しよう
パターンを活用したチーム活動を体験しようパターンを活用したチーム活動を体験しよう
パターンを活用したチーム活動を体験しよう
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
 
「スクラムを活用したアジャイルなプロダクト管理」を読み解く為の「スクラム入門」入門
「スクラムを活用したアジャイルなプロダクト管理」を読み解く為の「スクラム入門」入門「スクラムを活用したアジャイルなプロダクト管理」を読み解く為の「スクラム入門」入門
「スクラムを活用したアジャイルなプロダクト管理」を読み解く為の「スクラム入門」入門
 
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
 
どんな仕事もこわくない? チームの底力を見える化する 多能工訓練計画表ワークショップ
どんな仕事もこわくない?チームの底力を見える化する多能工訓練計画表ワークショップどんな仕事もこわくない?チームの底力を見える化する多能工訓練計画表ワークショップ
どんな仕事もこわくない? チームの底力を見える化する 多能工訓練計画表ワークショップ
 
スキルマップでチームの能力を見える化しよう
スキルマップでチームの能力を見える化しようスキルマップでチームの能力を見える化しよう
スキルマップでチームの能力を見える化しよう
 

Ähnlich wie Xtextハンズオン(仮)

opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1
Takuya Nishimoto
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
Masahiko Sato
 

Ähnlich wie Xtextハンズオン(仮) (20)

一口で何度もおいしい?DSL
一口で何度もおいしい?DSL一口で何度もおいしい?DSL
一口で何度もおいしい?DSL
 
Scrumワークショップ
ScrumワークショップScrumワークショップ
Scrumワークショップ
 
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみたSphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみた
 
スクラム開発に取り組んでみた
スクラム開発に取り組んでみたスクラム開発に取り組んでみた
スクラム開発に取り組んでみた
 
チラ見せ♡ナイト@20150410 LT公開用
チラ見せ♡ナイト@20150410 LT公開用チラ見せ♡ナイト@20150410 LT公開用
チラ見せ♡ナイト@20150410 LT公開用
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
Scrum体験スパルタワークショップ
Scrum体験スパルタワークショップScrum体験スパルタワークショップ
Scrum体験スパルタワークショップ
 
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pubScrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
 
Windowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTestWindowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTest
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1
 
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
 
私の熱いアジャイル活動、アジャカツ!始まります フフッヒ
私の熱いアジャイル活動、アジャカツ!始まります フフッヒ私の熱いアジャイル活動、アジャカツ!始まります フフッヒ
私の熱いアジャイル活動、アジャカツ!始まります フフッヒ
 
個人的なさがしもののはなし #rubyhiroba
個人的なさがしもののはなし #rubyhiroba個人的なさがしもののはなし #rubyhiroba
個人的なさがしもののはなし #rubyhiroba
 
アジャイルマニフェストから見るインセプションデッキ
アジャイルマニフェストから見るインセプションデッキアジャイルマニフェストから見るインセプションデッキ
アジャイルマニフェストから見るインセプションデッキ
 
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
 
「アジャイル型開発におけるプラクティス活用リファレンスガイド」の勘所と活用方法
「アジャイル型開発におけるプラクティス活用リファレンスガイド」の勘所と活用方法「アジャイル型開発におけるプラクティス活用リファレンスガイド」の勘所と活用方法
「アジャイル型開発におけるプラクティス活用リファレンスガイド」の勘所と活用方法
 
初めてのDocker
初めてのDocker初めてのDocker
初めてのDocker
 

Xtextハンズオン(仮)