Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Replace `call` with `jmp` in preparation for TCO | Bad Diode | 2021-11-16 | 1 | -3/+8 | |
| | ||||||
* | Add proper function calls with closed variables | Bad Diode | 2021-11-16 | 1 | -12/+43 | |
| | ||||||
* | Add workaround for `void` return in function calls | Bad Diode | 2021-11-15 | 1 | -3/+11 | |
| | ||||||
* | Add initial boilerplate for closure capture | Bad Diode | 2021-11-15 | 3 | -5/+48 | |
| | ||||||
* | Fix stack on procedure call return | Bad Diode | 2021-11-15 | 3 | -24/+65 | |
| | ||||||
* | Fix bug on parameter detection for named functions | Bad Diode | 2021-11-10 | 2 | -4/+9 | |
| | ||||||
* | Add support for accessing procedure parameters | Bad Diode | 2021-11-10 | 3 | -8/+38 | |
| | ||||||
* | Add locals for lambda procedures | Bad Diode | 2021-11-10 | 1 | -3/+9 | |
| | ||||||
* | Add initial local definition/access | Bad Diode | 2021-11-10 | 3 | -7/+39 | |
| | ||||||
* | Change Environment to store locals in array | Bad Diode | 2021-11-10 | 4 | -25/+42 | |
| | | | | This will help directly translate the locals to assembly. | |||||
* | Add support for args in function calls | Bad Diode | 2021-11-10 | 1 | -2/+22 | |
| | ||||||
* | Add display functionality for lambda objects | Bad Diode | 2021-11-09 | 2 | -7/+28 | |
| | ||||||
* | Add initial procedure calls for lambdas | Bad Diode | 2021-11-09 | 2 | -11/+36 | |
| | ||||||
* | Add compilation context | Bad Diode | 2021-11-09 | 2 | -149/+204 | |
| | | | | This prepares the compiler for the compilation of lambdas/procedures. | |||||
* | Add support for compiling string literals | Bad Diode | 2021-11-09 | 3 | -30/+128 | |
| | ||||||
* | Change heap register to `r15` from `rsi` to avoid conflicts | Bad Diode | 2021-11-04 | 2 | -60/+64 | |
| | ||||||
* | Add `cons`, `car` and `cdr` primitives | Bad Diode | 2021-11-04 | 4 | -8/+76 | |
| | ||||||
* | Add `if` compilation | Bad Diode | 2021-11-03 | 1 | -0/+22 | |
| | ||||||
* | Fix behaviour of numerical comparisons | Bad Diode | 2021-11-03 | 1 | -29/+19 | |
| | ||||||
* | Fix behaviour of logic comparisons | Bad Diode | 2021-11-03 | 1 | -41/+55 | |
| | ||||||
* | Add a function to generate labels | Bad Diode | 2021-11-02 | 1 | -0/+13 | |
| | ||||||
* | Add numerical comparison operations (binary only) | Bad Diode | 2021-11-02 | 1 | -10/+58 | |
| | ||||||
* | Add `and` / `or` primitive procedures | Bad Diode | 2021-11-02 | 1 | -15/+37 | |
| | ||||||
* | Add `not` primitive procedure | Bad Diode | 2021-11-02 | 1 | -60/+93 | |
| | ||||||
* | Add compilation of `display` primitive | Bad Diode | 2021-11-02 | 4 | -32/+44 | |
| | ||||||
* | Add type predicate primitive procedures | Bad Diode | 2021-11-01 | 2 | -23/+88 | |
| | | | | Added: nil?, zero?, bool?, fixnum? | |||||
* | Add support for immediate constants | Bad Diode | 2021-11-01 | 3 | -53/+143 | |
| | | | | | | - Fixnums are tagged with a zero on the LSB. - The nil value is equal to exactly 1. - Boolean values have a 11 tag. A value of 111 is true and 011 false. | |||||
* | Add x86_64 compilation for arithmetic expressionsv0.10 | Bad Diode | 2021-11-01 | 6 | -2/+191 | |
| | ||||||
* | Add protection for buffer overflow of tokens | Bad Diode | 2021-10-31 | 1 | -6/+6 | |
| | ||||||
* | Add a couple of EOF checks | Bad Diode | 2021-10-31 | 1 | -0/+29 | |
| | ||||||
* | Replace string/symbol text field with StringView | Bad Diode | 2021-10-31 | 3 | -22/+8 | |
| | | | | | This will avoid unnecessary allocations, since we always keep the original text file open until the end of the processing. | |||||
* | Change permissions for text files to 644 | Bad Diode | 2021-10-31 | 11 | -0/+0 | |
| | ||||||
* | Unify semantic analysis actions under a single function | Bad Diode | 2021-10-31 | 1 | -111/+49 | |
| | ||||||
* | Add number of arguments check in function calls | Bad Diode | 2021-10-31 | 2 | -12/+73 | |
| | ||||||
* | Ensure lambdas wrap their env tables | Bad Diode | 2021-10-31 | 2 | -7/+10 | |
| | ||||||
* | Add dead code elimination to AST tree | Bad Diode | 2021-10-30 | 2 | -3/+75 | |
| | ||||||
* | Update vim syntax to handle set! | Bad Diode | 2021-10-30 | 1 | -1/+2 | |
| | ||||||
* | Add symbol declaration error checking | Bad Diode | 2021-10-30 | 1 | -6/+75 | |
| | ||||||
* | Prepare for scope check | Bad Diode | 2021-10-30 | 2 | -14/+48 | |
| | ||||||
* | Add hashtable for Environment tracking | Bad Diode | 2021-10-30 | 3 | -0/+240 | |
| | ||||||
* | Add minimal syntax file for vim | Bad Diode | 2021-10-30 | 3 | -6/+22 | |
| | ||||||
* | Add parsing for fun expressionsv0.9 | Bad Diode | 2021-10-30 | 3 | -0/+46 | |
| | ||||||
* | Add parsing for def/set! expressions | Bad Diode | 2021-10-30 | 4 | -15/+99 | |
| | ||||||
* | Add parsing of if expressions | Bad Diode | 2021-10-30 | 5 | -9/+95 | |
| | ||||||
* | Add parsing of lambda expression | Bad Diode | 2021-10-30 | 5 | -29/+125 | |
| | ||||||
* | Revert "Deduplicate string/symbols text for fast equality checks" | Bad Diode | 2021-10-29 | 3 | -112/+21 | |
| | | | | This reverts commit 95709acb7f166b21f562ef3fcf8ba7cb5890d28a. | |||||
* | Deduplicate string/symbols text for fast equality checks | Bad Diode | 2021-10-29 | 3 | -21/+112 | |
| | ||||||
* | Add parser for tokens->ast conversion | Bad Diode | 2021-10-29 | 5 | -31/+379 | |
| | ||||||
* | Prepare third compiler implementation | Bad Diode | 2021-10-29 | 10 | -8/+724 | |
| | ||||||
* | Add license filev0.8 | Bad Diode | 2021-10-29 | 1 | -0/+51 | |
| |