28
コンパイラ指向ReVIEW わかめ まさひろ

コンパイラ指向ReVIEW

Embed Size (px)

Citation preview

Page 1: コンパイラ指向ReVIEW

コンパイラ指向ReVIEW

わかめ まさひろ

Page 2: コンパイラ指向ReVIEW

わかめ まさひろ@v vakame

GAE

AngularJS

ReVIEW

本書くTypeScript

Page 3: コンパイラ指向ReVIEW

我々が目指すこと

Page 4: コンパイラ指向ReVIEW

さらに多くの人々にReVIEWを簡単に使ってもらいたい

Page 5: コンパイラ指向ReVIEW

僕が使いたい時に一緒に作業する人が使えないと困る

本音

Page 6: コンパイラ指向ReVIEW

もっともっとREVIEWを

良くしていきたい

Page 7: コンパイラ指向ReVIEW

ちょっと 使いにくい

本音

IDEがない

Page 8: コンパイラ指向ReVIEW
Page 9: コンパイラ指向ReVIEW

Atom JavaScript oriented Editor

https://atom.io/

Page 10: コンパイラ指向ReVIEW

Brackets JavaScript oriented Editor

http://brackets.io/

Page 11: コンパイラ指向ReVIEW

and Browser JavaScript (battery included)

Page 12: コンパイラ指向ReVIEW

all your code are belong to us

この世の全ては JavaScriptで できている!!

Pythonとか興味ないし…

Page 13: コンパイラ指向ReVIEW

GitHub is 良い

Page 14: コンパイラ指向ReVIEW

Page 15: コンパイラ指向ReVIEW

Compiler as a Service• サービスとしてのコンパイラ!

• コンパイルするだけがコンパイラの仕事ではない!

• JSX, TypeScript, Roslyn(C#, F#…) !

• 優秀なコンパイラはIDEの実装を助ける!

• http://goo.gl/u7HwuZ

Page 16: コンパイラ指向ReVIEW

Compiler as a Service

• TypeScriptを例に取ると…!

• Vim, Emacs, Eclipse 様々な環境で!

• VisualStudio同等の機能を低コストで!

• フォーマッタも簡単に!

• http://goo.gl/sjYyhq

Page 17: コンパイラ指向ReVIEW

つまり

• コンパイラはコンパイルができる!

• コンパイラはASTを知っている!

• コンパイラは正しい文法を知っている

Page 18: コンパイラ指向ReVIEW

すると…?

• http://vvakame.github.io/review.js/!

• エラー報告ができる!

• 利用可能な文法を表示できる!

• 入力補完ができる!

• …脳内では!!

Page 19: コンパイラ指向ReVIEW

結論

ReVIEWもCompiler as a Service

したほうがいいと思うの…

Page 20: コンパイラ指向ReVIEW

閑話休題

少し話がマニアックな 方向に行き過ぎた…

Page 21: コンパイラ指向ReVIEW

わりとわかりやすいエラー= サンプル !

例(@<list>{hoge})。 !

//list[foo]{ alert("hello"); //}

[3,1] 参照先 list の hoge が見つかりません

[5,1] 引数の数に齟齬があります 期待値 2, 実際 1

Page 22: コンパイラ指向ReVIEW

記法の一覧表示//cmd コマンドラインのキャプチャを示します。 //cmd{ $ git clone [email protected]:vvakame/review.js.git //} という形式で書きます。

後から追加した本ごとの 独自記法もフォロー!

Page 23: コンパイラ指向ReVIEW

進捗

Page 24: コンパイラ指向ReVIEW

あかん

Page 25: コンパイラ指向ReVIEW

僕の目指すところ

Page 26: コンパイラ指向ReVIEW

Ruby版を置き換える

• 大きなこと言ったな!

Page 27: コンパイラ指向ReVIEW

辛そうなところ

• 業界知識や環境固有知識がまるで無い!

• Ruby版すごいよく出来てる…!

• preprocessor地味にきっつい…!

• でもわかめはめっちゃ使う

Page 28: コンパイラ指向ReVIEW

今日確認したいこと

• あと何がほしい?!

• Ruby版全てを実装しないとダメ?!

• やっぱダメだよなー!

• こんとりびゅーたーチョトほしい