1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-05-29 03:41:40 +00:00
Commit Graph

99 Commits

Author SHA1 Message Date
Jesper Gravgaard
294bb27eec Updated %nn to 0bnn and $nn to 0xnn. 2024-01-02 19:45:16 +01:00
Jesper Gravgaard
cf13f35eed Fixed tests for running on MacOs Sonoma 2023-11-25 16:22:11 +01:00
Jesper Gravgaard
5d6fcca6c2 Allocation of zp/memory to variables is now prioritized by the calculated weight of the variable. This ensures that the most used variables are kept on zeropage when variables spill over into main memory. Closes #712 2021-09-23 08:24:56 +02:00
jespergravgaard
8a38c2a887 Using C declaration format for types in logs, errors, comments and more. 2021-08-10 17:48:55 +02:00
jespergravgaard
5439910ae3 Improved parameter type errors to show expected and actual types. Closes #703 2021-08-07 10:32:20 +02:00
jespergravgaard
1df68ee4d8 Working on eliminating memcpy() statements when using classic structs. #197 2021-07-27 19:11:14 +02:00
jespergravgaard
2b882e6a50 Improved doxygen documentation. #672 2021-06-20 12:45:52 +02:00
jespergravgaard
6585f08f55 Updated tests with doxygen standard library documentation. #672 2021-06-19 21:26:05 +02:00
jespergravgaard
d1b7d45372 Implemented function pointer types in standard C syntax. #121 2021-05-11 23:11:51 +02:00
jespergravgaard
d4b8820b1c Removed support for auto-casting integers to pointers. Closes #659 2021-05-11 13:36:45 +02:00
jespergravgaard
f0970364b5 Parser now based on declarator - allowing for more advanced pointer/array syntax. Preparing for declarator-based functions. #121 2021-05-02 14:28:03 +02:00
jespergravgaard
78209db593 Variable printing now in C syntax. #121 2021-04-30 17:26:46 +02:00
Jesper Gravgaard
7e6c97779b Fixed problem with NPE when removing unused code can leave global constants referencing removed variables. Closes #650 2021-04-21 19:34:18 +02:00
jespergravgaard
b2375f49c7 optimized fragments. 2021-02-17 23:35:01 +01:00
jespergravgaard
0eed4e7857 Fixed tests! 2021-01-04 00:11:22 +01:00
jespergravgaard
da789e007f Removed support for programs without segments. Closes #465 2020-12-21 08:57:41 +01:00
jespergravgaard
78d961fd19 Merged improved integer type inference by @tfisher98. Closes !2, #594, #334, #199 2020-12-12 00:01:15 +01:00
Travis Fisher
3ee2792070 add additional step in pass2 to finalize all numbers 2020-12-05 22:26:41 -05:00
jespergravgaard
66d7c4ed51 Improved log/sym/cfg output format for readability. Shortened log a bit. Closes #534 2020-10-05 23:14:34 +02:00
jespergravgaard
6253bdce28 Improved out 2020-10-05 22:58:02 +02:00
jespergravgaard
b195a3c545 Improved ASM procedure sequence to match calling sequence in program. 2020-06-27 23:26:57 +02:00
jespergravgaard
c1b22d345e Removed old @begin / @end global blocks. Now using __start(), __init(). Closes #257 2020-06-27 22:36:52 +02:00
jespergravgaard
9c9a39f109 Updated remaining ref files. 2020-06-27 21:18:00 +02:00
jespergravgaard
8d0d36e50b Added all Plus/4 IC's and I/O addresses. 2020-05-16 09:33:01 +02:00
jespergravgaard
239cfdb48e Implemented #platform target() functionality configured by a TGT-file in JSON. 2020-05-11 02:36:37 +02:00
jespergravgaard
facd70053d Added support for address-of pointers to members of structs. 2020-04-30 22:15:59 +02:00
jespergravgaard
0a9cee999d Updated C64 header file. 2020-04-28 22:58:16 +02:00
jespergravgaard
8f2b1c2134 Moved MOS 6526 and MOS 6581 to separate H-files. Removed log noise causes by structs in H-files. 2020-04-28 00:30:35 +02:00
jespergravgaard
b82c3f0a07 Added time-of-day utility for commodore 64 <tod.h>. Moved MOS 6526 CIA to structs. 2020-04-26 23:30:04 +02:00
jespergravgaard
793a776b04 Clean-up of pass 1 log to avoid modifying log-files evey time stdlib is modified. 2020-04-25 20:10:49 +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
c604e16630 Added first conio implementation compatible with cc65 and included a conio example from cc65. 2020-04-12 23:52:23 +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
beb30de7d1 Fixed ASM re-labelling error. #369 2020-03-30 20:33:26 +02:00
jespergravgaard
db6f8b5a36 Added variable nomodify/volatile information to log. 2020-03-29 21:00:25 +02: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
d1ec933032 Fixed error in recursive caller code. 2020-03-08 23:26:49 +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
c6f81595fb Added support for %E in linker scripts expanding to the name of the entry point label starting the program (ie. __bbegin). __bbegin handling could still use some love. 2020-03-03 08:58:31 +01:00
jespergravgaard
dc6175a0b6 Working on fixing #359 problem with load/store variables and simple-conditionals. 2020-02-22 20:45:35 +01:00
jespergravgaard
7b81b51bc0 Rewrote constant identification to allow nested arrays/structs. TODO: function-as-array 2020-01-01 18:27:53 +01:00
jespergravgaard
3b043e11a7 Changed syntax for function signatures. 2019-12-26 09:51:41 +01:00
jespergravgaard
4f7485f4e5 Working in VariableBuilder for creating variables based on type/scope, directives and configuration. 2019-12-22 11:53:37 +01:00
jespergravgaard
4c443c1034 Updated test data. 2019-12-21 10:38:44 +01:00
jespergravgaard
2bad8c915f Improved log message. 2019-12-08 16:04:35 +01:00
jespergravgaard
59ab4e0eb1 Improved variable constructors. Improved constant comments. 2019-11-23 23:46:46 +01:00
jespergravgaard
ecccf55a08 Moving array properties from type to variable. A few tests still failing. 2019-11-18 22:02:29 +01:00
jespergravgaard
cfb27e5915 Converting constant value lists directly to constant values during parse. 2019-11-03 21:27:11 +01:00
jespergravgaard
0b477d24ae Identifying declared constants already during Pass0. 2019-11-03 17:05:55 +01:00