class RDoc::Markdown

def _SourceContents

SourceContents = ((!"(" !")" !">" Nonspacechar)+ | "(" SourceContents ")")*
def _SourceContents
  while true
    _save1 = self.pos
    while true # choice
      _save2 = self.pos
      _save3 = self.pos
      while true # sequence
        _save4 = self.pos
        _tmp = match_string("(")
        _tmp = _tmp ? nil : true
        self.pos = _save4
        unless _tmp
          self.pos = _save3
          break
        end
        _save5 = self.pos
        _tmp = match_string(")")
        _tmp = _tmp ? nil : true
        self.pos = _save5
        unless _tmp
          self.pos = _save3
          break
        end
        _save6 = self.pos
        _tmp = match_string(">")
        _tmp = _tmp ? nil : true
        self.pos = _save6
        unless _tmp
          self.pos = _save3
          break
        end
        _tmp = apply(:_Nonspacechar)
        unless _tmp
          self.pos = _save3
        end
        break
      end # end sequence
      if _tmp
        while true
          _save7 = self.pos
          while true # sequence
            _save8 = self.pos
            _tmp = match_string("(")
            _tmp = _tmp ? nil : true
            self.pos = _save8
            unless _tmp
              self.pos = _save7
              break
            end
            _save9 = self.pos
            _tmp = match_string(")")
            _tmp = _tmp ? nil : true
            self.pos = _save9
            unless _tmp
              self.pos = _save7
              break
            end
            _save10 = self.pos
            _tmp = match_string(">")
            _tmp = _tmp ? nil : true
            self.pos = _save10
            unless _tmp
              self.pos = _save7
              break
            end
            _tmp = apply(:_Nonspacechar)
            unless _tmp
              self.pos = _save7
            end
            break
          end # end sequence
          break unless _tmp
        end
        _tmp = true
      else
        self.pos = _save2
      end
      break if _tmp
      self.pos = _save1
      _save11 = self.pos
      while true # sequence
        _tmp = match_string("(")
        unless _tmp
          self.pos = _save11
          break
        end
        _tmp = apply(:_SourceContents)
        unless _tmp
          self.pos = _save11
          break
        end
        _tmp = match_string(")")
        unless _tmp
          self.pos = _save11
        end
        break
      end # end sequence
      break if _tmp
      self.pos = _save1
      break
    end # end choice
    break unless _tmp
  end
  _tmp = true
  set_failed_rule :_SourceContents unless _tmp
  return _tmp
end