Karma Riuk
|
586a172d90
|
removed sus blank line
|
2025-07-15 00:07:39 +02:00 |
|
Karma Riuk
|
d94bb99381
|
fixed implementation of parse block
|
2025-07-15 00:04:58 +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
|
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
|
6cd99c22fe
|
added a way to show the call stack of the functions
|
2025-07-11 19:48:55 +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
|
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
|
a7f5950a55
|
implemented infix operator parsing
|
2025-07-11 10:30:37 +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
|
ed3cf748e2
|
properly deallocating the prefix obeject
|
2025-07-11 09:01:09 +02:00 |
|
Karma Riuk
|
7f1cc6f45e
|
can now parse prefix expressions!
|
2025-07-09 12:02:01 +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
|
c9e21213fd
|
made setup for expression parsing
|
2025-07-08 15:52:40 +02:00 |
|
Karma Riuk
|
83df4955d4
|
added tests for the stringification of the program
|
2025-07-08 11:18:54 +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
|
b98424aa5f
|
renamed let to let_stmt
|
2025-07-07 17:44:11 +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
|
de465b6122
|
very basic parser of let statements
|
2025-07-03 13:30:56 +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
|
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 |
|
Karma Riuk
|
dec93f8272
|
implemented lexer for a more complex subset of the
monkey language
|
2025-06-30 00:12:28 +02:00 |
|
Karma Riuk
|
c322b69590
|
renamed IDENT to IDENTIFIER because i kept reading
indent
|
2025-06-29 20:04:20 +02:00 |
|
Karma Riuk
|
ffff13b2e0
|
lexer can now read single character tokens
|
2025-06-29 12:33:37 +02:00 |
|
Karma Riuk
|
ca05c3577a
|
renamed EOF_ to END_OF_FILE
|
2025-06-29 12:33:09 +02:00 |
|
Karma Riuk
|
1c928616a4
|
written structure and tests for lexer, missing
implementation
|
2025-06-29 10:56:51 +02:00 |
|
Karma Riuk
|
ccfc3ed0f7
|
fixed bug
|
2025-06-29 10:56:32 +02:00 |
|
Karma Riuk
|
2aff81ba4c
|
fixed token header and made the tokenTypeStrings
not seeable from outside modules
|
2025-06-29 10:43:12 +02:00 |
|