Синтаксический анализатор математических выражений в java
Рассмотрим выражение типа E:
123 * x + 456 * y * 12 - 200 / zчто следует правилам:
1. может содержать операнды: +,-,*,/
2. может содержать переменные (например, 'x')
3. может содержать константы (например, '123')
4.не содержит скобок.
Основное внимание следует уделять хорошему использованию принципов ООП.
Может ли кто-нибудь помочь мне написать набор классов Java для достижения этой цели?
Что я уже пробовал:
Я пробовал использовать ScriptEngine. Однако я не могу использовать эти ScriptEngine.
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript"); System.out.println("result = " + engine.eval(expr, new SimpleBindings(vars)));