home *** CD-ROM | disk | FTP | other *** search
-
- PCQ Pascal Compiler
- Copyright (c) 1989 Patrick Quaid.
-
- This is a slow Pascal sub-set compiler that produces
- assembly language code, which can then be compiled into executable
- programs. Read Pascal.DOC for details. The rest of the files in
- this archive are:
-
- ReadMe.PCQ This file.
- Pascal The compiler.
- PCQ.lib The run time library
- Pascal.DOC Documentation.
- Make A simple batch file that compiles, assembles and
- links a simple program. It uses T:, so you might
- want to assign T: to something like ram: or rad:.
- Small.lib The library vector offsets of all the system
- routines. This was put together by Matt Dillon.
-
- The following four files might not have been included in the
- archive. I hope they were, but in any case all of the rest of the
- files must be. If some are missing, write to me at the address at
- the bottom of this file to get a full version.
-
- Blink Software Distillery's linker.
- Blink.DOC Documentation for that
- A68k Charlie Gibbs' assembler
- A68k.DOC Documentation for the assembler
-
- The following programs ending in .p are examples of various
- PCQ features. They aren't worth much by themselves, but they show a
- bit of what PCQ can do.
-
- ChopCL.p Uses the command line and separate compilation.
- ChopTest.p Runs the above through its paces.
- Copy.p A very simple copy program.
- MapMaker.p Another scenery generator.
- Moire.p Shows the use of Intuition, Graphics, and Exec from PCQ.
- Nests.p Shows nested procedures and scopes.
- RealIO.p Readin' and writin' real numbers.
- Snow.p Draws a fractal snowflake, and uses real math.
- Structures.p Demonstrates (not very) complex data objects.
- Typer.p Ultra simple type program.
- WhereFrom.p Demonstrates use of DOS functions.
-
- The files ending in .i are include files that define the
- interfaces to the system. They are explained more fully in the
- files themselves. Note that the example programs above expect
- these files to be in a subdirectory called "include". If this
- is a problem, change the include statements in the example
- programs.
-
- DOS.i All the DOS routines and a couple of structures.
- Exec.i Exec library and memory routines.
- ExecIO.i For system IO. You know, DoIO() and that lot.
- Ports.i The structures and functions for messages and ports.
- Intuition.i Mainly window and screen stuff so far.
- Graphics.i Most of the drawing things, but no blitter stuff.
- StringLib.i Very few routines for using strings in PCQ.
-
- As you will see if you look through the include files, they
- are not at all complete. Perhaps they will be in the next
- version.... You might find, perhaps in a separate directory,
- the source code for the compiler. The files have the following
- names:
-
- Main.p The main program, of course.
- Calls.p A few code generation routines.
- IO.p Handles input and output of the compiler.
- Statements.p General statement parsing routines.
- Declarations.p Variable, constant, and type declarations.
- Stanprocs.p Handles write(), writeln(), read(), etc.
- Stanfuncs.p Standard functions like abs(), ord(), etc.
- Expression.p Parses all expressions.
- Initialize.p Initializes the various tables.
- Utilities.p Adds to and searches around the above mentioned tables.
- Pasvar.i An include file that declares the variables.
- Pastype.i An include file that declares the types.
- Pasconst.i An include file that defines the constants.
- makeall This is a batch file that compiles the above
- files using Pascal to create a compiler called
- Pascal2. It takes, roughly speaking, forever.
- Pas2.w A "with" file for Blink used in makeall.
-
- There might also be a directory with the source to the run
- time library. If so, the files will all end with ".asm", and
- will include something called Explanation.txt, which describes
- the layout of the files in general terms. The rest of the files
- are too numerous to mention, but if you run across about two dozen
- assembly files, you've found them.
-
-
- The source files all use tab characters rather than spaces. If
- these tabs are not expanded to eight spaces, as they are with the
- AmigaDOS "type" command, the indentation of all the programs will look
- pretty odd. As far as I know, the AmigaDOS editor "Ed" will NOT
- properly handle the tabs.
-
- If you got an incomplete version or have any questions, write
- to me at:
-
- Pat Quaid
- 8320 E. Redwing
- Scottsdale, AZ 85253
-
- The documentation, compiler, run time library, and source
- code for the compiler and run time library are all copyrighted by
- me, but feel free to distribute complete copies of this archive.
-
-