Sto progettando di costruire un parser di espressioni che sarà usato per rappresentare graficamente funzioni algebriche (si pensi a TI-83) con JavaScript.
Le funzioni assumeranno la forma di f(x)=
Oltre agli operatori tipici come: + - * / ^
Vorrei anche aggiungere il supporto per funzioni inline come: sin()
, cos()
, log()
e random()
.
Ho esaminato l'implementazione dell'algoritmo Shunting Yard per le espressioni di parsing, ma non sembra un approccio efficiente per valutare una funzione con centinaia o migliaia di input. Quali altri algoritmi noti esistono per questa attività?