Upload
hideaki-nagamine
View
194
Download
1
Embed Size (px)
Citation preview
PietでLISP処理系を書くのは難しい進捗報告
京大マイコンクラブ長嶺英朗2015.8.8
自己紹介
長嶺英朗(NAGAMINE Hideaki)KMC-ID: hnagamin
Piet歴 2〜3ヶ月
Scheme歴 2年よく使うアイコン
自己紹介終わり
本題
YAPC::Asia Tokyo 2015
YAPCで喋ります
進捗報告をします
目次
1. 宣伝2. Pietとは3. 進捗報告兼作品紹介4. 今後の課題
Pietのここがすごい
ソースコードがドット絵
最大公約数を計算するプログラム 与えられた数をソートするプログラム
命令がたくさんあって書きやすい
ADD2数の和を返す
DEVIDE2数の商を返す
GREATER先頭の要素が2番めより大きければ1を返す
DUPLICATE要素をコピーする
IN(C)1文字入力してUnicode値をスタックに追加
PUSHスタックに要素を追加
SUBSTRACT2数の差を返す
MOD2数の剰余を返す
POINTERプログラムの進む向きを変える
ROLLスタックの要素の順番を変える
OUT(N)スタックの要素を数として出力
POPスタックから要素を削除
MULTIPLY2数の積を返す
NOT0なら1、0以外なら0を返す
SWITCHプログラムの読む向きを変える
IN(N)数を入力してスタックに追加
OUT(C)スタックの要素をUnicode値とみて1文字出力
詳しくはdamaさんの「Pietのエディタを作った話」を
参照してください
http://www.slideshare.net/KMC_JP/piet-46068527
進捗報告兼作品紹介
LISPっぽい記法の電卓を作りました
加減乗除ができます
“(+ (* 314 (+ 500 500)) (- (/ 960 3 2) 1))”に対して
”314159”と出力します
55x60
加算乗算
減算
除算
数値入力
デモ(時間があったら)
今後の課題
課題がいっぱい
● リスト● 変数● 手続きオブジェクト
まとめ
● 整数オブジェクトを扱える● 課題がいっぱい