Class: RDoc::RD::BlockParser
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
          Racc::Parser
         | |
| Instance Chain: 
          self,
          Racc::Parser
         | |
| Inherits: | Racc::Parser 
 | 
| Defined in: | lib/rdoc/rd/block_parser.rb | 
Overview
::RDoc::RD format parser for headings, paragraphs, lists, verbatim sections that exist as blocks.
Constant Summary
- 
    MARK_TO_LEVEL =
    Internal use only
    
 # File 'lib/rdoc/rd/block_parser.rb', line 23{ '=' => 1, '==' => 2, '===' => 3, '====' => 4, '+' => 5, '++' => 6, }
- 
    Racc_arg =
    Internal use only
    
 # File 'lib/rdoc/rd/block_parser.rb', line 608[ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ] 
- 
    Racc_debug_parser =
    Internal use only
    
 # File 'lib/rdoc/rd/block_parser.rb', line 674false
- 
    Racc_token_to_s_table =
    Internal use only
    
 # File 'lib/rdoc/rd/block_parser.rb', line 624[ "$end", "error", "DUMMY", "ITEMLISTLINE", "ENUMLISTLINE", "DESCLISTLINE", "METHODLISTLINE", "STRINGLINE", "WHITELINE", "SUBTREE", "HEADLINE", "INCLUDE", "INDENT", "DEDENT", "$start", "document", "blocks", "block", "textblock", "verbatim", "lists", "headline", "include", "textblockcontent", "verbatimcontent", "verbatim_after_lists", "list", "itemlist", "enumlist", "desclist", "methodlist", "lists2", "itemlistitems", "itemlistitem", "first_textblock_in_itemlist", "other_blocks_in_list", "enumlistitems", "enumlistitem", "first_textblock_in_enumlist", "desclistitems", "desclistitem", "description_part", "methodlistitems", "methodlistitem", "whitelines", "blocks_in_list", "block_in_list", "whitelines2" ] 
- 
    TMPFILE =
    Internal use only
    
 # File 'lib/rdoc/rd/block_parser.rb', line 21["rdtmp", $$, 0] 
Class Method Summary
- 
    
      .new  ⇒ BlockParser 
    
    constructor
    Creates a new BlockParser.
Instance Attribute Summary
- 
    
      #footnotes  
    
    readonly
    Footnotes for this document. 
- 
    
      #include_path  
    
    rw
    Path to find included files in. 
- 
    
      #labels  
    
    readonly
    Labels for items in this document. 
Instance Method Summary
- 
    
      #add_footnote(content)  
    
    Adds footnote #content to the document. 
- 
    
      #add_label(label)  
    
    Adds label labelto the document.
- 
    
      #content(values)  
    
    Retrieves the content of valuesas a single String.
- 
    
      #line_index  
    
    Current line number. 
- 
    
      #on_error(et, ev, _values)  
    
    Raises a ParseError when invalid formatting is found. 
- 
    
      #paragraph(value)  
    
    Creates a paragraph for value
- 
    
      #parse(src)  
    
    Parses srcand returns an::RDoc::Markup::Document.
- 
    
      #cut_off(src)  
    
    private
    Cuts off excess whitespace in src
- 
    
      #format_line_num(*line_numbers)  
    
    private
    Formats line numbers line_numbersprettily.
- 
    
      #get_included(file)  
    
    private
    Retrieves the content for filefrom the include_path.
- 
    
      #if_current_indent_equal(indent)  
    
    private
    Yields to the given block if indentmatches the current indent, otherwise an indentation token is processed.
- 
    
      #parse_subtree(src)  
    
    private
    Parses subtree src
- #set_term_to_element(parent, term) private
- 
    
      #_reduce_1(val, _values, result)  
    
    Internal use only
    reduce 0 omitted. 
- #_reduce_10(val, _values, result) Internal use only
- #_reduce_11(val, _values, result) Internal use only
- #_reduce_12(val, _values, result) Internal use only
- #_reduce_13(val, _values, result) Internal use only
- #_reduce_14(val, _values, result) Internal use only
- #_reduce_15(val, _values, result) Internal use only
- #_reduce_16(val, _values, result) Internal use only
- #_reduce_17(val, _values, result) Internal use only
- #_reduce_18(val, _values, result) Internal use only
- #_reduce_19(val, _values, result) Internal use only
- #_reduce_2(val, _values, result) Internal use only
- #_reduce_20(val, _values, result) Internal use only
- #_reduce_21(val, _values, result) Internal use only
- #_reduce_22(val, _values, result) Internal use only
- 
    
      #_reduce_27(val, _values, result)  
    
    Internal use only
    reduce 26 omitted. 
