PDIC CUI search - 5年以上前のMacBook Proで動かしてみた
先日「PDIC CUI search - PDICを検索とか(ほげほげとか)する簡易CUIツール」で紹介したPDIC CUI searchを、昔使ってたMacBook Pro 17'' (Late 2006)で動くか試してみました。
Core2 Duoになったばかりでメモリ4GB載せても3GBしか使ってくれないあれです。MacOS Xのバージョンは10.6.8*1。
前準備
.pdicrc ファイルをホームディレクトリに用意します。配布パッケージにサンプルが付いてます。
辞書のロード先とか表示最大件数とか設定できます。(コマンド詳細はREADME参照)
; コメントはセミコロン始まり(単に ";" で始まる検索語が無さげだから) ; コマンドを普通に並べるだけ。REPLからコマンド入力する時のように先頭に . を追加する必要はない add loadpath . add loadpath /Users/naoya_t/PDIC/eijiro98 add loadpath /Users/naoya_t/PDIC/eiji132u add loadpath /Users/naoya_t/PDIC/indices load EIJIRO98.DIC load WAEIJI98.DIC load REIJI98.DIC load RYAKU98.DIC group 英辞郎98 = EIJIRO98 WAEIJI98 REIJI98 RYAKU98 load EIJI-132.DIC load WAEI-132.DIC load REIJI132.DIC load RYAKU132.DIC group 英辞郎132 = EIJI-132 WAEI-132 REIJI132 RYAKU132 use 英辞郎132 set verbose = on set direct = on set coloring = on set full = on set limit = 100 set stop_on_limit = on
みたいな感じ。
英辞郎98
「英辞郎 第三版」(アルク刊)に付いてきた辞書。
Unicode化される前の辞書で、検索はスムーズに出来たのですが発音記号が文字化けします。OSのバージョンが古いからかなとかターミナルのフォント設定変えたらなんとかなるかなとか思ったり。(後述)
発音記号が化けてる以外はちゃんと検索できているようです。
英辞郎132
これは英辞郎製作元であるEDPさんから入手できる最新版(2012/1/9)です。Unicode(BOCU-1)辞書(PDIC6)になっています。
こちらでは発音記号がちゃんと出たので、英辞郎98で化けるのは単にPDIC5以前の発音記号コードをUnicodeに変換するのをさぼってるだけなのを把握。これはノウハウがあるので後で実装します…
インデックスの作成
前方一致以外の検索(suffix array検索、正規表現検索*2)を行う場合、先にインデックス(英辞郎シリーズの場合、英辞郎・和英辞郎・略辞郎・例辞郎の分をあわせて1GB程度)を作成し、loadpathが通ったところに置いておく必要があります。
(.use コマンドで)辞書が選択された状態で
.make toc
コマンドを実行すると辞書インデックスとかsuffix arrayとか作ってくれるのですが、MacBook Airでは1分かからない処理がなかなか終わらないし雪が降ってて寒いのでAirで作ったインデックスファイル群を転送しました。
実食
PDIC CUI Search ver 0.6 (c)2012 @naoya_t. All Rights Reserved. 読み込み中... // verbose mode = ON // direct dump mode = ON // ANSI coloring mode = ON // full search mode = ON // render count limit = 100 // stop_on_limit = ON 英辞郎132>
単語ないしフレーズを直接打ち込んで [RETURN] で検索が行われます。正規表現でいうと
- word or phrase → /(?i)^word or phrase$/
- word or phrase* → /(?i)^word or phrase/
- *word or phrase → /\bword or phrase/ (※単語の切れ目でしか検索しないのは今のところ英文のみ)
- /word or phrase/ → /word or phrase/ (※そのまま正規表現として)
のような検索になります。
古いMacですが、とりあえず現バージョンで十分実用的な速度が出ていると思います。