requires=rdoc.parsers.parse_simple
classes=RDoc=ParserFactory
methods=
sublibraries=
is_sublibrary=true
category=

rdoc で解析できるファイルの種類を追加するためのサブライブラリです。

以下のメソッドを定義したクラスを作成する事で、新しいパーサクラスを作成
する事ができます。

 * #initialize(top_level, file_name, body, options, stats)
 * #scan

initialize メソッドは以下の引数を受け取ります。

 * top_level [[c:RDoc::TopLevel]] オブジェクトを指定します。
 * file_name: file_name ファイル名を文字列で指定します。
 * body: ソースコードの内容を文字列で指定します。
 * options: [[c:Options]] オブジェクトを指定します。
 * stats: [[c:RDoc::Stats]] オブジェクトを指定します。

scan メソッドは引数を受け取りません。処理の後は必ず
[[c:RDoc::TopLevel]] オブジェクトを返す必要があります。

また、[[c:RDoc::ParserFactory]] はファイル名からパーサクラスを取得する
のにも使われます。このために、新しく作成するパーサクラスでは
[[c:RDoc::ParserFactory]] を extend し、parse_files_matching メソッドで
自身が解析できるファイル名のパターンを登録しておく必要があります。

例:

   require "rdoc/parsers/parserfactory"
   
   module RDoc

     class XyzParser
       extend ParserFactory
       parse_files_matching /\.xyz$/

       def initialize(top_level, file_name, body, options, stats)
         ...
       end

       def scan
         ...
       end
     end
   end
