Jesper Gravgaard
|
e314794f0b
|
Implemented true recursive variable replacer that can replace into pointers/value lists. Also using this when building SSA. Prepared syntax ant type inference for building a word from 2 bytes using word w = { b1, b2 };
|
2017-12-25 20:19:53 +01:00 |
|
Jesper Gravgaard
|
eb6ee9bff8
|
Prepared parser for inline word expressions.
|
2017-12-23 15:35:13 +01:00 |
|
Jesper Gravgaard
|
10b8431833
|
Simplified fragment value naming further.
|
2017-12-23 10:49:18 +01:00 |
|
Jesper Gravgaard
|
8b96c1ae40
|
Merge remote-tracking branch 'gitlab/master'
|
2017-12-23 10:31:24 +01:00 |
|
Jesper Gravgaard
|
9d6fd3e1c9
|
Simplified fragment symbol naming
|
2017-12-23 10:31:20 +01:00 |
|
jespergravgaard
|
c38e9b85e4
|
Implemented signed words - first test works. Closes #22
|
2017-12-23 02:35:50 +01:00 |
|
jespergravgaard
|
978c1fb997
|
Improved readability.
|
2017-12-22 14:34:10 +01:00 |
|
jespergravgaard
|
b3649997b6
|
Simplified fragement synthesis.
|
2017-12-13 00:48:59 +01:00 |
|
jespergravgaard
|
177be17dd9
|
Last of fragment renaming completed (zpptrby1/zpptrsby1 => pbuz1/pbsz1)
|
2017-12-13 00:29:48 +01:00 |
|
jespergravgaard
|
49b8545232
|
Next part of fragment renaming completed (coby1/cosby1/cowo1/coswo1 => vbuc1/vbsc1/vwuc1/vwsc1)
|
2017-12-12 22:39:27 +01:00 |
|
jespergravgaard
|
07478e86b1
|
Next part of fragment renaming completed (zpby1/zpsby1 => vbuz1/vbsz1)
|
2017-12-12 20:53:22 +01:00 |
|
jespergravgaard
|
7f6f1583a2
|
merged diffs
|
2017-12-12 00:17:13 +01:00 |
|
jespergravgaard
|
8b8095ff87
|
First part of fragment renaming completed (aby/xby/yby/asby/xsby/ysby => vbuaa/vbuxx/vbuyy/vbsaa/vbsxx/vbsyy)
|
2017-12-12 00:09:14 +01:00 |
|
jespergravgaard
|
597bcf01bb
|
First part of fragment renaming completed (aby/xby/yby/asby/xsby/ysby => vbuaa/vbuxx/vbuyy/vbsaa/vbsxx/vbsyy)
|
2017-12-12 00:09:14 +01:00 |
|
Jesper Gravgaard
|
5a819659a0
|
Removed signed byte register usage by allowing the fragment binding to also look at the variable type.
|
2017-12-10 20:00:00 +01:00 |
|
Jesper Gravgaard
|
e2aa0cd7e0
|
Removed signed byte register usage by allowing the fragment binding to also look at the variable type.
|
2017-12-10 19:53:14 +01:00 |
|
jespergravgaard
|
69dba6ea27
|
Added casting problem test nocast.kc
|
2017-12-05 23:31:43 +01:00 |
|
jespergravgaard
|
a79853a4ec
|
Improved static ASM analysis to recognize & remove several LDA/LDX/LDY of the same value.
|
2017-12-05 22:01:32 +01:00 |
|
jespergravgaard
|
c1b2b8ab7d
|
Added sprite MSB
|
2017-12-05 21:49:40 +01:00 |
|
jespergravgaard
|
ad9873d201
|
Improved slightly
|
2017-12-05 01:15:17 +01:00 |
|
jespergravgaard
|
5b070b5a27
|
Added progress while generating sines
|
2017-12-05 01:11:31 +01:00 |
|
jespergravgaard
|
3569405dc1
|
Added some consts
|
2017-12-04 23:54:12 +01:00 |
|
jespergravgaard
|
56b74e7e0f
|
Implemented initial sinus sprites.
|
2017-12-04 23:48:14 +01:00 |
|
jespergravgaard
|
c74b86a616
|
Moved tables into methods.
|
2017-12-03 23:24:25 +01:00 |
|
jespergravgaard
|
9ea1d4f2c1
|
Minor refactoring improving sine example.
|
2017-12-03 23:17:13 +01:00 |
|
jespergravgaard
|
c769aabc0a
|
Minor refactoring improving float lib.
|
2017-12-03 23:08:47 +01:00 |
|
jespergravgaard
|
80d5f2bf9d
|
Updated print test reference data.
|
2017-12-03 22:59:25 +01:00 |
|
jespergravgaard
|
e18a8cb7d8
|
Added library for using BASIC functions. Improved print library. Added test creating a sine. Added asserts for methods with to few/many parameters. Added assert for requiring procedure return value. Added som missing fragments.
|
2017-12-03 22:57:54 +01:00 |
|
jespergravgaard
|
878d3ae36b
|
Added tests for to few and many method parameters
|
2017-12-03 17:01:23 +01:00 |
|
jespergravgaard
|
87f58d8782
|
Implemented check in pass1 ensuring that all used vars have been assigned a value. Closes #8. Closes #21.
|
2017-12-03 16:49:56 +01:00 |
|
jespergravgaard
|
b43489f11a
|
Implemented ASM long label relabelling. Closes #57
|
2017-12-03 15:12:20 +01:00 |
|
jespergravgaard
|
defd957837
|
Intorduced better error when assigning a constant. Closes #19
|
2017-12-03 14:26:28 +01:00 |
|
jespergravgaard
|
ee5b113b3a
|
Declared constants only create a single version. Closes #34.
|
2017-12-03 14:01:31 +01:00 |
|
jespergravgaard
|
0323fb0a0d
|
Fixed tests to take adcantadge of casting & int constant type elasticity.
|
2017-12-02 17:17:19 +01:00 |
|
jespergravgaard
|
9c39311d67
|
Preventing double imports. Closes #102
|
2017-12-02 16:56:58 +01:00 |
|
jespergravgaard
|
41fd3bc436
|
Implemented import functionality. Added import test. Closes #32.
|
2017-12-02 16:35:13 +01:00 |
|
jespergravgaard
|
78dd8bc149
|
Added import keyword and failing test.
|
2017-12-02 00:01:53 +01:00 |
|
jespergravgaard
|
2f0bcfacd7
|
Rewrote syntax to separate declarations and statements.
|
2017-12-01 23:45:09 +01:00 |
|
jespergravgaard
|
fed99da261
|
Disallowing code outside methods. Closes #18.
|
2017-12-01 23:25:53 +01:00 |
|
jespergravgaard
|
3023540e15
|
Refactored unused var analysis to reuse VariableReferenceInfos
|
2017-12-01 08:33:25 +01:00 |
|
jespergravgaard
|
18c36a6ed9
|
Implemented pass1 removal of all unused variables - but keeping all calls & side-effects. Closes #31
|
2017-11-30 23:19:02 +01:00 |
|
jespergravgaard
|
deb1304ba6
|
Added pass 1 base class. Added test for unused vars.
|
2017-11-30 21:51:13 +01:00 |
|
jespergravgaard
|
42840f8f77
|
Renamed phase 5 optimization.
|
2017-11-30 20:08:03 +01:00 |
|
jespergravgaard
|
d9490718fa
|
Optimizing ASM removing double jumps and unreachable code (after JMP/RTS). Closes #58. Closes #99.
|
2017-11-30 00:27:11 +01:00 |
|
jespergravgaard
|
6eb54c11a6
|
Working on improving constants.kc. Now everything works except allocation to asby (where clobber by a-register is not detected.)
|
2017-11-29 22:01:30 +01:00 |
|
jespergravgaard
|
1c59ae231e
|
Fixed problem with inline string by extracting them as local constants. Closes #98
|
2017-11-29 21:31:20 +01:00 |
|
jespergravgaard
|
14987484ee
|
Fixed live range problem when calling multiple calls one after the other. Closes #97.
|
2017-11-29 12:29:57 +01:00 |
|
jespergravgaard
|
507b27f436
|
Fixed an alias problem visible in print.kc where to eager aliasing destroyed the ln function. Now aliases are not identified, when the assignment is done withing another scope.
|
2017-11-29 01:31:46 +01:00 |
|
jespergravgaard
|
1edb436dfd
|
Fixed problem with ++ being added twice in *(char_cursor++) = *str;
|
2017-11-28 01:23:59 +01:00 |
|
jespergravgaard
|
663b885196
|
Now removing any unused procedures in pass 1. Closed #96
|
2017-11-28 00:39:15 +01:00 |
|