From 9f2b1bdcfbbc084876c3ab7cc2cb8c15ffb88184 Mon Sep 17 00:00:00 2001 From: A404M Date: Thu, 30 Jan 2025 08:54:18 +0330 Subject: added assign operator --- src/compiler/code-generator.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/compiler/code-generator.h') diff --git a/src/compiler/code-generator.h b/src/compiler/code-generator.h index a9c6490..ac47e76 100644 --- a/src/compiler/code-generator.h +++ b/src/compiler/code-generator.h @@ -9,6 +9,7 @@ typedef enum CodeGeneratorInstruction : uint8_t { CODE_GENERATOR_INSTRUCTION_CALL, CODE_GENERATOR_INSTRUCTION_RET, CODE_GENERATOR_INSTRUCTION_DEF_VAR64, + CODE_GENERATOR_INSTRUCTION_MOV_U64, } CodeGeneratorInstruction; typedef struct CodeGeneratorCode { @@ -28,6 +29,11 @@ typedef struct CodeGeneratorOperand { bool isReference; } CodeGeneratorOperand; +typedef struct CodeGeneratorDoubleOperand { + CodeGeneratorOperand op0; + CodeGeneratorOperand op1; +} CodeGeneratorDoubleOperand; + typedef struct CodeGeneratorCodes { CodeGeneratorCode *codes; size_t codes_size; @@ -37,6 +43,8 @@ void codeGeneratorDelete(CodeGeneratorCodes *code); CodeGeneratorOperand *newCodeGeneratorOperand(char *value, bool isReference); +CodeGeneratorOperand *makeCodeGeneratorOperand(AstTree tree); + CodeGeneratorCode createGenerateCode(char *label_begin, char *label_end, CodeGeneratorInstruction instruction, void *metadata); -- cgit v1.2.3