class RDoc::Markdown

def _Str

Str = @StartList:a < @NormalChar+ > { a = text } (StrChunk:c { a << c })* { a }
def _Str
  _save = self.pos
  while true # sequence
    _tmp = _StartList()
    a = @result
    unless _tmp
      self.pos = _save
      break
    end
    _text_start = self.pos
    _save1 = self.pos
    _tmp = _NormalChar()
    if _tmp
      while true
        _tmp = _NormalChar()
        break unless _tmp
      end
      _tmp = true
    else
      self.pos = _save1
    end
    if _tmp
      text = get_text(_text_start)
    end
    unless _tmp
      self.pos = _save
      break
    end
    @result = begin;  a = text ; end
    _tmp = true
    unless _tmp
      self.pos = _save
      break
    end
    while true
      _save3 = self.pos
      while true # sequence
        _tmp = apply(:_StrChunk)
        c = @result
        unless _tmp
          self.pos = _save3
          break
        end
        @result = begin;  a << c ; 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
    @result = begin;  a ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_Str unless _tmp
  return _tmp
end