ANSI CのソースをK&R C (BDS C、MSX-C)に変換する
8080/Z80向けC言語コンパイラのBDS CとMSX-CにANSI C機能を持たせるために作りました。
BDS CとMSX-Cに対応しています。
・関数の宣言部をANSI C仕様からK&R仕様に変換します。
(例えば、int func(int a,char *b) をint func(a,b)int a;char *b;に変換します。)
・変数の型をBDS C、MSX-Cに有効な型に変換します。
(例えば、unsigned charをcharに、short intをintに)
・行頭または行頭の空白に続くC++コメント //以降をコメントとして処理して削除します。
・行頭から#までの空白を削除します。(K&R Cは行頭に#が必要)
・BDS Cでエラーになるキャストを削除します。
(例えば、a = (int)b; を、a = b; に変換します。)
動作はコマンドオプションで変更できます。
このasu ansi2krはANSI C(C++ Builder)で書きましたが、asu ansi2krのソースをasu ansi2kr自身でK&Rに変換することによりBDS C及びMSX-Cでコンパイルできます。
そのため、asu ansi2krにはCP/M、MSX-DOS版もMSX-DOS2専用版も存在します。
変換したソースは元のANSI C仕様のソースと行番号が完全一致してずれないので、コンパイラの出すエラー行を見てANSI C仕様の元ソースを修正できます。
(MSX-Cの場合は1行ずれるケースがあります。)
そのためコンパイル毎に使用でき基本的に変換後のソースをいじらなくてもすむのではないかと思います。
BDS Cで作った落ち物ゲームのCR3にも、asu ansi2krを使って作っています。
ソフト名: | asu ansi2kr |
---|---|
動作OS: | Windows 10/8/7/Vista/XP |
機種: | IBM-PC |
種類: | フリーソフト |
作者: | 大場 正輝 |