This website requires JavaScript.
6e1129cb6b
Debug information improvements
master
Curle
2023-12-08 03:56:09 +0000
dc4d4aba24
Fix parser goof
Curle
2023-12-08 03:44:36 +0000
c11e0792f4
Minor fixes for the linux assembler
Curle
2023-12-07 22:33:51 +0000
84c5c9f4f2
Dump Everything.
Curle
2023-12-08 03:12:09 +0000
5f014fed8b
Fixes for windows again.
Curle
2023-12-08 03:01:56 +0000
cdd8e017e2
Fix assigning local definitions.
Curle
2023-12-07 22:42:19 +0000
29b797d7dc
Refactor codegen, allow compiling for linux
Curle
2023-12-06 19:01:20 +0000
bfebf647eb
Optionally search relative to the current source file to find headers.
Curle
2023-12-06 18:21:31 +0000
bc787c3adb
Wire in enhanced error handling to all crash situations
Curle
2023-04-25 00:06:35 +0100
0f77480d5b
Refactor to allow inline initialization of arrays.
Curle
2023-04-24 22:26:54 +0100
e42a2cfd8d
Refactor to allow inline initialization of variables.
Curle
2023-04-24 20:41:49 +0100
96f6773904
Allow omission of braces on multiple-statement switch cases.
Curle
2023-04-24 03:57:58 +0100
4e47cdcaf6
Add switch statement, case and default handling, wire in the error handler for a sample program
Curle
2023-04-24 03:03:31 +0100
70ae06af44
Add useful error handler
Curle
2023-04-24 02:17:11 +0100
09af190aa9
Fix rsp not being escaped properly in the Win32 GAS ASM generator
Curle
2023-04-23 19:20:09 +0100
4d5fd36390
Fix not consuming semicolon on most operations
Curle
2023-04-23 18:56:35 +0100
216d6c6b5e
Refactor to generalise assembler output
Curle
2023-04-23 17:32:02 +0100
4339a04024
Layed out the generator interface
#4
Anita Anderson
2023-04-18 19:41:36 -0400
d36e53325f
Start work on generic codegen backend
Anita Anderson
2023-04-18 16:55:37 -0400
c9c83efaa0
Update cmake to allow C++ and fix maxos compile error
#3
Anita Anderson
2023-04-18 16:18:08 -0400
39756f4e89
Small fixes to assembly output
Curle
2022-03-06 02:28:42 +0000
734bc049e7
Allow single statements in bodies of if, else, while and for
Curle
2022-03-06 01:52:37 +0000
334b02cd76
Fix break & continue implementation
Curle
2022-03-06 01:15:07 +0000
0454c38a7e
Add extra output files to gitignore.
Curle
2022-03-05 23:42:15 +0000
b7f8d8666e
Implement break/continue statements.
Curle
2022-03-05 23:42:01 +0000
4e62bbdc51
Finish the Import mechanism, plus some bug fixes
Curle
2022-03-05 02:05:18 +0000
2c27f2eb40
Assign source files their actual locations
Curle
2022-03-05 01:22:54 +0000
37cdaacc71
Begin refactor for multiplexed compilation
Curle
2022-03-05 01:13:45 +0000
f2d2d07709
Create import test files
Curle
2022-03-04 15:55:08 +0000
2c87817904
Implement alias - a faster typedef
Curle
2022-03-04 02:31:16 +0000
628c7a3a13
Implement enums and the foundation of a type alias system
Curle
2022-03-04 01:11:04 +0000
3717b310be
Implement unions and largest-element allocation
Curle
2022-03-03 02:44:07 +0000
537246daae
CLion reformatting pass, finish struct implementation
Curle
2022-03-03 00:05:10 +0000
ac8c0ed9c7
Add struct tests.
Curle
2021-07-05 00:07:55 +0100
8e45ea5eef
Implement (broken) struct member access
Curle
2021-07-05 00:07:04 +0100
2bdbe6e6c0
Fixes to parsing and function pointers. It's a hack but it... works? kinda?
Curle
2021-03-15 15:59:15 +0000
d848425701
Working on functions, symbols, and toward a GL hello world.
Curle
2021-03-15 01:22:47 +0000
f766d02467
Move to the BS toolcahin
Curle
2021-03-12 23:46:10 +0000
8263fb853b
Fixes to struct parsing
Curle
2021-02-22 17:43:06 +0000
72358aed9f
Small fixes, complete refactor
dev-refactor
Curle
2021-01-22 01:01:53 +0000
e19a945934
Finish commenting all files
Curle
2021-01-21 20:01:30 +0000
01d293f2c6
More comments - Pointers and Delegate
Curle
2021-01-21 01:53:00 +0000
18b5da209d
Major refactoring
Curle
2021-01-20 19:22:15 +0000
eb118db872
Major rewrite of the symbol parsing
Curle
2021-01-20 01:05:41 +0000
a52779e379
Place AST Dumping behind the option
Curle
2021-01-18 01:52:20 +0000
cce059b9dc
Add errno header for linux build
Curle
2021-01-18 01:49:46 +0000
bcd313270f
Rework compiler command line parsing, it can now assemble and link automatically
Curle
2021-01-18 01:47:42 +0000
263e9d443a
Remove Print<x> functions. We can printf, baby.
Curle
2021-01-18 00:26:30 +0000
52134784a4
Add function prototyping - we can now call cstdlib functions
Curle
2021-01-18 00:20:58 +0000
813a6c7827
Add parsing for function calls
Curle
2021-01-17 21:56:37 +0000
389d4b47ff
Working towards functions.. We have parameters and function local types
Curle
2021-01-17 06:37:39 +0000
0c148f6e0c
Add overrides for aliasing int types to their bit width (int->i32)
Curle
2021-01-17 06:36:11 +0000
39ee1b6028
Working local variables.
Curle
2020-11-30 20:01:00 +0000
384f46054a
Local Variables.
Curle
2020-11-27 21:16:50 +0000
e2120bb171
Working on the refactor for local symbols.
Curle
2020-11-25 22:53:50 +0000
6ce26709de
Start refactoring Symbols for scoping rework
Curle
2020-11-25 17:03:33 +0000
b540d5ef1b
Cleanup data, prepare for local vars
Curle
2020-11-25 02:11:09 +0000
627839aa5d
Implement code generation for new operators.
Curle
2020-11-24 13:17:01 +0000
eab4d51f25
Tweaked parser to allow implicit conversion of type checks to bool
Curle
2020-11-24 00:21:08 +0000
473af8d54e
Add new symbols to the parser. They are not currently handled
Curle
2020-11-23 21:42:32 +0000
e44158f3b7
Prepare for bitwise, boolean and PPMM operators
Curle
2020-11-23 20:01:36 +0000
245daeb6f9
Clean up generated assembly - the switch takes care of the primitive size so we need only pass a length of 1 for variables.
Curle
2020-11-23 19:23:41 +0000
4f75085348
Refactor symbols, enforce size argument.
Curle
2020-11-23 19:12:13 +0000
86b1688035
Start work on string parsing.
Curle
2020-11-22 01:44:54 +0000
0dc444acfc
Fix typo
Curle
2020-11-22 00:43:32 +0000
b384973379
Prepare for string literal parsing
Curle
2020-11-22 00:42:13 +0000
9ff658615b
Add character literal parsing
Curle
2020-11-22 00:41:48 +0000
2345931528
Fix wrong type in check inside OperatorPrecedence
Curle
2020-11-21 23:15:24 +0000
72fa2127c8
Add a little extra output during tree dump to make it easier to figure out what's going on with parser errors.
Curle
2020-11-21 22:17:02 +0000
28c349726e
Fix array parsing properly.
Curle
2020-11-21 22:16:10 +0000
8d2f98aa53
Oops! Missed something in the refactor for arrays.
Curle
2020-11-21 02:37:01 +0000
cf5f58f1bc
Small cleanup of print output.
Curle
2020-11-21 02:32:46 +0000
c2c4d2f1d5
Brute force fix for arrays. TODO: Investigate this.
Curle
2020-11-21 02:32:22 +0000
83959b4793
More work on arrays. Fixed some bugs.
Curle
2020-11-21 02:07:44 +0000
999f8dc267
Begin cleanup of array parsing
Curle
2020-11-19 02:31:40 +0000
985f02723e
Start work on array parsing
Curle
2020-11-18 20:49:08 +0000
bc1bac8a63
Big cleanup and fixes.
Curle
2020-11-15 06:40:05 +0000
d8abe6fec0
Add code for printing the AST tree after generation
Curle
2020-11-15 06:36:25 +0000
764f89bb88
Add missing functions, fix missing breaks on switch
Curle
2020-11-14 22:26:12 +0000
610c45e3e1
Adjust ASM generation to account for c11 pointer arithmetic standards
Curle
2020-09-14 02:08:14 +0100
a0d2575a83
Refactor pointer arithmetic
Curle
2020-09-14 02:05:24 +0100
264c50509e
Allow global-scope declarations Function-local scope is still WIP, but you can now define things outside of function blocks.
Curle
2020-09-13 23:41:46 +0100
a27d3dd782
Add support for pointers of char, int and long types
Curle
2020-09-13 02:26:49 +0100
822376d142
Add new tests to help debugging
Curle
2020-09-13 02:26:18 +0100
c2b396b853
Fix bug in loading values into variables
Curle
2020-09-13 00:04:38 +0100
7fe6a34613
Fix functions all having the same ID on call. Closes #1
Curle
2020-09-12 02:54:12 +0100
a3ca8e621b
Add debugging messages to help track down issue 1
Curle
2020-09-12 02:52:51 +0100
84fbd5bd61
Fix stupid bug. Closes #2
Curle
2020-09-11 03:30:09 +0100
59329d963f
First files.
Curle
2020-09-10 01:56:16 +0100