THE LAUNCH of the QL C Development Kit was a quiet affair, but it is likely to have a profound effect on the software market. The package is aimed at the professional programmer as well as the hobbyist.
It is the first full Kernighan and Richie implementation for the QL and produces true, relocatable, machine code. The package consists of a lengthy manual, three microdrive cartridges and a ROM.
The first cartridge contains the runtime editor and the Sinclair standard linker. The full screen editor will take any ASCII input and is standard to all the Metacomco products. The linker is used to chain together modules of compiled code.
Compilation is a two phase operation, although the passage between the phases is easily accomplished. Each phase is on a separate microdrive.
Phase one is invoked using the SuperBasic procedure name LC1. It reads in the source you have produced using the screen editor, and creates an intermediate compilation which is stored on microdrive or disc using the same file name as the source.
Different types of file are distinguished by using file name extensions in a similar way to those used by the Psion business suite. For instance, the source code is labelled, _C; first phase compilation, _Q; and final phase, 0. In that way the computer knows the type of file it is dealing with.
The command format for phase one includes a number of optional specifiers. Those will change the number of bytes used by the execution stack - from a default value of 2048 - and allow the entry of compile time options. The basic load command consists of the instruction followed by drive specifiers. For instance:
LC1 "mdv1_ flp2_sinclair"
would load the first phase code from microdrive one, load your source from disc drive two, produce an intermediate compilation and save the file.
The second phase of compilation reads in the file created by the first, and produces object code in the Sinclair standard format. That object file must then be turned into an executable job using the linker.
In comparison with the GST compiler, reviewed in August, the Metacomco Development Kit is far superior in performance and standard. It is a full Lattice implementation, whereas GST is manufacturing a version of RATC. That is in the public domain - anyone can use it - and is to C what mini-LOGO is to LCSI LOGO.
The compilation process is slightly easier with the Metacomco package. GST QC changes the source into assembly language and converts that into machine code. While both packages use a similar process the QC components are run separately. Compilation can be automated with the Metacomco package by using the QLC command which loads in phase one and then phase two.
The library routines, which make up the bulk of most C packages, highlight the differences between the Metacomco and GST packages. Metacomco has produced a version of the language which is portable - meaning that the source you write can be used on other machines. For that reason the library functions which can be linked into your programs do not deal with QL screen or sound. They include routines to deal with memory allocation, mathematics and files.
The GST package is tailored to the QL. It too has a standard input/output library, but it contains routines to interface with QDOS and produces window and graphics effects. For that reason, and because of the low price, it was recommended for C beginners.
Metacomco's package will provide the standard for system development. It will be used by professionals and those who are already expert in the use of C.
|Publisher Metacomco Price £99.95|