diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/bba.c | 0 | ||||
-rw-r--r-- | src/backend/bba.h | 39 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/backend/bba.c b/src/backend/bba.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/backend/bba.c diff --git a/src/backend/bba.h b/src/backend/bba.h new file mode 100644 index 0000000..98c081e --- /dev/null +++ b/src/backend/bba.h @@ -0,0 +1,39 @@ +#pragma once + +#include "compiler/ast-tree.h" + +typedef enum BBAOperation { + BBA_OPERATION_ASSIGN, + + BBA_OPERATION_CAST, + // BBA_OPERATION_TYPE_OF, + // BBA_OPERATION_IMPORT, + // BBA_OPERATION_IS_COMPTIME, + BBA_OPERATION_STACK_ALLOC, + BBA_OPERATION_HEAP_ALLOC, + BBA_OPERATION_NEG, + BBA_OPERATION_ADD, + BBA_OPERATION_SUB, + BBA_OPERATION_MUL, + BBA_OPERATION_DIV, + BBA_OPERATION_MOD, + BBA_OPERATION_EQUAL, + BBA_OPERATION_NOT_EQUAL, + BBA_OPERATION_GREATER, + BBA_OPERATION_SMALLER, + BBA_OPERATION_GREATER_OR_EQUAL, + BBA_OPERATION_SMALLER_OR_EQUAL, + BBA_OPERATION_PUTC, + + BBA_OPERATION_CALL, +}BBAOperation; + +typedef struct BBAInstruction { + +} BBAInstruction; + +typedef struct BBABlock { +} BBABlock; + +typedef struct BBA { +} BBA; |