v0.10.0
Pre-release
Pre-release
What's Changed
Expression Trees
Expression trees and the related parsing strategy have been simplified to eliminate dead end nodes containing only 1 value.
This made the code a lot easier to understand and I'm hoping its faster now.
Assertions
Assertions will now provide a ton of debug info when they fail.
Components:
- Full Conditional Parse Tree used in assert
- Left side and right side evaluations
- Literal text used to generate assertion
Example from test code:
Failed Assertion in GoodAssertions @12;8
literal text: assert factorA * factorB == 29 + 9
Condition: {
isPositive: false
a : Expression: {
a : LocalVariable: factorA --> I @ 1
opr: MUL
b : LocalVariable: factorB --> I @ 2
}
cmp: EQUAL
b : Expression: {
a : Literal: BYTE --> 29
opr: ADD
b : Literal: BYTE --> 9
}
}
a Eval : 30
b Eval : 38
Full Changelog: v0.9.0...v0.10.0