Sto cercando un valutatore per semplici condizione espressioni. Le espressioni dovrebbero includere variabili (sola lettura), stringhe, numeri e alcuni operatori di base.Alla ricerca di un analizzatore di espressioni
E.g. espressioni qualcosa di simile:
${a} == "Peter" && (${b} == null || ${c} > 10)
Finora ho implementato un parser piuttosto "magico" che restituisce un AST che posso valutare, ma non riesco a credere che io sono il primo a risolvere il problema.
Cosa codice esistente potrei usare invece?
Che lingua/grammatica stai cercando di valutare? È qualcosa che hai inventato? Cosa c'entra Java con questo? –
Immagino che l'OP voglia qualcosa che gira su JVM. –
Abbiamo usato JEP su un progetto (http://www.singularsys.com/jep/) ma mi piacerebbe davvero un piccolo equivalente adattabile che potesse effettivamente produrre bytecode per una funzione per motivi di prestazioni. Abbiamo abbandonato JEP per questo motivo e abbiamo terminato la codifica manuale di un numero enorme di classi Java. Forse un'anima intraprendente con ANTLR e BCEL potrebbe farlo? – andersoj