File: parser.rb [rdoc: Ruby Standard Library Documentation]

Last Modified
  2021-11-24 04:21:17 -0700
Requires
  - rdoc/parser/simple
  - rdoc/parser/c
  - rdoc/parser/changelog
  - rdoc/parser/markdown
  - rdoc/parser/rd
  - rdoc/parser/ruby

## Description

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