From 902a81528b9d2edcf93226a2ca13da6fcc1839e5 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 23 Dec 2019 08:57:48 +0100 Subject: wip: function pointers and other stuff --- include/ir/ir.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/ir') diff --git a/include/ir/ir.h b/include/ir/ir.h index f7aa4a7..dcc5ea0 100644 --- a/include/ir/ir.h +++ b/include/ir/ir.h @@ -15,6 +15,7 @@ typedef enum { IR_ASSIGN_INTER, IR_ASSIGN_STRING, IR_ASSIGN_REG, + IR_ASSIGN_FUNC, IR_ADD, IR_SUB, IR_IMUL, @@ -39,6 +40,7 @@ typedef enum { IR_CALL_START, IR_CALL, IR_CALL_EXTERN, + IR_CALLR, IR_JUMP_ZERO, IR_JUMP, IR_RET, @@ -161,5 +163,9 @@ typedef struct { /* longjump to context->env on failure */ void scope_generate_ir(Scope *self, IrCompilerContext *context); +/* longjump to context->env on failure */ +void scope_generate_function_ids(Scope *self, IrCompilerContext *context); +/* longjump to context->env on failure */ +void scope_generate_functions_ir(Scope *self, IrCompilerContext *context); #endif -- cgit v1.2.3