15 Commits

Author SHA1 Message Date
ec7d06b135 Fix ast nodes now containing token entry instead of token 2025-04-02 11:29:09 +02:00
3ff53f923d Partial parser implementation 2025-04-02 11:29:09 +02:00
4c7555dfd8 Add invalid ast node id 2025-04-02 11:29:09 +02:00
68a41d035d FIXME REORDER COMMIT -- Change main so it can parse the ast
FIXME THIS COMMIT NEEDS TO BE REORDERED
FIXME THIS COMMIT NEEDS TO BE REORDERED
FIXME THIS COMMIT NEEDS TO BE REORDERED
FIXME THIS COMMIT NEEDS TO BE REORDERED
2025-04-02 11:29:09 +02:00
4e1186a305 Add basic AST functionality 2025-04-02 11:29:09 +02:00
34ace36920 Add a parser grammar 2025-04-02 11:28:58 +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
75fc72c35d Add action to run validation on every commit
All checks were successful
Validate the build / validate-build (push) Successful in 23s
Adds some flags to the makefile to make it build on alpine with a
different libc
2025-03-31 14:36:15 +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
4becfb868e Reduce excessive line length in Makefile 2025-03-30 22:07:35 +02:00
942dd444cc Fix infinite loop when lexing an invalid newline sequence 2025-03-30 22:03:12 +02:00
55f6dff543 Add basic fuzzing with afl++ 2025-03-30 22:01:53 +02:00
df948b18c6 Initial commit, basic lexer structure 2025-03-30 17:45:51 +02:00