Commit Graph

35 Commits

Author SHA1 Message Date
11987fcb6d Optionally search relative to the current source file to find headers. 2023-12-06 18:24:07 +00:00
bc787c3adb Wire in enhanced error handling to all crash situations 2023-04-25 00:06:35 +01:00
96f6773904 Allow omission of braces on multiple-statement switch cases. 2023-04-24 03:57:58 +01:00
4e47cdcaf6 Add switch statement, case and default handling, wire in the error handler for a sample program 2023-04-24 03:03:31 +01:00
09af190aa9 Fix rsp not being escaped properly in the Win32 GAS ASM generator 2023-04-23 19:20:09 +01:00
216d6c6b5e Refactor to generalise assembler output 2023-04-23 17:32:02 +01:00
39756f4e89 Small fixes to assembly output 2022-03-06 02:28:42 +00:00
734bc049e7 Allow single statements in bodies of if, else, while and for 2022-03-06 01:52:37 +00:00
334b02cd76 Fix break & continue implementation 2022-03-06 01:15:07 +00:00
b7f8d8666e Implement break/continue statements. 2022-03-05 23:42:01 +00:00
f2d2d07709 Create import test files 2022-03-04 15:55:08 +00:00
2c87817904 Implement alias - a faster typedef 2022-03-04 02:31:16 +00:00
628c7a3a13 Implement enums and the foundation of a type alias system 2022-03-04 01:11:04 +00:00
3717b310be Implement unions and largest-element allocation 2022-03-03 02:44:07 +00:00
537246daae CLion reformatting pass, finish struct implementation 2022-03-03 00:05:10 +00:00
ac8c0ed9c7 Add struct tests. 2021-07-05 00:07:55 +01:00
2bdbe6e6c0
Fixes to parsing and function pointers. It's a hack but it... works? kinda? 2021-03-15 15:59:15 +00:00
d848425701
Working on functions, symbols, and toward a GL hello world. 2021-03-15 01:22:47 +00:00
8263fb853b
Fixes to struct parsing 2021-02-22 17:43:06 +00:00
bcd313270f
Rework compiler command line parsing, it can now assemble and link automatically 2021-01-18 01:47:42 +00:00
263e9d443a
Remove Print<x> functions. We can printf, baby. 2021-01-18 00:26:30 +00:00
52134784a4
Add function prototyping - we can now call cstdlib functions 2021-01-18 00:20:58 +00:00
813a6c7827
Add parsing for function calls 2021-01-17 21:56:37 +00:00
389d4b47ff
Working towards functions.. We have parameters and function local types 2021-01-17 06:37:39 +00:00
39ee1b6028
Working local variables.
Next up: multiple function parameters..
2020-11-30 20:01:00 +00:00
384f46054a
Local Variables.
Still got issues with code generation, and for some reason identifier IDs are always 1.
2020-11-27 21:16:50 +00:00
e2120bb171
Working on the refactor for local symbols. 2020-11-25 22:53:50 +00:00
86b1688035
Start work on string parsing.
Generates a valid AST tree, but the program segfaults. Need to look into it.
2020-11-22 01:44:54 +00:00
999f8dc267
Begin cleanup of array parsing
TODO: debug segfault
2020-11-19 02:31:40 +00:00
985f02723e
Start work on array parsing 2020-11-18 20:49:08 +00:00
bc1bac8a63
Big cleanup and fixes.
We have pointer arithmetic!
2020-11-15 06:40:05 +00:00
264c50509e
Allow global-scope declarations
Function-local scope is still WIP, but you can now define things outside of function blocks.
2020-09-13 23:41:46 +01:00
a27d3dd782
Add support for pointers of char, int and long types 2020-09-13 02:26:49 +01:00
822376d142
Add new tests to help debugging 2020-09-13 02:26:18 +01:00
59329d963f
First files.
Currently has two bugs.

First, all functions are resolved to index 0 (currently PrintInteger)

Second, the register used for returning is immediately overwritten by the next allocated register. This means addition of function return values is a little silly.

Also, commit signing!
2020-09-10 02:01:18 +01:00