One project keeping me away from working on the QHJ was updating Structured SuperBasic. I’ve made a few minor changes to it that allows it to much more usefull. I’ve also added a new utility that makes it SSB production easier.
The two changes are:
1 – Added a second command line argument of Starting Line Number. This was made so that SSB would be used with the Unix utility ‘make’. Make, which comes with the C68 distribution, is a tool designed to only compile those sections of code that have changed. With SSB, if you have a program comprised of 5 program files, and you only change 1 one them, you have to run SSB on the whole lot (if you’ve used #include statements). Using ‘make’, you leave out the #include statements and let make run the SSB filter for you. If you have only changed 1 file, the only that file is converted from _SSB to _BAS, then all of the _BAS files are added together into one file (using ‘cat’, another Unix utility).
I’m not saying that we all should be using ‘make’, but I wanted the ability to use it built into SSB.
2 – When using the command line, if SSB fails with an error, the _BAS file is deleted. This was need for the SSBGO, the utility mentioned below.
3 – Better error reporting.
The new utility is SSBGO. SSBGO automates running SSB and Qliberator. SSBGO was designed to be used with MicroEmacs. From MicroEmacs, I would saved a file, then use the execute-program command. I would enter:
ssbgo flp1_file &
(the & is to EXEC it and not EXEC_W it)
SSBGO will then run SSB on ‘flp1_file_ssb’ (_ssb is the default extension). Once it has file_bas, it then load file_bas in to SuperBasic, SAVEs the file to a temporary file, checks it for the keyword MISTake and exists if one exists. If not, it executes the LIBERATE command, which is the command line interface to Qliberator. Qliberator then fires up, compiles the program, and finishes. So I have gone from having SSB source to a compiled program in just a few minutes, with only one command. SSBGO can be use with other editors, you just need to CTRL-C out of the editor, EXEC SSBGO, and let it run.
SSB261_ZIP is available on my web page.