in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [835:907]
def _MultiLineComment
_save = self.pos
while true # choice
_save1 = self.pos
while true # sequence
_tmp = match_string("/*")
unless _tmp
self.pos = _save1
break
end
_text_start = self.pos
while true
_save3 = self.pos
while true # sequence
_save4 = self.pos
_tmp = match_string("*/")
_tmp = _tmp ? nil : true
self.pos = _save4
unless _tmp
self.pos = _save3
break
end
_tmp = apply(:_SourceCharacter)
unless _tmp
self.pos = _save3
end
break
end # end sequence
break unless _tmp
end
_tmp = true
if _tmp
text = get_text(_text_start)
end
unless _tmp
self.pos = _save1
break
end
_tmp = match_string("*/")
unless _tmp
self.pos = _save1
break
end
_tmp = apply(:_LineTerminatorSequence)
lf = @result
unless _tmp
self.pos = _save1
break
end
@result = begin; comment(text, 'multiline', lf); end
_tmp = true
unless _tmp
self.pos = _save1
end
break
end # end sequence
break if _tmp
self.pos = _save
_tmp = apply(:_MultiLineCommentNoLB)
break if _tmp
self.pos = _save
break
end # end choice
set_failed_rule :_MultiLineComment unless _tmp
return _tmp
end