/tools/Ruby/lib/ruby/1.8/rdoc/parsers/parse_simple.rb
http://github.com/agross/netopenspace · Ruby · 41 lines · 22 code · 11 blank · 8 comment · 0 complexity · 5e00f0d90acdc7488260a5dcf7301dd4 MD5 · raw file
- # 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.
- require "rdoc/code_objects"
- require "rdoc/markup/simple_markup/preprocess"
- module RDoc
- # See rdoc/parsers/parse_c.rb
- class SimpleParser
-
- # prepare to parse a plain file
- def initialize(top_level, file_name, body, options, stats)
-
- preprocess = SM::PreProcess.new(file_name, options.rdoc_include)
-
- preprocess.handle(body) do |directive, param|
- $stderr.puts "Unrecognized directive '#{directive}' in #{file_name}"
- end
-
- @body = body
- @options = options
- @top_level = top_level
- end
-
- # Extract the file contents and attach them to the toplevel as a
- # comment
-
- def scan
- # @body.gsub(/^(\s\n)+/, '')
- @top_level.comment = remove_private_comments(@body)
- @top_level
- end
- def remove_private_comments(comment)
- comment.gsub(/^--.*?^\+\+/m, '').sub(/^--.*/m, '')
- end
- end
- end