2018-08-06 01:35:43 +00:00
|
|
|
====
|
|
|
|
TODO
|
|
|
|
====
|
|
|
|
|
2020-08-18 12:47:52 +00:00
|
|
|
- optimize assignment codegeneration
|
2020-08-17 16:42:02 +00:00
|
|
|
- get rid of all TODO's ;-)
|
2020-08-22 15:13:23 +00:00
|
|
|
- make it possible to use cpu opcodes such as 'nop' as variable names by prefixing all asm vars with something such as '_'
|
2020-08-18 12:47:52 +00:00
|
|
|
- option to load the built-in library files from a directory instead of the embedded ones (for easier library development/debugging)
|
2020-08-17 16:42:02 +00:00
|
|
|
- aliases for imported symbols for example perhaps '%alias print = c64scr.print' ?
|
2020-07-03 21:49:17 +00:00
|
|
|
- investigate support for 8bitguy's Commander X16 platform https://www.commanderx16.com and https://github.com/commanderx16/x16-docs
|
2020-06-15 23:43:44 +00:00
|
|
|
- see if we can group some errors together for instance the (now single) errors about unidentified symbols
|
2020-03-21 23:43:46 +00:00
|
|
|
|
|
|
|
|
2019-01-24 01:43:25 +00:00
|
|
|
More optimizations
|
|
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Add more compiler optimizations to the existing ones.
|
|
|
|
|
2020-04-08 22:24:37 +00:00
|
|
|
- more targeted optimizations for assigment asm code, such as the following:
|
|
|
|
- subroutine calling convention? like: 1 byte arg -> pass in A, 2 bytes -> pass in A+Y, return value likewise.
|
2020-03-24 21:37:42 +00:00
|
|
|
- remove unreachable code after an exit(), return or goto
|
|
|
|
- add a compiler option to not include variable initialization code (useful if the program is expected to run only once, such as a game)
|
|
|
|
the program will then rely solely on the values as they are in memory at the time of program startup.
|
|
|
|
- Also some library routines and code patterns could perhaps be optimized further
|
2019-01-29 22:32:43 +00:00
|
|
|
- can the parameter passing to subroutines be optimized to avoid copying?
|
2020-03-24 21:37:42 +00:00
|
|
|
- more optimizations on the language AST level
|
|
|
|
- more optimizations on the final assembly source level
|
2020-07-03 23:02:36 +00:00
|
|
|
- note: abandoned subroutine inlining because of problems referencing non-local stuff. Can't move everything around.
|
2019-01-24 01:43:25 +00:00
|
|
|
|
2019-01-26 16:32:26 +00:00
|
|
|
|
2019-01-29 22:32:43 +00:00
|
|
|
Eval stack redesign? (lot of work)
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The eval stack is now a split lsb/msb stack using X as the stackpointer.
|
|
|
|
Is it easier/faster to just use a single page unsplit stack?
|
2020-05-14 21:59:02 +00:00
|
|
|
It could then even be moved into the zeropage to reduce code size and slowness.
|
2019-01-29 22:32:43 +00:00
|
|
|
|
|
|
|
Or just move the LSB portion into a slab of the zeropage.
|
|
|
|
|
2020-03-24 21:37:42 +00:00
|
|
|
Allocate a fixed word in ZP that is the Top Of Stack value so we can always operate on TOS directly
|
|
|
|
without having to index with X into the eval stack all the time?
|
2020-05-14 21:59:02 +00:00
|
|
|
This could GREATLY improve code size and speed for operations that work on just a single value.
|
2019-01-29 22:48:26 +00:00
|
|
|
|
|
|
|
|
2020-03-24 21:37:42 +00:00
|
|
|
Bug Fixing
|
|
|
|
^^^^^^^^^^
|
|
|
|
Ofcourse there are always bugs to fix ;)
|
2019-08-24 22:46:46 +00:00
|
|
|
|
|
|
|
|
2019-01-27 18:14:58 +00:00
|
|
|
Misc
|
|
|
|
^^^^
|
|
|
|
|
2019-08-11 16:21:15 +00:00
|
|
|
Several ideas were discussed on my reddit post
|
|
|
|
https://www.reddit.com/r/programming/comments/alhj59/creating_a_programming_language_and_cross/
|