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

967 Commits

Author SHA1 Message Date
jespergravgaard
71ce3d0438 Aligned hardcoded address register implementation between memory registers and zp registers. 2019-10-20 13:21:04 +02:00
jespergravgaard
93456f0eb0 Cleaned up code generation and register.isZp() 2019-10-20 12:12:36 +02:00
jespergravgaard
0298452244 Fixed tests. 2019-10-20 11:41:56 +02:00
jespergravgaard
9e6fcdc781 Fixed tests. 2019-10-20 03:43:58 +02:00
jespergravgaard
a8c9943b73 Fixed test data for constants. Closes #209 2019-10-20 01:48:09 +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
fcc48de855 Implemented coalescing for main memory PHI registers. 2019-10-19 23:08:30 +02:00
jespergravgaard
fcf0d65bcb Adding a few directives to find. 2019-10-19 00:27:33 +02:00
Jesper Gravgaard
8f274f18a6 Refactored directive parsing slightly. 2019-10-17 11:13:46 +02:00
Jesper Gravgaard
90b2077ac5 Changed memory area keywords to __zp / __mem / address(0xnn) / address(0xnnnn). 2019-10-17 01:27:56 +02:00
Jesper Gravgaard
c215cfed28 Fixed test data 2019-10-16 08:34:33 +02:00
jespergravgaard
689e0e1e97 Improved struct value unwinding. 2019-10-14 01:07:01 +02:00
jespergravgaard
85676bc83a Implemented support for fixed address main memory variables using __mem(0x1000) directive. 2019-10-14 00:51:19 +02:00
jespergravgaard
12aed34f2d Added test for zeropage notregister variable. 2019-10-13 23:49:52 +02:00
jespergravgaard
da2dd21514 Changed 'memory' keyword to 'notregister'. Changed default for 'notregister' variables to be on zeropage. 2019-10-13 23:36:40 +02:00
jespergravgaard
0c4e0a833c Removed support for register(NUMBER) and memory(NUMBER). Added keywords for using zeropage memory (__zp) or main memory (__mem). Added support for __zp(NUMBER) and __mem(NUMBER). 2019-10-13 22:09:33 +02:00
jespergravgaard
f2660a8680 Improved fragments. Improved printing main memory registers. 2019-10-12 11:51:55 +02:00
Jesper Gravgaard
70aa2836da Improved printing register ZP. 2019-10-12 11:40:36 +02:00
Jesper Gravgaard
3491ff02cb Merge remote-tracking branch 'origin/328-memvars' into 328-memvars 2019-10-10 08:51:35 +02:00
Jesper Gravgaard
95f3b38e7c Merge remote-tracking branch 'origin/master' into 328-memvars 2019-10-10 08:44:41 +02:00
jespergravgaard
08da28e976 Added another test for literal number type detection in ternaries. #199 2019-10-09 16:43:02 +02:00
jespergravgaard
873adf0b26 Renaming. 2019-10-06 23:48:27 +02:00
jespergravgaard
949917f734 Fixed test. 2019-10-06 23:20:15 +02:00
jespergravgaard
b93d65423d Eliminated most register types and classes. 2019-10-06 22:41:21 +02:00
jespergravgaard
1b9e4347fc Now trying registers for boolean vars. 2019-10-06 21:11:56 +02:00
Jesper Gravgaard
9877da213d Improved a few fragments. Moved to use the SymVar.isStorageXxx() methods. 2019-10-05 12:06:43 +02:00
jespergravgaard
358f6d0047 Added a few fragments. 2019-10-05 08:29:28 +02:00
jespergravgaard
6feeb0d842 Working on M/Z synth rules. 2019-10-04 00:20:17 +02:00
jespergravgaard
ec1087b876 Working on M/Z synth rules. 2019-10-04 00:00:41 +02:00
jespergravgaard
633cc9294b Working on M/Z synth rules. 2019-10-03 23:29:21 +02:00
jespergravgaard
78d316e7db Working on M/Z synth rules. 2019-10-03 22:58:34 +02:00
jespergravgaard
a494e06e4b Fixed test. 2019-10-03 18:34:55 +02:00
jespergravgaard
812546d603 Fixed NPE if ranged loop-variable is not declared. Closes #333 2019-10-03 10:41:10 +02:00
jespergravgaard
f4206a2e84 Optimized fragments in test (still needs proper handling of CPU aspects). Added error when encountering unsupported const parameters. Closes #331 2019-10-03 10:29:58 +02:00
jespergravgaard
ec6139de54 Updated fragment test data #328 2019-10-02 08:27:48 +02:00
jespergravgaard
ce0377e155 Changed Z-fragments to M-fragments. Added z-to-m synth. 2019-10-02 01:07:42 +02:00
jespergravgaard
75dbe31cef Progress on memory variables. Added identification of identical memory registers. #328 2019-10-01 22:28:54 +02:00
jespergravgaard
7b7d7de49d Progress on memory variables. Avoided const/alias/... passes. Added new register type and the first few fragments. The first few tests working. #328 2019-09-30 23:57:27 +02:00
jespergravgaard
73854b7ee3 Added two memory variable tests with struct values. (illustrating that they do not work yet.) #328 2019-09-30 00:18:41 +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
198f4ee55f Optimized constant handling in pass 1. 2019-09-29 22:42:37 +02:00
jespergravgaard
bfdd2fb0a5 Optimizing constant detection - avoiding versions. 2019-09-29 22:36:02 +02:00
jespergravgaard
032f9d079e Completed refactoring of Variable class to use StorageStrategy. 2019-09-29 21:53:44 +02:00
jespergravgaard
f09e4da4d4 Fixed struct tests 2019-09-29 20:59:38 +02:00
jespergravgaard
587027397d Variable storage strategy implementation almost done. 2019-09-29 20:57:28 +02:00
jespergravgaard
688a36b6d7 Added fragment synths for Travis Fisher and Clay Cowgill. 2019-09-29 17:48:20 +02:00
jespergravgaard
a749cce83d Added test with a memory variable pointer. Illustrates how it would be better to make "real" memory variables instead of pointers to ... #328 2019-09-27 19:51:26 +02:00
Jesper Gravgaard
a450da9123 Fixed tests. #328 2019-09-26 15:05:50 +02:00
Jesper Gravgaard
b83ab7d402 Added another test. #328 2019-09-26 14:53:33 +02:00
Jesper Gravgaard
5652a11131 Implemented memory variable data output. Initialization can still be optimized. #328 2019-09-26 14:35:02 +02:00