Commit Graph

69 Commits

Author SHA1 Message Date
5706a81098 Separate errors to own header-file 2026-04-13 00:24:18 +03:00
85644457d0 Tokenize whitespace as well, skip it in next 2026-04-12 00:49:59 +03:00
cdff4cc9db Add binops for more fundamental type kinds 2026-04-12 00:47:38 +03:00
01434b8097 Eliminate repetition 2026-04-12 00:46:36 +03:00
e015ada6e4 Update README.md 2026-04-11 23:19:42 +03:00
866d78e6d1 Compile vararg 2026-04-11 23:18:13 +03:00
8646d5c0d0 Parse varargs 2026-04-11 22:18:02 +03:00
3f61e3749e Allow anonymous parameters 2026-04-11 22:11:52 +03:00
5dc6e8ca16 Modify printf to take a number additionally 2026-04-11 22:07:48 +03:00
96e4d6232f Fix tokenization of long words 2026-04-11 22:06:15 +03:00
bd76e8676f Add literal strings 2026-04-11 22:03:38 +03:00
ac7731446e Add pointer types 2026-04-11 21:45:54 +03:00
6855360a97 Add void and char types 2026-04-11 21:40:59 +03:00
7cf752f67b Add forward declarations 2026-04-11 21:34:44 +03:00
07c0059c5c Remove unused forward-declaration 2026-04-11 19:18:46 +03:00
44f9438839 Add new comments 2026-04-11 19:17:47 +03:00
1aed5c93f1 Add comments 2026-04-11 19:15:21 +03:00
d5a28b1580 Link everything in main.cpp 2026-04-11 19:14:13 +03:00
25343e0856 Produce LLVM IR and object file 2026-04-11 18:40:35 +03:00
712c0bed51 Improve memory management for Result 2026-04-11 17:55:49 +03:00
344b7588d8 Make slightly better error raporting at codegen 2026-04-11 00:09:26 +03:00
6a315711cf Make metadata actually have start and end separately 2026-04-11 00:01:14 +03:00
a035d07505 Add metadata to AST 2026-04-10 23:58:06 +03:00
d902569f7b Add metadata to tokens 2026-04-10 23:40:59 +03:00
07b691ba7a Fix all warnings 2026-04-10 21:45:05 +03:00
174d397b89 No longer use lvalue for function call expression 2026-04-10 19:56:46 +03:00
5abcd6e00a Make a bunch of tweaks, make fibonacci sequence compile 2026-04-10 19:55:34 +03:00
e653734f86 Compile function calls 2026-04-10 18:58:28 +03:00
8dc0a6bf12 Parse function calls 2026-04-10 18:30:29 +03:00
66f9dac5a6 Codegen if-statements 2026-04-10 18:09:55 +03:00
97745ffbb0 Parse if-statements 2026-04-10 17:39:38 +03:00
f59b5db29b Parse and process function parameters 2026-04-10 17:25:01 +03:00
7d4190d9a1 Parse new binops 2026-04-10 17:13:14 +03:00
422f95e553 Add some new binary operations 2026-04-10 17:11:03 +03:00
d69e2c0929 Move binop to types 2026-04-10 16:58:27 +03:00
dcb6e60a3b Add virtual add for Type 2026-04-10 16:53:10 +03:00
ea9bb1fcb9 Move types to it's own file 2026-04-09 18:38:22 +03:00
ed51ee61ed Fix parsing of expression statements 2026-04-09 17:55:09 +03:00
8e2bc3a7f7 Add addition binop 2026-04-09 17:52:11 +03:00
43abaa4a46 Make expressions return StackValue 2026-04-09 17:44:22 +03:00
16833ad1a0 Add compiling of lvalues differently 2026-04-09 17:25:41 +03:00
a6939784f8 Codegen binops, kind-of 2026-04-09 17:17:57 +03:00
78816dff10 Parse binary operators 2026-04-09 17:14:58 +03:00
4d307d0eb9 Add expression statements 2026-04-09 16:31:47 +03:00
48feebc714 Add parse_initialization_statement 2026-04-09 16:24:11 +03:00
9969ad12f6 Use raw pointers for BBs 2026-04-09 16:05:04 +03:00
89db646873 Allow loading stack values 2026-04-09 16:02:34 +03:00
1070aa6ed0 Add scope 2026-04-09 15:53:01 +03:00
cf94296877 Codegen initial alloca and store 2026-04-09 15:37:51 +03:00
db60335507 Parse initialization statement 2026-04-09 15:28:39 +03:00