44 Commits

Author SHA1 Message Date
177a41ebd2 Add support for structure definitions and initializers
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-12 10:15:38 +02:00
ef52ee47f4 Update TODO list
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-10 02:13:28 +02:00
d54f9fb2f8 Add support for void function calls
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-10 02:10:02 +02:00
453689642c Add support for function declarations
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-10 01:30:46 +02:00
e4289d577a Make the compiler work on macOS
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-10 01:16:25 +02:00
1092c68317 Add TODO list
I don't want to lose track of progress, this should make sure that won't
happen.

Signed-off-by: Slendi <slendi@socopon.com>
2024-03-03 22:28:46 +02:00
fad3f16e04 Give up on the C parser
This is just going to overcomplicate things. It will not be needed
pretty much at all for the goals of this language.

Signed-off-by: Slendi <slendi@socopon.com>
2024-03-03 22:20:05 +02:00
a88806e1e7 Remove trailing whitespace
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-03 03:20:09 +02:00
64034e9086 Various improvements 2024-03-02 23:14:45 +02:00
3f2ee15302 Add support for while loops 2024-03-02 21:47:36 +02:00
907a5d12ca Add support for infinite loops 2024-03-02 20:46:57 +02:00
71c337a3f4 Add support for comparison operators
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-01 15:30:25 +02:00
92c8509125 Add support for if-else
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-01 14:07:11 +02:00
5dc73ab5f2 Update gitignore, add support for arrays and pointers
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-01 12:21:44 +02:00
327f2bdd86 Add support for variables to LLVM emitter
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-29 16:20:51 +02:00
def0e2b8e0 Remove binary
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-29 14:23:13 +02:00
5455919d6e LLVM my beloved
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-29 14:04:28 +02:00
484d1a6e2c Add support or extern function
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-29 09:29:21 +02:00
10ae992a7b idk what i am commiting lol 2024-02-28 17:28:33 +02:00
ed1491d6dd Add LLVM
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 17:24:40 +02:00
9d7f79e576 Add support for pointer types and arrays
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 16:45:56 +02:00
7ab94d4ed5 Implement binary in the lexer
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 16:35:40 +02:00
9521ba6f5f Did the funny golang thing
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 16:22:20 +02:00
eb258c8f4c Improve error message logging for function calls
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 16:19:01 +02:00
ce30d31645 Realize I have been commiting the debug symbols file
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:09:51 +02:00
78c8e50bbf Move code to separate folder
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:08 +02:00
1d9277e200 Add return statement
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:07 +02:00
6d94a65649 Add support for function parameters in scope
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:07 +02:00
a1d74cd2ca Add support for return types to functions
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:07 +02:00
d2068be1b8 Fix strings
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:06 +02:00
7fe927a683 Add type checking for functions
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:06 +02:00
da19db1b23 Add type checker
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:06 +02:00
537d93ced1 Update examples 2024-02-09 14:47:46 +02:00
499b47987c Remove debug printf 2024-02-09 14:36:03 +02:00
540e94037e Add parser for structs, unions and functions 2024-02-09 14:34:02 +02:00
d5990adfee Add test in test.cat for libraries with special chars 2024-02-09 12:51:02 +02:00
47412f0587 Remove debug print statements 2024-02-09 12:47:30 +02:00
7478a0d29f Add comments to the lexer 2024-02-09 01:49:40 +02:00
90a495ba1b Add declaration parsing 2024-02-09 01:40:52 +02:00
8c8a395193 Add parser for use statment 2024-02-08 18:30:10 +02:00
f5a72da29d Fix parser and implement if-elif-else 2024-02-08 17:09:58 +02:00
f51a8817aa Create parser for if statements 2024-02-08 15:41:01 +02:00
d8b6505a89 Fix mistake in doing gitignore being named wrong 2024-02-08 01:09:13 +02:00
4534c39a4b Initial commit 2024-02-08 01:04:11 +02:00