From ea9af87ba4399d094180f06be59c878d864a17e0 Mon Sep 17 00:00:00 2001
From: Ferenc Szontágh <szf@fsociety.hu>
Date: Sat, 19 Apr 2025 17:06:48 +0000
Subject: [PATCH] implemented array, added some new builtin functions

---
 src/VoidScript.hpp |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/VoidScript.hpp b/src/VoidScript.hpp
index 077cd50..ab472bb 100644
--- a/src/VoidScript.hpp
+++ b/src/VoidScript.hpp
@@ -6,12 +6,18 @@
 
 #include "Interpreter/Interpreter.hpp"
 #include "Lexer/Lexer.hpp"
+#include "Modules/BuiltIn/PrintModule.hpp"
 #include "Modules/ModuleManager.hpp"
-#include "Modules/PrintNlModule.hpp"
-#include "Modules/PrintModule.hpp"
-#include "Modules/TypeofModule.hpp"
-#include "Modules/FileModule.hpp"
-#include "Modules/JsonModule.hpp"
+// Variable helper functions (typeof)
+#include "Modules/BuiltIn/VariableHelpersModule.hpp"
+// String helper functions
+#include "Modules/BuiltIn/StringModule.hpp"
+// Array helper functions (sizeof)
+#include "Modules/BuiltIn/ArrayModule.hpp"
+// File I/O
+#include "Modules/BuiltIn/FileModule.hpp"
+// JSON encode/decode
+#include "Modules/BuiltIn/JsonModule.hpp"
 #include "Parser/Parser.hpp"
 
 class VoidScript {
@@ -55,10 +61,14 @@
         lexer(std::make_shared<Lexer::Lexer>()),
         parser(std::make_shared<Parser::Parser>()) {
         // Register built-in modules (print, etc.)
+        // print functions
         Modules::ModuleManager::instance().addModule(std::make_unique<Modules::PrintModule>());
-        Modules::ModuleManager::instance().addModule(std::make_unique<Modules::PrintNlModule>());
-        // typeof() builtin
-        Modules::ModuleManager::instance().addModule(std::make_unique<Modules::TypeofModule>());
+        // variable helpers (typeof)
+        Modules::ModuleManager::instance().addModule(std::make_unique<Modules::VariableHelpersModule>());
+        // string helper functions
+        Modules::ModuleManager::instance().addModule(std::make_unique<Modules::StringModule>());
+        // array helper functions (sizeof)
+        Modules::ModuleManager::instance().addModule(std::make_unique<Modules::ArrayModule>());
         // file I/O builtin
         Modules::ModuleManager::instance().addModule(std::make_unique<Modules::FileModule>());
         // JSON encode/decode builtin

--
Gitblit v1.9.3