- #_reduce_28(val, _values, result) Internal use only
- #_reduce_29(val, _values, result) Internal use only
- #_reduce_3(val, _values, result) Internal use only
- #_reduce_30(val, _values, result) Internal use only
- #_reduce_31(val, _values, result) Internal use only
- #_reduce_32(val, _values, result) Internal use only
- #_reduce_33(val, _values, result) Internal use only
- #_reduce_34(val, _values, result) Internal use only
- #_reduce_35(val, _values, result) Internal use only
- #_reduce_36(val, _values, result) Internal use only
- #_reduce_37(val, _values, result) Internal use only
- #_reduce_38(val, _values, result) Internal use only
- #_reduce_39(val, _values, result) Internal use only
- #_reduce_4(val, _values, result) Internal use only
- #_reduce_40(val, _values, result) Internal use only
- #_reduce_41(val, _values, result) Internal use only
- #_reduce_42(val, _values, result) Internal use only
- #_reduce_43(val, _values, result) Internal use only
- #_reduce_44(val, _values, result) Internal use only
- #_reduce_45(val, _values, result) Internal use only
- #_reduce_46(val, _values, result) Internal use only
- #_reduce_47(val, _values, result) Internal use only
- #_reduce_48(val, _values, result) Internal use only
- #_reduce_49(val, _values, result) Internal use only
- #_reduce_5(val, _values, result) Internal use only
- #_reduce_50(val, _values, result) Internal use only
- #_reduce_51(val, _values, result) Internal use only
- #_reduce_52(val, _values, result) Internal use only
- 
    
      #_reduce_54(val, _values, result)  
    
    Internal use only
    reduce 53 omitted. 
- #_reduce_55(val, _values, result) Internal use only
- 
    
      #_reduce_57(val, _values, result)  
    
    Internal use only
    reduce 56 omitted. 
- #_reduce_6(val, _values, result) Internal use only
- 
    
      #_reduce_62(val, _values, result)  
    
    Internal use only
    reduce 61 omitted. 
- #_reduce_63(val, _values, result) Internal use only
- #_reduce_64(val, _values, result) Internal use only
- #_reduce_65(val, _values, result) Internal use only
- #_reduce_66(val, _values, result) Internal use only
- #_reduce_67(val, _values, result) Internal use only
- #_reduce_68(val, _values, result) Internal use only
- #_reduce_69(val, _values, result) Internal use only
- 
    
      #_reduce_71(val, _values, result)  
    
    Internal use only
    reduce 70 omitted. 
- #_reduce_72(val, _values, result) Internal use only
- 
    
      #_reduce_8(val, _values, result)  
    
    Internal use only
    reduce 7 omitted. 
- #_reduce_9(val, _values, result) Internal use only
- #_reduce_none(val, _values, result) Internal use only
- 
    
      #next_token  
    
    Internal use only
    Returns the next token from the document. 
Constructor Details
    .new  ⇒ BlockParser 
  
