SpecC リファリンスコンパイラV1.2 のリリース

2002.01.03
2002年1月3日 SpecC リファレンスコンパイラ(SCRC)、バージョン1.2.がリリースされました。
SCRC リリース1.2 は次の新しい機能を備えたものです。
改良点:
詳細:
●Cygwin 環境でWindowsプラットフォームをサポートします
| - |
Windows 95/98/ME と Windows NT/2000/XP プラットフォーム用の、新たな二種類のディストリビューションが行われます。
|
| - |
Windows 用のサポートは、自由に使えるWindowsのUNIX環境である、Cygwinプロジェクトで可能となります。
|
| - |
|
| - |
Windows特有のスレッドサポートがシミュレータに加わりました。
|
●コードジェネレータへの主なる改良点は読みやすさとデバックのしやすさです
| - |
SpecC と C++ のコードジェネレーションを全面的に改定し、短くてクリーンなコードが生成でき、読みやすさとデバックのしやすさが実現されました。
|
| - |
コードは入力した順どおりに生成されるようになりました。
|
| - |
コードは指定どおりの入れ子レベルで生成されます。(これはコンパイラの新しいオプション-st、-sTによって達成されます)
|
| - |
長い行(ライン)にたいする行ラッピングも行われます (これはコンパイラのオプション
-swで行われます)
|
| - |
"みにくい" SpecC コードに対しては、SCRC
をコードフォーマッタとして使えます。次の例でためしてください:
"scrc <ugly_code> -sc2sc -sl -o <nice_code>"
|
●ANSI C++ 互換性を向上させました
| - |
SCRC ソースコードは更に ANSI C++ 準拠となり、多くの 'gcc' 特有フィーチャーを排除しました。
|
| - |
'bit' クラスと 'longlong' クラスが完全に改定され、C++ のオーバーロードした場合の精度のあいまいさを排除しました。
|
| - |
関数パラメタのデフォルト引数は、ANSI基準に沿って関数宣言でのみ示すことになりました。
|
| - |
SCRC は gcc オプションの "-ansi
-pedantic"できれいにコンパイルします。(しかし、GNUコンパイラのバグのために、オプティマイゼーション -O2 はgcc 3.0.xでは使えません)
|
●コンパイラのフロントエンドで、セマンテックスのチェックを強化しました
| - |
'notify' や 'wait' といった文によるポートのアクセスでは、セマンテックスがチェックされます。
|
| - |
ストリング定数による 'char[]' 変数の初期化がチェックされます。
|
●いくつかの(重大な)バグを直しました
| - |
配列型の未使用ポートも正しい C++ コードを作れるようになりました。
|
| - |
ビットベクタのシフトおよび連結が正しくなされるようになりました。
|
| - |
パイプのビットベクタが正しく初期化されるようになりました。
|
| - |
関数 ubit2str() は2以外のベースで正しく働きます。
|
| - |
空のソースファイルも正しい入力として受け付けられます。
|
●以上の他にも、多くのマイナーな改良を加えました
従来どおり、SCRC のソースとバイナリパッケージは下記のwebページから自由にダウンロードできます:
http://www.cecs.uci.edu/~specc/reference/
|