Я пытаюсь разобрать код С# с помощью ANTLR4 (из Java). Пока мне не удалось найти подходящую грамматику, поэтому я решил написать свою собственную. Я использовал это приложение здесь, но я столкнулся с проблемой. Проблема в том, что у меня много леворекурсивных правил. Я пытался исправить их с помощью ANTLRWorks (antlrworks-1.5), но я просто продолжаю получать исключения. Некоторые из них мне удалось исправить вручную, но не такие, как этот:
multiplicative_expression:
| unary_expression
| multiplicative_expression '*' unary_expression
| multiplicative_expression '/' unary_expression
| multiplicative_expression '%' unary_expression;
Итак, есть ли кто-нибудь, кто мог бы указать мне правильную грамматику для ANTLR4 или помочь мне решить проблему с левой рекурсией. Спасибо.