1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00
Commit Graph

1877 Commits

Author SHA1 Message Date
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