|
d36e53325f
|
Start work on generic codegen backend
Signed-off-by: Anita Anderson <anita@ansan.io>
|
2023-04-18 16:55:37 -04:00 |
|
|
c9c83efaa0
|
Update cmake to allow C++ and fix maxos compile error
Signed-off-by: Anita Anderson <anita@ansan.io>
|
2023-04-18 16:18:08 -04: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 |
|
|
0454c38a7e
|
Add extra output files to gitignore.
|
2022-03-05 23:42:15 +00:00 |
|
|
b7f8d8666e
|
Implement break/continue statements.
|
2022-03-05 23:42:01 +00:00 |
|
|
4e62bbdc51
|
Finish the Import mechanism, plus some bug fixes
|
2022-03-05 02:05:18 +00:00 |
|
|
2c27f2eb40
|
Assign source files their actual locations
|
2022-03-05 01:22:54 +00:00 |
|
|
37cdaacc71
|
Begin refactor for multiplexed compilation
|
2022-03-05 01:13:45 +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 |
|
|
8e45ea5eef
|
Implement (broken) struct member access
|
2021-07-05 00:07:04 +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 |
|
|
f766d02467
|
Move to the BS toolcahin
|
2021-03-12 23:48:06 +00:00 |
|
|
8263fb853b
|
Fixes to struct parsing
|
2021-02-22 17:43:06 +00:00 |
|
|
72358aed9f
|
Small fixes, complete refactor
|
2021-01-22 01:01:53 +00:00 |
|
|
e19a945934
|
Finish commenting all files
|
2021-01-21 20:01:30 +00:00 |
|
|
01d293f2c6
|
More comments - Pointers and Delegate
|
2021-01-21 01:53:00 +00:00 |
|
|
18b5da209d
|
Major refactoring
Comments added to the parser and lexer, more to come
|
2021-01-20 19:22:15 +00:00 |
|
|
eb118db872
|
Major rewrite of the symbol parsing
Moved from a static double-ended list to individual singly-linked lists for easier and faster parsing
|
2021-01-20 01:05:41 +00:00 |
|
|
a52779e379
|
Place AST Dumping behind the option
|
2021-01-18 01:52:20 +00:00 |
|
|
cce059b9dc
|
Add errno header for linux build
|
2021-01-18 01:49:46 +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 |
|
|
0c148f6e0c
|
Add overrides for aliasing int types to their bit width (int->i32)
|
2021-01-17 06:36:11 +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 |
|
|
6ce26709de
|
Start refactoring Symbols for scoping rework
|
2020-11-25 17:03:33 +00:00 |
|
|
b540d5ef1b
|
Cleanup data, prepare for local vars
|
2020-11-25 02:11:09 +00:00 |
|
|
627839aa5d
|
Implement code generation for new operators.
|
2020-11-24 13:17:01 +00:00 |
|
|
eab4d51f25
|
Tweaked parser to allow implicit conversion of type checks to bool
|
2020-11-24 00:21:08 +00:00 |
|
|
473af8d54e
|
Add new symbols to the parser. They are not currently handled
|
2020-11-23 21:42:32 +00:00 |
|
|
e44158f3b7
|
Prepare for bitwise, boolean and PPMM operators
|
2020-11-23 20:01:36 +00:00 |
|
|
245daeb6f9
|
Clean up generated assembly - the switch takes care of the primitive size so we need only pass a length of 1 for variables.
|
2020-11-23 19:23:41 +00:00 |
|
|
4f75085348
|
Refactor symbols, enforce size argument.
Fixes string parsing. tests/strings now runs flawlessly.
|
2020-11-23 19:12:13 +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 |
|
|
0dc444acfc
|
Fix typo
Lost my train of thought while typing this.
|
2020-11-22 00:43:32 +00:00 |
|
|
b384973379
|
Prepare for string literal parsing
|
2020-11-22 00:42:13 +00:00 |
|
|
9ff658615b
|
Add character literal parsing
|
2020-11-22 00:41:48 +00:00 |
|
|
2345931528
|
Fix wrong type in check inside OperatorPrecedence
|
2020-11-21 23:15:24 +00:00 |
|