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

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

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

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

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

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

Есть ли какие-нибудь готовые решения? Или надо писать какие-то костыли?
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@pcdesign Автор вопроса
import hotxlfp
p = hotxlfp.Parser()

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

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

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

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