gonzui - perl 用 langscan モジュールの改造
gonzui 付属の Perl 用 langscan モジュールの挙動がいろいろ気になったので、改造して使っている。改造点は以下。
- PPI::Symbol 関連。
- sigil (先頭記号)を取り除いたものを ident と見なすようにした。*1
- sigil が '&' の場合、funcall と見なすようにした。
- '::' が含まれる場合、前半を classref と見なすようにした。
- PPI::Word 関連。
改造用パッチ: gonzui_perl_tokenizer.20051016.diff。
基本的には funcall 関連の改造が目的。
改造した副作用として、PPI::Tokenizer の代わりに PPI::Lexer を使うようにしたので、ソースの読み込み速度がオリジナル版より遅くなっている。
gonzui は、公式サイト(http://gonzui.sourceforge.net/)には「ソースコード検索エンジン」なんて書いてあるけど、ソースを読むためのツールとしてとても便利だ。gonzui のウェブインタフェースで特定のファイルをブラウズして、気になった関数名をクリックするとその関数を定義しているファイルが見付かったり、逆にその関数を呼び出しているファイルを見付けたりするのに超便利。