読者です 読者をやめる 読者になる 読者になる

naoya_t@hatenablog

いわゆるチラシノウラであります

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

  • バイナリはここにあるx86_64版ビルドで。(re2も入ってる版です)
  • 辞書は英辞郎98と英辞郎132を試してみた

前準備

.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] で検索が行われます。正規表現でいうと

  1. word or phrase → /(?i)^word or phrase$/
  2. word or phrase* → /(?i)^word or phrase/
  3. *word or phrase → /\bword or phrase/ (※単語の切れ目でしか検索しないのは今のところ英文のみ)
  4. /word or phrase/ → /word or phrase/ (※そのまま正規表現として)

のような検索になります。
f:id:n4_t:20120120100759p:plain
古いMacですが、とりあえず現バージョンで十分実用的な速度が出ていると思います。

あとがき

コードをgithubに置いてあるので

git clone git://github.com/naoyat/pdic-cui-search.git

でソースが取れます。ライセンスはGNU LGPL ver.2です。

PDIC資産の活用が主目的*3なので、(当然)英辞郎以外の辞書も利用できます。というか英辞郎以外もじゃんじゃん使ってください。

まだまだやりたい事やれる事*4いろいろあるのでバージョン0.6を名乗っています。(CUI版で十分な気がしてしまって個人的に今あまり必要を感じないものの)GUI版もそのうち用意する予定。