K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[1878] crowbar_book_ver4について
投稿者:RednaxelaFX
2013/11/24 03:34:37

こんにちは、@rednaxelafxことKrisと申します。 たぶん「はじめまして」ではないかと、Twitterで検索したところ、たしかにもっと前から挨拶をしました(笑) https://twitter.com/rednaxelafx/status/14597568550 Web連載も結構前から読みましたが、「プログラミング言語を作る」が本になって本当に嬉しかったです。 去年中国の編集さんにこの本を強く薦めました。いまはやっとその中国語翻訳版が買えるようになりまして、自分のブログでこの本を押したいと思います。 このたびはcrowbarについてちょっと聞きたいことがあります。 本のサンプルコードをこちらからダウンロードしました: http://kmaebashi.com/programmer/devlang/book/unix_utf8_20091228.tgz その中のcrowbar_book_0_4ですが、interface.cでのrelease_global_strings()がこうなっています: static void release_global_strings(CRB_Interpreter *interpreter) { while (interpreter->variable) { Variable *temp = interpreter->variable; interpreter->variable = temp->next; } } この関数がもともと何をしようとしてますか?このままだと、ループしなくても、直接に interpreter->variable = NULL でも同じではないですか? もしかしたらこうしたかったとか: static void release_global_strings(CRB_Interpreter *interpreter) { while (interpreter->variable) { Variable *temp = interpreter->variable; Variable *temp_next = temp->next; temp->next = NULL; interpreter->variable = temp_next; } }
[この投稿を含むスレッドを表示] [この投稿を削除]