aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler.h
Commit message (Expand)AuthorAgeFilesLines
* Fix local variables on recursive callsBad Diode2021-11-171-8/+26
* Add tail call optimization for function callsBad Diode2021-11-161-30/+52
* Move ret pointer before closed vars in proc callsBad Diode2021-11-161-6/+14
* Replace `call` with `jmp` in preparation for TCOBad Diode2021-11-161-3/+8
* Add proper function calls with closed variablesBad Diode2021-11-161-12/+43
* Add workaround for `void` return in function callsBad Diode2021-11-151-3/+11
* Add initial boilerplate for closure captureBad Diode2021-11-151-4/+16
* Fix stack on procedure call returnBad Diode2021-11-151-22/+58
* Add support for accessing procedure parametersBad Diode2021-11-101-3/+14
* Add locals for lambda proceduresBad Diode2021-11-101-3/+9
* Add initial local definition/accessBad Diode2021-11-101-4/+35
* Change Environment to store locals in arrayBad Diode2021-11-101-0/+2
* Add support for args in function callsBad Diode2021-11-101-2/+22
* Add display functionality for lambda objectsBad Diode2021-11-091-7/+10
* Add initial procedure calls for lambdasBad Diode2021-11-091-10/+35
* Add compilation contextBad Diode2021-11-091-141/+201
* Add support for compiling string literalsBad Diode2021-11-091-22/+108
* Change heap register to `r15` from `rsi` to avoid conflictsBad Diode2021-11-041-58/+62
* Add `cons`, `car` and `cdr` primitivesBad Diode2021-11-041-7/+65
* Add `if` compilationBad Diode2021-11-031-0/+22
* Fix behaviour of numerical comparisonsBad Diode2021-11-031-29/+19
* Fix behaviour of logic comparisonsBad Diode2021-11-031-41/+55
* Add a function to generate labelsBad Diode2021-11-021-0/+13
* Add numerical comparison operations (binary only)Bad Diode2021-11-021-10/+58
* Add `and` / `or` primitive proceduresBad Diode2021-11-021-15/+37
* Add `not` primitive procedureBad Diode2021-11-021-60/+93
* Add compilation of `display` primitiveBad Diode2021-11-021-0/+19
* Add type predicate primitive proceduresBad Diode2021-11-011-23/+87
* Add support for immediate constantsBad Diode2021-11-011-7/+39
* Add x86_64 compilation for arithmetic expressionsv0.10Bad Diode2021-11-011-0/+115