新機能 オンラインイベントが検索できるようになりました。オンラインイベントとして検索できるようにするには こちら をご確認ください

このエントリーをはてなブックマークに追加

Jan

22

プログラミング言語作成ハンズオン

~自分だけのプログラミング言語を作ってみよう〜

Organizing : kmizu

Hashtag :#lang_impl
Registration info

参加枠

1500(Pay at the door)

FCFS
76/40

チューター枠

Free

FCFS
5/10

Description

当日までの準備作業(お願い)

直前になって申し訳ありません。当日までにしておいてもらえると助かる作業を列挙します。

  • Java開発環境(Java SE)のインストール

こちらのサイトからダウンロード・インストールをお願いします。OpenJDK等でもおそらくは動くかと思いますが、確認を取っていません。

  • Apache Maven 3のインストール

こちら からダウンロード・インストールをお願いします。インストールが正常に行えたら、

$ mvn

というコマンドが使えるようになっているはずです。Mac OSの場合、brew install mavenだけでいけるかもしれません。

  • 本ハンズオンで使うベース言語nubのclone、動作確認

本ハンズオンでは、一からプログラミング言語を作るのではなく、土台となるベース言語nubの処理系を元に、それを改造してもらう、という形式を取ります。以下の手順で、nubのcloneおよび動作確認をよろしくお願いします。

$ git clone https://github.com/kmizu/nub.git
$ cd nub
$ mvn compile
$ mvn exec:java -Dexec.args=test-input/factorial.nub

と入力して、

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building nub 0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.5.0:java (default-cli) @ nub ---
6
24
120
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.793 s
[INFO] Finished at: 2017-01-21T15:35:29+09:00
[INFO] Final Memory: 10M/245M
[INFO] ------------------------------------------------------------------------

のように、6, 24, 120が表示されれば成功です。

イベントについて

このイベントはプログラミング言語を作るためのハンズオン企画です。 皆さんは、プログラミング言語を作ったことがあるでしょうか。もし無いとしても、 普段プログラミング言語を作る必要はないので無理はないことだと思います。しかし、プログラミング言語を(簡単なものでも)作ることによって、実際のプログラミング言語がどのように作られているかについて大まかなイメージを持つことができますし、既知の言語処理系の速度を推定するのにも役に立つでしょう。

今回、プログラミング言語処理系作成のハンズオンを行うことにしました。 作る言語の言語仕様や処理系の細部についてはまだ決まっていませんが、簡単な スクリプト言語が動作するまでを体験するコースを用意用意したいと思っています。


作ることを想定するプログラミング言語について(TBD):

  • 基本単位が文ではなく式である
  • 関数定義、呼び出しができる
  • 条件分岐、ループを表現する構文(あるいは関数)が存在する
  • 次のような演算子を持つ
    • 加減乗除(+,-,*,/)
    • 論理和、論理積(||, &&)
  • 次のようなデータ型を持つ
    • 数値型
    • 真偽値型
    • 文字列型
    • リスト型(あるいは配列型)
  • 静的型システムは考えない
    • もちろん、やりたい人はやっても構わない

参加資格:

  • Javaで普通のプログラムが書ける
  • プログラミング言語が動作する仕組みを理解したい
  • 休日を丸一日潰しても良い

チューター募集: 今回の企画、正直言って、私一人の手には余るものだと思います。そこで、チューターを 募集したいと思います。だいたい、自分で一つ以上のプログラミング言語を作ったことの ある人なら問題ないと思います。


プログラム(TBD):

  • 11:00~12:00 言語処理系作成のキホン: @kmizu
  • 12:00~13:00 昼食休憩
  • 13:00〜19:30 言語作成ハンズオン: @kmizu

参加について

会場はドワンゴ セミナールーム(松竹スクエア 13F)です。

懇親会は20:00頃から行う予定です(ピザ注文予定)。


参加費

  • ハンズオン部分は無料
  • 懇親会は一人1500円(当日、会場で参加者を募集します)

入場方法

地下鉄各線東銀座駅5番出口から地上にあがって、橋を渡ったところにあるビルです。 正面入口から入り奥にあるエレベーターで13Fまであがってください。


電源タップについて

無線LANと電源はありますが、電源は床埋込み式で Macのアダプタが刺さりません 。 電源タップをご持参ください。


その他

  • 喫煙室はありません
  • 貴重品は各自で管理してください
  • 会場は飲食可能です

会場は、ドワンゴセミナールームですが、今年から、セミナールームは歌舞伎座ではなく松竹スクエア13Fに移転しましたので、お間違えないようよろしくお願いします。

Presenter

kmizu kmizu

Media View all Media

If you add event media, up to 3 items will be shown here.

Feed

kobake

kobake wrote a comment.

2017/01/22 10:37

本サンプルを IntelliJ IDEA でプロジェクト構成する手順をメモ書き程度にまとめました http://qiita.com/kobake@github/items/71e3a57f971ba6771356

kmizu

kmizu published プログラミング言語作成ハンズオン.

09/26/2016 18:14

プログラミング言語作成ハンズオン を公開しました!

Ended

2017/01/22(Sun)

10:00
20:00

Registration Period
2016/09/26(Mon) 18:00 〜
2017/01/22(Sun) 00:00

Location

ドワンゴセミナールーム

松竹スクエア13F

Organizer

Attendees(45)

lyrical_logical

lyrical_logical

レベルがわからないのでとりあえず参加枠

tachikoma

tachikoma

I joined プログラミング言語作成ハンズオン!

sifue

sifue

プログラミング言語作成ハンズオンに参加を申し込みました!

oydku

oydku

プログラミング言語作成ハンズオンに参加を申し込みました!

sgykfjsm

sgykfjsm

プログラミング言語作成ハンズオン に参加を申し込みました!

KanSAKAMOTO

KanSAKAMOTO

プログラミング言語作成ハンズオンに参加を申し込みました!

takatori

takatori

プログラミング言語作成ハンズオン に参加を申し込みました!

aoiroaoino

aoiroaoino

プログラミング言語作成ハンズオン に参加を申し込みました!

bati11

bati11

プログラミング言語作成ハンズオンに参加を申し込みました!

(退会ユーザー)

(退会ユーザー)

プログラミング言語作成ハンズオン に参加を申し込みました!

Attendees (45)

Waitlist (36)

masa_nk

masa_nk

プログラミング言語作成ハンズオン に参加を申し込みました!

yamahiro

yamahiro

プログラミング言語作成ハンズオン に参加を申し込みました!

shinjyo141

shinjyo141

プログラミング言語作成ハンズオンに参加を申し込みました!

gyarasu

gyarasu

プログラミング言語作成ハンズオンに参加を申し込みました!

jang_ist_tot

jang_ist_tot

I joined プログラミング言語作成ハンズオン!

ikuokudo

ikuokudo

プログラミング言語作成ハンズオンに参加を申し込みました!

s_terada

s_terada

プログラミング言語作成ハンズオン に参加を申し込みました!

tasukujp

tasukujp

プログラミング言語作成ハンズオン に参加を申し込みました!

AABB

AABB

プログラミング言語作成ハンズオンに参加を申し込みました!

itoha1028

itoha1028

プログラミング言語作成ハンズオン に参加を申し込みました!

Waitlist (36)

Canceled (59)