Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move semantic analysis to separate file | Bad Diode | 2022-04-18 | 1 | -521/+4 |
| | |||||
* | Add a more rich symbol table value and typecheck funcall args | Bad Diode | 2022-04-18 | 1 | -31/+96 |
| | |||||
* | Refactor to remove redundant symbol_check function | Bad Diode | 2022-04-18 | 1 | -212/+97 |
| | |||||
* | Add funcall node type and fix type resolution bugs | Bad Diode | 2022-04-11 | 1 | -12/+80 |
| | |||||
* | Add more type rules and numeric type coercion | Bad Diode | 2022-04-09 | 1 | -20/+163 |
| | |||||
* | Add rudimentary type checking | Bad Diode | 2022-04-08 | 1 | -46/+187 |
| | |||||
* | Add initial implementation of AST vizualization | Bad Diode | 2022-04-08 | 1 | -1/+1 |
| | |||||
* | Add initial implementation of typeclass resolution | Bad Diode | 2022-04-07 | 1 | -5/+84 |
| | |||||
* | Add scope pointer to blocks and functions | Bad Diode | 2022-04-06 | 1 | -7/+3 |
| | |||||
* | Add hashing function for symbols | Bad Diode | 2022-04-06 | 1 | -3/+5 |
| | |||||
* | Add initial implementation of symbol checking | Bad Diode | 2022-04-06 | 1 | -20/+203 |
| | |||||
* | Prepare parse tree for return | Bad Diode | 2022-04-06 | 1 | -6/+18 |
| | |||||
* | Add TODO.md file to keep track of open tasks | Bad Diode | 2022-04-06 | 1 | -6/+3 |
| | |||||
* | Add parsing of if statements | Bad Diode | 2022-04-06 | 1 | -2/+49 |
| | |||||
* | Add NODE_BLOCK for scoped expressions | Bad Diode | 2022-04-06 | 1 | -17/+25 |
| | |||||
* | Add parsing for function definitions | Bad Diode | 2022-04-03 | 1 | -25/+126 |
| | | | | | | | | | | | | This commits also changes the structure of some existing functions. Namely, parse_* functions other than parse_next check that the type of the token to parse is correct. This allow us to use them directly in the rest of the code to consume tokens and properly produce an error if the token type is not the expected one. In the same fashion, two new functions consume_lparen and consume_rparen are implemented. They only report true/false and report errors if something went wrong. | ||||
* | Add parsing for (set ...) statements | Bad Diode | 2022-04-03 | 1 | -0/+33 |
| | |||||
* | Add type signature to def statements | Bad Diode | 2022-03-31 | 1 | -62/+13 |
| | | | | Currently mandatory, may be optional once we have type inference. | ||||
* | Minor styling changes | Bad Diode | 2022-03-30 | 1 | -27/+10 |
| | |||||
* | Add initial parsing of variable definitions | Bad Diode | 2022-03-30 | 1 | -4/+61 |
| | |||||
* | Add support for logic builtins and bools | Bad Diode | 2022-03-30 | 1 | -1/+23 |
| | |||||
* | Add parsing for builtin arithmetic ops | Bad Diode | 2022-03-30 | 1 | -3/+57 |
| | |||||
* | Use Node refs as return arguments from parsing | Bad Diode | 2022-03-30 | 1 | -27/+47 |
| | |||||
* | Make unknown printing explicit | Bad Diode | 2022-03-26 | 1 | -3/+1 |
| | |||||
* | Add number parsing | Bad Diode | 2022-03-12 | 1 | -79/+89 |
| | |||||
* | Add boilerplate for parser | Bad Diode | 2022-02-12 | 1 | -860/+108 |
| | |||||
* | Add support for captured loads inside lambdasir | Bad Diode | 2022-01-09 | 1 | -1/+1 |
| | |||||
* | Add some comments for later | Bad Diode | 2022-01-03 | 1 | -1/+6 |
| | |||||
* | Ensure new procedures are compiled only once | Bad Diode | 2021-12-30 | 1 | -1/+38 |
| | |||||
* | Add `not` and `and` builtins for ir compilation | Bad Diode | 2021-12-23 | 1 | -4/+11 |
| | |||||
* | Fix typo in enum name | Bad Diode | 2021-12-22 | 1 | -4/+4 |
| | |||||
* | Integrate builtin text into objects | Bad Diode | 2021-12-22 | 1 | -45/+34 |
| | |||||
* | Add builtin object type | Bad Diode | 2021-12-22 | 1 | -16/+46 |
| | |||||
* | Add initial boilerplate for closure capture | Bad Diode | 2021-11-15 | 1 | -1/+31 |
| | |||||
* | Fix stack on procedure call return | Bad Diode | 2021-11-15 | 1 | -1/+3 |
| | |||||
* | Fix bug on parameter detection for named functions | Bad Diode | 2021-11-10 | 1 | -4/+8 |
| | |||||
* | Add support for accessing procedure parameters | Bad Diode | 2021-11-10 | 1 | -5/+23 |
| | |||||
* | Add initial local definition/access | Bad Diode | 2021-11-10 | 1 | -2/+3 |
| | |||||
* | Change Environment to store locals in array | Bad Diode | 2021-11-10 | 1 | -20/+31 |
| | | | | This will help directly translate the locals to assembly. | ||||
* | Add `cons`, `car` and `cdr` primitives | Bad Diode | 2021-11-04 | 1 | -0/+1 |
| | |||||
* | Add compilation of `display` primitive | Bad Diode | 2021-11-02 | 1 | -0/+3 |
| | |||||
* | Add type predicate primitive procedures | Bad Diode | 2021-11-01 | 1 | -0/+1 |
| | | | | Added: nil?, zero?, bool?, fixnum? | ||||
* | 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 | 1 | -21/+7 |
| | | | | | This will avoid unnecessary allocations, since we always keep the original text file open until the end of the processing. | ||||
* | 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 | 1 | -12/+71 |
| | |||||
* | Ensure lambdas wrap their env tables | Bad Diode | 2021-10-31 | 1 | -2/+4 |
| | |||||
* | Add dead code elimination to AST tree | Bad Diode | 2021-10-30 | 1 | -3/+73 |
| | |||||
* | Add symbol declaration error checking | Bad Diode | 2021-10-30 | 1 | -6/+75 |
| |