31e348643f
fix: make repl remember variables between invocations
...
I forgot to make environment global between run() function calls.
To fix this, I just create the environment and pass it to interpret()
instead of creating it there
2025-01-13 08:41:04 +04:00
9262620e07
feat: finish chapter 8
...
challenges will be done as well, won't skip them
2025-01-13 08:25:34 +04:00
3cfde406d3
chore: fix comment pos
...
i've moved comma but forgot to move the comment
2025-01-06 20:17:01 +04:00
2d1701e7f7
feat: finish challenge #2(ch.7)
2025-01-06 20:16:21 +04:00
be15364e3b
refactor: remove specification of operators for ternary operator
...
I don't plan on adding other ternary operators. So we just gonna assume
that we only have one ternary operator, which is ? !
2025-01-06 07:07:39 +04:00
50a9e062e0
feat: implement expression evaluation(ch.7)
...
baby steps :)
Will do the challenges as well
2025-01-06 07:03:57 +04:00
8b29a43900
refactor(literal): remove the Option wrapper for literal for Expr
...
Simplifies other aspect of the code. Having the LiteralType be wrapped
in an Option was a mistake (i was super sleepy when i was writing that
code :D)
2025-01-06 01:43:12 +04:00
9f903556f9
feat: implement #3 challenge for ch6
...
i kinda cheated, i was checking the answers and then stumbled upon the
grammar. Sorry :(
2025-01-05 06:26:31 +04:00
977fd9a8a8
fix: actually finish challeng #2(ch.6)
...
I didn't implement the scanner and the printer lol
2025-01-05 05:12:20 +04:00
e54e1b1b27
feat: finish challenge #2 from the book
...
Implementing ternary conditional
2025-01-05 04:57:56 +04:00
8338c360e0
chore: add comment regarding grammar for comma op
2025-01-03 03:27:30 +04:00
4fd04e8fd3
feat: finish challenge #1 from chapter 6
2025-01-03 03:20:09 +04:00
91cfc0b938
feat: finish chapter 6 (implement a parser)
...
there are challenges, which i wish to do (need to add support for stuff)
2025-01-02 01:14:36 +04:00
5f80dfe498
chapter 5
2024-12-21 02:08:12 +04:00
0b437fe5e1
feat: add multi-line comments
...
Challenge 4 of fourth chapter 'Scanner'
2024-11-20 03:31:02 +04:00
3357899307
fix: fix scanning of GreaterEqual
2024-11-19 17:57:51 +04:00
4df4107b77
fix: use the value from matching instead of unwrapping
2024-11-19 06:58:57 +04:00
cd5fae595c
feat: finish scanning section of the book
2024-11-19 06:57:56 +04:00
2bac50ecba
fix: correct number scan
...
i used peek_double instead of peek lol
2024-11-19 06:25:22 +04:00
02eb6bbc26
feat: implement string and number literals lexing
2024-11-18 06:16:31 +04:00
59ce325374
chore: remove the print statements from the test case
...
lol
2024-11-17 07:10:49 +04:00
5988cd84ef
feat: add basic lexing(scanning)
...
just following the Scanning section of the book. Partially implemented
2024-11-16 23:04:16 +04:00
ef7d7bcbf8
init commit
2024-10-31 01:57:26 +04:00