━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 課題3の補足 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●補足 3a *プログラムの不具合 転記してうまくいかなければ rotate_left_exp() が正しいかも再確認する. *実行過程の表示 動作を調べるには,一時的に実行過程の表示処理を加えるとよい. ホームページ上にある「再帰の考え方」の例題プログラムが参考になる. ●補足 3b *使う関数 必要に応じて,exp.c にある算術式の 生成・複製・削除 の基本関数を使う. くくり出しの変形にも,2分木の回転操作が応用できることに注意する. *2種類の複製 「ポインタの複製」と「ポインタの差し先の内容の複製」を明確に区別する. *動作確認 現実のプログラミング問題では,解答例などないので, 動作試験用の解答プログラムには頼らない方がよい. 自力で動作確認をしたり,プログラムの誤りを分析したりして, テストやデバッグの実力を付けることを強く推奨する. 実行結果の説明で「解答と一致した」というだけでは, 動作の正しさを自分自身で確かめたとは言えない. 「何を確かめたか」や「なぜ正しいか」を述べる. ────────────────────────────────────── ●補足 3c *発展課題 発展課題に取り組む場合,あらかじめ動作試験の実施方法を読み, 正常にコンパイルできるように機能拡張するとよい. ●補足 3d ●補足 3e *コンパイラの解析手法 この課題を解くには,コンパイラの字句解析や構文解析の方法を学ぶとよい. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 演習のホームページ 山田 俊行 https://www.cs.info.mie-u.ac.jp/~toshi/