24 Commits

Author SHA1 Message Date
0813d084cc Fix parsing of binary expressions
Signed-off-by: Slendi <slendi@socopon.com>
2024-04-07 15:13:33 +03:00
81b0c139ef Add initial support for structs
There is an issue with calling C functions sadly because LLVM seems to
prefer passing each element as its own parameter than "packing" them
into 64 bit registers.

Signed-off-by: Slendi <slendi@socopon.com>
2024-03-26 13:32:51 +02:00
177a41ebd2 Add support for structure definitions and initializers
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-12 10:15:38 +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
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
78c8e50bbf Move code to separate folder
Signed-off-by: Slendi <slendi@socopon.com>
2024-02-28 15:07:08 +02:00