Skip to content

v0.10.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@cliserkad cliserkad released this 17 Jan 23:39
· 22 commits to main since this release
91f23e0

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