From 9c28efc92af28805ac3d4e04555ef7e942645207 Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Thu, 14 May 2020 12:55:43 +0200
Subject: [PATCH] Continue language directory reorganization

Displace AST*Printer and BuiltinFunctionEmbedder to 'utils'
---
 CMakeLists.txt                                       |  1 +
 src/language/ASTNodeDataTypeBuilder.cpp              |  2 +-
 src/language/CMakeLists.txt                          |  3 +--
 src/language/PugsParser.cpp                          |  4 ++--
 src/language/modules/BuiltinModule.cpp               |  4 ++--
 src/language/modules/MathModule.cpp                  |  2 +-
 src/language/modules/MeshModule.cpp                  |  2 +-
 src/language/modules/ModuleRepository.cpp            |  2 +-
 src/language/modules/VTKModule.cpp                   |  2 +-
 .../node_processor/BuiltinFunctionProcessor.hpp      |  2 +-
 src/language/{ => utils}/ASTDotPrinter.cpp           |  2 +-
 src/language/{ => utils}/ASTDotPrinter.hpp           |  0
 src/language/{ => utils}/ASTPrinter.cpp              |  2 +-
 src/language/{ => utils}/ASTPrinter.hpp              |  0
 src/language/{ => utils}/BuiltinFunctionEmbedder.hpp |  0
 src/language/utils/CMakeLists.txt                    | 12 ++++++++++++
 tests/CMakeLists.txt                                 |  1 +
 tests/test_ASTBuilder.cpp                            |  2 +-
 tests/test_ASTDotPrinter.cpp                         |  2 +-
 tests/test_ASTModulesImporter.cpp                    |  2 +-
 tests/test_ASTNodeAffectationExpressionBuilder.cpp   |  2 +-
 .../test_ASTNodeBinaryOperatorExpressionBuilder.cpp  |  2 +-
 .../test_ASTNodeBuiltinFunctionExpressionBuilder.cpp |  5 +++--
 tests/test_ASTNodeDataTypeBuilder.cpp                |  2 +-
 ...test_ASTNodeDeclarationToAffectationConverter.cpp |  2 +-
 tests/test_ASTNodeEmptyBlockCleaner.cpp              |  2 +-
 tests/test_ASTNodeExpressionBuilder.cpp              |  2 +-
 ...st_ASTNodeFunctionEvaluationExpressionBuilder.cpp |  2 +-
 tests/test_ASTNodeFunctionExpressionBuilder.cpp      |  2 +-
 tests/test_ASTNodeIncDecExpressionBuilder.cpp        |  2 +-
 .../test_ASTNodeListAffectationExpressionBuilder.cpp |  2 +-
 tests/test_ASTNodeTypeCleaner.cpp                    |  2 +-
 tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp |  2 +-
 tests/test_ASTPrinter.cpp                            |  2 +-
 tests/test_AffectationProcessor.cpp                  |  2 +-
 tests/test_AffectationToStringProcessor.cpp          |  2 +-
 tests/test_ArraySubscriptProcessor.cpp               |  2 +-
 tests/test_BuiltinFunctionEmbedder.cpp               |  2 +-
 tests/test_BuiltinFunctionEmbedderTable.cpp          |  2 +-
 tests/test_ConcatExpressionProcessor.cpp             |  2 +-
 tests/test_DoWhileProcessor.cpp                      |  2 +-
 tests/test_ForProcessor.cpp                          |  2 +-
 tests/test_MathModule.cpp                            |  2 +-
 tests/test_SymbolTable.cpp                           |  2 +-
 44 files changed, 56 insertions(+), 42 deletions(-)
 rename src/language/{ => utils}/ASTDotPrinter.cpp (97%)
 rename src/language/{ => utils}/ASTDotPrinter.hpp (100%)
 rename src/language/{ => utils}/ASTPrinter.cpp (98%)
 rename src/language/{ => utils}/ASTPrinter.hpp (100%)
 rename src/language/{ => utils}/BuiltinFunctionEmbedder.hpp (100%)
 create mode 100644 src/language/utils/CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 644e4a03a..17e200bf9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -396,6 +396,7 @@ target_link_libraries(
   PugsUtils
   PugsLanguage
   PugsLanguageModules
+  PugsLanguageUtils
   kokkos
   ${PARMETIS_LIBRARIES}
   ${MPI_CXX_LINK_FLAGS} ${MPI_CXX_LIBRARIES}
diff --git a/src/language/ASTNodeDataTypeBuilder.cpp b/src/language/ASTNodeDataTypeBuilder.cpp
index 7ae2758fd..4f3ccf8f5 100644
--- a/src/language/ASTNodeDataTypeBuilder.cpp
+++ b/src/language/ASTNodeDataTypeBuilder.cpp
@@ -1,9 +1,9 @@
 #include <language/ASTNodeDataTypeBuilder.hpp>
 
 #include <language/ASTNodeNaturalConversionChecker.hpp>
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/PEGGrammar.hpp>
 #include <language/SymbolTable.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <utils/PugsAssert.hpp>
 
 ASTNodeDataType
diff --git a/src/language/CMakeLists.txt b/src/language/CMakeLists.txt
index 7068b4911..ee25c06d0 100644
--- a/src/language/CMakeLists.txt
+++ b/src/language/CMakeLists.txt
@@ -2,11 +2,11 @@
 
 add_subdirectory(node_processor)
 add_subdirectory(modules)
+add_subdirectory(utils)
 
 add_library(
   PugsLanguage
   ASTBuilder.cpp
-  ASTDotPrinter.cpp
   ASTModulesImporter.cpp
   ASTNodeAffectationExpressionBuilder.cpp
   ASTNodeArraySubscriptExpressionBuilder.cpp
@@ -26,7 +26,6 @@ add_library(
   ASTNodeListAffectationExpressionBuilder.cpp
   ASTNodeNaturalConversionChecker.cpp
   ASTNodeUnaryOperatorExpressionBuilder.cpp
-  ASTPrinter.cpp
   ASTSymbolTableBuilder.cpp
   ASTSymbolInitializationChecker.cpp
   EmbeddedData.cpp
diff --git a/src/language/PugsParser.cpp b/src/language/PugsParser.cpp
index 8077d1737..1c4163f4b 100644
--- a/src/language/PugsParser.cpp
+++ b/src/language/PugsParser.cpp
@@ -1,7 +1,6 @@
 #include <language/PugsParser.hpp>
 
 #include <language/ASTBuilder.hpp>
-#include <language/ASTDotPrinter.hpp>
 #include <language/ASTModulesImporter.hpp>
 #include <language/ASTNode.hpp>
 #include <language/ASTNodeDataTypeBuilder.hpp>
@@ -11,11 +10,12 @@
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeJumpPlacementChecker.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolInitializationChecker.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
 #include <language/PEGGrammar.hpp>
 #include <language/SymbolTable.hpp>
+#include <language/utils/ASTDotPrinter.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Exceptions.hpp>
 #include <utils/PugsAssert.hpp>
 
diff --git a/src/language/modules/BuiltinModule.cpp b/src/language/modules/BuiltinModule.cpp
index d7729964d..cfb8b1a02 100644
--- a/src/language/modules/BuiltinModule.cpp
+++ b/src/language/modules/BuiltinModule.cpp
@@ -1,10 +1,10 @@
 #include <language/modules/BuiltinModule.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/TypeDescriptor.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <utils/Exceptions.hpp>
 
-#include <iostream>
+#include <memory>
 
 void
 BuiltinModule::_addBuiltinFunction(const std::string& name,
diff --git a/src/language/modules/MathModule.cpp b/src/language/modules/MathModule.cpp
index ca3056da0..7064dc33c 100644
--- a/src/language/modules/MathModule.cpp
+++ b/src/language/modules/MathModule.cpp
@@ -1,6 +1,6 @@
 #include <language/modules/MathModule.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 
 MathModule::MathModule()
 {
diff --git a/src/language/modules/MeshModule.cpp b/src/language/modules/MeshModule.cpp
index 23f44f8af..1255c44e3 100644
--- a/src/language/modules/MeshModule.cpp
+++ b/src/language/modules/MeshModule.cpp
@@ -1,11 +1,11 @@
 #include <language/modules/MeshModule.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/FunctionTable.hpp>
 #include <language/PugsFunctionAdapter.hpp>
 #include <language/SymbolTable.hpp>
 #include <language/TypeDescriptor.hpp>
 #include <language/node_processor/ExecutionPolicy.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <mesh/Connectivity.hpp>
 #include <mesh/GmshReader.hpp>
 #include <mesh/Mesh.hpp>
diff --git a/src/language/modules/ModuleRepository.cpp b/src/language/modules/ModuleRepository.cpp
index 5765979f8..8f2c39b99 100644
--- a/src/language/modules/ModuleRepository.cpp
+++ b/src/language/modules/ModuleRepository.cpp
@@ -1,11 +1,11 @@
 #include <language/modules/ModuleRepository.hpp>
 
 #include <language/ASTNode.hpp>
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/SymbolTable.hpp>
 #include <language/modules/MathModule.hpp>
 #include <language/modules/MeshModule.hpp>
 #include <language/modules/VTKModule.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <utils/PugsAssert.hpp>
 
 void
diff --git a/src/language/modules/VTKModule.cpp b/src/language/modules/VTKModule.cpp
index 7a482a9b2..8294be3d7 100644
--- a/src/language/modules/VTKModule.cpp
+++ b/src/language/modules/VTKModule.cpp
@@ -1,7 +1,7 @@
 #include <language/modules/VTKModule.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/TypeDescriptor.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <mesh/Connectivity.hpp>
 #include <mesh/GmshReader.hpp>
 #include <mesh/Mesh.hpp>
diff --git a/src/language/node_processor/BuiltinFunctionProcessor.hpp b/src/language/node_processor/BuiltinFunctionProcessor.hpp
index a2c32d598..7a7397e31 100644
--- a/src/language/node_processor/BuiltinFunctionProcessor.hpp
+++ b/src/language/node_processor/BuiltinFunctionProcessor.hpp
@@ -1,10 +1,10 @@
 #ifndef BUILTIN_FUNCTION_PROCESSOR_HPP
 #define BUILTIN_FUNCTION_PROCESSOR_HPP
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/PEGGrammar.hpp>
 #include <language/node_processor/FunctionArgumentConverter.hpp>
 #include <language/node_processor/INodeProcessor.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <language/utils/RuntimeError.hpp>
 
 class BuiltinFunctionExpressionProcessor final : public INodeProcessor
diff --git a/src/language/ASTDotPrinter.cpp b/src/language/utils/ASTDotPrinter.cpp
similarity index 97%
rename from src/language/ASTDotPrinter.cpp
rename to src/language/utils/ASTDotPrinter.cpp
index 060ea6b35..be0795198 100644
--- a/src/language/ASTDotPrinter.cpp
+++ b/src/language/utils/ASTDotPrinter.cpp
@@ -1,4 +1,4 @@
-#include <language/ASTDotPrinter.hpp>
+#include <language/utils/ASTDotPrinter.hpp>
 
 #include <language/PEGGrammar.hpp>
 #include <utils/EscapedString.hpp>
diff --git a/src/language/ASTDotPrinter.hpp b/src/language/utils/ASTDotPrinter.hpp
similarity index 100%
rename from src/language/ASTDotPrinter.hpp
rename to src/language/utils/ASTDotPrinter.hpp
diff --git a/src/language/ASTPrinter.cpp b/src/language/utils/ASTPrinter.cpp
similarity index 98%
rename from src/language/ASTPrinter.cpp
rename to src/language/utils/ASTPrinter.cpp
index 6ce5d322c..9bf18bdcf 100644
--- a/src/language/ASTPrinter.cpp
+++ b/src/language/utils/ASTPrinter.cpp
@@ -1,4 +1,4 @@
-#include <language/ASTPrinter.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #include <language/PEGGrammar.hpp>
 #include <utils/EscapedString.hpp>
diff --git a/src/language/ASTPrinter.hpp b/src/language/utils/ASTPrinter.hpp
similarity index 100%
rename from src/language/ASTPrinter.hpp
rename to src/language/utils/ASTPrinter.hpp
diff --git a/src/language/BuiltinFunctionEmbedder.hpp b/src/language/utils/BuiltinFunctionEmbedder.hpp
similarity index 100%
rename from src/language/BuiltinFunctionEmbedder.hpp
rename to src/language/utils/BuiltinFunctionEmbedder.hpp
diff --git a/src/language/utils/CMakeLists.txt b/src/language/utils/CMakeLists.txt
new file mode 100644
index 000000000..c7ce6eefd
--- /dev/null
+++ b/src/language/utils/CMakeLists.txt
@@ -0,0 +1,12 @@
+# ------------------- Source files --------------------
+
+add_library(PugsLanguageUtils
+  ASTDotPrinter.cpp
+  ASTPrinter.cpp
+)
+
+
+
+add_dependencies(PugsLanguageModules
+  PugsUtils
+  PugsMesh)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 4c55eb2e5..f08ecf6b7 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -86,6 +86,7 @@ add_executable (mpi_unit_tests
 target_link_libraries (unit_tests
   PugsLanguage
   PugsLanguageModules
+  PugsLanguageUtils
   PugsMesh
   PugsUtils
   kokkos
diff --git a/tests/test_ASTBuilder.cpp b/tests/test_ASTBuilder.cpp
index 418fb979c..51dc847f0 100644
--- a/tests/test_ASTBuilder.cpp
+++ b/tests/test_ASTBuilder.cpp
@@ -1,7 +1,7 @@
 #include <catch2/catch.hpp>
 
 #include <language/ASTBuilder.hpp>
-#include <language/ASTPrinter.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #include <pegtl/string_input.hpp>
 
diff --git a/tests/test_ASTDotPrinter.cpp b/tests/test_ASTDotPrinter.cpp
index 55917fdd2..b36ff90a2 100644
--- a/tests/test_ASTDotPrinter.cpp
+++ b/tests/test_ASTDotPrinter.cpp
@@ -1,7 +1,7 @@
 #include <catch2/catch.hpp>
 
 #include <language/ASTBuilder.hpp>
-#include <language/ASTDotPrinter.hpp>
+#include <language/utils/ASTDotPrinter.hpp>
 
 #include <pegtl/string_input.hpp>
 
diff --git a/tests/test_ASTModulesImporter.cpp b/tests/test_ASTModulesImporter.cpp
index 92412553a..04d2b1522 100644
--- a/tests/test_ASTModulesImporter.cpp
+++ b/tests/test_ASTModulesImporter.cpp
@@ -4,8 +4,8 @@
 #include <language/ASTModulesImporter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/SymbolTable.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #include <pegtl/string_input.hpp>
 
diff --git a/tests/test_ASTNodeAffectationExpressionBuilder.cpp b/tests/test_ASTNodeAffectationExpressionBuilder.cpp
index 9f4c26d7f..9d16f8c61 100644
--- a/tests/test_ASTNodeAffectationExpressionBuilder.cpp
+++ b/tests/test_ASTNodeAffectationExpressionBuilder.cpp
@@ -6,9 +6,9 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolInitializationChecker.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp b/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp
index 91ba822fa..c575680a0 100644
--- a/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp
+++ b/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeBuiltinFunctionExpressionBuilder.cpp b/tests/test_ASTNodeBuiltinFunctionExpressionBuilder.cpp
index 614ef6a68..b109e3d28 100644
--- a/tests/test_ASTNodeBuiltinFunctionExpressionBuilder.cpp
+++ b/tests/test_ASTNodeBuiltinFunctionExpressionBuilder.cpp
@@ -7,13 +7,14 @@
 #include <language/ASTNodeFunctionEvaluationExpressionBuilder.hpp>
 #include <language/ASTNodeFunctionExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
-#include <language/BuiltinFunctionEmbedder.hpp>
+#include <language/utils/ASTPrinter.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
 
+#include <memory>
 #include <unordered_map>
 
 namespace test_only
diff --git a/tests/test_ASTNodeDataTypeBuilder.cpp b/tests/test_ASTNodeDataTypeBuilder.cpp
index 3f5f361f5..fa7a6d13a 100644
--- a/tests/test_ASTNodeDataTypeBuilder.cpp
+++ b/tests/test_ASTNodeDataTypeBuilder.cpp
@@ -2,8 +2,8 @@
 
 #include <language/ASTBuilder.hpp>
 #include <language/ASTNodeDataTypeBuilder.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #include <pegtl/string_input.hpp>
 
diff --git a/tests/test_ASTNodeDeclarationToAffectationConverter.cpp b/tests/test_ASTNodeDeclarationToAffectationConverter.cpp
index 538d7cf8f..d16bc7ee2 100644
--- a/tests/test_ASTNodeDeclarationToAffectationConverter.cpp
+++ b/tests/test_ASTNodeDeclarationToAffectationConverter.cpp
@@ -3,8 +3,8 @@
 #include <language/ASTBuilder.hpp>
 #include <language/ASTNodeDataTypeBuilder.hpp>
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #include <pegtl/string_input.hpp>
 
diff --git a/tests/test_ASTNodeEmptyBlockCleaner.cpp b/tests/test_ASTNodeEmptyBlockCleaner.cpp
index 5c8f34d84..18aafa1b7 100644
--- a/tests/test_ASTNodeEmptyBlockCleaner.cpp
+++ b/tests/test_ASTNodeEmptyBlockCleaner.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeEmptyBlockCleaner.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeExpressionBuilder.cpp b/tests/test_ASTNodeExpressionBuilder.cpp
index 63a285e0f..5213aa728 100644
--- a/tests/test_ASTNodeExpressionBuilder.cpp
+++ b/tests/test_ASTNodeExpressionBuilder.cpp
@@ -5,8 +5,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeFunctionEvaluationExpressionBuilder.cpp b/tests/test_ASTNodeFunctionEvaluationExpressionBuilder.cpp
index b0dc7609b..ddfae54de 100644
--- a/tests/test_ASTNodeFunctionEvaluationExpressionBuilder.cpp
+++ b/tests/test_ASTNodeFunctionEvaluationExpressionBuilder.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeFunctionEvaluationExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeFunctionExpressionBuilder.cpp b/tests/test_ASTNodeFunctionExpressionBuilder.cpp
index 1bf624e6a..e915888d8 100644
--- a/tests/test_ASTNodeFunctionExpressionBuilder.cpp
+++ b/tests/test_ASTNodeFunctionExpressionBuilder.cpp
@@ -7,8 +7,8 @@
 #include <language/ASTNodeFunctionEvaluationExpressionBuilder.hpp>
 #include <language/ASTNodeFunctionExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeIncDecExpressionBuilder.cpp b/tests/test_ASTNodeIncDecExpressionBuilder.cpp
index beb59ce2a..845b9f987 100644
--- a/tests/test_ASTNodeIncDecExpressionBuilder.cpp
+++ b/tests/test_ASTNodeIncDecExpressionBuilder.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeIncDecExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeListAffectationExpressionBuilder.cpp b/tests/test_ASTNodeListAffectationExpressionBuilder.cpp
index bcb91c934..a35ea34a7 100644
--- a/tests/test_ASTNodeListAffectationExpressionBuilder.cpp
+++ b/tests/test_ASTNodeListAffectationExpressionBuilder.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeListAffectationExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTNodeTypeCleaner.cpp b/tests/test_ASTNodeTypeCleaner.cpp
index d89987876..0a02111bc 100644
--- a/tests/test_ASTNodeTypeCleaner.cpp
+++ b/tests/test_ASTNodeTypeCleaner.cpp
@@ -3,8 +3,8 @@
 #include <language/ASTBuilder.hpp>
 #include <language/ASTNodeDataTypeBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #define CHECK_AST(data, expected_output)                                                       \
   {                                                                                            \
diff --git a/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp b/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp
index e215f77da..f89c58f0e 100644
--- a/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp
+++ b/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
 #include <language/ASTNodeUnaryOperatorExpressionBuilder.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ASTPrinter.cpp b/tests/test_ASTPrinter.cpp
index 34203e49a..debd85edc 100644
--- a/tests/test_ASTPrinter.cpp
+++ b/tests/test_ASTPrinter.cpp
@@ -2,7 +2,7 @@
 #include <catch2/catch.hpp>
 
 #include <language/ASTBuilder.hpp>
-#include <language/ASTPrinter.hpp>
+#include <language/utils/ASTPrinter.hpp>
 
 #include <pegtl/string_input.hpp>
 
diff --git a/tests/test_AffectationProcessor.cpp b/tests/test_AffectationProcessor.cpp
index 9da8e5b11..a60464448 100644
--- a/tests/test_AffectationProcessor.cpp
+++ b/tests/test_AffectationProcessor.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_AffectationToStringProcessor.cpp b/tests/test_AffectationToStringProcessor.cpp
index 33a1866c4..4a6e0837e 100644
--- a/tests/test_AffectationToStringProcessor.cpp
+++ b/tests/test_AffectationToStringProcessor.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ArraySubscriptProcessor.cpp b/tests/test_ArraySubscriptProcessor.cpp
index 539308e9a..1ce9a5fff 100644
--- a/tests/test_ArraySubscriptProcessor.cpp
+++ b/tests/test_ArraySubscriptProcessor.cpp
@@ -7,8 +7,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_BuiltinFunctionEmbedder.cpp b/tests/test_BuiltinFunctionEmbedder.cpp
index dc8ff9081..f5172381c 100644
--- a/tests/test_BuiltinFunctionEmbedder.cpp
+++ b/tests/test_BuiltinFunctionEmbedder.cpp
@@ -1,6 +1,6 @@
 #include <catch2/catch.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 
 // clazy:excludeall=non-pod-global-static
 
diff --git a/tests/test_BuiltinFunctionEmbedderTable.cpp b/tests/test_BuiltinFunctionEmbedderTable.cpp
index 2b14e9243..1388f97c2 100644
--- a/tests/test_BuiltinFunctionEmbedderTable.cpp
+++ b/tests/test_BuiltinFunctionEmbedderTable.cpp
@@ -1,7 +1,7 @@
 #include <catch2/catch.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/EmbedderTable.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 
 // clazy:excludeall=non-pod-global-static
 
diff --git a/tests/test_ConcatExpressionProcessor.cpp b/tests/test_ConcatExpressionProcessor.cpp
index ac8a2f944..358aa46c6 100644
--- a/tests/test_ConcatExpressionProcessor.cpp
+++ b/tests/test_ConcatExpressionProcessor.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_DoWhileProcessor.cpp b/tests/test_DoWhileProcessor.cpp
index 228b38a6e..1ee60e1ed 100644
--- a/tests/test_DoWhileProcessor.cpp
+++ b/tests/test_DoWhileProcessor.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_ForProcessor.cpp b/tests/test_ForProcessor.cpp
index 115d22c03..cb4166423 100644
--- a/tests/test_ForProcessor.cpp
+++ b/tests/test_ForProcessor.cpp
@@ -6,8 +6,8 @@
 #include <language/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ASTNodeExpressionBuilder.hpp>
 #include <language/ASTNodeTypeCleaner.hpp>
-#include <language/ASTPrinter.hpp>
 #include <language/ASTSymbolTableBuilder.hpp>
+#include <language/utils/ASTPrinter.hpp>
 #include <utils/Demangle.hpp>
 
 #include <pegtl/string_input.hpp>
diff --git a/tests/test_MathModule.cpp b/tests/test_MathModule.cpp
index ae3db9dc5..15cb845c4 100644
--- a/tests/test_MathModule.cpp
+++ b/tests/test_MathModule.cpp
@@ -1,7 +1,7 @@
 #include <catch2/catch.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/modules/MathModule.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 
 // clazy:excludeall=non-pod-global-static
 
diff --git a/tests/test_SymbolTable.cpp b/tests/test_SymbolTable.cpp
index 911543678..e8e6a8210 100644
--- a/tests/test_SymbolTable.cpp
+++ b/tests/test_SymbolTable.cpp
@@ -1,7 +1,7 @@
 #include <catch2/catch.hpp>
 
-#include <language/BuiltinFunctionEmbedder.hpp>
 #include <language/SymbolTable.hpp>
+#include <language/utils/BuiltinFunctionEmbedder.hpp>
 
 #include <pegtl/internal/iterator.hpp>
 
-- 
GitLab