1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-29 18:49:42 +00:00
Commit Graph

1918 Commits

Author SHA1 Message Date
jespergravgaard
5b2e993994 Fixed stack-overflow on recursive __stackcall functions. Added <math.h> abs(). Added <stdio.h> printf(). Closes #415 2020-04-25 16:51:35 +02:00
jespergravgaard
3b6c14be7a Added support for __intrinsic only being present in .c-file while absent in .h-file. Closes #417 2020-04-25 15:46:27 +02:00
jespergravgaard
4c3b000fbd Added a few more printf() error tests. 2020-04-25 14:53:14 +02:00
jespergravgaard
986ad3b77f Added support for printf() parameter index format string (eg. %2$d). Closes #420 2020-04-25 14:48:20 +02:00
jespergravgaard
ae28cb9c67 Improved minus literal implementation. Added <ctype.h> toupper(), <string.h> strupr(). Added support for %X (upper case HEX) in printf() format. Closes #419 2020-04-25 13:15:22 +02:00
jespergravgaard
d160e45c8a changed printf() cursor to be x,y-based. 2020-04-22 00:14:30 +02:00
Jesper Gravgaard
64660c626a Updated VS.Code files for Windows & MacOs. 2020-04-21 18:27:49 +02:00
Jesper Gravgaard
bc70424634 Added automatic type identification to numeric printf handler without %l / %hh. 2020-04-21 10:39:07 +02:00
Jesper Gravgaard
839911e0a0 Fixed test data. 2020-04-21 09:50:36 +02:00
jespergravgaard
f6ee599d79 Added printf() support for newlines, %% and %c. Added tests for different formats. #410 #415 2020-04-21 08:41:52 +02:00
Jesper Gravgaard
d7143771ba Added printf() support for %d, %i, %x, %o and length specifiers %hhd %ld. 2020-04-20 19:00:16 +02:00
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
0ea502cae8 Fixed release script JAR location. 2020-04-11 22:53:58 +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