Creates a new BlockParser.  Use #parse to parse an rd-format document.
# File 'lib/rdoc/rd/block_parser.rb', line 53
def initialize @inline_parser = RDoc::RD::InlineParser.new self @include_path = [] # for testing @footnotes = [] @labels = {} end
Instance Attribute Details
#footnotes (readonly)
Footnotes for this document
# File 'lib/rdoc/rd/block_parser.rb', line 37
attr_reader :footnotes
#include_path (rw)
Path to find included files in
# File 'lib/rdoc/rd/block_parser.rb', line 47
attr_accessor :include_path
#labels (readonly)
Labels for items in this document
# File 'lib/rdoc/rd/block_parser.rb', line 42
attr_reader :labels
Instance Method Details
#_reduce_1(val, _values, result)
reduce 0 omitted
#_reduce_10(val, _values, result)
#_reduce_11(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 727
def _reduce_11(val, _values, result) result = val[0].parts result end
#_reduce_12(val, _values, result)
#_reduce_13(val, _values, result)
#_reduce_14(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 746
def _reduce_14(val, _values, result) # val[0] is Array of String result = paragraph val[0] result end
#_reduce_15(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 753
def _reduce_15(val, _values, result) result << val[1].rstrip result end
#_reduce_16(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 758
def _reduce_16(val, _values, result) result = [val[0].rstrip] result end
#_reduce_17(val, _values, result)
#_reduce_18(val, _values, result)
#_reduce_19(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 785
def _reduce_19(val, _values, result) result << val[1] result end
#_reduce_2(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 685
def _reduce_2(val, _values, result) raise ParseError, "file empty" result end
#_reduce_20(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 791
def _reduce_20(val, _values, result) result.concat val[2] result end
#_reduce_21(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 797
def _reduce_21(val, _values, result) result << "\n" result end
#_reduce_22(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 803
def _reduce_22(val, _values, result) result = val # inform to lexer. @in_verbatim = true result end
#_reduce_27(val, _values, result)
reduce 26 omitted
# File 'lib/rdoc/rd/block_parser.rb', line 819
def _reduce_27(val, _values, result) result = val[0] result end
#_reduce_28(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 825
def _reduce_28(val, _values, result) result = val[1] result end
#_reduce_29(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 831
def _reduce_29(val, _values, result) result = val[1].push(val[2]) result end
#_reduce_3(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 690
def _reduce_3(val, _values, result) result = val[0].concat val[1] result end
#_reduce_30(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 837
def _reduce_30(val, _values, result) result = val[0] << val[1] result end
#_reduce_31(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 842
def _reduce_31(val, _values, result) result = [val[0]] result end
#_reduce_32(val, _values, result)
#_reduce_33(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 853
def _reduce_33(val, _values, result) result.push(val[1]) result end
#_reduce_34(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 858
def _reduce_34(val, _values, result) result = val result end
#_reduce_35(val, _values, result)
#_reduce_36(val, _values, result)
#_reduce_37(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 875
def _reduce_37(val, _values, result) result.push(val[1]) result end
#_reduce_38(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 880
def _reduce_38(val, _values, result) result = val result end
#_reduce_39(val, _values, result)
#_reduce_4(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 695
def _reduce_4(val, _values, result) result = val[0] result end
#_reduce_40(val, _values, result)
#_reduce_41(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 897
def _reduce_41(val, _values, result) result.push(val[1]) result end
#_reduce_42(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 902
def _reduce_42(val, _values, result) result = val result end
#_reduce_43(val, _values, result)
#_reduce_44(val, _values, result)
#_reduce_45(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 921
def _reduce_45(val, _values, result) result.push(val[1]) result end
#_reduce_46(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 926
def _reduce_46(val, _values, result) result = val result end
#_reduce_47(val, _values, result)
#_reduce_48(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 937
def _reduce_48(val, _values, result) result = [val[1]].concat(val[2]) result end
#_reduce_49(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 943
def _reduce_49(val, _values, result) result = [val[1]] result end
#_reduce_5(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 700
def _reduce_5(val, _values, result) result = val result end
#_reduce_50(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 949
def _reduce_50(val, _values, result) result = val[2] result end
#_reduce_51(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 955
def _reduce_51(val, _values, result) result = [] result end
#_reduce_52(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 961
def _reduce_52(val, _values, result) result.concat val[1] result end
#_reduce_54(val, _values, result)
reduce 53 omitted
# File 'lib/rdoc/rd/block_parser.rb', line 968
def _reduce_54(val, _values, result) result = val result end
#_reduce_55(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 973
def _reduce_55(val, _values, result) result = val result end
#_reduce_57(val, _values, result)
reduce 56 omitted
# File 'lib/rdoc/rd/block_parser.rb', line 980
def _reduce_57(val, _values, result) result = [] result end
#_reduce_6(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 705
def _reduce_6(val, _values, result) result = val result end
#_reduce_62(val, _values, result)
reduce 61 omitted
# File 'lib/rdoc/rd/block_parser.rb', line 993
def _reduce_62(val, _values, result) result = paragraph [val[0]].concat(val[1]) result end
#_reduce_63(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 999
def _reduce_63(val, _values, result) result = paragraph [val[0]] result end
#_reduce_64(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1005
def _reduce_64(val, _values, result) result = paragraph [val[0]].concat(val[1]) result end
#_reduce_65(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1011
def _reduce_65(val, _values, result) result = paragraph [val[0]] result end
#_reduce_66(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1017
def _reduce_66(val, _values, result) result = [val[0]].concat(val[1]) result end
#_reduce_67(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1023
def _reduce_67(val, _values, result) result.concat val[1] result end
#_reduce_68(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1028
def _reduce_68(val, _values, result) result = val[1] result end
#_reduce_69(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1033
def _reduce_69(val, _values, result) result = val result end
#_reduce_71(val, _values, result)
reduce 70 omitted
# File 'lib/rdoc/rd/block_parser.rb', line 1040
def _reduce_71(val, _values, result) result = [] result end
#_reduce_72(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1045
def _reduce_72(val, _values, result) result = [] result end
#_reduce_8(val, _values, result)
reduce 7 omitted
# File 'lib/rdoc/rd/block_parser.rb', line 712
def _reduce_8(val, _values, result) result = val result end
#_reduce_9(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 717
def _reduce_9(val, _values, result) result = val result end
#_reduce_none(val, _values, result)
# File 'lib/rdoc/rd/block_parser.rb', line 1050
def _reduce_none(val, _values, result) val[0] end
#add_footnote(content)
Adds footnote #content to the document
# File 'lib/rdoc/rd/block_parser.rb', line 397
def add_footnote content index = @footnotes.length / 2 + 1 footmark_link = "{^#{index}}[rdoc-label:footmark-#{index}:foottext-#{index}]" @footnotes << RDoc::Markup::Paragraph.new(footmark_link, ' ', *content) @footnotes << RDoc::Markup::BlankLine.new index end
#add_label(label)
Adds label label to the document
# File 'lib/rdoc/rd/block_parser.rb', line 411
def add_label label @labels[label] = true label end
#content(values)
Retrieves the content of values as a single String
# File 'lib/rdoc/rd/block_parser.rb', line 380
def content values values.map { |value| value.content }.join end
#cut_off(src) (private)
Cuts off excess whitespace in src
# File 'lib/rdoc/rd/block_parser.rb', line 283
def cut_off(src) ret = [] whiteline_buf = [] line = src.shift /^\s*/ =~ line indent = Regexp.quote($&) ret.push($') while line = src.shift if /^(\s*)$/ =~ line whiteline_buf.push(line) elsif /^#{indent}/ =~ line unless whiteline_buf.empty? ret.concat(whiteline_buf) whiteline_buf.clear end ret.push($') else raise "[BUG]: probably Parser Error while cutting off.\n" end end ret end
#format_line_num(*line_numbers) (private)
Formats line numbers line_numbers prettily
# File 'lib/rdoc/rd/block_parser.rb', line 371
def format_line_num(*line_numbers) width = line_numbers.collect{|i| i.to_s.length }.max line_numbers.collect{|i| sprintf("%#{width}d", i) } end
#get_included(file) (private)
Retrieves the content for file from the include_path
# File 'lib/rdoc/rd/block_parser.rb', line 352
def get_included(file) included = [] @include_path.each do |dir| file_name = File.join dir, file if File.exist? file_name then included = IO.readlines file_name break end end included end
#if_current_indent_equal(indent) (private)
Yields to the given block if indent matches the current indent, otherwise an indentation token is processed.
# File 'lib/rdoc/rd/block_parser.rb', line 265
def if_current_indent_equal(indent) indent = indent.sub(/\t/, "\s" * 8) if @current_indent == indent @i += 1 # next line yield elsif indent.index(@current_indent) == 0 @indent_stack.push(indent[@current_indent.size .. -1]) [:INDENT, ":INDENT"] else @indent_stack.pop [:DEDENT, ":DEDENT"] end end
#line_index
Current line number
# File 'lib/rdoc/rd/block_parser.rb', line 335
def line_index @i end
#next_token
Returns the next token from the document
# File 'lib/rdoc/rd/block_parser.rb', line 109
def next_token # :nodoc:
  # preprocessing
  # if it is not in RD part
  # => method
  while @in_part != "rd"
    line = @src[@i]
    @i += 1 # next line
    case line
    # src end
    when false
      return [false, false]
    # RD part begin
    when /^=begin\s*(?:\bRD\b.*)?\s*$/
      if @in_part # if in non-RD part
        @part_content.push(line)
      else
        @in_part = "rd"
        return [:WHITELINE, "=begin\n"] # <= for textblockand
      end
    # non-RD part begin
    when /^=begin\s(\w)/
      part = $1
      if @in_part # if in non-RD part
        @part_content.push(line)
      else
        @in_part = part if @tree.filter[part] # if filter exists
