_AssignmentOperator

in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [4770:4852]


  def _AssignmentOperator

    _save = self.pos
    while true # sequence
      _text_start = self.pos

      _save1 = self.pos
      while true # choice

        _save2 = self.pos
        while true # sequence
          _tmp = match_string("=")
          unless _tmp
            self.pos = _save2
            break
          end
          _save3 = self.pos
          _tmp = match_string("=")
          _tmp = _tmp ? nil : true
          self.pos = _save3
          unless _tmp
            self.pos = _save2
          end
          break
        end # end sequence

        break if _tmp
        self.pos = _save1
        _tmp = match_string("*=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("|=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("%=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("+=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("-=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("<<=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string(">>=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string(">>>=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("&=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("^=")
        break if _tmp
        self.pos = _save1
        _tmp = match_string("|=")
        break if _tmp
        self.pos = _save1
        break
      end # end choice

      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 :_AssignmentOperator unless _tmp
    return _tmp
  end