Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | 4 | -2/+183 |
| | |||||
* | 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 | 2 | -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 | 9 | -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 |
| | |||||
* | 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 | 1 | -4/+4 |
| | |||||
* | 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 | 4 | -8/+94 |
| | |||||
* | 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 | 9 | -0/+719 |
| | |||||
* | Update README | Bad Diode | 2021-10-29 | 1 | -3/+0 |
| | |||||
* | Fix bug with logic operations | Bad Diode | 2021-10-28 | 1 | -6/+12 |
| | |||||
* | Fix difference between lambda and named func calls | Bad Diode | 2021-10-28 | 2 | -8/+11 |
| | |||||
* | Ensure closures live on the heap | Bad Diode | 2021-10-28 | 2 | -1/+3 |
| | |||||
* | Add OP_SET_CAPTURED operation | Bad Diode | 2021-10-28 | 4 | -23/+37 |
| | |||||
* | Add tentative implementation of captured variables | Bad Diode | 2021-10-28 | 2 | -61/+84 |
| | |||||
* | Prepare for closure capture | Bad Diode | 2021-10-28 | 9 | -62/+136 |
| | |||||
* | Fix depth resolution on recursive calls | Bad Diode | 2021-10-27 | 2 | -19/+23 |
| | |||||
* | Fix an issue with reading local variables when nested | Bad Diode | 2021-10-27 | 3 | -14/+21 |
| | |||||
* | Fix function call bug with number of locals | Bad Diode | 2021-10-27 | 1 | -2/+3 |
| | |||||
* | Add support for lexically scoped local variables | Bad Diode | 2021-10-27 | 5 | -41/+104 |
| |