#  p "BEGIN_PART: #{@in_part}" # DEBUG
      end
    # non-RD part end
    when /^=end/
      if @in_part # if in non-RD part
#  p "END_PART: #{@in_part}" # DEBUG
        # make Part-in object
        part = RDoc::RD::Part.new(@part_content.join(""), @tree, "r")
        @part_content.clear
        # call filter, part_out is output(Part object)
        part_out = @tree.filter[@in_part].call(part)
        if @tree.filter[@in_part].mode == :rd # if output is RD formatted
          subtree = parse_subtree(part_out.to_a)
        else # if output is target formatted
          basename = TMPFILE.join('.')
          TMPFILE[-1] += 1
          tmpfile = open(@tree.tmp_dir + "/" + basename + ".#{@in_part}", "w")
          tmpfile.print(part_out)
          tmpfile.close
          subtree = parse_subtree(["=begin\n", "<<< #{basename}\n", "=end\n"])
        end
        @in_part = nil
        return [:SUBTREE, subtree]
      end
    else
      if @in_part # if in non-RD part
        @part_content.push(line)
      end
    end
  end
  @current_indent = @indent_stack.join("")
  line = @src[@i]
  case line
  when false
    if_current_indent_equal("") do
      [false, false]
    end
  when /^=end/
    if_current_indent_equal("") do
      @in_part = nil
      [:WHITELINE, "=end"] # MUST CHANGE??
    end
  when /^\s*$/
    @i += 1 # next line
    return [:WHITELINE, ':WHITELINE']
  when /^\#/  # comment line
    @i += 1 # next line
    self.next_token()
  when /^(={1,4})(?!=)\s*(?=\S)/, /^(\{1,2})(?!\)\s*(?=\S)/
    rest = $'                    # '
    rest.strip!
    mark = $1
    if_current_indent_equal("") do
      return [:HEADLINE, [MARK_TO_LEVEL[mark], rest]]
    end
  when /^<<<\s*(\S+)/
    file = $1
    if_current_indent_equal("") do
      suffix = file[-3 .. -1]
      if suffix == ".rd" or suffix == ".rb"
        subtree = parse_subtree(get_included(file))
        [:SUBTREE, subtree]
      else
        [:INCLUDE, file]
      end
    end
  when /^(\s*)\*(\s*)/
    rest = $'                   # '
    newIndent = $2
    if_current_indent_equal($1) do
      if @in_verbatim
        [:STRINGLINE, line]
      else
        @indent_stack.push("\s" + newIndent)
        [:ITEMLISTLINE, rest]
      end
    end
  when /^(\s*)(\(\d+\))(\s*)/
    rest = $'                     # '
    mark = $2
    newIndent = $3
    if_current_indent_equal($1) do
      if @in_verbatim
        [:STRINGLINE, line]
      else
        @indent_stack.push("\s" * mark.size + newIndent)
        [:ENUMLISTLINE, rest]
      end
    end
  when /^(\s*):(\s*)/
    rest = $'                    # '
    newIndent = $2
    if_current_indent_equal($1) do
      if @in_verbatim
        [:STRINGLINE, line]
      else
        @indent_stack.push("\s#{$2}")
        [:DESCLISTLINE, rest]
      end
    end
  when /^(\s*)---(?!-|\s*$)/
    indent = $1
    rest = $'
    /\s*/ === rest
    term = $'
    new_indent = $&
    if_current_indent_equal(indent) do
      if @in_verbatim
        [:STRINGLINE, line]
      else
        @indent_stack.push("\s\s\s" + new_indent)
        [:METHODLISTLINE, term]
      end
    end
  when /^(\s*)/
    if_current_indent_equal($1) do
      [:STRINGLINE, line]
    end
  else
    raise "[BUG] parsing error may occurred."
  end
