Вы упомянули ANTLRWorks 3.4, которого не существует. Есть ANTLR 3.4 и ANTLRWorks 1.4.3, поэтому я буду считать, что вы используете ANTLRWorks 1.4.3, которая использует ANTLR 3.4.
ANTLRWorks включает в свою копию копию ANTLR, поэтому вы не можете изменить версию ANTLR, которую использует ANTLRWorks. Это потому, что ANTLR не является коммерческим продуктом, который поддерживает обратную совместимость. Таким образом, чтобы гарантировать правильную работу ANTLRWorks, пользователю не предоставляется возможность выбрать версию ANTLR для использования.
По сути, ANTLR 3.4 была последней версией ANTLR 3.x, которая была выпущена, и она не была протестирована, чтобы убедиться, что она работает с ANTLRWorks. Одна из самых больших проблем заключается в том, что ANTLR 3.4 не будет генерировать диаграммы NFA и DFA, и они необходимы для работы ANTLRWorks, поскольку он использует выходные данные ANTLR для отображения диаграмм NFA и DFA.
Обычно Ter исправляет ANTLR, если при этом исправляется проблема с ANTLRWorks. Тем не менее, Тер и другие в основном остановили всю работу над ANTLR 3.X, чтобы перейти на ANTLR 4.x (Honey Badger). Таким образом, ANTLR 3.4 содержит ошибки и не исправляется для работы с ANTLRWorks, а также не будет новой версии ANTLRWorks 1.4.x, которая будет идти с ANTLR 3.x. Будет выпущен новый ANTLRWorks 2.x с ANTLR 4.x.
Так что вы можете подумать, что я сейчас загнал вас в кирпичную стену, хорошо держитесь.
Я вырезал и вставил ваш образец прямо в ANTLRWorks 1.4.2, запустил отладчик и нажал кнопку «Перейти к концу». Работало без проблем. Я должен упомянуть, что это было сделано в системе Debian, работающей как виртуальная машина VMware. У меня есть это, чтобы ничто не было загрязнено.
Мораль истории - держаться подальше от ANTLRWorks 1.4.3 и вместо этого использовать ANTLRWorks 1.4.2. Кроме того, если у вас есть машина, которая не может быть абсолютно уверена, не будет проблем, таких как различные версии JVM или неправильный путь к классу и т. Д., Рассмотрите возможность использования виртуальных машин.