Задать вопрос
@pcdesign

Как парсить формулы?

С фронта приходит, например такая формула

a + b - ЕСЛИ(c>d;e;f)

Как получить из нее python код

a + b - (e if c > d else f)

Есть ли какие-нибудь готовые решения? Или надо писать какие-то костыли?
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@pcdesign Автор вопроса
import hotxlfp
p = hotxlfp.Parser()

https://github.com/aidhound/hotxlfp
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
Описываешь грамматику (EBNF ), парсишь (RPLY), компилируешь или интерпретируешь (лексический анализатор lexer и кодогенератор ast в llvm), исполняешь, бинарный код кэшируешь рядом с формулами.

Красивый пример
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы