aboutsummaryrefslogtreecommitdiff
path: root/src/vm/runner/runner.h
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2024-09-19 15:53:13 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2024-09-19 15:53:13 +0330
commitd2ab53c625d386a4fbc6a9d5a5eb29faab1b3f0c (patch)
tree3e81b2dce883abb8b5b5ea2edd0300af24079539 /src/vm/runner/runner.h
parent3df524bacbd6ca55177f481f8c98b118131b6527 (diff)
removing print command and keyword
added function call support cleaned up keyword and operator checking and speed it up a little bit cleaning includes added builtin functions
Diffstat (limited to 'src/vm/runner/runner.h')
-rw-r--r--src/vm/runner/runner.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vm/runner/runner.h b/src/vm/runner/runner.h
index e59b447..e81aed7 100644
--- a/src/vm/runner/runner.h
+++ b/src/vm/runner/runner.h
@@ -2,8 +2,17 @@
#include <compiler/code_generator/code_generator.h>
+typedef void (*BuiltinFunction)(void ***restrict stack,
+ size_t *restrict stack_inserted);
+
+extern const BuiltinFunction BUILTIN_FUNCTIONS[];
+extern const char *BUILTIN_FUNCTION_NAMES[];
+extern const size_t BUILTIN_FUNCTIONS_SIZE;
+
extern bool runner(Instructions instructions);
extern bool runInstruction(Instruction instruction, void ***restrict stack,
size_t *restrict stack_size,
size_t *restrict stack_inserted);
+
+extern void print(void ***restrict stack, size_t *restrict stack_inserted);