簡潔データ構造を利用したイケてる trie 実装 marisa-trie を Node.js で扱えるようにするための、誰得感溢れるモジュールを作ってみました。ソースコードと npm は以下のとおりに公開しています。
とりあえずデモ的なことをしてみましょう
ひとまず、marisa-trie のsample.cc の JavaScript 版を実行することを目標としましょう。
まずは、marisa-trie のインストールをします。
環境によっては、/usr/local/lib にインストールされた共有ライブラリが参照されなかったりするので、その場合は /etc/ld.so.conf.d/ ディレクトリあたりに /usr/local/lib ディレクトリ配下の共有ライブラリを参照させるような .conf ファイルを配置してください。
あとは node-marisa-trie を npm でインストールし、デモプログラムを実行するだけ、です。
API 構成について
詳細はいずれ作成する予定のドキュメントに譲るとして、原則として C++ 版の marisa-trie の API に準拠しています。ただし、[] 演算子など、一部実装ができていない関数があります。
今後の予定
- テストコードを書いて自動テストしたい。
- 未実装の機能を実装したい。
- 使い方・API のドキュメントを充実させたい。
- ドキュメントを英語化したい。
- node-gyp でビルドできるようにしたい (node v0.7.x 対応)。
参考にした情報
本モジュールを作成するにあたり、参考にした情報をポインタ的に列挙しておきます。- Node.js C/C++ アドオンの開発について
http://nodejs.org/api/addons.html - V8 の API リファレンス
http://izs.me/v8-docs/ - package.json の記述について
https://github.com/isaacs/npm/blob/master/doc/cli/json.md - npm の公開方法
http://tmlife.net/programming/javascript/node-js-ones-own-module-npm-how-to.html
0 コメント:
コメントを投稿