start working on runtime

This commit is contained in:
2025-06-20 02:50:05 +01:00
parent e5e4f22481
commit bddfb59886
7 changed files with 55 additions and 10 deletions

View File

@@ -4,11 +4,11 @@
#include <stdio.h>
#include <string.h>
size_t translate_parsed_string(Translated *translated, ParsedString parsedString, size_t to_register) {
size_t translate_parsed_string(Translated *translated, ParsedString parsedString) {
size_t string_pos = arena_push(&translated->constants, parsedString.string, parsedString.length);
set_registers(translated, to_register+1);
set_registers(translated, 1);
size_t start = push_instruction_code(translated, OP_LOAD_CONST);
push_instruction_code(translated, to_register);
push_instruction_code(translated, 0);
push_instruction_code(translated, TYPE_OP_STRING);
push_instruction_code(translated,parsedString.length);
push_instruction_code(translated, string_pos);

View File

@@ -3,6 +3,6 @@
#include "../translator.h"
#include "../../parser/string/string.h"
size_t translate_parsed_string(Translated *translated, ParsedString parsedString, size_t to_register);
size_t translate_parsed_string(Translated *translated, ParsedString parsedString);
#endif

View File

@@ -82,7 +82,7 @@ void set_registers(Translated *translator, size_t count) {
size_t translate_parsed(Translated *translated, ParsedValue *parsedValue) {
switch (parsedValue->type) {
case AST_STRING:
return translate_parsed_string(translated, *((ParsedString*)parsedValue->data), 0);
return translate_parsed_string(translated, *((ParsedString*)parsedValue->data));
case AST_DECLARATION:
return translate_parsed_declaration(translated, *((DArray*)parsedValue->data));
case AST_NUMBER: