Google
 

Trailing-Edge - PDP-10 Archives - BB-JR93N-BB_1990 - 10,7/system/atsign.hlp
There are 2 other files named atsign.hlp in the archive. Click here to see a list.
Indirect Commands (@ Construction)

Most programs receive input in the form of commands from the terminal.
However,  it is possible to write a program that accepts commands from
a file.  That file is known as an indirect command file.

For example, when you must type many program names and  switches,  you
can  put  them  into a file that eliminates the need for you to retype
the names and switches for each compilation.  You can use the  @  file
construction, which you can type with any COMPILE-class command.

You can specify an @ file at any point in a  command  line  after  the
first  word  in the command.  In this construction, when you specify a
file, you do so by typing its file name, followed by an optional  file
name  extension  and  project-programmer  number.   If  you  omit  the
extension, the program searches for a command file with  a  .CMD  file
name  extension.  If that file is not found, the program then searches
for a command file with a null  extension.   Then,  when  the  program
finds the specified file, it places the information stored in the file
in the command string, replacing @file  name.   If  the  file  is  not
found, the program prints an error message.

Example

If you have a  file  called  FLIST.CMD  that  contains  the  following
command string:

     FILEB,FILEC/LIST,FILED

You could replace this command line:

     .COMPILE FILEA,FILEB,FILEC/LIST,FILED,FILEZ

with the following command line:

     .COMPILE FILEA,@FLIST,FILEZ

You can have command files that contain the @ file construction  to  a
depth  of  15 levels.  If this process of indirection results in files
pointing in a loop, the maximum depth is  exceeded,  and  the  program
prints an error message:

     ?NESTING TOO DEEP

The following rules apply in handling format characters in  a  command
file.

     1.  Spaces are used to delimit words, but are otherwise  ignored.
         Similarly,  TABs, vertical TABs, and form feed characters are
         treated as spaces.

     2.  To allow long command strings, command terminators  (such  as
         RETURN,  ESCAPE)  are ignored if the first nonblank character
         after  a  sequence  of  command  terminators  is   a   comma.
         Otherwise,  the  command terminators are treated as commas by
         the COMPILE-class commands.

     3.  Blank lines are completely ignored.

     4.  Comments can be included in command files  by  preceding  the
         comment  with a semicolon; text from the semicolon to the end
         of the line is ignored.

     5.  If command files are  sequenced,  the  sequence  numbers  are
         ignored.