Commit Graph

71 Commits

Author SHA1 Message Date
Karma Riuk
2174781b77 using smart pointers instead of normal ones for
easier setup of tests (to call setup() multiple
times without leaks)
2025-07-11 11:16:16 +02:00
Karma Riuk
826f4de77a updated return tests 2025-07-11 11:10:29 +02:00
Karma Riuk
a7f5950a55 implemented infix operator parsing 2025-07-11 10:30:37 +02:00
Karma Riuk
6e471a91d5 fixed test 2025-07-11 10:30:28 +02:00
Karma Riuk
1ec438c900 made infix string better 2025-07-11 09:12:42 +02:00
Karma Riuk
702c34a736 written tests for infix expressions 2025-07-11 09:07:33 +02:00
Karma Riuk
f038d30d77 written the test in a different way, since we
can't use for loops around subcases
2025-07-11 09:07:12 +02:00
Karma Riuk
ed3cf748e2 properly deallocating the prefix obeject 2025-07-11 09:01:09 +02:00
Karma Riuk
c55c6b2b20 forgot that statement and expression had a common
ancestor
2025-07-11 08:45:15 +02:00
Karma Riuk
7f1cc6f45e can now parse prefix expressions! 2025-07-09 12:02:01 +02:00
Karma Riuk
c7a30a0028 made casting issues log an even better message 2025-07-09 12:01:09 +02:00
Karma Riuk
2ff6c695f7 removed useless import 2025-07-09 12:00:57 +02:00
Karma Riuk
3ec6667ba3 improved logging errors 2025-07-09 11:46:47 +02:00
Karma Riuk
c65cefe867 extracted to a function the casting of the
different types to make tests cleaner
2025-07-09 11:07:21 +02:00
Karma Riuk
79b1aeb45f can now parse identifiers and integer literals 2025-07-09 10:16:13 +02:00
Karma Riuk
e3cbba08b1 fixed tests 2025-07-08 18:08:17 +02:00
Karma Riuk
74c555bfc0 added possibility of printing nodes 2025-07-08 18:05:52 +02:00
Karma Riuk
96d76153d4 added option for subcase 2025-07-08 18:05:29 +02:00
Karma Riuk
8fb0ef2be7 added quotes to avoid any cli issue 2025-07-08 17:23:34 +02:00
Karma Riuk
c9e21213fd made setup for expression parsing 2025-07-08 15:52:40 +02:00
Karma Riuk
d10e5676c1 better use of fixtures for resource allocation and
dealocation
2025-07-08 15:45:38 +02:00
Karma Riuk
83df4955d4 added tests for the stringification of the program 2025-07-08 11:18:54 +02:00
Karma Riuk
902f5a16df using fixtures (not super necessary, but nice) 2025-07-08 10:58:51 +02:00
Karma Riuk
2dfff61346 using test suites 2025-07-08 10:48:35 +02:00
Karma Riuk
ef624de4ef a little bit of cleanup 2025-07-08 10:20:10 +02:00
Karma Riuk
31cb483602 added string function to all nodes of ast 2025-07-08 10:17:38 +02:00
Karma Riuk
da2b6716b1 moved program to it's own files 2025-07-08 09:59:11 +02:00
Karma Riuk
1d259e6988 forgot pragma once 2025-07-08 09:56:47 +02:00
Karma Riuk
d13f9bf9f8 added the parsing of expression statements 2025-07-08 09:51:15 +02:00
Karma Riuk
08aacf0416 extracted the parsing of the "expressions" to it's
own function so we can just modify that once we
get there
2025-07-08 09:50:41 +02:00
Karma Riuk
0b9d7d9c33 added return parsing 2025-07-07 18:34:46 +02:00
Karma Riuk
1638ddbfa1 fixed tests 2025-07-07 18:33:27 +02:00
Karma Riuk
b98424aa5f renamed let to let_stmt 2025-07-07 17:44:11 +02:00
Karma Riuk
39eafe2360 made tests for return statements 2025-07-07 17:39:07 +02:00
Karma Riuk
7b916b2a0b created the parser dir test to avoid having a
bunch of "unrelated" tests in one file
2025-07-07 17:20:21 +02:00
Karma Riuk
132dc65240 added some sort of error generation when parsing
errors occur
2025-07-07 15:04:23 +02:00
Karma Riuk
bbac513aa9 checkign that the casting of the let statement
doesn't throw
2025-07-07 15:01:46 +02:00
Karma Riuk
de465b6122 very basic parser of let statements 2025-07-03 13:30:56 +02:00
Karma Riuk
c091f7f021 added execution of valgrind on valgrind target 2025-07-03 11:59:26 +02:00
Karma Riuk
ca74b67bb0 renamed tests to test 2025-07-03 10:10:22 +02:00
Karma Riuk
4da5313db5 using require instead of check to fail fast 2025-07-02 23:12:28 +02:00
Karma Riuk
896b9001c7 added default value to lexer field to avoid
compiler complaints
2025-07-02 23:00:09 +02:00
Karma Riuk
6181fc8d9f added valgrind to targets to check for memory
leaks
2025-07-02 22:59:49 +02:00
Karma Riuk
d328ae60df added clangd config to disable semantic tokens on
operators because seeing new and delete treated as
operators was hurting my eyes
2025-07-02 22:42:21 +02:00
Karma Riuk
3547822d3e forgot the pragma once for the hpps 2025-07-02 11:17:34 +02:00
Karma Riuk
e773cb649f added the current character to the lexer struct
for cleaner structure
2025-07-01 18:59:43 +02:00
Karma Riuk
69bee723a2 implemented very simple repl 2025-07-01 18:43:25 +02:00
Karma Riuk
aee7a741b1 added EQ and NEQ 2025-07-01 18:01:45 +02:00
Karma Riuk
7973f7522c extended lexer to new keywords 2025-06-30 00:36:31 +02:00
Karma Riuk
5cc7147909 extended single char tokens 2025-06-30 00:27:30 +02:00