Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add for-loop sugaring a while loop | Bad Diode | 46 hours | 1 | -0/+35 |
| | |||||
* | Add sugar for combo assign ops | Bad Diode | 46 hours | 1 | -5/+44 |
| | |||||
* | Add BITXOR parsing and compilation | Bad Diode | 47 hours | 1 | -0/+6 |
| | |||||
* | Refactor the parser for named struct types | Bad Diode | 2 days | 1 | -139/+166 |
| | |||||
* | Add semantic analysis for break/continue | Bad Diode | 3 days | 1 | -1/+1 |
| | |||||
* | Add initial implementation of variable compilation | Bad Diode | 8 days | 1 | -0/+1 |
| | |||||
* | Add bytecode compilation for strings and booleans | Bad Diode | 8 days | 1 | -1/+4 |
| | |||||
* | Add initial pointer and array access/declaration typechecking | Bad Diode | 9 days | 1 | -2/+1 |
| | |||||
* | Fix typechecking for nested struct literals | Bad Diode | 10 days | 1 | -1/+1 |
| | |||||
* | Add better ergonomics for nested struct literals | Bad Diode | 10 days | 1 | -6/+32 |
| | |||||
* | Update inner struct symbol resolution | Bad Diode | 11 days | 1 | -2/+1 |
| | |||||
* | Add compound types for anonymous struct fields | Bad Diode | 11 days | 1 | -48/+49 |
| | |||||
* | Remove parenthesis requirement from match, while, if | Bad Diode | 11 days | 1 | -12/+0 |
| | |||||
* | Add struct literals typechecking | Bad Diode | 11 days | 1 | -1/+1 |
| | |||||
* | Change grammar for struct literals | Bad Diode | 12 days | 1 | -39/+41 |
| | |||||
* | Add proper parsing of return statements and functions params | Bad Diode | 12 days | 1 | -0/+8 |
| | |||||
* | Add non-exhaustive typechecking for cond/match expr | Bad Diode | 13 days | 1 | -6/+8 |
| | |||||
* | Add constrain to let parsing either type or value must be present | Bad Diode | 13 days | 1 | -0/+6 |
| | |||||
* | Start implementing the typechecker | Bad Diode | 2024-06-21 | 1 | -0/+4 |
| | |||||
* | Add semantic checking for enum constructs | Bad Diode | 2024-06-21 | 1 | -1/+4 |
| | |||||
* | Add scope pointer to AST nodes | Bad Diode | 2024-06-21 | 1 | -0/+1 |
| | |||||
* | Add a basic symbol checker | Bad Diode | 2024-06-21 | 1 | -3/+4 |
| | |||||
* | Make sure symbol chains continue as expected. | Bad Diode | 2024-06-20 | 1 | -0/+7 |
| | |||||
* | Add parsing of funcalls | Bad Diode | 2024-06-20 | 1 | -0/+10 |
| | |||||
* | Add parsing support for functions | Bad Diode | 2024-06-20 | 1 | -0/+144 |
| | |||||
* | Move parser to its own file | Bad Diode | 2024-06-19 | 1 | -429/+911 |
| | |||||
* | 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 |
| |