1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-02 07:49:37 +00:00
Commit Graph

2253 Commits

Author SHA1 Message Date
jespergravgaard
30e35bee41 Added simple preprocessor to the KickC compiler (only supports #define without parameters). #169 2020-04-05 14:32:07 +02:00
jespergravgaard
375578e7df Added #define to KickC lexer. #169 2020-04-05 09:32:10 +02:00
jespergravgaard
ea49dc910a Now supports multi-line #defines, nested #defines and ends recursive #defines correctly. #169 2020-04-04 17:39:41 +02:00
jespergravgaard
a2de5faf47 Added peeking iterator. 2020-04-03 08:21:27 +02:00
jespergravgaard
b2466df1e4 Moved simple macro expander to main source. 2020-04-02 08:33:32 +02:00
Jesper Gravgaard
3bb6efb92d Updated test data. 2020-04-01 14:53:02 +02:00
Jesper Gravgaard
b7851e7305 Proof of Concept macro expansion working. #169 2020-04-01 14:51:16 +02:00
jespergravgaard
9eb17e7ed1 Working on a C preprocessor proof-of-concept at the lexer level. #169 2020-04-01 12:56:28 +02:00
jespergravgaard
bc4dd9ea47 Working on a proof-of-concept preprocessor lexer. #169 2020-04-01 01:35:46 +02:00
jespergravgaard
244f329ab0 Default runner is now x64sc. Closes #348 2020-03-31 22:55:58 +02:00
jespergravgaard
b8a2e10fd8 The sprite scroller is now working with the sine-dampened X-movement. 2020-03-31 20:22:08 +02:00
Jesper Gravgaard
96779a5f24 Working on sprite scroller. 2020-03-31 19:20:33 +02:00
Jesper Gravgaard
a977e6d9f0 Updated multiplexer.kc to allow usage in IRQ's. Eliminated multiplexer-irq.kc. 2020-03-31 12:47:21 +02:00
jespergravgaard
90fccdebef Working on font 2x2 to sprite converter. 2020-03-31 09:55:49 +02:00
jespergravgaard
91da76e087 Created font 2x2 to sprite converter. Improved a few bitwise operators. 2020-03-30 22:39:39 +02:00
jespergravgaard
beb30de7d1 Fixed ASM re-labelling error. #369 2020-03-30 20:33:26 +02:00
jespergravgaard
7ff1a0ec9a Fixed test! 2020-03-30 18:49:00 +02:00
Jesper Gravgaard
5c49f2356e Added support for const/volatile directives inside & outside structs. Closes #377 2020-03-30 13:48:55 +02:00
Jesper Gravgaard
607f740f8b Added support for typedefs with const/volatile directives. Closes #375 2020-03-30 13:25:52 +02:00
jespergravgaard
e3b54f34d7 Fixed typedef arrays (still no array of array). Closes #376 2020-03-30 08:35:22 +02:00
jespergravgaard
5a8654b0e7 Working towards typedef with const/volatile directive handling and typedef arrays by introducing a varDecl stack in the parser. #375 #376 #377 2020-03-30 00:12:03 +02:00
jespergravgaard
db6f8b5a36 Added variable nomodify/volatile information to log. 2020-03-29 21:00:25 +02:00
jespergravgaard
a579ab491a Changed pointer and directive parsing to distinguish directives applied to pointers and directives applied to variables. Fixed all example-code to reflect this. Closes #271 2020-03-29 20:22:16 +02:00
jespergravgaard
838b8f4d26 Added support for typedef arrays. 2020-03-27 22:23:04 +01:00
jespergravgaard
d6c60d9466 Pointer type rewritten to bind to variables instead of type allowing a declaration like char *a, b, **c;. Closes #265 2020-03-27 21:08:18 +01:00
jespergravgaard
9b41df3b6a Added variable layer handling to declarations. 2020-03-27 10:53:42 +01:00
jespergravgaard
ffa9d8a6ca Added compiler option -Warraytype to allow non-standard array syntax. By default it is not allowed. #162 2020-03-26 16:20:30 +01:00
jespergravgaard
d3012e92d1 Changed code to standard C array syntax char x[8]. 2020-03-26 12:03:21 +01:00
jespergravgaard
6894f0bd7c Changed code to standard C array syntax char x[8]. 2020-03-26 10:56:19 +01:00
jespergravgaard
f9560de10d Standard C array syntax implemented char x[8]. The KickC syntax char[8] x is still supported, but will be removed. Closes #162 2020-03-26 09:13:48 +01:00
jespergravgaard
1160a14359 Changed byte/word to char/int 2020-03-26 07:06:55 +01:00
Jesper Gravgaard
253263983e Added 2x2 font compression example. Improved chargen example. 2020-03-25 17:51:45 +01:00
jespergravgaard
81202b676a Added font compression example. 2020-03-25 09:56:10 +01:00
jespergravgaard
a44d8d5388 Improved liverange testing 2020-03-23 07:26:43 +01:00
jespergravgaard
e385257cf4 Improved liverange testing 2020-03-23 07:26:26 +01:00
jespergravgaard
ae1536f429 Merged simpler live range calculation to master. Improved scope weight calculation to combine call graph depth and loop depth. Added missing fragments. 2020-03-23 00:10:07 +01:00
jespergravgaard
6b3b4bec5a Working on live range effective simple. Fixed aliasing and parameters. There is still problems with functions calling functions - such as print_w(), print_sw() and print_char(). 2020-03-22 22:26:39 +01:00
jespergravgaard
4f8609ea72 Working on #371 simpler live range calculation 2020-03-16 07:57:56 +01:00
jespergravgaard
20b596d98b Closes #368 2020-03-12 05:58:14 +01:00
jespergravgaard
c958f7e781 Added -vasmout option that shows the stdout output from KickAsm during compilation. 2020-03-12 05:56:57 +01:00
jespergravgaard
d1ec933032 Fixed error in recursive caller code. 2020-03-08 23:26:49 +01:00
jespergravgaard
0e58165f3a Improving implementation. 2020-03-08 22:43:00 +01:00
jespergravgaard
c0b0f063cc Implemented switchable effective live ranges. Started on "simple" which works for most programs - but fail for tetris, clearscreen and more. 2020-03-08 21:07:09 +01:00
jespergravgaard
7726c1d43f Refactored effectively alive vars into an interface for experimenting with less memory-intensive implementation. 2020-03-08 16:14:20 +01:00
jespergravgaard
afe8294cd1 Now auto-converting global variables modified inside a __stackcall procedure to load/store. 2020-03-08 12:57:32 +01:00
jespergravgaard
d217113afb Fixed multi-output of comments. 2020-03-08 09:43:12 +01:00
jespergravgaard
3b87c1a7c5 Restructured code to match call prepare/execute/finalize/parameter/return. 2020-03-08 09:06:39 +01:00
jespergravgaard
1836a9bd92 Finally eliminated copy visitor!
Refactored CallPhiParameters to modify the current control flow graph.
2020-03-07 22:38:40 +01:00
jespergravgaard
61a6e29f4d Added output 2020-03-07 21:43:42 +01:00
jespergravgaard
4af6d88907 Renamed passes 2020-03-07 19:44:37 +01:00