ZZ.TXT Mini Doc for ZZ.COM by Tom Zimmer ZZ NOTES ZZ is an integrator program that provides a simple connected environment for the TCOM compiler, and the SZ editor. ZZ's purpose is to reduce keystrokes while simplifying program development. It sends and accepts commands from the SZ editor while directing the operations of the TCOM compiler, and the BXDEBUG debugger. Specifically ZZ gets all of its commands from two places, the file ZZ.CFG. and ZZ.CMD. Both are ordinary text files. ZZ.CFG holds command lines for ZZ to perform. Here is an example of the contents of ZZ.CFG: Line 1 SZ %1 %2 %3 /cmd Line 2 SZ %F.msg /b|| Line 3 CLS|%1 %P|PAUSE|| echo Alt-3 is not defined, edit MS.CFG|pause echo Alt-4 is not defined, edit MS.CFG|pause Line 6 tcom %1 /opt /sym /Q >%F.msg|| echo Alt-6 is not defined, edit MS.CFG|pause Line 8 bxdebug %F.com|| echo Alt-8 is not defined, edit MS.CFG|pause echo Alt-9 & F9 are not defined, edit MS.CFG|pause Line 11 echo Alt-0 is not defined, edit MS.CFG|pause When ZZ starts execution, it first reads in ZZ.CFG. ZZ then passes Line 1 to DOS as a command line. This starts the SZ editor on whatever file was specified after ZZ on the DOS commandline. When SZ returns, ZZ looks in the file ZZ.CMD for information on what to do next. The ZZ.CMD file contains a single line, and looks like this: 1 0004 0007 C:\FPC\TCOM\SAMPLE.SEQ The first three items are at fixed locations in the first line. The "1" signifies the command line to execute. The command is in the range 1 to 9 plus 0 corresponding to Lines 2 through 11 above. A command "Q" means we are Quitting ZZ. The second and third items in ZZ.CMD are the ROW and COLUMN of where we were editing in SZ. The fourth Item is variable length, and specifies the file we were editing. The filename is passed as "%1" on the commandline as a parameter to whatever commandline gets executed. You may notice some peculiarities in the above commandlines, specifically the use of the "|" character. ZZ recognizes "|" as a command seperator, and actually passes each "|" delimited string sequence to DOS as a seperate commandline. Sort of a mini or shorthand batch file. The "%F" symbol above in lines 2,6, and 8, inserts the same filename as "%1", except the filename extension is removed. This is useful to allow making several file with the sname name but different extensions. The "%P" symbol in line 3 indicates command line parameters are needed for this command. ZZ will then prompt for user input of up to 40 characters on the last line of the display before executing the command. SZ NOTES While we are discussing ZZ, I need to mention the changes to the SZ editor. SZ will generate the file ZZ.CMD only if it is started with a commandline including the "/CMD" option. This tells SZ we are in a compile environment, and that commands need to be passed back to ZZ for its use. When SZ starts up with this option, it trys to read in a file with the same name as the file it is editing, but with a ".MSG" extension. If this file is found, then SZ scans it for error messages. This file is generated by the TCOM compiler using standard I/O redirection as shown in Line 6 above. In addition the "/Q" (Quiet) option suppresses exteranious compiler output. Error messages from the TCOM compiler are in a format compatible with the Microsoft C compiler as following example illustrates: SAMPLE.SEQ(23) XYZZ Undefined symbol Here the filename starts the line, and the line where the error occured is placed in parenthesis. SZ looks for lines in the format, and when an error is detected, SZ switches into "ERRORING" mode, and displays the error message on the bottom line of the screen, with the faulty line displayed in reverse video. At this point only three keyboard keys are active, the up and down arrow keys, for moving through the errors, and the ESC key for leaving "ERRORING" mode. You can press ESC, to correct an error, then press Alt-F5 to re-enter and examine additional errors. When you are satisfied with your changes, you can press F5 again, and re-compile the program. While the actual interconnection process is quite complicated, you need only remember a few keys as follows: F5 Compile current source file. F7 Debug current program. Ctl-F1 View compiler .MSG file. use F10 to return to editing. Ctl-F2 Execute the current program. F10 Leave the environment. Alt-1 through Alt-0 can be used to directly execute lines 2 through 11 of the ZZ.CFG file. You can edit ZZ.CFG to add or change the commands listed there. ZZ can be used as an integrator for other compilers, that like TCOM or Microsoft C can be directed to build error files with the same format. As you have probably noticed, ZZ is very small, about 6k bytes. That along with 3k bytes for the COMMAND shell, is all that is consumed from your Transient Programming Area by ZZ's operation. ZZ can then be used with compilers that need all of memory to operate. I hope you find ZZ useful, it is Public Domain, and may be used as you wish. If you find ZZ, SZ, TCOM, or F-PC useful, you may want to send a check for $60.00 to the following address: Tom Zimmer 292 Falcato Drive Milpitas, CA. 95035 Home (408) 263-8859 Work (408) 432-4643 You will receive the latest copy of F-PC, TCOM, SZ, and ZZ. Please specify the disk format you need. My prefered format is 1.2Meg 5 1/4. If you need 360k, 720k or 1.4Meg disk formats please add $5.00 for additional handling. Out of US orders please add another $5.00 for additional postage and handling. Also include the version numbers of each program you have, and a day and evening phone number for questions.