1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-26 12:49:21 +00:00
Commit Graph

1607 Commits

Author SHA1 Message Date
jespergravgaard
cfb27e5915 Converting constant value lists directly to constant values during parse. 2019-11-03 21:27:11 +01:00
jespergravgaard
8d494cb587 Removed early const data structure. 2019-11-03 20:41:07 +01:00
jespergravgaard
b6b01ab232 Fixed tests. 2019-11-03 20:11:06 +01:00
jespergravgaard
0b477d24ae Identifying declared constants already during Pass0. 2019-11-03 17:05:55 +01:00
jespergravgaard
e68e22ae2a Removed all calls to setKind() except 2 in early constant detection. 2019-11-03 12:01:12 +01:00
jespergravgaard
5839a98c60 Changed declared const handling. 2019-11-03 10:48:40 +01:00
jespergravgaard
d9582d6b0f Refactoring handling of variable directives. 2019-11-02 22:54:13 +01:00
jespergravgaard
c7d5be3962 Renamed to Variable. 2019-11-01 20:46:10 +01:00
jespergravgaard
fd307776ae Removed ConstantVar class (using SymbolVariable instead). 2019-11-01 19:49:21 +01:00
jespergravgaard
093898455f Removed Variable class (using SymbolVariable). 2019-11-01 18:24:09 +01:00
jespergravgaard
5b1e3ec153 Moved many usages from Variable to SymbolVariable. 2019-11-01 08:08:34 +01:00
jespergravgaard
e35f1b1530 Fixed tests. Moved all attributes to SymbolVariable. 2019-10-31 23:07:51 +01:00
jespergravgaard
79d4f6f1a5 Renamed constantValue getter/setter. 2019-10-31 22:51:31 +01:00
jespergravgaard
445f104309 Merge remote-tracking branch 'origin/328-memvars' into 328-memvars 2019-10-31 22:48:24 +01:00
jespergravgaard
db60a5e2a4 Moved constant value to SymbolVariable. 2019-10-31 22:48:08 +01:00
Jesper Gravgaard
e427cb648b Merge remote-tracking branch 'origin/328-memvars' into 328-memvars 2019-10-31 16:10:46 +01:00
Jesper Gravgaard
ad7c0c57ac Fixes static optimization problem. Closes #336 2019-10-31 16:10:29 +01:00
jespergravgaard
acb71114e2 Changed to standard C syntax. 2019-10-30 08:32:11 +01:00
jespergravgaard
7f9fd7b46a Updated tetris to C types. 2019-10-29 23:55:43 +01:00
jespergravgaard
d29a935507 Updated sinusgen8 test code. 2019-10-20 20:49:31 +02:00
jespergravgaard
e0749c4ac2 Updated sinusgen8 test code. 2019-10-20 20:41:16 +02:00
jespergravgaard
7ece3b172d Added another __notconst test. 2019-10-20 20:17:23 +02:00
jespergravgaard
79e6c92dd1 Added test of __notconst directive. 2019-10-20 20:15:01 +02:00
jespergravgaard
a34abcbdff Added __notconst directive. 2019-10-20 20:01:38 +02:00
jespergravgaard
ea4563cf99 Working on constant identification. 2019-10-20 17:06:17 +02:00
jespergravgaard
bacd900a9b Added test for __ssa / __notssa. Made literal char ConstantEnumerable. 2019-10-20 14:06:54 +02:00
jespergravgaard
077f40b0d7 Added keyword directives __notvolatile, __ssa, __notssa. 2019-10-20 13:44:30 +02:00
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
dc9480a8c8 Added missing fragments. 2019-10-20 11:31:09 +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
3faf1e05d5 Memory PHI registers can now be uplifted to A/X/Y. Fixed fragment synth rule for memory. 2019-10-20 00:49:34 +02:00
jespergravgaard
fcc48de855 Implemented coalescing for main memory PHI registers. 2019-10-19 23:08:30 +02:00
jespergravgaard
40ade8e60e Adding a few more default directives to find. 2019-10-19 00:33:27 +02:00
jespergravgaard
fcf0d65bcb Adding a few directives to find. 2019-10-19 00:27:33 +02:00
jespergravgaard
ce3475f596 Implemented directive searching. Nothing to find yet. 2019-10-19 00:07:32 +02:00
jespergravgaard
23c6ab3787 Moved parser directive context to separate file. 2019-10-19 00:03:05 +02:00
jespergravgaard
b82a4277e1 Moved variable directive handling to separate file. Default implementation identical to existing features. 2019-10-18 23:56:20 +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
c231a1abe4 Added a memory area attribute to variables. 2019-10-13 13:46:01 +02:00