33Библиотека позволяет вам обрабатывать и исполнять выражения. Синтаксис практически
44идентичен синтаксису Java.
55
6- Данные пишутся в ` TokenParser ` , результат своей деятельности он пишет
7- в ` TokenVisitor ` , реализацией которого является ` ExpressionParser ` .
8-
96## Примеры использования
107
118> Выполнение арифметического выражения с известными числами
1411class Example {
1512 @Test
1613 public void testArithmeticEvaluation () {
17- ExpressionParser expressionParser = DefaultExpressionParser . create();
18-
19- TokenParser tokenParser = SequenceTokenParser . createDefault(expressionParser);
20- tokenParser. submit(" 5 + 5 * 5" );
14+ ExpressionParser expressionParser = SimpleExpressionParser . createDefault();
2115
22- assertEquals(30 , expressionParser. getResult( ). getValue());
16+ assertEquals(30 , expressionParser. parse( " 5 + 5 * 5 " ). getValue());
2317 }
2418}
2519```
@@ -30,10 +24,7 @@ class Example {
3024class Example {
3125 @Test
3226 public void testArithmeticEvaluation () {
33- ExpressionParser expressionParser = DefaultExpressionParser . create();
34-
35- TokenParser tokenParser = SequenceTokenParser . createDefault(expressionParser);
36- tokenParser. submit(" x + y * z" );
27+ ExpressionParser expressionParser = SimpleExpressionParser . createDefault();
3728
3829 // Переменные запрашиваются через UndefinedResolver,
3930 // реализацией которого может быть всё что угодно.
@@ -47,7 +38,7 @@ class Example {
4738 " z" , OperandInteger . valueOf(3 )
4839 );
4940
50- Operand undefinedOperand = expressionParser. getResult( );
41+ Operand undefinedOperand = expressionParser. parse( " x + y * z " );
5142 Operand solvedOperand = undefinedOperand. solve(variables:: get);
5243
5344 assertEquals(7 , solvedOperand. getValue());
0 commit comments