Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement statement parsingHEADmain | Himbeer | 32 hours | 1 | -1/+289 |
| | |||||
* | Fix constant parser not consuming an equals sign | Himbeer | 32 hours | 1 | -0/+4 |
| | |||||
* | Implement type and expression parsing | Himbeer | 32 hours | 1 | -0/+562 |
| | |||||
* | Declare needed parsing function prototypes | Himbeer | 32 hours | 1 | -0/+3 |
| | |||||
* | Fix syntax of type.c | Himbeer | 32 hours | 1 | -12/+12 |
| | |||||
* | Add lexical token for character literals | Himbeer | 32 hours | 1 | -0/+15 |
| | |||||
* | Move error function to util.c | Himbeer | 32 hours | 3 | -30/+15 |
| | |||||
* | Add tokens for op-assignments and in/decrement | Himbeer | 33 hours | 1 | -8/+43 |
| | |||||
* | Add missing 'as' and 'tagof' tokens | Himbeer | 2 days | 1 | -0/+2 |
| | |||||
* | Implement toplevel parsing | Himbeer | 3 days | 1 | -23/+371 |
| | |||||
* | Add align, enum and pub keywords | Himbeer | 3 days | 1 | -0/+3 |
| | |||||
* | Stop supporting `-enclosed string literals | Himbeer | 3 days | 1 | -1/+0 |
| | |||||
* | Simplify type system to primitives only | Himbeer | 3 days | 1 | -50/+13 |
| | |||||
* | Define overhauled AST data structures | Himbeer | 4 days | 1 | -1478/+1 |
| | |||||
* | Remove mut, import, export, enum | Himbeer | 7 days | 3 | -149/+3 |
| | |||||
* | Check for import name collisions | Himbeer | 2024-10-08 | 1 | -1/+22 |
| | |||||
* | Add a check stub | Himbeer | 2024-10-08 | 2 | -0/+45 |
| | |||||
* | Implement expression-based language redesign | Himbeer | 2024-10-07 | 1 | -41/+53 |
| | | | | | This is the implementation of commit ce68792c848caee2f184e7a6392d9f1e958da1a1. | ||||
* | Implement optional break expressions | Himbeer | 2024-10-02 | 1 | -8/+15 |
| | |||||
* | Implement optional return expressions | Himbeer | 2024-10-02 | 1 | -2/+4 |
| | | | | | This is the implementation of commit 7c2cfd1657924a9d66757a627eef9caa117684a9. | ||||
* | Fix expression matching success being inverted | Himbeer | 2024-10-01 | 1 | -1/+1 |
| | |||||
* | Fix invalid inner types not raising an error | Himbeer | 2024-10-01 | 1 | -3/+15 |
| | |||||
* | Fix unary postfix expressions being expected in absence of operator | Himbeer | 2024-10-01 | 1 | -1/+6 |
| | | | | | | This allows the expression parser to return false for non-expressions instead of terminating the entire parsing procedure with an error, fixing calls to functions with no parameters not being allowed. | ||||
* | Implement statement parsing | Himbeer | 2024-10-01 | 1 | -3/+303 |
| | |||||
* | Fix literal parsing accepting any non-booleans as strings | Himbeer | 2024-09-26 | 1 | -1/+4 |
| | |||||
* | Fix union tag types not being accepted by the parsing procedure | Himbeer | 2024-09-26 | 1 | -1/+13 |
| | |||||
* | Fix non-matching tokens not being ummatched in type/expression parsing | Himbeer | 2024-09-26 | 1 | -0/+2 |
| | |||||
* | Implement literal (expression) parsing | Himbeer | 2024-09-26 | 1 | -5/+102 |
| | |||||
* | Implement type parsing | Himbeer | 2024-09-26 | 1 | -1/+604 |
| | |||||
* | Implement expression parsing | Himbeer | 2024-09-25 | 1 | -0/+504 |
| | |||||
* | Implement expressions | Himbeer | 2024-09-23 | 1 | -9/+9 |
| | |||||
* | Add builtin boolean type | Himbeer | 2024-09-21 | 1 | -0/+1 |
| | |||||
* | 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/+7 |
| | | | | | 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 | 3 | -7/+29 |
| | |||||
* | Use must_malloc in lex_init | Himbeer | 2024-09-19 | 1 | -5/+1 |
| | |||||
* | Make 'Out of memory' capitalization consistent across source files | Himbeer | 2024-09-19 | 1 | -3/+3 |
| | |||||
* | Make main parse the token stream into an AST | Himbeer | 2024-09-17 | 1 | -16/+3 |
| | |||||
* | Implement parsing imports | Himbeer | 2024-09-17 | 1 | -0/+96 |
| | |||||
* | Return correct token kind from lexer or T_NONE for unexpected input | Himbeer | 2024-09-17 | 1 | -0/+4 |
| | |||||
* | Add OOM-safe must_calloc and must_realloc helper functions | Himbeer | 2024-09-17 | 1 | -0/+22 |
| | |||||
* | Add missing util.c includes | Himbeer | 2024-09-17 | 1 | -0/+2 |
| | |||||
* | Add token kind matching lexer function | Himbeer | 2024-09-17 | 1 | -0/+11 |
| | | | | | | 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. | ||||
* | Fix unlex function return type and name being on the same line | Himbeer | 2024-09-17 | 1 | -1/+2 |
| | |||||
* | Add must_malloc helper function | Himbeer | 2024-09-17 | 1 | -0/+11 |
| | | | | | | 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/+52 |
| | |||||
* | Add AST data structures for (sub)units and top-level declarations | Himbeer | 2024-09-15 | 1 | -0/+1 |
| | |||||
* | Include (single-line) comments in lexical analysis | Himbeer | 2024-09-12 | 2 | -2/+27 |
| | |||||
* | Make identifiers / paths sequences of names delimited by :: | Himbeer | 2024-09-12 | 2 | -14/+5 |
| | | | | This is much easier to lex than separate token kinds. | ||||
* | Include strings in lexical analysis | Himbeer | 2024-09-12 | 2 | -1/+20 |
| |