Как преобразовать дружественный пользователю -инфиксный математический код в код Clojure?

Я хочу, чтобы пользователь мог вводить вот так:

5+6*t+sin(2*t)

, поэтому он будет преобразован в это:

(+ 5 (* 6 t) (sin (* 2 t)))

, поэтому я могу преобразовать его в некоторую функцию, которая будет JIT-компилирована и эффективно выполнена позже.

Существуют ли уже доступные библиотеки (с приоритетами операторов ), которые уже работают в Clojure с -по -дату?

7
задан Vi. 8 August 2012 в 22:40
поделиться