start working on runtime
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user