From 035319bbd006ad09a513968d4a5f2944b5242608 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Sun, 26 Nov 2017 22:31:35 -0700 Subject: [PATCH] Fix "compiled loop" optimization --- include/chaiscript/language/chaiscript_optimizer.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/chaiscript/language/chaiscript_optimizer.hpp b/include/chaiscript/language/chaiscript_optimizer.hpp index 55a19c58..c1edb73a 100644 --- a/include/chaiscript/language/chaiscript_optimizer.hpp +++ b/include/chaiscript/language/chaiscript_optimizer.hpp @@ -392,21 +392,21 @@ namespace chaiscript { const auto &prefix_node = child_at(*for_node, 2); if (child_count(*for_node) == 4 - && eq_node.identifier == AST_Node_Type::Equation + && eq_node.identifier == AST_Node_Type::Assign_Decl && child_count(eq_node) == 2 - && child_at(eq_node, 0).identifier == AST_Node_Type::Var_Decl + && child_at(eq_node, 0).identifier == AST_Node_Type::Id && child_at(eq_node, 1).identifier == AST_Node_Type::Constant && binary_node.identifier == AST_Node_Type::Binary && binary_node.text == "<" && child_count(binary_node) == 2 && child_at(binary_node, 0).identifier == AST_Node_Type::Id - && child_at(binary_node, 0).text == child_at(child_at(eq_node,0), 0).text + && child_at(binary_node, 0).text == child_at(eq_node,0).text && child_at(binary_node, 1).identifier == AST_Node_Type::Constant && prefix_node.identifier == AST_Node_Type::Prefix && prefix_node.text == "++" && child_count(prefix_node) == 1 && child_at(prefix_node, 0).identifier == AST_Node_Type::Id - && child_at(prefix_node, 0).text == child_at(child_at(eq_node,0), 0).text) + && child_at(prefix_node, 0).text == child_at(eq_node,0).text) { const Boxed_Value &begin = dynamic_cast &>(child_at(eq_node, 1)).m_value; const Boxed_Value &end = dynamic_cast &>(child_at(binary_node, 1)).m_value;