...
Code Block |
---|
(COMBINED_GRAMMAR A (RULES <mismatched token: [@17,46:46='b',<63>,4:0], resync=a : b catch Exception e {...}> (RULE b (BLOCK (ALT B))) ) ) |
Ha! 1 hour later, i changed my mind. No need for ResyncToEndOfRuleBlock. too hard to resync (would have to parse We need ResyncToEndOfRuleBlock to avoid recovering in element. input "b catch" starts with a rule ref, which is a valid element. it consumes until FOLLOW(element),which has rule ref in it so it consumes nothing. elements rule will descend back into element. must get it all the back to rule block level to recover properly by consuming all the exception crap. Ultimately I'd like to resync by parsing backwards from the ':') so just let it toss out prior rule.
Notes...
"grammar A;;" says
...