end
  #on_error(et, ev, _values)
Raises a ParseError when invalid formatting is found
# File 'lib/rdoc/rd/block_parser.rb', line 319
def on_error(et, ev, _values) prv, cur, nxt = format_line_num(@i, @i+1, @i+2) raise ParseError, <<Msg RD syntax error: line #{@i+1}: #{prv} |#{@src[@i-1].chomp} #{cur}=>|#{@src[@i].chomp} #{nxt} |#{@src[@i+1].chomp} Msg end
#paragraph(value)
Creates a paragraph for value
#parse(src)
Parses src and returns an ::RDoc::Markup::Document.
# File 'lib/rdoc/rd/block_parser.rb', line 65
def parse src @src = src @src.push false @footnotes = [] @labels = {} # @i: index(line no.) of src @i = 0 # stack for current indentation @indent_stack = [] # how indented. @current_indent = @indent_stack.join("") # RDoc::RD::BlockParser for tmp src @subparser = nil # which part is in now @in_part = nil @part_content = [] @in_verbatim = false @yydebug = true document = do_parse unless @footnotes.empty? then blankline = document.parts.pop document.parts << RDoc::Markup::Rule.new(1) document.parts.concat @footnotes document.parts.push blankline end document end
#parse_subtree(src) (private)
Parses subtree src
#set_term_to_element(parent, term) (private)
[ GitHub ]# File 'lib/rdoc/rd/block_parser.rb', line 310
def set_term_to_element(parent, term) # parent.set_term_under_document_struct(term, @tree.document_struct) parent.set_term_without_document_struct(term) end