Commit Graph

100 Commits

Author SHA1 Message Date
Karma Riuk
e2dfca2679 renamed function->block to function->body 2025-07-15 01:13:52 +02:00
Karma Riuk
c6daa5c2af added tests for malformed function literal to
check for memory leaks
2025-07-15 01:11:53 +02:00
Karma Riuk
afbabd6c9e added check for corner case 2025-07-15 01:11:46 +02:00
Karma Riuk
057d6fc9f1 renamed subcase properly 2025-07-15 00:58:49 +02:00
Karma Riuk
0b2a12cef7 added parsing for function literals 2025-07-15 00:56:40 +02:00
Karma Riuk
85f530f5f9 made the parsing functions for the different nodes
return the type they are parsing (necessary for
the parsing of the identifiers while parsing the
list of parameteres in a function literal)
2025-07-15 00:24:53 +02:00
Karma Riuk
586a172d90 removed sus blank line 2025-07-15 00:07:39 +02:00
Karma Riuk
767a2ebcb1 added tests for malformed if to check of memory
leaks
2025-07-15 00:05:48 +02:00
Karma Riuk
d94bb99381 fixed implementation of parse block 2025-07-15 00:04:58 +02:00
Karma Riuk
7c55e58e1a removed captures that don't capture because of
scope issues with doctest
2025-07-14 23:56:51 +02:00
Karma Riuk
cbafb2e814 extracted and abstracted function 2025-07-14 20:15:51 +02:00
Karma Riuk
f0f748f7f5 uncommented tracers and using a macro to enable it
or disable it
2025-07-14 20:15:18 +02:00
Karma Riuk
1cda075f57 added guards for freeing pointers because it
caused seg faults
2025-07-14 20:14:54 +02:00
Karma Riuk
97b81e6771 fixed mistake that caused undefined behaviour 2025-07-14 20:14:39 +02:00
Karma Riuk
870567ec6b removed dereferencing pointers when outputing to
stdout because i wanted the option of seeing
wethere a pointer was null or not
2025-07-14 20:14:03 +02:00
Karma Riuk
34e4bfe9c9 fixed some memory leaks 2025-07-14 15:20:30 +02:00
Karma Riuk
9e63c923da added parsing of if statements 2025-07-14 15:19:05 +02:00
Karma Riuk
86574552aa added parsing and testing for grouped expressions 2025-07-12 15:22:45 +02:00
Karma Riuk
ab17545c93 made another test for boolean parsing in general
expression
2025-07-12 15:07:47 +02:00
Karma Riuk
e170afc840 used overloaded function to make code cleaner 2025-07-11 22:17:01 +02:00
Karma Riuk
aaec4cefcf added prefix parsing for boolean literals 2025-07-11 21:00:11 +02:00
Karma Riuk
4da5f32aea added boolean literals and tests for them (no
parsing yet)
2025-07-11 20:55:02 +02:00
Karma Riuk
8c1f4e10cd made more helper functions for testing 2025-07-11 20:34:18 +02:00
Karma Riuk
6cd99c22fe added a way to show the call stack of the functions 2025-07-11 19:48:55 +02:00
Karma Riuk
c9ffeafd5f added extensive testing for operator precedence 2025-07-11 11:39:55 +02:00
Karma Riuk
a1192204b1 fixed slight bug 2025-07-11 11:39:48 +02:00
Karma Riuk
7192bb318c fixed the to string function of some nodes 2025-07-11 11:39:45 +02:00
Karma Riuk
552e68169f fixed compiler warning 2025-07-11 11:21:45 +02:00
Karma Riuk
63f22a1b40 removed unused include 2025-07-11 11:19:28 +02:00
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