私は、Scheme インタープリター (EOPL1) に関するテキストに取り組んでいます。ほとんどの問題には、機能の実装または既存の実装の変更が含まれます。一部の問題は、以前の問題に依存しています。
演習ごとにインタープリター全体をコピーして貼り付けるのではなく、問題ごとに機能するインタープリターとテストケースを用意したいと考えています。以前は、以前のコードをロードしてからさまざまな関数を再定義しようとしましたが、これは悪いことです。現在ロードされているコードを見分けるのは見苦しく、難しいです。モジュールに小さな変更を加えると、コードの重複がなくなりません。バグ (例えば、struct
定義が再定義されたとき)。ちょっと手に負えなくなってきています。
多くの #ifdefs または同等のモノリシック ファイルを作成したくありません。これは (たくさんの) VCS ブランチの適切な使用例ですか? そうでない場合は、どうすればよいですか?
(この質問のタグが適切でない場合はお詫びします。)