summaryrefslogtreecommitdiff
path: root/README.md
blob: 52b508f65fa89f2e5e9f4e9f7e09272476500e9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Carson's C Compiler

fuck it, we ball

TODO soon:
- [x] let cgen use more than one register
  - [x] basic used/unused register tracking so allocate_temporary can allocate
        a register
  - [x] proper deallocation of temporaries when they are no longer used
  - [x] spilling of values occupying calling convention registers when a
        function is called
  - [ ] ~~allowing variable values to be kept in registers temporarily and then
        spilled to their permanent memory locations~~ PUNTED
- [ ] use evaluated types to make code gen around math better
- [ ] support for functions/function pointers as types
  - [ ] move the "expression not callable" stuff to the type checker
- [ ] we've implemented a hash map 3 times now for different types, time to consolidate