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