Взгляните на SableCC . Sablecc - это простой в использовании генератор синтаксических анализаторов, который принимает грамматику вашего языка как EBNF без смешанного кода действия и генерирует синтаксический анализатор Java, который создает синтаксическое дерево, которое можно просмотреть с помощью посетителя узла дерева. SableCC мощный, но гораздо более простой в использовании, чем ANTLR, JavaCC, yacc и т. Д. Он также не требует отдельного лексера. Создание вашего языкового процессора означает расширение класса посетителя, сгенерированного из вашей грамматики, и переопределение его методов, которые вызываются, когда синтаксический конструктор встречается с синтаксическим анализатором. Для каждого правила грамматики XYZ у посетителя будет метод inAXYZ (Node xyz) .... outAXYZ (Node xyz), вызываемый, когда синтаксический анализатор соответствует правилу.