Class: RDocF95::SimpleParser
- Inherits:
-
Object
- Object
- RDocF95::SimpleParser
- 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
-
#initialize(top_level, file_name, body, options, stats) ⇒ SimpleParser
constructor
Prepare to parse a plain file.
- #remove_private_comments(comment) ⇒ Object
-
#scan ⇒ Object
Extract the file contents and attach them to the toplevel as a comment.
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, , stats) preprocess = RDocF95::Markup::PreProcess.new(file_name, .rdoc_include) preprocess.handle(body) do |directive, param| warn "Unrecognized directive '#{directive}' in #{file_name}" end @body = body @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 |
#scan ⇒ Object
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 |