Aviator is a high-performance, lightweight implementation of the Java language Expression evaluation engine, mainly used for the dynamic evaluation of various expressions. There are already a lot of open source Java expression Evaluation engines available, why do you need Avaitor?
Aviator's design goal is lightweight and high performance, compared to groovy, JRuby cumbersome, aviator is very small, plus the dependency package is only 450K, not a dependency packet only 70K; Of course, the grammar of aviator is limited, it is not a complete language, but only a small collection of language.
Second, the implementation of aviator is very different from other lightweight evaluation, other evaluation is generally run through the way of interpretation, while the aviator is directly the expression compiled into Java bytecode, to the JVM to execute. In short, aviator is positioned between a heavyweight scripting language such as groovy and a lightweight expression engine such as ikexpression.
The Aviator supports most operator operators, including arithmetic operators, relational operators, logical operators, bitwise operators, regular match operators ( =~
), ternary expressions ( ?:
), and supports precedence of operators and the enforcement of parentheses, depending on the list of operators that follow. Support for custom functions.
Https://github.com/killme2008/aviator/wiki
Aviator User manual Online