User guide
108 CHAPTER 4. THE COMMAND LANGUAGE
The HARD options causes both syntax and translation phase errors to call
abort(100). This is useful in commands such as: c compall hard allowing each
error in a long sequence of compilations to be inspected separately.
The arguments T32 and T64 specify whether the target architecture is for 32 or 64
bit BCPL.
The argument OPT gives a list of conditional compilation option names consisting
of letters, digits, underline and dot, separated by plus signs or any other characters
not allowed in option names. These options are declared at the start of compilation of
every BCPL section.
bcpl2sial FROM/A,TO/K,VER/K,SIZE/K/N,TREE/S,NONAMES/S,
D1/S,D2/S,OENDER/S,EQCASES/S,BIN/S,XREF/S,GDEFS/S,HDRS/K,
GB2312/S,UTF8/S,SAVESIZE/K/N,HARD/S,T32/S,T64/S,
OPT/K CIN:y, POS:y, NAT:y
This command compi l es a BCPL program into the internal assembly language Sial
which i s designed as a low level intermediate target code for BCPL and is described in
Section 10.1. The command sial-sasm, described below, can be used to convert Sial
into a human readable form and various commands, such as sial-386, sial-alpha and
sial-arm will convert Sial to assembly language for corres ponding architectures. The
bcpl2sial command uses the same front e nd as bcpl and so takes the same arguments
as the bcpl command.
bcplxref FROM/A,TO/K,PAT/K CIN:y, POS:y, NAT:y
This command outputs a cross reference listing of the program given by the FROM
argument. This consists of a list of all identifiers used in the program each having a list
of line numbers where the identifier was used and a letter indicating how the identifier
was declared. The letters h ave the following meanings:
V Local variable
P Function or Routine
L Label
G Global
M Manifest
S Static
F FOR loop variable
The TO argument can be used to redirect the output to a file, and the PAT argument
supplies a pattern to restr i c t which names are to be cross referenced. Within a patt er n
an asterisk will match any sequence of characters, so the pattern a*b* will match
identifiers such as ab, axxbor axbyy. Upper and lower case letters are equated. This
command has largely been superceded by the xref option in the bcpl comman d and
the related sortxref command.
bench100 CIN:y, POS:y, NAT:y
This is a simple benchmark program used to test the efficiency of systems imple-
mentation languages.