20111210 scala kaigi2
-
Upload
satoshi-goto -
Category
Technology
-
view
269 -
download
2
Transcript of 20111210 scala kaigi2
パーサコンビネータを使ってペログラム言語コンパイラを作ってみた(仮)
@mtgto
11年12月10日土曜日
自己紹介
@mtgto
某D社社員
普段はiPhone開発とかやってます
Scala歴一ヶ月(11/9 コップ本買った)
OCaml書いたことある
11年12月10日土曜日
本題
俺が考えた言語から
ペログラム言語への
コンパイラを作ってみた
11年12月10日土曜日
インデックスさん
ペログラム言語って?
実装のはなし
デモ http://pero.510314.com/ でやります
11年12月10日土曜日
ペログラム言語って
http://nlab.itmedia.co.jp/nl/articles/1111/12/news012.html
11年12月10日土曜日
Hello world
あずにゃんペロペロあずにゃんあずにゃんペロペロあずにゃんペロペロあずにゃんあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロ
“Hello, world!”11年12月10日土曜日
言語の説明Whitespaceの亜種(あずにゃん、ペロ、ペロ)
スタック操作(定数push, pop, swap, dup)
演算(加減乗除、剰余)
ヒープ操作(番地アクセス)
フロー(条件ジャンプ、無条件ジャンプ)
コンソール入出力11年12月10日土曜日
Hello Worldなら
‘H’を積んで
あずにゃんペロペロペロペロペロペロペロペロあずにゃん
一文字出力命令
ペロあずにゃんあずにゃんペロ
これを繰り返す
11年12月10日土曜日
俺が考えた最強の言語(嘘
def fib(n) { if (n < 2) { return 1; } return fib(n-1) + fib(n-2);}
var a = readInt();printInt fib(a);
11年12月10日土曜日
1996文字にコンパイルあずにゃんペロペロあずにゃんあずにゃんペロペロあずにゃんペロペロあずにゃんペロあずにゃんペロペロあずにゃんペロペロあずにゃんペロペロペロあずにゃんペロペロあずにゃんペロペロあずにゃんあずにゃんペロペロあずにゃんあずにゃんペロペロあずにゃんペロペロペロあずにゃんペロあずにゃんあずにゃんペロペロあずにゃんペロペロあずにゃんあずにゃんあず(長文のため省略されました
11年12月10日土曜日
デモ
http://pero.510314.com/
http://localhost:8080/
11年12月10日土曜日
実装
コンパイラ
sbt、パーサコンビネータ、ScalaTestとか
ウェブサーバ
Scalatra + Jetty
全部でScalaが10ファイル1000行くらい
11年12月10日土曜日
俺言語
rubyライク?
第一級の値はfloatのみ
比較演算子は”==”と”<“のみ
ifはあるけどelseはない
勢いで作ったから文法とか思いつきで
11年12月10日土曜日
まとめというより感想
ペロペロが読めるようになった(気がする)
関数型脳で書けて楽しい
謎の演算子を使われると読めなくて困る
☆とか
11年12月10日土曜日
\(^o^)/
ご清聴ありがとうございました
11年12月10日土曜日