>crowbar_book_0_1に、debubgフォルダとmemoryフォルダがあったのですが
>これらは何のためのフォルダなのですか。
「高校生」さんが書籍版「プログラミング言語を作る」をお持ちなら、
92ページにディレクトリ構成の図があります。メモリ管理モジュール
MEM(memoryフォルダ)の説明はp.92からありますし、デバッグ用モジュール
DBG(debugフォルダ)の説明はp.96からです。
Web版なら、以下のページに説明があります。
http://kmaebashi.com/programmer/devlang/crowbar_0_1.html
こちらにはdebugのほうの説明はないので補足すると、たとえば
以下のソースが例として挙げられると思います。
http://kmaebashi.com/programmer/devlang/crowbar_src_0_1_01/S/22.html#57
>if (cond.type != CRB_BOOLEAN_VALUE) {
> crb_runtime_error(statement->u.if_s.condition->line_number,
> NOT_BOOLEAN_TYPE_ERR, MESSAGE_ARGUMENT_END);
>}
>DBG_assert(cond.type == CRB_BOOLEAN_VALUE, ("cond.type..%d", cond.type));
このDBG_assert()を通るときにはcond.typeは絶対にCRB_BOOLEAN_VALUEであるに
決まっているわけですが、万一なにかの思い違いでそうでなかったとき、
DBG_assert()はメッセージを2行吐いて異常終了します。