Грамматика для одной переменной функции в ANTLR

Привет! Я ищу грамматику ANTLR для анализа выражений функции одной переменной. Он должен поддерживать +,-, /, ^, специальные функции (например, cos, sin) и константы (pi, e) и круглые скобки. Я пытался написать это сам, но получаю предупреждения о рекурсии слева. У кого-нибудь есть пример, с которого я могу начать? Я хотел бы написать что-то вроде

x+sin(5x + pi^3)/(15e cos(x)) 

например. Грамматики ANTLR являются предпочтительными, но другие примеры (E)BNF приветствуются.

В конце концов я хотел бы использовать его с выходом AST.

СПАСИБО

1 ответ

Решение

Хорошо, это было быстро. Я нашел отличную статью о проекте кода.

Здесь есть все, что я хотел и даже больше!

Другие вопросы по тегам