You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/todo.rst
+11-9Lines changed: 11 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
TODO
2
2
====
3
3
4
-
For next compiler release (7.6)
4
+
For next compiler release (7.7)
5
5
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6
-
...
6
+
...tbd
7
7
8
8
9
9
Need help with
@@ -19,17 +19,17 @@ Blocked by an official Commander-x16 r39 release
19
19
(I hope this will be included into the r39 roms when they get released)
20
20
21
21
22
-
Future
23
-
^^^^^^
24
-
- add pipe operator ``|>`` ?
22
+
Future Things and Ideas
23
+
^^^^^^^^^^^^^^^^^^^^^^^
24
+
- pipe operator ``|>``
25
25
- make it possible to use cpu opcodes such as 'nop' as variable names by prefixing all asm vars with something such as ``v_``
26
26
then we can get rid of the instruction lists in the machinedefinitions as well?
27
27
- fix the asm-labels problem (github issue #62)
28
28
- make it possible to inline non-asmsub routines that just contain a single statement (return, functioncall, assignment)
29
29
but this requires all identifiers in the inlined expression to be changed to fully scoped names
30
30
- simplifyConditionalExpression() should not split expression if it still results in stack-based evaluation
31
31
- simplifyConditionalExpression() sometimes introduces needless assignment to r9 tempvar
32
-
- get rid of all TODO's in the code
32
+
- consider adding McCarthy evaluation to shortcircuit and and or expressions. First do ifs by splitting them up? Then do expressions that compute a value?
33
33
- improve testability further, add more tests
34
34
- use more of Result<> and Either<> to handle errors/ nulls better
35
35
- rethink the whole "isAugmentable" business. Because the way this is determined, should always also be exactly mirrorred in the AugmentableAssignmentAsmGen or you'll get a crash at code gen time.
@@ -41,18 +41,20 @@ Future
41
41
- add a diskio.f_seek() routine for the Cx16 that uses its seek dos api?
42
42
- make it possible for diskio to read and write from more than one file at the same time (= use multiple io channels)?
43
43
- fix problems in c128 target
44
+
- add (u)word array type (or modifier?) that puts the array into memory as 2 separate byte-arrays 1 for LSB 1 for MSB -> allows for word arrays of length 256
44
45
- [problematic due to 64tass:] add a compiler option to not remove unused subroutines. this allows for building library programs. But this won't work with 64tass's .proc ...
45
46
Perhaps replace all uses of .proc/.pend by .block/.bend will fix that?
46
47
(but we lose the optimizing aspect of the assembler where it strips out unused code.
47
48
There's not really a dynamic switch possible as all assembly lib code is static and uses one or the other)
49
+
- get rid of all TODO's in the code ;)
48
50
49
51
50
-
More code optimization ideas
51
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
+
More optimization ideas
53
+
^^^^^^^^^^^^^^^^^^^^^^^
52
54
- if a for loop's loopvariable isn't referenced in the body, replace by a repeatloop
53
55
- automatically convert if statements that test for multiple values (if X==1 or X==2..) to if X in [1,2,..] statements, instead of just a warning
54
56
- byte typed expressions should be evaluated in the accumulator where possible, without (temp)var
55
-
for instance value = otherbyte >> 1 --> lda otherbite ; lsr a; sta value
57
+
for instance value = otherbyte >> 1 --> lda otherbite ; lsr a; sta value
56
58
- rewrite expression tree evaluation such that it doesn't use an eval stack but flatten the tree into linear code that uses a fixed number of predetermined value 'variables'
57
59
- this removes the need for the BinExprSplitter? (which is problematic and very limited now)
58
60
- introduce byte-index operator to avoid index multiplications in loops over arrays? see github issue #4
0 commit comments