aboutsummaryrefslogtreecommitdiff
path: root/src/backend/bba.h
blob: 98c081e7e5e69bd58439c200185aa5fc1c4b8901 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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;