←第2回のヒント | ↑目次 | →課題4.1,4.2のヒント
情報科学実験II コンパイラ作成
第3回
課題3.2の結果をMarsで確認するには
以下、Marsの入出力を用いずに、レジスタとデータを直接確認する場合には、背景がついた部分は不要である。
出力されたコードの前に以下のコードを加える
後ろに以下のコードを加える
上の例で、最後の5行のwordの後ろの数は適宜変更してもよい。Marsで実行させれば、n, m, kの値が順に出力される。なお、課題3.2の実行には、関数fib, 引数k, 局所変数n, mに対するSymEntryを定義しておいて、n=m+kに対応するExprNodeを作って実行すればそれで十分である。
課題3.3の結果をMarsで確認するには
関数fib(noを3, nParam=1とする)と変数k(noが1である大域変数またはfibの引数)のSymEntryを作り、fib(k-2)のExprNodeに対するコードを出力する。fib関数本体のコードは不要。出力されたコードの前に以下のコードを加える
後ろに以下のコードを加える
Marsで実行させると、10-2に対するフィボナッチ数である34が表示されるはず。
トップページ