Skip to content
Snippets Groups Projects
  • Sam Yates's avatar
    Add KINETIC block rewriter (issue #63) (#95) · 4e229b01
    Sam Yates authored
    Adds a new KineticRewriter visitor that transforms (after semantic analysis) a parsed KINETIC procedure into an equivalent DERIVATIVE procedure. The visitor takes a ProcedureExpression and composes the equivalent procedure, available via the as_procedure() method on the visitor object.
    
    Move common functinality for 'local' variable insertion during transformation phase to new files astmanip.?pp.
    Add Expression method for directly setting scope.
    Use scope_ptr type alias widely.
    Implement correct clone() behaviour for DerivativeExpression
    Implement KineticRewriter transforming visitor class.
    Add equivalence test for KineticRewriter: the test incorporates a simple ad-hoc algebraic expression simplifier.
    Add unit test to Parser.parse_binop to exercise bug #94
    4e229b01