Commit Graph

23 Commits

Author SHA1 Message Date
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