8ac844c2b0
Add "primitive" parsers for all the semantic tokens in the lexer grammar
2025-04-02 12:04:42 +02:00
56d1054b74
Fix parse_token to add the correct information to a parse node
2025-04-02 12:04:42 +02:00
d7dc6c802e
Partial parser implementation
2025-04-02 12:04:42 +02:00
e2fa229c1d
Add basic parser utilities
2025-04-02 12:04:36 +02:00
5fb6ebef28
Add functions to skip over trivia in a tokenlist
2025-04-02 11:59:24 +02:00
bbdcad024f
Add function to print the AST
2025-04-02 11:50:25 +02:00
935da30257
Add basic AST functionality
2025-04-02 11:35:53 +02:00
bd37ddaeea
Add tokenlist, a linked list of lexer tokens
...
The linked list is doubly linked so the parser can look forward into it
and error reporting can look backward.
This commmit also reworks main to use the tokenlist instead of dealing
with the lexer manually.
2025-03-31 18:43:34 +02:00
42da7b1d05
Move err_allocation_failed into error.c and make it available to
...
everyone.
2025-03-31 18:43:34 +02:00
5cdb60d395
Remove peek function
2025-03-30 22:51:47 +02:00
e5830daac9
Add documentation comments to the lexer code
2025-03-30 22:51:15 +02:00
942dd444cc
Fix infinite loop when lexing an invalid newline sequence
2025-03-30 22:03:12 +02:00
df948b18c6
Initial commit, basic lexer structure
2025-03-30 17:45:51 +02:00