class RDoc::Markdown

def _ListItemTight

ListItemTight = (Bullet | Enumerator) ListBlock:a (!@BlankLine ListContinuationBlock:b { a.push(*b) })* !ListContinuationBlock { list_item_from a }
def _ListItemTight
  _save = self.pos
  while true # sequence
    _save1 = self.pos
    while true # choice
      _tmp = apply(:_Bullet)
      break if _tmp
      self.pos = _save1
      _tmp = apply(:_Enumerator)
      break if _tmp
      self.pos = _save1
      break
    end # end choice
    unless _tmp
      self.pos = _save
      break
    end
    _tmp = apply(:_ListBlock)
    a = @result
    unless _tmp
      self.pos = _save
      break
    end
    while true
      _save3 = self.pos
      while true # sequence
        _save4 = self.pos
        _tmp = _BlankLine()
        _tmp = _tmp ? nil : true
        self.pos = _save4
        unless _tmp
          self.pos = _save3
          break
        end
        _tmp = apply(:_ListContinuationBlock)
        b = @result
        unless _tmp
          self.pos = _save3
          break
        end
        @result = begin;  a.push(*b) ; end
        _tmp = true
        unless _tmp
          self.pos = _save3
        end
        break
      end # end sequence
      break unless _tmp
    end
    _tmp = true
    unless _tmp
      self.pos = _save
      break
    end
    _save5 = self.pos
    _tmp = apply(:_ListContinuationBlock)
    _tmp = _tmp ? nil : true
    self.pos = _save5
    unless _tmp
      self.pos = _save
      break
    end
    @result = begin;  list_item_from a ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_ListItemTight unless _tmp
  return _tmp
end