aboutsummaryrefslogtreecommitdiff
path: root/src/parser.c
Commit message (Collapse)AuthorAgeFilesLines
* Implement bit shifting operationsThomas Voss 2024-06-291-1/+5
|
* Implement ~x and x ~ yThomas Voss 2024-06-281-9/+16
|
* Properly check for EOFThomas Voss 2024-06-281-2/+9
|
* Do some more work to support modulus and parenthesisThomas Voss 2024-06-281-24/+60
|
* Prelimiary work on binary expressionsThomas Voss 2024-06-281-14/+52
|
* Support unary plus and minusThomas Voss 2024-06-261-0/+15
|
* Add a TODOThomas Voss 2024-06-251-0/+1
|
* Initialize aux length to 0Thomas Voss 2024-06-251-1/+3
|
* Support ‘…’ and ‘...’ in initializersThomas Voss 2024-06-241-4/+21
|
* Properly handle decl without assignmentThomas Voss 2024-06-241-2/+1
|
* Set RHS to ‘i’ when a block is emptyThomas Voss 2024-06-221-1/+1
|
* Rename lots of things to make my life easierThomas Voss 2024-06-221-57/+63
|
* Store decl info in auxilliary dataThomas Voss 2024-06-221-35/+45
|
* Huge changes to static analysisThomas Voss 2024-06-211-6/+8
|
* Various parser fixesThomas Voss 2024-06-191-22/+88
|
* Big movesThomas Voss 2024-06-181-1/+2
|
* Minor efficiency improvementThomas Voss 2024-06-141-2/+5
|
* Allow identifiers in expressionsThomas Voss 2024-06-141-0/+4
|
* Fix alignof() usage and a very sneaky bugThomas Voss 2024-06-121-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 modeThomas Voss 2024-06-121-11/+9
|
* Code reshufflingThomas Voss 2024-06-111-2/+3
|
* Remove ‘soa’ from lots of identifiersThomas Voss 2024-06-111-26/+26
|
* Switch size_t indicies to be idx_t_Thomas Voss 2024-06-111-31/+15
|
* Add basic LLVM codegenThomas Voss 2024-06-111-103/+140
|
* Parse very basic declarationsThomas Voss 2024-06-111-20/+148
|
* Begin work on a basic parserThomas Voss 2024-06-111-0/+112