1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
Commit Graph

64 Commits

Author SHA1 Message Date
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
031cde10e9 Fixed test data. 2020-04-25 17:57:48 +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
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
897cde29e4 Added printf.h which contains functions for printing formatted numbers and strings. 2020-04-18 20:54:39 +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
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
f73b048d2e Eliminated SymbolType.STRING 2020-02-06 22:52:23 +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
1e9162ca9c Added C64 KERNAL loading example. 2019-12-25 19:54:02 +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
5ab9b4353c Refactoring Variable creation. 2019-11-22 23:41:01 +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
fa5f96221d Removed inferedType from Variable. 2019-11-17 19:58:06 +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
jespergravgaard
ea4563cf99 Working on constant identification. 2019-10-20 17:06:17 +02:00
jespergravgaard
82d3cc7e68 Improved ASM name shortening to remove labels representing the same variable with different versions and the same allocation. Closes #209 2019-10-20 01:43:51 +02:00
jespergravgaard
85676bc83a Implemented support for fixed address main memory variables using __mem(0x1000) directive. 2019-10-14 00:51:19 +02:00
Jesper Gravgaard
70aa2836da Improved printing register ZP. 2019-10-12 11:40:36 +02:00
jespergravgaard
624c27686c Added underscores to compiler-generated ASM-symbols to avoid clashes with C-symbols. Closes #329 2019-09-29 23:13:42 +02:00
jespergravgaard
587027397d Variable storage strategy implementation almost done. 2019-09-29 20:57:28 +02:00
jespergravgaard
51d1e6f41f Changed control flow graph to print procedure signatures. 2019-09-18 23:00:34 +02:00
jespergravgaard
3d0871f757 Added support for #pragma cpu(). Added test of program without illegal opcodes. Closes #303 2019-09-08 02:29:20 +02:00
jespergravgaard
62f9d7c9d9 Added initial support for specifying which CPU to compile to. #303 2019-09-08 01:35:38 +02:00
jespergravgaard
19e53bf6fd Implemented handling of expr-statements that do not produce a statement - this forces an assignment to a tmp-var (which means that it will be type-checked and more). Closes #276 2019-08-25 21:37:10 +02:00
jespergravgaard
7a49ded40c Now all instructions addressing zero-page have an explicit .z added to the ASM to ensure the ASM generated does zeropage-addressing. Closes #249 2019-08-07 21:00:21 +02:00
jespergravgaard
c78bebf2a8 Updated stdlib & tests with 0-terminated strings. 2019-08-07 19:48:56 +02:00
jespergravgaard
6c59110896 Fixed encoded string zero termination. Closes #192 2019-08-07 19:36:19 +02:00
jespergravgaard
f8dfe3743b Implemented light-weight zeropage coalesce. Closes #237 2019-07-31 13:47:22 +02:00
jespergravgaard
869a2dcade Working on extracting zp coalesce logic. 2019-07-31 11:08:33 +02:00
jespergravgaard
a50e9e212a Added support for literal arrays of structs by making the literal-identification and literal-handling and code-generation recursive over the value lists. Closes #223 2019-07-28 23:05:30 +02:00
jespergravgaard
44df048e64 Added support for address-of array-element &sieve[j]. Closes #228 2019-07-26 16:12:12 +02:00
jespergravgaard
e8a0694f34 Added support for different target platforms. Added first platforms c64basic and asm6502 (no upstart). Closes #232 2019-07-25 17:06:19 +02:00
jespergravgaard
424f5ce006 Added an extra test. 2019-07-25 14:55:10 +02:00