class RDoc::Markdown

def _StrChunk

StrChunk = < (@NormalChar | /_+/ &Alphanumeric)+ > { text }
def _StrChunk
  _save = self.pos
  while true # sequence
    _text_start = self.pos
    _save1 = self.pos
    _save2 = self.pos
    while true # choice
      _tmp = _NormalChar()
      break if _tmp
      self.pos = _save2
      _save3 = self.pos
      while true # sequence
        _tmp = scan(/\G(?-mix:_+)/)
        unless _tmp
          self.pos = _save3
          break
        end
        _save4 = self.pos
        _tmp = apply(:_Alphanumeric)
        self.pos = _save4
        unless _tmp
          self.pos = _save3
        end
        break
      end # end sequence
      break if _tmp
      self.pos = _save2
      break
    end # end choice
    if _tmp
      while true
        _save5 = self.pos
        while true # choice
          _tmp = _NormalChar()
          break if _tmp
          self.pos = _save5
          _save6 = self.pos
          while true # sequence
            _tmp = scan(/\G(?-mix:_+)/)
            unless _tmp
              self.pos = _save6
              break
            end
            _save7 = self.pos
            _tmp = apply(:_Alphanumeric)
            self.pos = _save7
            unless _tmp
              self.pos = _save6
            end
            break
          end # end sequence
          break if _tmp
          self.pos = _save5
          break
        end # end choice
        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;  text ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_StrChunk unless _tmp
  return _tmp
end