diff --git a/src/language/PugsParser.cpp b/src/language/PugsParser.cpp index 75842ad029795a579a213b2d50bed15bcfb68b30..efddefd1a2081ee30fe26cb77cb16e95eb33c8d1 100644 --- a/src/language/PugsParser.cpp +++ b/src/language/PugsParser.cpp @@ -78,6 +78,16 @@ parser(const std::string& filename) std::cout << ASTPrinter{*root_node} << '\n'; + auto& function_table = root_node->m_symbol_table->functionTable(); + + for (size_t i_function = 0; i_function < function_table.size(); ++i_function) { + const auto& function_descriptor = function_table[i_function]; + std::cout << "function " << rang::fgB::magenta << function_descriptor.name() << rang::style::reset << '\n'; + std::cout << ASTPrinter(function_descriptor.domainMappingNode()); + std::cout << ASTPrinter(function_descriptor.definitionNode()); + std::cout << "--------\n"; + } + ExecutionPolicy exec_all; root_node->execute(exec_all); std::cout << *(root_node->m_symbol_table) << '\n';