# 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
