今日の電車
- 行き: 負け
- 帰り: 勝ち
自作言語
課題で自作言語を作っている. とはいっても一から全てやる訳ではなく, 数値演算や標準入力/標準出力などの基本的な機能の付いたテンプレートを与えられ, それをカスタマイズする形で機能を実装している.
開発にはテスト駆動開発 (TDD) を導入している. 元々, 少しずつ小さな機能を実装していくタイプの課題だったので相性も良い. 例えば do-while
文の実装では, 以下のように先にテストを書き, それから実装する.
#!/bin/bash ################################################ # do-while 文はブロックを評価した後に条件式を評価する. # 評価された値が真ならループし, 偽ならループを抜ける. ################################################ program=$(cat <<EOS main { x = 0; do { print x; x = x + 1; } while (x == 1); } EOS ) input=$(cat <<EOS EOS ) expected_output=$(cat <<EOS 0 1 EOS ) ./assert-run.sh "$program" "$input" "$expected_output"
TDDについて知りたいときは, TDD伝道師と呼ばれる和田さん訳の本を読むと良さそう. 僕はまだ第Ⅱ部までしか読みきれてないけど…
- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る