or the instructions. These mnemonic symbols aid the programmer by
representing the instruction in an easily remembered form.
In addition to allowing mnemonic symbols to represent the instructions,
variable length sequences of alphanumeric characters may be used to
represent memory addresses in symbolic form. The assembly program does
the address bookkeeping for the programmer. A short example of a FRAP
program is on Page 29.
Since few characters limit or control the format of instructions written
in FRAP-3 language, it is possible to write instructions in almost any
format or style.
FRAP-3 may also be used to prepare tapes for interpretive programming,
since arbitrary definitions for operation code symbols are permitted.
A feature useful both for ease of programming and for machine simulation
is the ability to call for a series of instructions (macro-instruction)
to be written. Frequently used instruction sequences thus need only to
be defined once.
DECAL - The Compiler Program
DECAL-3 (Digital Equipment Compiler, Assembler, and Linking loader for
PDP-3) is an integrated programming system for PDP-3. It incorporates in
one system all of the essential features of advanced assemblers,
compilers, and loaders.
DECAL is both an assembler and compiler. It combines the one-to-one
translation facilities of an assembler, and the one-to-many translation
facilities of a formula translation compiler. Problem oriented language
statements may be freely intermixed with symbolic machine language
instructions. A flexible loader is available to allow the specification
of program location at load time. The programmer may specify that
certain variables and constants are "systems" variables and constants.
The symbols so defined are universally used in a system of many
routines. Thus, communications between parts of a major program is
facilitated even though these parts may be compiled separately. Storage
requirements for a large program are lessened by this technique.
DECAL is an open-ended programming system and can be modified without a
detailed understanding of the internal operation. This is achieved by
means of a recursive definition facility based on a skeleton compiler
with a small set of logical capabilities. The skeleton compiler acts as
a bootstrap for introducing more sophisticated facilities.
The compiler will be delivered with a fully defined subset of formula
translation operators. Additional subsets may b
|