@@ -101,7 +101,7 @@ int main(int argc, const char *argv[]) {
101101 std::shared_ptr<ast::NativeAbstraction> typeof_abstraction = std::make_shared<backend::interpreter::native_library::Typeof>();
102102 ast::node_reference native_typeof = std::make_shared<backend::interpreter::Curried>(typeof_abstraction, 1 );
103103 global_scope->set (" exit" , native_exit);
104- global_scope->set (" truthy" , native_truthy);
104+ // global_scope->set("truthy", native_truthy);
105105 global_scope->set (" typeof" , native_typeof);
106106
107107 int last_group_count = 0 ;
@@ -122,17 +122,15 @@ int main(int argc, const char *argv[]) {
122122 if (verbose_print)
123123 print (evaluated_ast->to_string ());
124124
125- if (evaluated_ast-> type == ast::ASTNodeType::GROUPING ) {
125+ if (typeid (* evaluated_ast) == typeid ( ast::Grouping) ) {
126126 std::shared_ptr<ast::Grouping> grouping = std::static_pointer_cast<ast::Grouping>(evaluated_ast);
127- if (!grouping->nodes .empty ()) {
128- if (last_group_count != grouping->nodes .size ()) {
129- ast::node_reference last_node = grouping->nodes .back ();
130- ast::node_reference print_instruction = std::make_shared<ast::PrintInstruction>(last_node);
131- language::evaluate (print_instruction->accept (interpreter.get ()), global_scope);
132- // print_instruction->accept(interpreter.get());
133- // print(grouping->nodes.back()->to_string());
134- last_group_count = grouping->nodes .size ();
135- }
127+ if (!grouping->nodes .empty () && last_group_count != grouping->nodes .size ()) {
128+ ast::node_reference last_node = grouping->nodes .back ();
129+ ast::node_reference print_instruction = std::make_shared<ast::PrintInstruction>(last_node);
130+ language::evaluate (print_instruction->accept (interpreter.get ()), global_scope);
131+ // print_instruction->accept(interpreter.get());
132+ // print(grouping->nodes.back()->to_string());
133+ last_group_count = grouping->nodes .size ();
136134 }
137135 }
138136
0 commit comments