class RDoc::Markdown

def _Doc

Doc = BOM? Block*:a { RDoc::Markup::Document.new(*a.compact) }
def _Doc
  _save = self.pos
  while true # sequence
    _save1 = self.pos
    _tmp = apply(:_BOM)
    unless _tmp
      _tmp = true
      self.pos = _save1
    end
    unless _tmp
      self.pos = _save
      break
    end
    _ary = []
    while true
      _tmp = apply(:_Block)
      _ary << @result if _tmp
      break unless _tmp
    end
    _tmp = true
    @result = _ary
    a = @result
    unless _tmp
      self.pos = _save
      break
    end
    @result = begin;  RDoc::Markup::Document.new(*a.compact) ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_Doc unless _tmp
  return _tmp
end