ずいぶん放ったらかしてたまま,最近また使わざるを得なくなった分解器,対象数が多くなるとさすがにやねこいので手入れ.
- 型テーブルにいくつか追加
- 継続行の処理は同時進行ではなく,スキャンする前のプリ・プロセスとして全部済ませてしまう
- パラメータ値が文字列であったときの怪しい動きはスキャナ・クラスの xBinary メソッドに原因があった.
(typeTable at: aheadChar asciiValue ifAbsent: [ #xLetter ]) == #xSingleQuote ifTrue: [^ self xSingleQuote].
↑何なんすか,こりゃ.何でこんなとこにいるのよ orz.
というわけで,とりあえず実用になるレベルになった.ただし,スピードは遅い.サイズ合計がおよそ 850MB ぐらいある 26,000 個のファイルだと, 2 時間ぐらい掛かる.ただし,これには処理対象外のソースも含まれていて,もちろん一度は開けてみないと対象外かどうかは判らない.それより,結果のファイル出力の方が時間が掛かる.だいたい処理時間の半分はそこに費やされている.まぁ,あれこれやってるからな〜.
0 件のコメント:
コメントを投稿