32 Commits

Author SHA1 Message Date
f094fcb376 Add block statements 2025-06-29 22:03:03 +01:00
fb06f6f483 Remove unnecessary code 2025-06-29 20:24:01 +01:00
4f39417d3e Start adding statements 2025-06-29 19:25:08 +01:00
Abdelrahman Said
2690c07220 Display integers with no decimal points 2025-06-29 12:37:07 +01:00
e4723166a2 Rename printer and interpreter to ast_printer and ast_interpreter 2025-06-29 02:18:25 +01:00
e352df9d7d Add expression evaluation 2025-06-29 02:15:10 +01:00
7b8903c19c Add Object.to_string method 2025-06-29 00:19:18 +01:00
b3291a9e3a Add asserts 2025-06-29 00:13:52 +01:00
3aec8b6b5b Reformat 2025-06-29 00:03:12 +01:00
1c1d754750 Finish parsing expressions 2025-06-28 22:51:02 +01:00
6f156c0487 Add bool type to object 2025-06-28 21:24:10 +01:00
1118e825f3 Switch to macros for better readability and add printer.hh 2025-06-28 18:27:00 +01:00
Abdelrahman Said
a6e129eb12 Update to reduce copying of expressions 2025-06-22 12:39:47 +01:00
Abdelrahman Said
c6f9307253 And that's why I hate C++ 2025-06-21 16:51:35 +01:00
Abdelrahman Said
c78e694f87 Improved solution with inline functions 2025-06-20 23:25:12 +01:00
Abdelrahman Said
de85b0d93c More ergonomic solution using macros, but still needs improvement 2025-06-19 08:23:24 +01:00
56e259d7ed Slightly improved version of the parser 2025-06-18 22:57:52 +01:00
Abdelrahman Said
ae87a3b4a3 A working but clunky solution for expressions 2025-06-09 23:03:03 +01:00
2f0c4be7bf Start implementing the parser 2025-06-09 06:41:14 +01:00
aa800e4201 Switch to using header guards instead of pragma once 2025-06-08 20:25:19 +01:00
9cbb61939d Reformat 2025-06-08 18:16:17 +01:00
8feb7204a0 Reformat 2025-06-08 18:15:13 +01:00
dd2b76eea7 Complete Scanner 2025-06-08 17:38:32 +01:00
cae1a9347e Fix Object 2025-06-08 16:42:16 +01:00
cec9ef24de Reformat 2025-06-08 15:42:08 +01:00
38366141c5 Handle more operators 2025-06-08 15:37:11 +01:00
74b7cf9f89 Use string_view instead of string in Token 2025-06-08 15:10:38 +01:00
1a0207687c Move error handling and interpreter functionality to different files 2025-06-08 15:09:15 +01:00
cd7ce538b6 Simplify Object type 2025-06-08 15:08:45 +01:00
16b544bb85 Implement lexer skeleton for cclox 2025-06-07 23:38:47 +01:00
84fbf3d138 Sub README 2025-06-01 01:07:40 +01:00
1845618e8d Init repo 2025-06-01 01:06:19 +01:00