diff --git a/src/ast.jl b/src/ast.jl index 0e37109..6fda8a6 100644 --- a/src/ast.jl +++ b/src/ast.jl @@ -170,7 +170,10 @@ function flatten!(flatAST::FlatAST, ex::Expr, var = []) end function flatten!(flatAST::FlatAST, ex::Operation, var) - if typeof(ex.op) == Variable + # top = process_operation!(flatAST, ex, var) + # set_top!(flatAST, top) + + if ex.op isa Variable return flatten!(flatAST, ex.op, var) else top = process_operation!(flatAST, ex, var) @@ -374,6 +377,12 @@ end function process_operation!(flatAST::FlatAST, ex, var, new_var=nothing) + # println("\n\n--") + # @show flatAST + # @show ex + # @show var + # @show new_var + op = ex.op if op in (+, *) && length(ex.args) > 2