It really shouldn't. Instead it should use the CST provided CST_error function and continue parsing. Right now it stops at the first parsing error.
I think this has been a point of contention of mine before and I do understand that recovering from a parse error is hard (and is why eg gcc does no longer use a auto-generated parser but instead a hand-written one apparently). However failing after the first parsing error is really annoying. At least it should continue with the next ccl file.