Dev #127

Merged
altavir merged 214 commits from dev into master 2020-08-11 08:33:21 +03:00
Showing only changes of commit 54cb9b1883 - Show all commits

View File

@ -1,13 +1,13 @@
# AST-based expression representation and operations (`kmath-ast`)
# Abstract syntax tree expression representation and operations (`kmath-ast`)
This subproject implements the following features:
- Expression Language and its parser.
- MST as expression language's syntax intermediate representation.
- Type-safe builder of MST.
- MST (Mathematical Syntax Tree) as expression language's syntax intermediate representation.
- Type-safe builder for MST.
- Evaluating expressions by traversing MST.
## Dynamic expression code generation with OW2 ASM
## Dynamic expression code generation with ObjectWeb ASM
`kmath-ast` JVM module supports runtime code generation to eliminate overhead of tree traversal. Code generator builds
a special implementation of `Expression<T>` with implemented `invoke` function.
@ -46,7 +46,7 @@ public final class AsmCompiledExpression_1073786867_0 implements Expression<Doub
### Example Usage
This API is an extension to MST and MstExpression APIs. You may optimize both MST and MSTExpression:
This API is an extension to MST and MstExpression, so you may optimize as both of them:
```kotlin
RealField.mstInField { symbol("x") + 2 }.compile()