aboutsummaryrefslogtreecommitdiff
path: root/src/parser.h
Commit message (Collapse)AuthorAgeFilesLines
* Support assignments to mutable variablesThomas Voss 2024-07-011-0/+4
|
* Add (x & y) and (x | y)Thomas Voss 2024-06-291-1/+9
|
* Implement bit shifting operationsThomas Voss 2024-06-291-0/+8
|
* Implement ~x and x ~ yThomas Voss 2024-06-281-0/+8
|
* Do some more work to support modulus and parenthesisThomas Voss 2024-06-281-5/+3
|
* Prelimiary work on binary expressionsThomas Voss 2024-06-281-0/+8
|
* Support unary plus and minusThomas Voss 2024-06-261-1/+9
|
* Support ‘…’ and ‘...’ in initializersThomas Voss 2024-06-241-2/+3
|
* Rename lots of things to make my life easierThomas Voss 2024-06-221-21/+22
|
* Store decl info in auxilliary dataThomas Voss 2024-06-221-13/+19
|
* Add a commentThomas Voss 2024-06-191-0/+5
|
* Various parser fixesThomas Voss 2024-06-191-0/+14
|
* Big movesThomas Voss 2024-06-181-2/+4
|
* Begin work on the static analyzerThomas Voss 2024-06-171-1/+1
|
* Don’t hardcode _AST_LAST_ENTThomas Voss 2024-06-141-1/+1
|
* Allow identifiers in expressionsThomas Voss 2024-06-141-0/+3
|
* Fix alignof() usage and a very sneaky bugThomas Voss 2024-06-121-1/+1
| | | | | | | | | | | | | | | | | | 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;
* Assert that we don’t have too many tokensThomas Voss 2024-06-111-0/+5
|
* Remove ‘soa’ from lots of identifiersThomas Voss 2024-06-111-2/+2
|
* Be consistent with the *_t_ suffix for typedefsThomas Voss 2024-06-111-3/+3
|
* Switch size_t indicies to be idx_t_Thomas Voss 2024-06-111-3/+5
|
* Add basic LLVM codegenThomas Voss 2024-06-111-23/+35
|
* Parse very basic declarationsThomas Voss 2024-06-111-4/+26
|
* Begin work on a basic parserThomas Voss 2024-06-111-0/+32