class RDoc::Markdown

def _ListLoose

ListLoose = @StartList:a (ListItem:b @BlankLine* { a << b })+ { a }
def _ListLoose
  _save = self.pos
  while true # sequence
    _tmp = _StartList()
    a = @result
    unless _tmp
      self.pos = _save
      break
    end
    _save1 = self.pos
    _save2 = self.pos
    while true # sequence
      _tmp = apply(:_ListItem)
      b = @result
      unless _tmp
        self.pos = _save2
        break
      end
      while true
        _tmp = _BlankLine()
        break unless _tmp
      end
      _tmp = true
      unless _tmp
        self.pos = _save2
        break
      end
      @result = begin;  a << b ; end
      _tmp = true
      unless _tmp
        self.pos = _save2
      end
      break
    end # end sequence
    if _tmp
      while true
        _save4 = self.pos
        while true # sequence
          _tmp = apply(:_ListItem)
          b = @result
          unless _tmp
            self.pos = _save4
            break
          end
          while true
            _tmp = _BlankLine()
            break unless _tmp
          end
          _tmp = true
          unless _tmp
            self.pos = _save4
            break
          end
          @result = begin;  a << b ; end
          _tmp = true
          unless _tmp
            self.pos = _save4
          end
          break
        end # end sequence
        break unless _tmp
      end
      _tmp = true
    else
      self.pos = _save1
    end
    unless _tmp
      self.pos = _save
      break
    end
    @result = begin;  a ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_ListLoose unless _tmp
  return _tmp
end