_RegularExpressionFirstChar

in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [9027:9083]


  def _RegularExpressionFirstChar

    _save = self.pos
    while true # choice

      _save1 = self.pos
      while true # sequence
        _save2 = self.pos

        _save3 = self.pos
        while true # choice
          _tmp = apply(:_LineTerminator)
          break if _tmp
          self.pos = _save3
          _tmp = match_string("*")
          break if _tmp
          self.pos = _save3
          _tmp = match_string("\\")
          break if _tmp
          self.pos = _save3
          _tmp = match_string("/")
          break if _tmp
          self.pos = _save3
          _tmp = match_string("[")
          break if _tmp
          self.pos = _save3
          break
        end # end choice

        _tmp = _tmp ? nil : true
        self.pos = _save2
        unless _tmp
          self.pos = _save1
          break
        end
        _tmp = apply(:_SourceCharacter)
        unless _tmp
          self.pos = _save1
        end
        break
      end # end sequence

      break if _tmp
      self.pos = _save
      _tmp = apply(:_RegularExpressionBackslashSequence)
      break if _tmp
      self.pos = _save
      _tmp = apply(:_RegularExpressionClass)
      break if _tmp
      self.pos = _save
      break
    end # end choice

    set_failed_rule :_RegularExpressionFirstChar unless _tmp
    return _tmp
  end