gonzuiでperlスクリプトを解析(失敗)
sos3(Script of Saga III)のソースコードを追ってみたのだが、
読んでいる内にめんどくさくなり、解析かけてしまえと思い、gonzuiを使うことにした。
ホントはGlobal(というか、htags)を使いたかったのだけど、対応していないので致し方ない。
VM上のLinuxに、既にRubyは入っていたので、ruby-bdbをyumで拾い、
gonzuiを落として展開、いつものようにconfigure、makeで完了。
ところが、perlが解析されない。。。
ぁ、perlの解析にはperlのPPIモジュールが必要なのね。
ってぇことで、PPIをyumで取ってきて、生成したものを削除した後に、再度configure、make。
[do@localhost gonzui]# ./gonzui-import --list-formats Autoconf autoconf Automake automake BrainFuck bf C# csharp C/C++ c CSS css D d Eiffel eiffel Emacs Lisp elisp Io io Java java JavaScript js Lua lua PHP php Perl perl Python python RPM SPEC rpmspec Ruby ruby Scheme scheme Text text shell script sh
OK。組み込まれた模様。
だけど、sos3はperlで書かれているが、.cgiという拡張子になっている。
CGIゲームだしね。
gonzuiは、デフォのままだと.cgiファイルをperlと認識してくれない(当然か)
そこで、gonzuiを展開したディレクトリ下にある、langscan/perl.rbに、対象とする拡張子".cgi"を加える
langscan/perl.rb
def extnames [".cgi", ".pl", ".PL", ".pm", ".t" ] # XXX remove ".t" end
これで、.cgiファイルがperlとして解析される……はずなのだが、うまくいかない。
gonzui-importを-vオプション付きで実行してやると、
(ファイル名) fallback to LangScan::Text
なんてエラー? が出ている。
どうやら、解析に失敗してデフォルトの解析エンジンが使われた模様。
原因分からず。
http://blog.bulknews.net/mt/archives/001598.html で宮川さんが
と言っているので、それが原因かも。
くはぁ。