Aside from general tweaking and improvements in the utilities, I've started converting everything from a text menu driven format to a more traditional command-line format, with switches and parameters and all that good stuff. This gives us two advantages: first, it's much easier to use the utilities as a group since we have the option of doing things like batch files and so on. Secondly, it makes it much simpler to invoke the tool from the IDE.
I'm actually collapsing both FugueASM and FugueDLLClient into a single utility, FugueShell. This app will serve as a general jumping-off point for any of the typical Epoch work: compiling, assembling, disassembling, running source code (or binaries), assembly code formatting, and so on. I like this setup because it makes it simpler to remember how to use the tools. It also makes it trivial to support things like batch code formatting, batch compiling, etc.
So all in all today's work is primarily just making things more robust and accessible. I'm trying to stick to a pretty simple set of principles on this project:
- Get it working as soon as possible - then release it
- When things need improvements, make them immediately - then release them
- Always aim for the goal of writing real production code in Epoch
Everything is filtered through these three pragmatic rules. While it means that occasionally development of language features will slow down for a time, it also means that we should always be no more than 1 release away from well-polished, powerful, and accessible tools - tools which can be used for real world applications.
So tonight I was going to open up Epoch and play with the Epoch Assembly language, but it seems its a bit hard to explore. It really seems like something, at this point atleast, that is more like a configuration file and ment to be generated by another programmer, instead of tinkered by someone. Though I realize that it IS suppose to be generated by the compiler and not me, I cant help but be disappointed :(
Perhaps a little documentation on the assembly language would help?