class RDoc::Markdown

def _Label

Label = "[" (!"^" &{ notes? } | &. &{ !notes? }) @StartList:a (!"]" Inline:l { a << l })* "]" { a.join.gsub(/\s+/, ' ') }
def _Label
  _save = self.pos
  while true # sequence
    _tmp = match_string("[")
    unless _tmp
      self.pos = _save
      break
    end
    _save1 = self.pos
    while true # choice
      _save2 = self.pos
      while true # sequence
        _save3 = self.pos
        _tmp = match_string("^")
        _tmp = _tmp ? nil : true
        self.pos = _save3
        unless _tmp
          self.pos = _save2
          break
        end
        _save4 = self.pos
        _tmp = begin;  notes? ; end
        self.pos = _save4
        unless _tmp
          self.pos = _save2
        end
        break
      end # end sequence
      break if _tmp
      self.pos = _save1
      _save5 = self.pos
      while true # sequence
        _save6 = self.pos
        _tmp = get_byte
        self.pos = _save6
        unless _tmp
          self.pos = _save5
          break
        end
        _save7 = self.pos
        _tmp = begin;  !notes? ; end
        self.pos = _save7
        unless _tmp
          self.pos = _save5
        end
        break
      end # end sequence
      break if _tmp
      self.pos = _save1
      break
    end # end choice
    unless _tmp
      self.pos = _save
      break
    end
    _tmp = _StartList()
    a = @result
    unless _tmp
      self.pos = _save
      break
    end
    while true
      _save9 = self.pos
      while true # sequence
        _save10 = self.pos
        _tmp = match_string("]")
        _tmp = _tmp ? nil : true
        self.pos = _save10
        unless _tmp
          self.pos = _save9
          break
        end
        _tmp = apply(:_Inline)
        l = @result
        unless _tmp
          self.pos = _save9
          break
        end
        @result = begin;  a << l ; end
        _tmp = true
        unless _tmp
          self.pos = _save9
        end
        break
      end # end sequence
      break unless _tmp
    end
    _tmp = true
    unless _tmp
      self.pos = _save
      break
    end
    _tmp = match_string("]")
    unless _tmp
      self.pos = _save
      break
    end
    @result = begin;  a.join.gsub(/\s+/, ' ') ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_Label unless _tmp
  return _tmp
end