1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-24 14:31:15 +00:00
Commit Graph

1174 Commits

Author SHA1 Message Date
jespergravgaard
74c7abe229 Improved fragment synth to include _derefidx_vbuxx 2019-06-23 11:12:34 +02:00
jespergravgaard
576457a27d Updated fragment tests 2019-06-22 22:55:55 +02:00
jespergravgaard
5f61df4c16 Added hex code font. 2019-06-22 21:13:22 +02:00
jespergravgaard
281a77c06c Updated tests 2019-06-22 13:45:11 +02:00
jespergravgaard
03e76570b8 Added test for memcpy 2019-06-22 10:36:13 +02:00
jespergravgaard
1e3a6a2750 fixed tests 2019-06-22 00:36:24 +02:00
jespergravgaard
f2a770182e Added fragments. Added bitmap spiral test. 2019-06-22 00:25:28 +02:00
jespergravgaard
3ae5f0981a Added a file data segment. Improved negate word fragment. 2019-06-21 22:12:05 +02:00
jespergravgaard
b461fcfa74 Dropped memory.kc and fill() - Instead added C stdlib memset() to string.kc.
Pointer math on void pointer now results in an error.
2019-06-21 20:06:57 +02:00
jespergravgaard
1150cf859f fixed tests 2019-06-21 01:08:07 +02:00
jespergravgaard
3ff8effc51 Using void pointers in stdlib string. 2019-06-21 00:39:58 +02:00
jespergravgaard
7b2b8897a6 Void pointers now work. Closes #186 2019-06-21 00:36:42 +02:00
jespergravgaard
0a4ef77056 Working on fixing void pointers #186 2019-06-20 22:39:45 +02:00
jespergravgaard
d3e21133fa Added initial void pointer support. Working on #186 2019-06-19 23:16:59 +02:00
jespergravgaard
29f7265341 Shortened clearscreen a bit more. 2019-06-19 02:07:50 +02:00
jespergravgaard
cbe58167da Fixed test. 2019-06-19 02:05:31 +02:00
jespergravgaard
2acc1010ec Added a few enum error tests 2019-06-19 01:53:03 +02:00
jespergravgaard
291c87621e Added enum tests. Fixed inline enums inside structs. 2019-06-19 01:45:07 +02:00
jespergravgaard
f3982063eb Added test refs 2019-06-19 01:24:10 +02:00
jespergravgaard
8e0e8d7dce Implemented enum support for complex constants in enum values. Added enum to clearscreen. Changed constant expression handling in pass 0. 2019-06-19 01:23:27 +02:00
jespergravgaard
10082a5d96 Implemented enum support (excl. complex constant usage in values). Closes #119 2019-06-19 00:39:15 +02:00
jespergravgaard
e4af001041 Added enum syntax (no functionality yet). Working on #119 2019-06-18 18:36:01 +02:00
jespergravgaard
d111836faf fixed tests 2019-06-18 00:15:54 +02:00
jespergravgaard
d7b8f6ae55 Added a missing fragment and a newline. Added a petscii tester and started strings.h. 2019-06-17 23:57:45 +02:00
jespergravgaard
68c3c5918c Implemented support for char colors in clearscreen 2019-06-17 00:33:56 +02:00
jespergravgaard
4dfc4432c7 Removed all calls to ConstantIdentification.isAddressOfUsed(VarRef) since inferedVolatile now handles these situations. Structs are now working. Closes #57 2019-06-17 00:11:01 +02:00
jespergravgaard
40df42067b Any variable affected by address-of is now marked as infered volatile. Closes #200 2019-06-16 23:49:22 +02:00
jespergravgaard
3725bf6821 Added versions to struct-unwinding. 2019-06-16 22:26:17 +02:00
jespergravgaard
ad6eadad0b Added another struct address-of test passing the pointer to a procedure. 2019-06-16 21:48:13 +02:00
jespergravgaard
afc1b74ef8 Implemented unwound struct address-of rewriting to use first member. 2019-06-16 19:54:03 +02:00
jespergravgaard
00c8d5c857 Added a struct unwound placeholder when unwinding a struct variable. Will be used for address-of and to ensure the phi-generator does not run amok. 2019-06-16 17:10:18 +02:00
jespergravgaard
114a237e24 Added address-of test identifying problems with address-of implementation. Error is #200 2019-06-16 15:03:23 +02:00
jespergravgaard
ef38dca7af Renamed to clearscreen. Added DEBUG. 2019-06-16 11:37:06 +02:00
jespergravgaard
bbbb25d9b1 Improved movement. Added fragment. 2019-06-16 01:06:52 +02:00
jespergravgaard
ba9b11f77b Added 2D-acceleration. Added more fragments. Improved word ror'ing. 2019-06-16 00:31:43 +02:00
jespergravgaard
94b0dbcffc Improved bash-script to allow -fragmentdir option. Added blackhole sprite vx/vy support. Added a few word fragments. 2019-06-15 21:10:06 +02:00
jespergravgaard
986e02fde6 Updated fragment test refs 2019-06-15 20:23:12 +02:00
jespergravgaard
d1752069ce Added missing ref-files. 2019-06-15 19:19:22 +02:00
jespergravgaard
8778b9a986 Fixed tests. Fixed struct-member modify-assignments. 2019-06-15 19:17:55 +02:00
jespergravgaard
be7686c954 Added missing word-fragments & synth. Moved to fixed point positions. 2019-06-15 18:55:01 +02:00
jespergravgaard
9b6f1c6bd1 Added support for typedef (only supported in the global scope). Closes #177 2019-06-15 00:32:09 +02:00
jespergravgaard
3ba3d36994 Added typedef syntax. Working ont #177 2019-06-13 01:53:33 +02:00
jespergravgaard
4a93294445 Rearranged pass1 to avoid line numbers 2019-06-13 01:15:34 +02:00
jespergravgaard
8ee499f9a8 Added up/left sprite movement. 2019-06-12 23:54:21 +02:00
jespergravgaard
b4a0c74cf1 Fixed fragment. blackhole work-in-progress is functional. 2019-06-12 22:44:24 +02:00
jespergravgaard
d78fa15fe1 Fixed fragment. 2019-06-12 21:53:10 +02:00
jespergravgaard
a3c5bb06da Working on blackhole. Added a ton of fragments & and some synth. 2019-06-12 21:38:07 +02:00
Jesper Gravgaard
30de557d61 Merge remote-tracking branch 'origin/master' 2019-06-12 16:39:30 +02:00
Jesper Gravgaard
8b3264fffa working on sprite movement 2019-06-12 16:38:56 +02:00
jespergravgaard
befed70661 Fixed tests 2019-06-12 14:18:51 +02:00
jespergravgaard
440da0eaee Minor stuff. 2019-06-12 14:10:36 +02:00
jespergravgaard
c4d24caa72 Added black hole test. Added a bunch of fragments. Added struct member assertion. Added some tests with stuff to fix. 2019-06-12 12:45:58 +02:00
Jesper Gravgaard
7c4a60aea4 Merge remote-tracking branch 'origin/master' 2019-06-11 21:52:37 +02:00
Jesper Gravgaard
b014e0f732 Added tests for developing struct address-of 2019-06-11 21:52:21 +02:00
jespergravgaard
3fa29f5ec2 Added variable word ROR and word=word&word 2019-06-11 20:02:37 +02:00
jespergravgaard
253babb8ea Added textbox-test using builtin multiply - by Scan/Desire. 2019-06-11 06:56:51 +02:00
jespergravgaard
9d8d8f02e2 Implemented arbitrary (unsigned) integer multiplication. Also allows structs to have any size - and still use arrys indexing. Closes #193 2019-06-11 01:34:24 +02:00
jespergravgaard
69278c458a Added test of struct array with 256+ structs. 2019-06-10 22:58:15 +02:00
jespergravgaard
56c33cdac2 Implemented struct member unwinding when copying structs referenced through pointers/array indexing. 2019-06-10 22:49:21 +02:00
jespergravgaard
c8178378b2 Implemented struct array access rewriting code. Removed "old" struct asm instance code. 2019-06-10 21:24:33 +02:00
jespergravgaard
5e0b33f2ca Changed struct-ptr-5 to use arrow operator and changed member sequence. 2019-06-10 17:16:52 +02:00
jespergravgaard
c50cef4058 Implemented arrow operator. Closes #179 2019-06-10 17:02:17 +02:00
jespergravgaard
179572d979 Re-added meaningful SYM test reference files. 2019-06-10 16:39:25 +02:00
jespergravgaard
59f6937835 Implemented simple linked list using pointers to structs. 2019-06-10 16:36:11 +02:00
jespergravgaard
7daf36a811 Implemented struct pointer dereference rewriting. Simple pointers to structs are now working. 2019-06-10 14:56:25 +02:00
jespergravgaard
3d8443d62b Added test for length og struct array 2019-06-10 12:06:09 +02:00
jespergravgaard
54679cee8b Implemented sizeof() for structs - including values and arrays. 2019-06-10 11:59:40 +02:00
jespergravgaard
869ce161be Struct return values working! 2019-06-10 01:01:36 +02:00
Jesper Gravgaard
a411a57688 Working on struct return values 2019-06-09 23:39:24 +02:00
jespergravgaard
30218564d2 Work-in-progress: Unwinding struct return values. 2019-06-09 13:56:35 +02:00
jespergravgaard
f29648ca26 Added test with 3-level nested struct value. 2019-06-09 10:55:18 +02:00
jespergravgaard
1540e14067 Implemented support for nested struct values. 2019-06-09 10:47:33 +02:00
jespergravgaard
26698851ca Added support for struct value list constructor. 2019-06-08 22:06:22 +02:00
jespergravgaard
a180a4c0b4 Implemented call parameter type checking in pass 1. 2019-06-08 15:01:44 +02:00
Jesper Gravgaard
d58c46e46f Added two struct value error tests. 2019-06-07 13:46:36 +02:00
jespergravgaard
0dcd739507 Implemented struct value call parameter passing by unwinding. 2019-06-07 09:31:14 +02:00
jespergravgaard
c995a1bca1 Implemented struct value member-centric optimization (converting simple struct variables to each member.) 2019-06-07 00:14:42 +02:00
jespergravgaard
0bebae430d Merged masters 2019-06-03 22:28:02 +02:00
jespergravgaard
d52fbcb6b6 Added two tests for statement sequence locality. 2019-06-03 22:26:21 +02:00
Jesper Gravgaard
2f900a9102 Tests exploring sub-expression optimization. 2019-06-03 12:19:47 +02:00
Jesper Gravgaard
8289676723 Fixed test output 2019-06-03 11:01:27 +02:00
Jesper Gravgaard
0ff52448f1 Added test for void-parameter lists. 2019-06-03 10:36:20 +02:00
jespergravgaard
9ad3879e52 New type system fixes pointer to pointer casts. Closes #166 2019-06-03 08:58:23 +02:00
jespergravgaard
7a4d3fff47 New type system fixed loHhi-operator on constant values. Closes #95 2019-06-03 01:51:25 +02:00
jespergravgaard
7535f4d4c1 New type system fixed addition sequence. Closes #132 2019-06-03 01:44:16 +02:00
jespergravgaard
8e1add7d04 New type system fixed constant casting. Closes #164 2019-06-03 01:40:55 +02:00
jespergravgaard
526bfbb60c Added support for converting non-boolean conditions to boolean. Fixed problem with ranged for iterating signed bytes. Closes #135 2019-06-03 00:44:46 +02:00
Jesper Gravgaard
45471f6848 Implemented syntax supporting string character encodings. Closes #59 2019-06-02 17:25:04 +02:00
jespergravgaard
8947882e20 Moved zero-page coalesce to an optimization option. 2019-05-31 23:17:57 +02:00
jespergravgaard
67a198c48f Updated number type test. Closes #181 2019-05-31 20:19:23 +02:00
jespergravgaard
487c06fbbc Removed -O0 switch 2019-05-31 18:51:39 +02:00
jespergravgaard
8925a57955 Cached phi transition calculations yilding significantly faster compilation of complex programs. 2019-05-31 18:20:03 +02:00
jespergravgaard
b6ee63ea9f Caching effective alive for each call path. 2019-05-31 15:48:20 +02:00
jespergravgaard
97f6051b12 Fixed static optimization problem not detecting modified memory. Fixed thread problem not handling global variables properly. Added compiler switch -O0 doing less optimization for faster compiles. 2019-05-31 12:46:50 +02:00
jespergravgaard
29aa5322b2 Fixed issue with const/label. 2019-05-31 01:56:59 +02:00
jespergravgaard
ecf4181ce1 Fixed tests (added missing toString(). Changed global reserve directiveu to #reserve(zp,zp,zp,...). Added global directive specifying code address #zp(addr). Closes #190 2019-05-30 23:50:26 +02:00
jespergravgaard
b755cd448f Readded cfg/log/sym-files to tests 2019-05-30 22:29:07 +02:00
jespergravgaard
036724c92d Readded nop cast inlining - and fixed some recursion problems. 2019-05-30 21:38:12 +02:00
jespergravgaard
33b75c3db6 Merged 181-type-system 2019-05-30 17:55:53 +02:00
Jesper Gravgaard
ef953a12b4 Added some pointer-based struct tests (simulating the ASM we want for array indexing). 2019-05-29 17:45:17 +02:00