Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Disallow keywords as identifier names | Thomas Voss | 2024-07-09 | 1 | -0/+6 |
| | |||||
* | Patch use-after-free | Thomas Voss | 2024-07-09 | 1 | -4/+7 |
| | |||||
* | Throw error when attempting to declare a local variable ‘pub’ | Thomas Voss | 2024-07-09 | 1 | -0/+2 |
| | |||||
* | Support static-local variables | Thomas Voss | 2024-07-09 | 1 | -4/+17 |
| | |||||
* | Actually make unary plus an AST node | Thomas Voss | 2024-07-08 | 1 | -6/+10 |
| | |||||
* | Fix comment | Thomas Voss | 2024-07-08 | 1 | -1/+1 |
| | |||||
* | Support function calls | Thomas Voss | 2024-07-08 | 1 | -9/+36 |
| | |||||
* | Implement booleans | Thomas Voss | 2024-07-06 | 1 | -3/+15 |
| | |||||
* | Support assignments to mutable variables | Thomas Voss | 2024-07-01 | 1 | -6/+14 |
| | |||||
* | Add (x & y) and (x | y) | Thomas Voss | 2024-06-29 | 1 | -8/+4 |
| | |||||
* | Implement bit shifting operations | Thomas Voss | 2024-06-29 | 1 | -1/+5 |
| | |||||
* | Implement ~x and x ~ y | Thomas Voss | 2024-06-28 | 1 | -9/+16 |
| | |||||
* | Properly check for EOF | Thomas Voss | 2024-06-28 | 1 | -2/+9 |
| | |||||
* | Do some more work to support modulus and parenthesis | Thomas Voss | 2024-06-28 | 1 | -24/+60 |
| | |||||
* | Prelimiary work on binary expressions | Thomas Voss | 2024-06-28 | 1 | -14/+52 |
| | |||||
* | Support unary plus and minus | Thomas Voss | 2024-06-26 | 1 | -0/+15 |
| | |||||
* | Add a TODO | Thomas Voss | 2024-06-25 | 1 | -0/+1 |
| | |||||
* | Initialize aux length to 0 | Thomas Voss | 2024-06-25 | 1 | -1/+3 |
| | |||||
* | Support ‘…’ and ‘...’ in initializers | Thomas Voss | 2024-06-24 | 1 | -4/+21 |
| | |||||
* | Properly handle decl without assignment | Thomas Voss | 2024-06-24 | 1 | -2/+1 |
| | |||||
* | Set RHS to ‘i’ when a block is empty | Thomas Voss | 2024-06-22 | 1 | -1/+1 |
| | |||||
* | Rename lots of things to make my life easier | Thomas Voss | 2024-06-22 | 1 | -57/+63 |
| | |||||
* | Store decl info in auxilliary data | Thomas Voss | 2024-06-22 | 1 | -35/+45 |
| | |||||
* | Huge changes to static analysis | Thomas Voss | 2024-06-21 | 1 | -6/+8 |
| | |||||
* | Various parser fixes | Thomas Voss | 2024-06-19 | 1 | -22/+88 |
| | |||||
* | Big moves | Thomas Voss | 2024-06-18 | 1 | -1/+2 |
| | |||||
* | Minor efficiency improvement | Thomas Voss | 2024-06-14 | 1 | -2/+5 |
| | |||||
* | Allow identifiers in expressions | Thomas Voss | 2024-06-14 | 1 | -0/+4 |
| | |||||
* | Fix alignof() usage and a very sneaky bug | Thomas Voss | 2024-06-12 | 1 | -25/+27 |
| | | | | | | | | | | | | | | | | | | It might seem innocuous, but the following expression is actually quite prone to breakage: ast->kids[i].lhs = parseexpr(ast, toks); The reason is that parseexpr() and the other parsing functions return indicies into the AST, however in doing so they may find that the AST needs to grow and call astresz(). Should astresz() be called there is a chance that we will realloc() a new buffer somewhere else in memory, causing the left-hand side of the above expression to now be pointing to an invalid location in memory. To combat this we’re forced to break it up into two statements: idx_t_ lhs = parseexpr(ast, toks); ast->kids[i].lhs = lhs; | ||||
* | Use smaller default capacities in debug mode | Thomas Voss | 2024-06-12 | 1 | -11/+9 |
| | |||||
* | Code reshuffling | Thomas Voss | 2024-06-11 | 1 | -2/+3 |
| | |||||
* | Remove ‘soa’ from lots of identifiers | Thomas Voss | 2024-06-11 | 1 | -26/+26 |
| | |||||
* | Switch size_t indicies to be idx_t_ | Thomas Voss | 2024-06-11 | 1 | -31/+15 |
| | |||||
* | Add basic LLVM codegen | Thomas Voss | 2024-06-11 | 1 | -103/+140 |
| | |||||
* | Parse very basic declarations | Thomas Voss | 2024-06-11 | 1 | -20/+148 |
| | |||||
* | Begin work on a basic parser | Thomas Voss | 2024-06-11 | 1 | -0/+112 |