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