jespergravgaard
|
28c9b2ada7
|
Improved implementation of intrinsic printf() to support rudimentary %d / %x. #410 #415
|
2020-04-20 08:55:50 +02:00 |
|
jespergravgaard
|
9fa2e5d734
|
Added support for declaring var-length parameter lists in functions. Added __intrinsic directive for specifying that a function is implemented in the compiler. Added initial tiny implementation of intrinsic printf(), which only handles %s. #410 #415
|
2020-04-19 23:29:37 +02:00 |
|
jespergravgaard
|
9c6e67ddc5
|
Printf tests rewritten to use inline struct constructors.
|
2020-04-19 11:53:15 +02:00 |
|
jespergravgaard
|
933d23fd0a
|
Fixed problem with negating negative number generating illegal ASM. Closes #414
|
2020-04-19 11:13:57 +02:00 |
|
jespergravgaard
|
6a2937aa29
|
Casts are now inlined during parse - so they can be used for struct unwinding and more. They are then de-inlined around pass 1. This fixes problem with passing struct constructor as parameter to function. Closes #413
|
2020-04-19 11:05:54 +02:00 |
|
jespergravgaard
|
7bac2776b1
|
Added missing ref files.
|
2020-04-18 21:51:42 +02:00 |
|
jespergravgaard
|
897cde29e4
|
Added printf.h which contains functions for printing formatted numbers and strings.
|
2020-04-18 20:54:39 +02:00 |
|
jespergravgaard
|
7803f6710b
|
Added primes test C-file.
|
2020-04-17 01:13:41 +02:00 |
|
jespergravgaard
|
a84cb1a977
|
Updated reference manual.
|
2020-04-13 22:04:11 +02:00 |
|
jespergravgaard
|
cb07791eab
|
Renamed print.h functions.
|
2020-04-13 20:06:30 +02:00 |
|
jespergravgaard
|
d12daf874d
|
Updated all stdlib files to use standard C types.
|
2020-04-13 20:00:13 +02:00 |
|
jespergravgaard
|
a877da3c7d
|
Updated ref files.
|
2020-04-13 15:07:23 +02:00 |
|
jespergravgaard
|
ba372afeb3
|
Improved chrout() implementation.
|
2020-04-13 11:09:24 +02:00 |
|
jespergravgaard
|
3dcec77fb7
|
Added proper error when returning value from void function. Closes #400
|
2020-04-13 10:50:57 +02:00 |
|
jespergravgaard
|
ab10f2184d
|
Upgraded to KickAsm 5.14. Fixed PETSCII encoding problem. Closes #401
|
2020-04-13 10:33:44 +02:00 |
|
jespergravgaard
|
cf4d25b5f6
|
Added additional screensize operations to allow better optimization.
|
2020-04-13 08:19:39 +02:00 |
|
jespergravgaard
|
c604e16630
|
Added first conio implementation compatible with cc65 and included a conio example from cc65.
|
2020-04-12 23:52:23 +02:00 |
|
jespergravgaard
|
2de71b4cd1
|
Fixed problem with post-increment sometimes happening to early when evaluating conditions. Closes #388
|
2020-04-12 10:15:32 +02:00 |
|
jespergravgaard
|
b4787eb45c
|
Updated to KickAss 5.13. Closes #389
|
2020-04-12 08:03:01 +02:00 |
|
jespergravgaard
|
9c40c2f0f2
|
Added initial strncat() implementation. Found error in post-increment when used in a condition.
|
2020-04-11 22:48:33 +02:00 |
|
jespergravgaard
|
9e5e8ddf3b
|
Cleaned up release file structure moving JAR's to JAR-folder.
|
2020-04-11 21:24:08 +02:00 |
|
jespergravgaard
|
a378e831e2
|
Added support for header-files found in include-folders and C-files found in library-folders. The compiler auto-searches for the C-file in the defined lib search path whenever a H-file is included. Closes #387
|
2020-04-11 21:15:34 +02:00 |
|
jespergravgaard
|
c150976b2f
|
Retired special file extension .kc. Now using .c for all examples and tests. Closes #195
|
2020-04-11 16:06:15 +02:00 |
|
jespergravgaard
|
d95fea6975
|
Added -E commandline option for running only the proprocessor. Closes #385
|
2020-04-11 13:41:10 +02:00 |
|
jespergravgaard
|
1c59ad61fd
|
Added support for compiling multiple C-files using a single command line. Closes #382
|
2020-04-11 13:03:36 +02:00 |
|
jespergravgaard
|
f42a921d2b
|
Now supports \xnn syntax for all values - even those without a proper encoding. Closes #383
|
2020-04-11 09:13:22 +02:00 |
|
jespergravgaard
|
e506732779
|
Improved function names and documentation.
|
2020-04-11 08:30:42 +02:00 |
|
jespergravgaard
|
56227c36b6
|
Moved getters to StringEncoding.
|
2020-04-10 22:02:30 +02:00 |
|
jespergravgaard
|
61c5914f73
|
Added support for \xnn as escape in strings. However only characters defined in the current encoding works. Refactored handling of escapes and encodings. Closes #383
|
2020-04-10 11:24:20 +02:00 |
|
jespergravgaard
|
b36a8b087c
|
Fixed import parsing by introducing another lexer mode.
|
2020-04-10 01:25:08 +02:00 |
|
jespergravgaard
|
8c5500822c
|
Nuw using #include<> in test files where possible.
|
2020-04-10 01:10:18 +02:00 |
|
jespergravgaard
|
5ff8fce61d
|
Added support for #include <> syntax. Closes #381
|
2020-04-09 23:56:43 +02:00 |
|
jespergravgaard
|
8dac19aca0
|
Added caching of global symbols. Results in faster compilation.
|
2020-04-09 22:38:30 +02:00 |
|
jespergravgaard
|
096d7c0640
|
Cleaned up scope getters. Might have caused a slow-down of compilation.
|
2020-04-09 22:17:33 +02:00 |
|
jespergravgaard
|
ab10bd59b4
|
Added a few more c's to test.
|
2020-04-09 09:36:09 +02:00 |
|
jespergravgaard
|
23ae5cf5f5
|
Variable extern declarations are now supported. Closes #196
|
2020-04-09 09:21:43 +02:00 |
|
jespergravgaard
|
8bdc927694
|
Fixed test for missing function definition. #196
|
2020-04-09 08:13:44 +02:00 |
|
jespergravgaard
|
ebdce3b2a7
|
Added test for missing function definition. #196
|
2020-04-08 23:52:49 +02:00 |
|
jespergravgaard
|
273819d2a4
|
Added test for two error cases. #196
|
2020-04-08 23:44:40 +02:00 |
|
jespergravgaard
|
db92daf4bf
|
Added initial support for function declarations without a body. #196
|
2020-04-08 23:40:27 +02:00 |
|
jespergravgaard
|
433fcd3dd4
|
Added support for macro parameters with proper pre-expansion allowing nested macro calls. Closes #169
|
2020-04-07 14:12:25 +02:00 |
|
jespergravgaard
|
682757b10c
|
Renamed import to #include. #169
|
2020-04-07 12:43:31 +02:00 |
|
jespergravgaard
|
d8138615ac
|
Implemented #elif. #169
|
2020-04-07 12:06:42 +02:00 |
|
Jesper Gravgaard
|
4352874305
|
Added support for #if reusing the expression parser. Added support for the special defined operator. Now using the base parser for the preprocessor test. #169
|
2020-04-06 14:34:42 +02:00 |
|
jespergravgaard
|
0a11eefda0
|
Syntax changes.
|
2020-04-06 08:06:00 +02:00 |
|
jespergravgaard
|
263987f059
|
Added an expression parser to use for #if. #169
|
2020-04-06 08:00:55 +02:00 |
|
jespergravgaard
|
88b2cd86c2
|
Added test for #define containing inline ASM/KickAsm. Fixed problem with ASM. #169
|
2020-04-05 22:54:00 +02:00 |
|
jespergravgaard
|
ba1ecac84b
|
Added test for recursive #define. #169
|
2020-04-05 20:34:33 +02:00 |
|
jespergravgaard
|
7c9c2955b4
|
Added test for multi-line #define. #169
|
2020-04-05 20:13:40 +02:00 |
|
jespergravgaard
|
9fea02e7ad
|
Added support for #ifdef #ifndef #else #endif. #169
|
2020-04-05 20:09:34 +02:00 |
|
jespergravgaard
|
524d789805
|
Added test for #defines inside imported file. #169
|
2020-04-05 18:28:32 +02:00 |
|
jespergravgaard
|
a01c6b5680
|
Added support for #undef. #169
|
2020-04-05 18:06:06 +02:00 |
|
jespergravgaard
|
c4550b5aec
|
Added test of defines with complex body. #169
|
2020-04-05 14:45:32 +02:00 |
|
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 |
|