[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(toppers-users 520) Re: TOPPERS/JSP のコンフィグレータ
- To: <toppers-users at ertl jp>
- From: "mandrake" <mandrake at imail plala or jp>
- Date: Sat, 7 Sep 2002 01:01:27 +0900
豊橋技術科学大学の若林です。
まず、「delete this;」問題から。
「delete this;」のある場所ですが、ツリーのノード削除コードです。ノードに
対してerase()をやったら、そのノード以下を親から切り離して削除したいと
思ったのですが、ツリーには動的/静的に生成されたものが混ぜ混ぜになるの
で、動的に生成されたものだけ自滅してもらうために「delete this;」を使いま
した。
そのため、newで確保されていることは保証されていますし(new演算子に細工)、
派生もしていないのですが、間接的にpublicになっているのが悩みの種です。後
ろめたさがあるのは確かなので、代替法を検討してみます。
---8<---
続いてコンフィギュレータの修正ですが、次の修正を加えました。
・デストラクタ内での例外スローの抑止
- Exception
- mpstrstream
・コンパイル順序によらないコードへの修正
- 静的変数を静的メンバ内へ移動
- Componentクラスのコンストラクタに起動優先度を追加
・エラー発生時にはkernel_cfg.c/kernel_id.hを更新しないよう修正
- Componentクラスに仮想関数onFatalExitを追加
・エラーメッセージの先頭に "ファイル名:行番号" が来るよう修正
- gccのスタイルを採用 ->" foo.cfg:123: [Error] エラーです"
・Garbage::finalCleanupの位置の修正
・処理しなかったAPIを標準出力に出すようなオプションを追加
(ソフトウェアコンポーネント用コンフィギュレータ向けの改造)
- ユーザ向けのメッセージをすべてstderr(cerr)に変更
・文字列としてシングルクォート囲いも許すように修正
・処理後にツリーのうち無駄な枝葉を刈り取るよう修正
・以前話題に上がった「周期起動タスク生成静的API」をテスト実装
今回の修正に関してアドバイスという形でご協力頂いた松川さん、高木さんのお
二方に改めて御礼申し上げます。
他に修正候補がありましたら、お寄せ頂ければ幸いです。特に中を知っていると
わからない「このエラーメッセージは意味不明」「このメッセージは不親切この
上なし」といったユーザの視点でのコメントは非常に助かります。
--------
わかばやし たかゆき (takayuki at ertl ics tut ac jp)