naoya_t@hatenablog

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

PDIC CUI search - PDICを検索とか(ほげほげとか)する簡易CUIツール

PDIC辞書資産(英辞郎だけでなく中国語、フランス語、ドイツ語、アラビア語インドネシア語など色々あります)をコンソールでさくさく検索したくてここ1週間ぐらいC++でがりがりプログラム書いてます:
https://github.com/naoyat/pdic-cui-search

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

x86_64版バイナリはこちら

PDIC辞書自体もインデックスを持っていますが、それとは別に見出し語一覧とかsuffix arrayとかを独自に生成してちょっ速検索を行います。正規表現検索には、探索が線形時間で行けるという噂の(というか一昨日のエントリに書いてる)Google製エンジンre2を使ってみたりとかしています。
英辞郎(今週の月曜(1月9日)リリースの最新版Ver.132を利用中)4ファイル(合計555MBぐらい)に対し合計1GB程度のインデックスファイル群を生成するので、それをmmapして使います。インデックス作成は英辞郎の場合うちのMacBook Airで1〜2分でした。よくある数万語程度の辞書ならインデックスとsuffix arrayの作成がさくっと出来て、その後は見出し語・訳語・発音記号・用例からの全検索もさくさく*1です。

MacOS X 10.7上で、使ってるライブラリはiconvとre2(あとテストにgtest)程度です。
Mac以外でも動くかもしれないけどとりあえず黙殺します。

昔作ったDiDi*2を置き換えたいので、GUIフロントエンドもそのうち作ると思います。

こんな感じで検索できます:

英辞郎132> python
Python
【名-1】《ギリシャ神話》ピュトン◆デリュゲ(Deluge)が残した泥から産まれたヘビ(龍)。アポロ(Apollo)がデルフィ(Delphi)で退治した。
【名-2】《ギリシャ神話》ピュトン、世界大蛇◆世界を一匹の大蛇(ボア)と考えていた。
【名-3】《python》予言霊
【名-4】《動物》ニシキヘビ属
python [páiθɑn]
【名-1】《動物》ニシキヘビ、錦蛇、パイソン◆ニシキヘビ科(Pythonidae)のヘビの総称。アジア、アフリカ、オーストラリアに生息する大型のヘビで大きいものは6m以上になる。無毒で、獲物に巻き付いて窒息死させる。◆【語源】ギリシャ神話のピュトン(Python)から。
【名-2】〈俗〉<censored>
【@】パイソン、【変化】《複》pythons、【分節】py・thon

// matched 2 items, search&render:2.303msec.
英辞郎132> /(?i)python/
ball python
《動物》ボールニシキヘビ
Burmese python
《動物》ビルマニシキヘビ
carpet python
《動物》カーペットニシキヘビ◆オーストラリアに生息
full monty
【名-1】〈英俗〉すべてのもの、全部、一切、何もかも、何から何まで、全体◆【語源】full amountとイギリスのコメディ・グループ「Monty Python」のMontyをかけあわせた表現。◆【同】whole thing ; whole shebang ; going the whole way ; going all the way
【名-2】〈英俗〉<censored><censored><censored>、過大な要求をすること
gumby
【名-1】〈俗〉ばかげたしぐさ[行い]◆【語源】テレビ番組"Monty Python's Flying Circus"に繰り返し登場するGumby氏たちから。
【名-2】〈俗〉〔仕事ができない〕ばか、間抜け
Monty Python
モンティ・パイソン◆イギリスのコメディ・グループ。BBC放送で1969年から1974年にかけて放映されたお笑い番組「Monty Python's Flying Circus」を製作・自演。日本では1976年に東京12チャンネル(現テレビ東京)で「空飛ぶモンティ・パイソン」というタイトルで放映された。


...


神託のような
【形】oracular●pythonic
錦蛇
python《動物》〔ニシキヘビ科(Pythonidae)のヘビの総称。アジア、アフリカ、オーストラリアに生息する大型のヘビで大きいものは6m以上になる。無毒で、獲物に巻き付いて窒息死させる。◆【語源】ギリシャ神話のピュトン(Python)から。〕
魔女
Hexe〈独語〉〔【複】Hexen〕●enchantress●hex●lamia●pythoness●sorceress〔sorcererの女性形〕●wisewoman●witch
However, as the Pacific War intensified in the summer of 1943, Ueno Zoo's animals, including lions, leopards, tigers and pythons, which were regarded to be dangerous if they escaped, were put down by order of the military.
しかし、太平洋戦争が激しくなった1943年の夏、ライオン、ヒョウ、トラ、ニシキヘビなどの逃げると危険と見なされた上野動物園の動物は、軍の命令で殺されました。◆【出典】Hiragana Times, 2010年10月号(株式会社ヤック企画)◆【URL】http://www.hiraganatimes.com/ ◆file:HT288026.TXT


// matched 63 items, search&render:5864.485msec.
英辞郎132>

コンソールですがANSIエスケープで着色できます。(しないこともできます)