Coco/R принимает аттрибутивную грамматику и может парсить текст и за одно проверять совместимость типов и другие вещи.
Насчет ANTLR не знаю может ли он проверять совместимость типов или только парсит.

Как мне кажется, Coco/R гораздо меньше по объему кода, также, по-моему, он есть на Обероне.
А ANTLR - это очень много C++ или C кода.

Плотно с ними не работал, так поверхностно только знаком.