class RDoc::Markdown

def _SkipBlock

SkipBlock = (HtmlBlock | (!"#" !SetextBottom1 !SetextBottom2 !@BlankLine @RawLine)+ @BlankLine* | @BlankLine+ | @RawLine)
def _SkipBlock
  _save = self.pos
  while true # choice
    _tmp = apply(:_HtmlBlock)
    break if _tmp
    self.pos = _save
    _save1 = self.pos
    while true # sequence
      _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 = apply(:_SetextBottom1)
        _tmp = _tmp ? nil : true
        self.pos = _save5
        unless _tmp
          self.pos = _save3
          break
        end
        _save6 = self.pos
        _tmp = apply(:_SetextBottom2)
        _tmp = _tmp ? nil : true
        self.pos = _save6
        unless _tmp
          self.pos = _save3
          break
        end
        _save7 = self.pos
        _tmp = _BlankLine()
        _tmp = _tmp ? nil : true
        self.pos = _save7
        unless _tmp
          self.pos = _save3
          break
        end
        _tmp = _RawLine()
        unless _tmp
          self.pos = _save3
        end
        break
      end # end sequence
      if _tmp
        while true
          _save8 = self.pos
          while true # sequence
            _save9 = self.pos
            _tmp = match_string("#")
            _tmp = _tmp ? nil : true
            self.pos = _save9
            unless _tmp
              self.pos = _save8
              break
            end
            _save10 = self.pos
            _tmp = apply(:_SetextBottom1)
            _tmp = _tmp ? nil : true
            self.pos = _save10
            unless _tmp
              self.pos = _save8
              break
            end
            _save11 = self.pos
            _tmp = apply(:_SetextBottom2)
            _tmp = _tmp ? nil : true
            self.pos = _save11
            unless _tmp
              self.pos = _save8
              break
            end
            _save12 = self.pos
            _tmp = _BlankLine()
            _tmp = _tmp ? nil : true
            self.pos = _save12
            unless _tmp
              self.pos = _save8
              break
            end
            _tmp = _RawLine()
            unless _tmp
              self.pos = _save8
            end
            break
          end # end sequence
          break unless _tmp
        end
        _tmp = true
      else
        self.pos = _save2
      end
      unless _tmp
        self.pos = _save1
        break
      end
      while true
        _tmp = _BlankLine()
        break unless _tmp
      end
      _tmp = true
      unless _tmp
        self.pos = _save1
      end
      break
    end # end sequence
    break if _tmp
    self.pos = _save
    _save14 = self.pos
    _tmp = _BlankLine()
    if _tmp
      while true
        _tmp = _BlankLine()
        break unless _tmp
      end
      _tmp = true
    else
      self.pos = _save14
    end
    break if _tmp
    self.pos = _save
    _tmp = _RawLine()
    break if _tmp
    self.pos = _save
    break
  end # end choice
  set_failed_rule :_SkipBlock unless _tmp
  return _tmp
end