Pages

ホワイトクリスマスに合わせて Whitespace のインタプリタをリリースしようと思ったらクリスマスが終わってた

2013年12月26日木曜日
ホワイトクリスマスにちなんで素敵なプログラミング言語の「Wihitespace」のインタプリタをリリースしようと思ったら、こんな時間になってしまいました。

Whitespaceって?

半角スペースとタブと改行(LF)を使って書くプログラミング言語です。
詳しくは、Wikipedia を参照して頂ければと。

なんで作ったの?

ksnctfにあるとある問題を解くのにWhitespaceの仕様を読んでいたら、
Whiteつながりで、クリスマスに作るか?と思い作りました。


使い方

githubからソースをダウンロードして実行してください。

go run wspace.go <-h | -d> <run | text | char> <whitespaceのソースパス>
 run 指定されたwhitespaceのファイルを実行します
 text 命令文に置き換えます
 char 半角スペースを'S'、タブを'T'、改行(LF)を'L'に置き換えたソースを表示します
 -d スタックやヒープの中身を表示します(一部のみ実装)
 -h ヘルプもどきを表示します

コンパイルするときは

 go build space.go
wspace <-h | -d> <run | text | char> <whitespaceのソースパス>

問題点

ひと通り実装してみたものの、ソースが読みやすくないのでおいおい改良するつもりです。
目的の問題を実行してみたら、うまく動かなかったのでどこかの実装に誤りがあります。
おいおい修正します。

Read more ...