Class: RDocF95::SimpleParser

Inherits:
Object
  • Object
show all
Defined in:
lib/rdoc-f95/parsers/parse_simple.rb

Overview

Parse a non-source file. We basically take the whole thing as one big comment. If the first character in the file is '#', we strip leading pound signs.

Instance Method Summary collapse

Constructor Details

#initialize(top_level, file_name, body, options, stats) ⇒ SimpleParser

Prepare to parse a plain file


14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rdoc-f95/parsers/parse_simple.rb', line 14

def initialize(top_level, file_name, body, options, stats)
  preprocess = RDocF95::Markup::PreProcess.new(file_name, options.rdoc_include)

  preprocess.handle(body) do |directive, param|
    warn "Unrecognized directive '#{directive}' in #{file_name}"
  end

  @body = body
  @options = options
  @top_level = top_level
end

Instance Method Details

#remove_private_comments(comment) ⇒ Object


34
35
36
# File 'lib/rdoc-f95/parsers/parse_simple.rb', line 34

def remove_private_comments(comment)
  comment.gsub(/^--[^-].*?^\+\+/m, '').sub(/^--.*/m, '')
end

#scanObject

Extract the file contents and attach them to the toplevel as a comment


29
30
31
32
# File 'lib/rdoc-f95/parsers/parse_simple.rb', line 29

def scan
  @top_level.comment = remove_private_comments(@body)
  @top_level
end