JavaCC
javacc — средство создания java-классов для проверки и разбора структурированного текста.
В больших системах часто необходимо выполнять разбор и анализ данных, которые представляют собой текст, оформленный в соответствии с особыми правилами (например, в СУБД — это текст sql запросов, в копиляторах — исходные файлы). Правила, по которым строится текст для обработки обычно называют грамматикой. Программа, которая транслирует исходный текст в вид, который прост для программной обработки называется парсером.
Javacc облегчает создание программ, которые разбирают и анализируют входной текст в соответствии с заданной грамматикой, т. е. javacc облегчает написание парсеров.
Более подробно о javacc можно почитать здесь: Создайте свой собственный язык используя JavaCC