Home Computing Weekly9th April 1985
Published in Home Computing Weekly #107
If you're bored with BASIC or looking for an easy way' to produce machine code programs, then this new Pascal compiler is sure to interest you. It produces true machine code programs which, once completed, can be loaded and run without using the Pascal package - and you write these programs not in a different low-level language but in a highly structured, high-level language which many people consider to be much better than BASIC.
The disc contains a loader and a linker, for inserting existing routines into new programs - both of which you can transfer to your own disc if you wish - as well as the compiler, and comes with a smart 70-page loose-leaf manual. This is clearly intended to explain the rudiments of Pascal to experienced BASIC programmers, rather than to teach programming to complete beginners; it does not repeat any Information which is adequately covered in the Programmer's Reference Guide.
If you are not already familiar with BASIC you would probably find this package Incomprehensible - and if you have no previous knowledge of Pascal you would be well advised to obtain a good book on the subject, rather than relying solely on the manual. A list of suitable reference books is provided.
Pascal programs are entered using the normal BASIC editor' this is possible because the Commodore doesn't check the syntax of BASIC program lines on entry. Each line, therefore, has to start with a line number, although these aren't normally required in Pascal, and are ignored by the compiler. The program is saved on disc as a BASIC program, then the compiler is loaded and run. Compilation is a slow process; a demo program from the manual, about 25 lines long took several minutes to complete. The compiled version is automatically saved on disc. It then has to be loaded using the special loader program' after this, it can be saved and re-loaded as a normal machine code program.
The most striking thing about Pascal is the wide range of data structures which are supported - real, Integer, boolean, char, array, packed array, string, set record, file and printer, plus user-defined data types in case these aren't enough for you. The next most significant feature is the structure of the programs, which have to be written in blocks, in the way that BASIC programs should be written but all too often aren't.
This version of Pascal includes commands to set up and clear the hi-res screen, to plot and unplot points and to define sprites, but there are no special sound commands - ~OKEs have to be used here, as 10 BASIC. Machine code routines can be included; the same company produces an assembler/monitor which can be used in conjunction with this package. There is no provision for including BASIC routines, but you could presumably use Pascal to produce a machine code routine to be called from a BASIC program if you want to mix the two.
The use of files, including relative files, is well covered and there is also an interrupt command, allowing simultaneous execution of the main program and a subroutine.
Overall it's an interesting package, and can be recommended to competent BASIC programmers wanting to move on to something different.