A parser is simple a class that subclasses RDoc::Parser
and implements scan to fill in an RDoc::TopLevel
with parsed data.
The initialize method takes an RDoc::TopLevel
to fill with parsed content, the name of the file to be parsed, the content of the file, an RDoc::Options
object and an RDoc::Stats
object to inform the user of parsed items. The scan method is then called to parse the file and must return the RDoc::TopLevel
object. By calling super these items will be set for you.
In order to be used by RDoc
the parser needs to register the file extensions it can parse. Use ::parse_files_matching to register extensions.
require 'rdoc' class RDoc::Parser::Xyz < RDoc::Parser parse_files_matching /\.xyz$/ def initialize top_level, file_name, content, options, stats super # extra initialization if needed end def scan # parse file and fill in @top_level end end