COMMAND - TSS command to compile/run a Pascal program.
(Single Segment)
Syntax:
pascal [option]* filename [filename]*
(+|-)Ansi (-) (+|-)Batch (-)
(+|-)Clear (-) (+|-)Form (-)
(+|-)Go (+) (+|-)Iso (-)
(+|-)Keep (-) (+|-)Load (+)
(+|-)LoadBstar (-) (+|-)Map (-)
(+|-)Respectcase (+) (+|-)TEST (-)
(+|-)Tables (+) (+|-)Value (+)
(+|-)Zdebug (-) Escape=char
Hstar=filename Include=catalog
indeX=file Library=filename
Name=element Stack=nnn
StandardLibrary=libname Time_limit=nnn
USe=name,name,... Updatelibrary=filename
Examples:
pascal +value src.p
pascal u=/mylib /s/types.p /s/funcs.p
pascal /s/types.p /s/main.p l=/mylib
pascal -val -tables s=2000 /s/types.p /s/main.p /mylib
Options:
- +Ansi
- tells the compiler to issue diagnostics for any construct
which does not conform to the ANSI Pascal standard.
- +Batch
- indicates the program should be prepared to run in batch.
The command causes the batch library to be searched
before the main library but after all other libraries.
This option implies "-Go".
- +Clear
- is used in conjunction with the
"Updatelibrary=" option to force the library
editor to initialize the library before adding the new
object module(s).
- +Form
- is used for card image files. It causes the compiler to
ignore anything after column 72.
- -Go
- creates the executable file (H*) but does not execute it.
The program may then be run by using the GO command. The
default is "+Go".
- +Iso
- tells the compiler to issue diagnostics for every
construct that does not conform to the ISO standard
(Level 1).
- +Keep
- tells the compiler not to delete intermediate files that
are created during the compilation process. This is only
of interest to the people maintaining the compiler.
- -Load
- compiles only; does not call the loader or the library
editor.
- +LoadBstar
- tells the compiler to load an already existing object
file (B*) if no source file is given. This is handy if
you leave off a library name by mistake and just want to
retry loading without having to recompile everything
again. This option may not be used in conjunction with
the "Updatelibrary=" option.
- +Map
- tells the Yloader to generate its rudimentary load map.
- -Respectcase
- ignores case distinctions in source text. The default is
to respect case distinctions and to insist keywords be in
lower case.
- -Tables
- does not produce the line number tables. These tables are
used by the traceback mechanism, and may be used by the
BOFF debugger. It will be harder to locate a problem if
tables are suppressed.
- +TEST
- uses the test version of the Pascal libraries. The user
is cautioned that there is no guarantee about the state
of these libraries.
- -Value
- suppresses compilation of range checking code. It also
stops stackframe initialization on function entry. Do not
use "-Value" unless you are certain your
program is completely debugged.
- +Zdebug
- enables the printing of compiler debugging information.
This is intended for compiler maintenance, not for
general use. The action of this option is subject to
change without notice.
- Escape=c
- indicates that the character "c" will be used
as the escape character in string and character
constants. Specifying "Escape=" with no
character turns off the string escape feature. The
default escape character is "\". +Ansi and +Iso
turn off the string escape extension, so the Escape=
option cannot be used with these options. The escape
character must be a non-blank printable ASCII special
character other than single quote ("'").
- Hstar=filename
- tells the loader to put the load module (H* file) into
the designated file instead of the default file
".h".
- Include=catalog
- specifies a catalog that the compiler should search when
it is trying to find declaration files.
- indeX=file
- specifies an index file. This is a text file that
contains a sequence of file names, one per line. These
files should contain Pascal source code. The compiler
will take source input from the given files, in the order
they are listed. If source files are given on the command
line as well as in index files, all the source will be
concatenated in the order they appear. For example, if
the command line states the files
f1 x=i1 f2 x=i2
the compiler will take code from "f1", then
from the files named in "i1", then from
"f2", then from the files named in
"i2".
- Library=filename
- provides a library to be searched by the loader. If more
than one is supplied, they are searched in the order they
appear. The Pascal run-time libraries are always searched
last (unless given in the command line).
- Name=name
- assigns a name to the load module in the h* file. The
name must be six characters or less. The default name is
"object".
- Stack=nnn
- sets the stack size (fixed during execution). The default
size is 1000 words.
- StandardLibrary=libname
- specifies the name of an alternate standard subprogram
library. If you specify no StandardLibrary option, you
get the conventional (ANSI/ISO) library.
- Time_limit=nnn
- specifies the number of seconds of execution time for the
program, when running in compile and go mode
("+Go" option on). A value of zero means no
time limit. The default is 15 seconds.
- Updatelibrary=filename
- specifies a library into which the compiled routine(s)
will be edited by the library editor. Loading is
suppressed unless the "Hstar=filename" option
is also given, in which case the library is searched by
the loader.
- USe=name,name,...
- forces the loader to load the specified routines. This
feature is implemented by having the compiler generate
SYMREFs to the named routines.
Notes:
Options may be abbreviated in any unambiguous way, but letters
shown in capitals must be present. Thus, "+c" can be
used instead of "+Clear", "s=nnn" instead of
"stack=nnn", "n=element" instead of
"name=element", etc. Almost anything that is enough to
identify a given option uniquely is acceptable to the PASCAL
command.
Description:
The PASCAL command compiles and loads programs written in
Pascal. You should see "expl pascal"
before attempting to write or run programs.
One or more file names may appear on the command line. If a
file is sequential, it may be a file of object decks, in which
case the decks are copied to "r*" to be fed to the
loader. All sequential files that do not appear to contain object
decks are assumed to be part of the source. They are implicitly
concatenated and compiled after all other options have been
processed. If a file is random, it is assumed to be a random
library.
If the "Hstar=filename" option appears on the
command line, the load module is placed in the specified file;
otherwise it is placed in a file named ".h". The load
module is then executed unless the "-Go" option is
specified.
Normally, the compiler generates code to check the ranges of
values across assignments and function calls, and on
subscripting. It also causes the stack to be initialized upon
each function entry. When you are certain your program is
debugged, you can save some space and execution time by using the
"-Value" option to turn off these checks for illegal
values.
The "Stack=nnn" option specifies the stack size to
use for the object program ("nnn" is an integer). The
default size is 1000 words, but if the program requires a lot of
array space you may need to allocate a larger stack.
To put a separately compiled Pascal procedure into a random
library, use the "Updatelibrary=library" option, where
"library" is the file name of the library file.
If the first line of a source file begins with a digit, the
file is assumed to be line-numbered. The line numbers on the file
are used in diagnostics, but are otherwise stripped off and
ignored.
Files used:
pascal/pcs1.1/std - run-time library
pascal/pcs1.1/tss - more run-time library
pascal/pcs1.1/batch - Batch library
fc**1 - pass zero intermediate file
fc**2 - pass one intermediate file
fc**n - other intermediate files (where "n"
is a number)
.h - default load module
b* - object deck(s)
Copyright © 1997, by Thinkage Ltd. File Formatted on 16 March
1990