Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Prefix bitwise assignment operations with B | Himbeer | 33 hours | 1 | -3/+3 |
| | |||||
* | Remove unnecessary *crement information | Himbeer | 33 hours | 1 | -6/+0 |
| | |||||
* | Remove unnecessary cmp_e rhs indirection | Himbeer | 33 hours | 1 | -2/+1 |
| | | | | The op member already tells us whether rhs holds a meaningful value. | ||||
* | Separate grp_e and sub-accesses | Himbeer | 33 hours | 1 | -2/+2 |
| | |||||
* | Change character literal representation from int to uint32_t | Himbeer | 33 hours | 1 | -1/+1 |
| | |||||
* | Add lexical token for character literals | Himbeer | 33 hours | 1 | -0/+2 |
| | |||||
* | Move error function to util.c | Himbeer | 33 hours | 1 | -0/+2 |
| | |||||
* | Add tokens for op-assignments and in/decrement | Himbeer | 33 hours | 1 | -0/+10 |
| | |||||
* | Add missing 'as' and 'tagof' tokens | Himbeer | 2 days | 1 | -0/+2 |
| | |||||
* | Implement toplevel parsing | Himbeer | 3 days | 1 | -5/+0 |
| | |||||
* | Add align, enum and pub keywords | Himbeer | 3 days | 1 | -0/+3 |
| | |||||
* | Add missing visibility information to certain toplevels | Himbeer | 3 days | 1 | -0/+4 |
| | |||||
* | Simplify type system to primitives only | Himbeer | 3 days | 1 | -74/+21 |
| | |||||
* | Add location fields to AST data structures that need it | Himbeer | 4 days | 2 | -0/+72 |
| | |||||
* | Define overhauled AST data structures | Himbeer | 4 days | 4 | -286/+259 |
| | |||||
* | Remove mut, import, export, enum | Himbeer | 7 days | 1 | -4/+2 |
| | |||||
* | Add a check stub | Himbeer | 2024-10-08 | 1 | -0/+7 |
| | |||||
* | Implement expression-based language redesign | Himbeer | 2024-10-07 | 3 | -114/+130 |
| | | | | | This is the implementation of commit ce68792c848caee2f184e7a6392d9f1e958da1a1. | ||||
* | Implement optional break expressions | Himbeer | 2024-10-02 | 1 | -1/+6 |
| | |||||
* | Implement optional return expressions | Himbeer | 2024-10-02 | 1 | -1/+1 |
| | | | | | This is the implementation of commit 7c2cfd1657924a9d66757a627eef9caa117684a9. | ||||
* | Attach (optional) labels to blocks rather than loops | Himbeer | 2024-10-01 | 1 | -1/+1 |
| | | | | | | This makes it possible to return values from any block by breaking out of it, enabling if statements to yield expressions when combined with commit ce68792c848caee2f184e7a6392d9f1e958da1a1. | ||||
* | Fix for loop AST node referencing struct ast_assign under the wrong name | Himbeer | 2024-10-01 | 1 | -2/+1 |
| | |||||
* | Add AST data structures for statements | Himbeer | 2024-10-01 | 1 | -2/+105 |
| | |||||
* | Implement literal (expression) parsing | Himbeer | 2024-09-26 | 1 | -4/+4 |
| | |||||
* | Implement type parsing | Himbeer | 2024-09-26 | 4 | -20/+31 |
| | |||||
* | Implement expression parsing | Himbeer | 2024-09-25 | 1 | -11/+9 |
| | |||||
* | Implement expressions | Himbeer | 2024-09-23 | 2 | -8/+203 |
| | |||||
* | Order type kinds alphabetically | Himbeer | 2024-09-21 | 1 | -6/+6 |
| | |||||
* | Add builtin boolean type | Himbeer | 2024-09-21 | 2 | -0/+2 |
| | |||||
* | Remove unnecessary type struct pointer indirections | Himbeer | 2024-09-21 | 1 | -8/+8 |
| | |||||
* | Remove the 'pub' keyword | Himbeer | 2024-09-21 | 1 | -1/+0 |
| | | | | This significantly simplifies parsing. All constants will be public. | ||||
* | Skip comments by default unless the parser requests them explicitly | Himbeer | 2024-09-20 | 1 | -0/+1 |
| | | | | | Most comments aren't relevant to the parser. It is still possible to implement documentation comments for automated documentation generation. | ||||
* | Store token locations and include them in parsing error messages | Himbeer | 2024-09-19 | 1 | -1/+10 |
| | |||||
* | Implement parsing imports | Himbeer | 2024-09-17 | 1 | -7/+5 |
| | |||||
* | Add OOM-safe must_calloc and must_realloc helper functions | Himbeer | 2024-09-17 | 1 | -0/+2 |
| | |||||
* | Define exit codes for lexing, parsing and checking stage errors | Himbeer | 2024-09-17 | 1 | -0/+3 |
| | |||||
* | Add token kind matching lexer function | Himbeer | 2024-09-17 | 1 | -0/+1 |
| | | | | | | This function reads the next token, compares its kind to a parameter and returns a boolean indicating whether it matched. If it did not match, the token is pushed back into the lexer for later reuse. | ||||
* | Add must_malloc helper function | Himbeer | 2024-09-17 | 1 | -0/+2 |
| | | | | | | malloc(3) can fail, most likely in out-of-memory situations. This helper terminates the program in such cases instead of permitting assignments of null pointers. | ||||
* | Add definitions for builtin numeric types | Himbeer | 2024-09-15 | 1 | -0/+12 |
| | |||||
* | Add AST data structures for (sub)units and top-level declarations | Himbeer | 2024-09-15 | 2 | -7/+95 |
| | |||||
* | Add data structures for types | Himbeer | 2024-09-15 | 1 | -0/+75 |
| | |||||
* | Include (single-line) comments in lexical analysis | Himbeer | 2024-09-12 | 1 | -0/+1 |
| | |||||
* | Make identifiers / paths sequences of names delimited by :: | Himbeer | 2024-09-12 | 1 | -1/+0 |
| | | | | This is much easier to lex than separate token kinds. | ||||
* | Add boolean value keywords | Himbeer | 2024-09-12 | 1 | -0/+2 |
| | |||||
* | Implement lexical analysis of number literals | Himbeer | 2024-09-12 | 1 | -0/+8 |
| | |||||
* | Treat builtin types as keywords during lexical analysis | Himbeer | 2024-09-12 | 1 | -12/+12 |
| | |||||
* | Implement operator lexing | Himbeer | 2024-09-12 | 1 | -0/+2 |
| | |||||
* | Add lexer for names and identifiers | Himbeer | 2024-09-11 | 3 | -0/+138 |