class RDoc::Markdown

def _UlLine

UlLine = (< /_{4,}/ > { text } | < @Spacechar /_+/ &@Spacechar > { text })
def _UlLine
  _save = self.pos
  while true # choice
    _save1 = self.pos
    while true # sequence
      _text_start = self.pos
      _tmp = scan(/\G(?-mix:_{4,})/)
      if _tmp
        text = get_text(_text_start)
      end
      unless _tmp
        self.pos = _save1
        break
      end
      @result = begin;  text ; end
      _tmp = true
      unless _tmp
        self.pos = _save1
      end
      break
    end # end sequence
    break if _tmp
    self.pos = _save
    _save2 = self.pos
    while true # sequence
      _text_start = self.pos
      _save3 = self.pos
      while true # sequence
        _tmp = _Spacechar()
        unless _tmp
          self.pos = _save3
          break
        end
        _tmp = scan(/\G(?-mix:_+)/)
        unless _tmp
          self.pos = _save3
          break
        end
        _save4 = self.pos
        _tmp = _Spacechar()
        self.pos = _save4
        unless _tmp
          self.pos = _save3
        end
        break
      end # end sequence
      if _tmp
        text = get_text(_text_start)
      end
      unless _tmp
        self.pos = _save2
        break
      end
      @result = begin;  text ; end
      _tmp = true
      unless _tmp
        self.pos = _save2
      end
      break
    end # end sequence
    break if _tmp
    self.pos = _save
    break
  end # end choice
  set_failed_rule :_UlLine unless _tmp
  return _tmp
end