class RDoc::Markdown

def _DefinitionListItem

DefinitionListItem = DefinitionListLabel+:label DefinitionListDefinition+:defns { list_items = [] list_items << RDoc::Markup::ListItem.new(label, defns.shift) list_items.concat defns.map { |defn| RDoc::Markup::ListItem.new nil, defn } unless list_items.empty? list_items }
def _DefinitionListItem
  _save = self.pos
  while true # sequence
    _save1 = self.pos
    _ary = []
    _tmp = apply(:_DefinitionListLabel)
    if _tmp
      _ary << @result
      while true
        _tmp = apply(:_DefinitionListLabel)
        _ary << @result if _tmp
        break unless _tmp
      end
      _tmp = true
      @result = _ary
    else
      self.pos = _save1
    end
    label = @result
    unless _tmp
      self.pos = _save
      break
    end
    _save2 = self.pos
    _ary = []
    _tmp = apply(:_DefinitionListDefinition)
    if _tmp
      _ary << @result
      while true
        _tmp = apply(:_DefinitionListDefinition)
        _ary << @result if _tmp
        break unless _tmp
      end
      _tmp = true
      @result = _ary
    else
      self.pos = _save2
    end
    defns = @result
    unless _tmp
      self.pos = _save
      break
    end
    @result = begin;  list_items = []
                     list_items <<
                       RDoc::Markup::ListItem.new(label, defns.shift)
                     list_items.concat defns.map { |defn|
                       RDoc::Markup::ListItem.new nil, defn
                     } unless list_items.empty?
                     list_items
                   ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_DefinitionListItem unless _tmp
  return _tmp
end