TestDriver в ANTLRWorks2 выглядит довольно придирчиво, когда он принимает грамматику без явного EOF а когда нет. Грамматика Hello в Руководстве по началу работы с ANTLR4 нигде не использует EOF, поэтому я сделал вывод, что по возможности лучше избегать явного EOF.
Какова наилучшая практика использования EOF? Когда вам это действительно нужно?