2016/01/31

UNIX V6当時のC言語に移植するための変更箇所

『思考ゲームプログラミング』に掲載されているソースコードをUNIX V6当時のC言語に移植するための変更箇所を調べるため「C Reference Manual」を確認してみました。とりあえず問題になりそうなのは次の点です。
  1. typedefがない。アスキー本では151頁の註釈で「typedefの使えない8ビット用Cは、#defineを使う」とあるので、それで対処できるのかもしれません。
  2. setjmp()とlongjmp()を使っている個所があるのですが、UNIX V6にあるのでしょうか。無いのであれば移植する必要があります。
  3. 最も目立つ違いは「E1 op= E2」のような構文が「E1 =op E2」となっている事でしょう。機械的な変更なので、もしかすると#defineで対処できるかもしれません。
  4. 識別子長はリファレンスマニュアルには「No more than the first eight characters are sinificant, and only the first seven for external identifiers.」とあります。これは恐らく大丈夫だろうと思いますが、念のために確認しておいたほうが良いかもしれません。

0 件のコメント:

コメントを投稿