in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [947:1037]
def _EOS
_save = self.pos
while true # choice
_save1 = self.pos
while true # sequence
_tmp = apply(:__hyphen_)
unless _tmp
self.pos = _save1
break
end
_tmp = match_string(";")
unless _tmp
self.pos = _save1
end
break
end # end sequence
break if _tmp
self.pos = _save
_save2 = self.pos
while true # sequence
_save3 = self.pos
_tmp = apply(:_SnoLB)
unless _tmp
_tmp = true
self.pos = _save3
end
unless _tmp
self.pos = _save2
break
end
_tmp = apply(:_LineTerminatorSequence)
unless _tmp
self.pos = _save2
end
break
end # end sequence
break if _tmp
self.pos = _save
_save4 = self.pos
while true # sequence
_save5 = self.pos
_tmp = apply(:_SnoLB)
unless _tmp
_tmp = true
self.pos = _save5
end
unless _tmp
self.pos = _save4
break
end
_save6 = self.pos
_tmp = match_string("}")
self.pos = _save6
unless _tmp
self.pos = _save4
end
break
end # end sequence
break if _tmp
self.pos = _save
_save7 = self.pos
while true # sequence
_tmp = apply(:__hyphen_)
unless _tmp
self.pos = _save7
break
end
_tmp = apply(:_EOF)
unless _tmp
self.pos = _save7
end
break
end # end sequence
break if _tmp
self.pos = _save
break
end # end choice
set_failed_rule :_EOS unless _tmp
return _tmp
end