1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2026-01-26 14:16:25 +00:00

Commit Graph

  • 3b6c14be7a Added support for __intrinsic only being present in .c-file while absent in .h-file. Closes #417 jespergravgaard 2020-04-25 15:46:27 +02:00
  • 4c3b000fbd Added a few more printf() error tests. jespergravgaard 2020-04-25 14:53:14 +02:00
  • 986ad3b77f Added support for printf() parameter index format string (eg. %2$d). Closes #420 jespergravgaard 2020-04-25 14:48:20 +02:00
  • ae28cb9c67 Improved minus literal implementation. Added <ctype.h> toupper(), <string.h> strupr(). Added support for %X (upper case HEX) in printf() format. Closes #419 jespergravgaard 2020-04-25 13:15:22 +02:00
  • d160e45c8a changed printf() cursor to be x,y-based. jespergravgaard 2020-04-22 00:14:30 +02:00
  • 64660c626a Updated VS.Code files for Windows & MacOs. Jesper Gravgaard 2020-04-21 18:27:49 +02:00
  • bc70424634 Added automatic type identification to numeric printf handler without %l / %hh. Jesper Gravgaard 2020-04-21 10:39:07 +02:00
  • 839911e0a0 Fixed test data. Jesper Gravgaard 2020-04-21 09:50:36 +02:00
  • f6ee599d79 Added printf() support for newlines, %% and %c. Added tests for different formats. #410 #415 jespergravgaard 2020-04-21 08:41:52 +02:00
  • d7143771ba Added printf() support for %d, %i, %x, %o and length specifiers %hhd %ld. Jesper Gravgaard 2020-04-20 19:00:16 +02:00
  • 28c9b2ada7 Improved implementation of intrinsic printf() to support rudimentary %d / %x. #410 #415 jespergravgaard 2020-04-20 08:55:50 +02:00
  • 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 jespergravgaard 2020-04-19 23:29:37 +02:00
  • 9c6e67ddc5 Printf tests rewritten to use inline struct constructors. jespergravgaard 2020-04-19 11:53:15 +02:00
  • 933d23fd0a Fixed problem with negating negative number generating illegal ASM. Closes #414 jespergravgaard 2020-04-19 11:13:57 +02:00
  • 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 jespergravgaard 2020-04-19 11:05:54 +02:00
  • 7bac2776b1 Added missing ref files. jespergravgaard 2020-04-18 21:51:42 +02:00
  • 897cde29e4 Added printf.h which contains functions for printing formatted numbers and strings. jespergravgaard 2020-04-18 20:54:39 +02:00
  • 7803f6710b Added primes test C-file. jespergravgaard 2020-04-17 01:13:41 +02:00
  • a84cb1a977 Updated reference manual. 0.8 jespergravgaard 2020-04-13 22:04:11 +02:00
  • cb07791eab Renamed print.h functions. jespergravgaard 2020-04-13 20:06:30 +02:00
  • d12daf874d Updated all stdlib files to use standard C types. jespergravgaard 2020-04-13 20:00:13 +02:00
  • a877da3c7d Updated ref files. jespergravgaard 2020-04-13 15:07:23 +02:00
  • ba372afeb3 Improved chrout() implementation. jespergravgaard 2020-04-13 11:09:24 +02:00
  • 3dcec77fb7 Added proper error when returning value from void function. Closes #400 jespergravgaard 2020-04-13 10:50:57 +02:00
  • ab10f2184d Upgraded to KickAsm 5.14. Fixed PETSCII encoding problem. Closes #401 jespergravgaard 2020-04-13 10:33:44 +02:00
  • cf4d25b5f6 Added additional screensize operations to allow better optimization. jespergravgaard 2020-04-13 08:19:39 +02:00
  • c604e16630 Added first conio implementation compatible with cc65 and included a conio example from cc65. jespergravgaard 2020-04-12 23:52:23 +02:00
  • 2de71b4cd1 Fixed problem with post-increment sometimes happening to early when evaluating conditions. Closes #388 jespergravgaard 2020-04-12 10:15:32 +02:00
  • b4787eb45c Updated to KickAss 5.13. Closes #389 jespergravgaard 2020-04-12 08:03:01 +02:00
  • 0ea502cae8 Fixed release script JAR location. jespergravgaard 2020-04-11 22:53:58 +02:00
  • 9c40c2f0f2 Added initial strncat() implementation. Found error in post-increment when used in a condition. jespergravgaard 2020-04-11 22:48:33 +02:00
  • 9e5e8ddf3b Cleaned up release file structure moving JAR's to JAR-folder. jespergravgaard 2020-04-11 21:24:08 +02:00
  • 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 jespergravgaard 2020-04-11 21:15:34 +02:00
  • c150976b2f Retired special file extension .kc. Now using .c for all examples and tests. Closes #195 jespergravgaard 2020-04-11 16:06:15 +02:00
  • d95fea6975 Added -E commandline option for running only the proprocessor. Closes #385 jespergravgaard 2020-04-11 13:41:10 +02:00
  • 1c59ad61fd Added support for compiling multiple C-files using a single command line. Closes #382 jespergravgaard 2020-04-11 13:03:36 +02:00
  • f42a921d2b Now supports \xnn syntax for all values - even those without a proper encoding. Closes #383 jespergravgaard 2020-04-11 09:13:22 +02:00
  • e506732779 Improved function names and documentation. jespergravgaard 2020-04-11 08:30:42 +02:00
  • 56227c36b6 Moved getters to StringEncoding. jespergravgaard 2020-04-10 22:02:30 +02:00
  • 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 jespergravgaard 2020-04-10 11:24:20 +02:00
  • b36a8b087c Fixed import parsing by introducing another lexer mode. jespergravgaard 2020-04-10 01:25:08 +02:00
  • 8c5500822c Nuw using #include<> in test files where possible. jespergravgaard 2020-04-10 01:10:18 +02:00
  • 5ff8fce61d Added support for #include <> syntax. Closes #381 jespergravgaard 2020-04-09 23:56:43 +02:00
  • 8dac19aca0 Added caching of global symbols. Results in faster compilation. jespergravgaard 2020-04-09 22:38:30 +02:00
  • 096d7c0640 Cleaned up scope getters. Might have caused a slow-down of compilation. jespergravgaard 2020-04-09 22:17:33 +02:00
  • ab10bd59b4 Added a few more c's to test. jespergravgaard 2020-04-09 09:36:09 +02:00
  • 23ae5cf5f5 Variable extern declarations are now supported. Closes #196 jespergravgaard 2020-04-09 09:21:43 +02:00
  • 8bdc927694 Fixed test for missing function definition. #196 jespergravgaard 2020-04-09 08:13:44 +02:00
  • ebdce3b2a7 Added test for missing function definition. #196 jespergravgaard 2020-04-08 23:52:49 +02:00
  • 273819d2a4 Added test for two error cases. #196 jespergravgaard 2020-04-08 23:44:40 +02:00
  • db92daf4bf Added initial support for function declarations without a body. #196 jespergravgaard 2020-04-08 23:40:27 +02:00
  • 433fcd3dd4 Added support for macro parameters with proper pre-expansion allowing nested macro calls. Closes #169 jespergravgaard 2020-04-07 14:12:25 +02:00
  • 682757b10c Renamed import to #include. #169 jespergravgaard 2020-04-07 12:43:31 +02:00
  • d8138615ac Implemented #elif. #169 jespergravgaard 2020-04-07 12:06:42 +02:00
  • 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 Jesper Gravgaard 2020-04-06 14:34:42 +02:00
  • 0a11eefda0 Syntax changes. jespergravgaard 2020-04-06 08:06:00 +02:00
  • 263987f059 Added an expression parser to use for #if. #169 jespergravgaard 2020-04-06 08:00:55 +02:00
  • 88b2cd86c2 Added test for #define containing inline ASM/KickAsm. Fixed problem with ASM. #169 jespergravgaard 2020-04-05 22:54:00 +02:00
  • ba1ecac84b Added test for recursive #define. #169 jespergravgaard 2020-04-05 20:34:33 +02:00
  • 7c9c2955b4 Added test for multi-line #define. #169 jespergravgaard 2020-04-05 20:13:40 +02:00
  • 9fea02e7ad Added support for #ifdef #ifndef #else #endif. #169 jespergravgaard 2020-04-05 20:09:34 +02:00
  • 524d789805 Added test for #defines inside imported file. #169 jespergravgaard 2020-04-05 18:28:32 +02:00
  • a01c6b5680 Added support for #undef. #169 jespergravgaard 2020-04-05 18:06:06 +02:00
  • c4550b5aec Added test of defines with complex body. #169 jespergravgaard 2020-04-05 14:45:32 +02:00
  • 30e35bee41 Added simple preprocessor to the KickC compiler (only supports #define without parameters). #169 jespergravgaard 2020-04-05 14:32:07 +02:00
  • 375578e7df Added #define to KickC lexer. #169 jespergravgaard 2020-04-05 09:32:10 +02:00
  • ea49dc910a Now supports multi-line #defines, nested #defines and ends recursive #defines correctly. #169 jespergravgaard 2020-04-04 17:39:41 +02:00
  • a2de5faf47 Added peeking iterator. jespergravgaard 2020-04-03 08:21:27 +02:00
  • b2466df1e4 Moved simple macro expander to main source. jespergravgaard 2020-04-02 08:33:32 +02:00
  • 3bb6efb92d Updated test data. Jesper Gravgaard 2020-04-01 14:53:02 +02:00
  • b7851e7305 Proof of Concept macro expansion working. #169 Jesper Gravgaard 2020-04-01 14:51:16 +02:00
  • 9eb17e7ed1 Working on a C preprocessor proof-of-concept at the lexer level. #169 jespergravgaard 2020-04-01 12:56:28 +02:00
  • bc4dd9ea47 Working on a proof-of-concept preprocessor lexer. #169 jespergravgaard 2020-04-01 01:35:46 +02:00
  • 244f329ab0 Default runner is now x64sc. Closes #348 jespergravgaard 2020-03-31 22:55:58 +02:00
  • b8a2e10fd8 The sprite scroller is now working with the sine-dampened X-movement. jespergravgaard 2020-03-31 20:22:08 +02:00
  • 96779a5f24 Working on sprite scroller. Jesper Gravgaard 2020-03-31 19:20:33 +02:00
  • a977e6d9f0 Updated multiplexer.kc to allow usage in IRQ's. Eliminated multiplexer-irq.kc. Jesper Gravgaard 2020-03-31 12:47:21 +02:00
  • 90fccdebef Working on font 2x2 to sprite converter. jespergravgaard 2020-03-31 09:55:49 +02:00
  • 91da76e087 Created font 2x2 to sprite converter. Improved a few bitwise operators. jespergravgaard 2020-03-30 22:39:39 +02:00
  • beb30de7d1 Fixed ASM re-labelling error. #369 jespergravgaard 2020-03-30 20:33:26 +02:00
  • 7ff1a0ec9a Fixed test! jespergravgaard 2020-03-30 18:49:00 +02:00
  • 5c49f2356e Added support for const/volatile directives inside & outside structs. Closes #377 Jesper Gravgaard 2020-03-30 13:48:55 +02:00
  • 607f740f8b Added support for typedefs with const/volatile directives. Closes #375 Jesper Gravgaard 2020-03-30 13:25:52 +02:00
  • e3b54f34d7 Fixed typedef arrays (still no array of array). Closes #376 jespergravgaard 2020-03-30 08:35:22 +02:00
  • 5a8654b0e7 Working towards typedef with const/volatile directive handling and typedef arrays by introducing a varDecl stack in the parser. #375 #376 #377 jespergravgaard 2020-03-30 00:12:03 +02:00
  • db6f8b5a36 Added variable nomodify/volatile information to log. jespergravgaard 2020-03-29 21:00:25 +02:00
  • 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 jespergravgaard 2020-03-29 20:22:16 +02:00
  • 838b8f4d26 Added support for typedef arrays. jespergravgaard 2020-03-27 22:23:04 +01:00
  • d6c60d9466 Pointer type rewritten to bind to variables instead of type allowing a declaration like char *a, b, **c;. Closes #265 jespergravgaard 2020-03-27 21:08:18 +01:00
  • 9b41df3b6a Added variable layer handling to declarations. jespergravgaard 2020-03-27 10:53:42 +01:00
  • ffa9d8a6ca Added compiler option -Warraytype to allow non-standard array syntax. By default it is not allowed. #162 jespergravgaard 2020-03-26 16:20:30 +01:00
  • d3012e92d1 Changed code to standard C array syntax char x[8]. jespergravgaard 2020-03-26 12:03:21 +01:00
  • 6894f0bd7c Changed code to standard C array syntax char x[8]. jespergravgaard 2020-03-26 10:56:19 +01:00
  • f9560de10d Standard C array syntax implemented char x[8]. The KickC syntax char[8] x is still supported, but will be removed. Closes #162 jespergravgaard 2020-03-26 09:13:48 +01:00
  • 1160a14359 Changed byte/word to char/int jespergravgaard 2020-03-26 07:06:55 +01:00
  • 253263983e Added 2x2 font compression example. Improved chargen example. Jesper Gravgaard 2020-03-25 17:51:45 +01:00
  • 81202b676a Added font compression example. jespergravgaard 2020-03-25 09:56:10 +01:00
  • a44d8d5388 Improved liverange testing jespergravgaard 2020-03-23 07:26:43 +01:00
  • e385257cf4 Improved liverange testing jespergravgaard 2020-03-23 07:26:26 +01:00
  • ae1536f429 Merged simpler live range calculation to master. Improved scope weight calculation to combine call graph depth and loop depth. Added missing fragments. jespergravgaard 2020-03-23 00:10:07 +01:00