何も書きこんでなかったけど、ヘタレC++で一応作ってみてます。
◆nnmm.69Aさんとは逆に、変換部分は後回しにして
一覧取得/時間制限/圧縮といった方向から作っているのだけれど
変換部を移植する段になって、read.cのグローバル変数依存体質で
結構引っかかってます。
ftp://readcgi.dyndns.org/incoming/dat2html/を元に、
なんとか動くようにしてみます。
それと、最低でも全体のサイズ制限は外さなければいけないし、
過去ログを再処理する可能性も考えれば、行数制限や
レスの文字数制限(8192)も外さなくてはいけないでしょう。

作りながら考えた点として、
処理済み.datはどこか別のディレクトリ(/kako/1xxx/ではない)に
移動することを考えています。
こうすることで、次回起動時に同じファイルを処理する事がなくなります。
削除等で再度処理する必要があれば、また放りこめば済みます。

また、同じディレクトリ内に処理済みの.datの一覧を
subject.txt形式で追記するようにして、
index.htmlの更新の手助けにしようかと思ってます。
もし、過去ログの再処理で、ログ形式の違いにも
柔軟に対応する必要があるなら、区別する必要がありますが。

index.htmlの更新は、別プログラム(perl可)で、
早朝にでも動かすのでもよいのではないでしょうか。
こちらも、壊れたり、スレ削除されたりする場合に備えて
追加分だけを加えて更新する/全過去ログindexを再構築するの
両方を考える必要があると思います。