* KHPCのページ
-(by [[K]], 2016.02.18)
** KHPCとは?
-KHPCは persistent-C の実装のひとつ。
-KHPCは [[persistent-C>persistent_C]] の実装のひとつ。
-基本方針としては、手抜き。
-persistent-Cがどんなものなのかある程度実感できればよく、処理系としての優秀さは追求しない。
-さまざまな仕様を試すためにも、厳密さにこだわって試行錯誤を遅らせるのは得策ではない。

** ver.0.0
** ver.0.00
-最初のバージョン。
-ソース・トランスレータ部と、ランタイムライブラリ部に分かれる。
-「persistent命令」はまだサポートしていない。ランタイムライブラリはある。
-とにかくできるだけ手抜きをする。次のバージョンでまともにすればいい。手抜きは美徳である。
--とりあえず保存するファイルのファイル名も固定にしてしまおう(本来の仕様には反しているけど)。

-ソーストランスレータ部:
--極端なことを言えば、ソースからpersistentの語を消せば、ソースのトランスレートはほぼ終了である(笑)。
--あとは下記のpersistent_init()に必要な情報を生成する。
--今回は手抜きのため、行頭の「persistent」にしか反応しないし、関数内のstatic変数のpersistentには対応しない(エラーになるか、誤作動する)。
-詳しくは[[KHPC_v000doc01]]へ。
** ver.0.01
-KHPCの2番目のバージョン。
-このバージョンの目玉:「persistent命令」をサポートする。

-ランタイムライブラリ部:
--persistent_load()およびpersistent_save()はまず最初にpersistent_init()を呼び出す。
--persistent_init()はランタイム部が既に初期化済みなら何もせずにreturnする。
--初期化に当たっては、ソーストランスレータ部が生成した永続変数情報を内部テーブルに展開する。
--とりあえず面倒なので、256個程度が登録できればよい。
-詳しくは[[KHPC_v001doc01]]へ。


* こめんと欄
#comment


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS