%μ VAX-11 Librarian V03-00ΰ=gG;‹@³N;‹›$ œœ[5{ΦBATCH †BULLETINVCOMPILEjEXECUTEHELP ICRPΌLISTˆtRATFIVŽ@TALK“άZILCH­ΐ…0L;‹1 HELPG This help library contains the help files for the programs, commandG files, and libraries distributed on the Institute For Cancer Research VAX/VMS export tape.ww­ NAL;‹1 BATCHG The BATCH command runs a command as a batch process in the SYS$BATCHG queue. For example, if you want to copy a large file without tying up your terminal, type:$ $ batch copy bigfile.dat backup.datG When the batch process terminates, it notifies you at your terminal if you are still logged in.G If you issue the BATCH command with no arguments, it will prompt for aG series of commands and data to run as a batch process. In this mode,6 each DCL command must be preceded by a "$" character.G BATCH tries to set up the environment in the batch process so that itG is similar to your current environment by setting the defaultG directory to your current default directory, and invoking SUBDIRECT.COM if present. 2 LOG_FILEG The BATCH command creates a log file in your home directory. It triesG to name the file according to the command you are executing, eg.G COPY.LOG. If it can't figure out a name, it uses BATCH.LOG. SinceG batch logs from the BATCH command are not printed when done, BATCHG also defines two commands for you; LISTL*OG which uses LIST to list5 the log file and DELL*OG which deletes the log file.G When you BATCH and/or SPAWN (see HELP SPAWN) more than one  commandG simultaneously, the LISTL*OG and DELL*OG commands will refer to the$ last BATCH or SPAWN command issued.ww­ΰPL;‹ 1 BULLETING Invokes the ICR system bulletin utility. This utility is used to, provide information to users of the system.G There are two distinct classes of bulletins: those intended for allG users, and those concerning a particular subject which only a part of' the user community will be interested. Format: BULLETI N [file-spec]G Note that unlike many VAX/VMS commands, all switches must precede the file-spec. 2 Parameters file-specB The file-spec parameter is, if present, used as the input text for the add command.B If you omit the file-spec parameter, text input will be from SYS$INPUT.? No wild card characters are allowed in the file specification. 2 Qualifiers/ADD/DELETE /LIST (D) /DIRECTORYB /LIST allows users to display bulletins. Unless /OLD or /S INCEB is used, bulletins which you have already read will not beB displayed. If no subjects are specified, you will be informedB about subjects which have had new bulletins added since you last inquired.3 /DIRECTORY will list those subjects with messages.B /ADD allows the bulletin manager to add messages. If theB file-spec was specified, the text in that file will be added. IfB the file-spec is not specified, the text to be added will come from SYS$INPUT.B If the /SUBJECT switch is omitted, this bulletin will be for all, users. All other switches will be ignored.9 /DELETE allows the bulletin manager to delete a message.B If the /SUBJECT switch is omitted, the message to be deleted will& be from the file of general messages.? The /SEQUENCE switch must be specified with a sequence number./OLD /SINCE[=date]/BEFORE[=date]B Normally, only new messages will be displayed. These switches! allow you to view past messages.B /OLD alone will begin at the beginning of the message file.B /SINCE will start with the first message with the specified dateB and proceed forward. If unspecified, the date used will be todays date.B /BEFORE will not display any messages from the specified or laterB dates. If unspecified, the date used will be todays date. IfB /BEFORE is used, any new messages will be displayed the next timeB you ask for new messages, even if they are displayed with this switch./SEQUENCE[=id]B For listing operations, this switch specifies that bulletin id'sB be displayed with the message. This is normally used prior to aB /DELETE operation to get the sequence number of the message. In- this case, the id, if specified, is ignored.B For the /DELETE operation, this switch must be used with a value' to indicate the message to be deleted.B 'id' formats are two 1-8 hexadecimal digit numbers separated by a colon./SUBJECT=subjectB For list operations, this speci fies the subject to be listed. IfB not specified, only messages of general interest are displayed.B If an asterisk is used, all subjects are presented. You willB always be informed when new messages have been added to any subject.B For add operations, this specifies the subject of the newB material. If not specified, the new message will be added to those of general interest.B For delete operations, this specifies the subject of the messageB to be deleted. If not specified, the message to be deleted was of general interest.ww­€ΆvL;‹ 1 COMPILEG Invokes the ICR COMPILE utility to compile one or more files and/ optionally link and run the resulting program. Format:@ COMPILE[/global_qualifiers] file[/local_qualifiers] [...]A The last COMPILE command may be re-executed by typing RECompile. 2 FeaturesB o Provide a common command language interface to all compilers.3 o Select the compiler to use based on file type.: o Compile only the files which were created or revised.. o Compile if 'included' files were revised.( o Create and maintain user libraries.! o Link if files were compiled.8 o Link if external modules or libraries were revised. o Run the resulting program. 2 CompilersG Following is a list of all compilers supported by COMPILE and their corresponding file types:) Compiler file type) -------- ---------$  RATFIV .RAT$ FORTRAN .FOR$ PASCAL .PAS$ BASIC .BAS$ MACRO .MARG COMPILE selects the compiler to use for a file based on the file type.G If you specify a file without a type, COMPILE will search for the file having one of the above types. 2 ExamplesD Compile with listings and link a main program with two subroutines:% compile/list/link main sub1 sub2B Same as above  but include the debugger for the main program only:4 compile/list/link=(/debug) main/debug sub1 sub28 Same as above but include the debugger for all modules:4 compile/list/debug/link=(/debug) main sub1 sub2- Same as above but run the resulting program:3 compile/list/debug/run=(/debug) main sub1 sub2= Same as first example but using a library for sub1 and sub2:< compile/list/link/library=subs main/nolibrary sub1 sub2= Same as above but including the main program in t he library:G compile/list/link=(subs/include=test$main)/lib=subs main sub1 sub2@ Compile and link a main program which uses an external library:0 compile/link=(sys$library:icr/library) main 2 Parameters file [...]G Specifies one or more VAX-11 source programs to be compiled. If youG specify the file type, it must be one of the supported types listed inG the HELP COMPILE COMPILERS section. If you omit the file type,G COMPILE will search for the file having one of the supported types.G In either case, COMPILE will use the compiler corresponding to the) file type to compile the source program.G You can specify more than one source program. If you separate theG files with a space or comma, each file is compiled separately. If youG separate the files with plus signs, the files are concatenated andG compiled as a single file, producing one object module and,G optionally, one listing both with the same name as the last f ile in the concatenated list. 2 Qualifiers5 There are two types of qualifiers, global and local:6 o Global qualifiers are those which qualify COMPILEG (COMPILE/LIST TEST). They apply to all files on the command line.4 o Local qualifiers are those which qualify a fileD (COMPILE TEST/LIST). They apply only to the file they qualify.G Certain qualifiers, listed below, are recognized and processed byG COMPILE. Unrecognized qualifiers are passed on to the compiler for processing./EXECUTABLE=file-specG This qualifier instructs COMPILE to link, if necessary, the files onG the command line and name the task "file-spec". By default, the firstG file on the command line is used to name the task file. ThisF qualifier may also be included as an argument to the /LINK qualifier. See also the /LINK qualifier./FORCEG This qualifier instructs COMPILE to force compilation of the files it qualifies. /HOLLERITHG This qualifier instructs COMPILE to pass /HOLLERITH on to the RATFIV preprocessor./INCLUDED=(file-spec [...])G This qualifier instructs COMPILE to check for revision of filesG included in your source program when determining whether to recompile.D When only one file-spec is included the parentheses may be omitted./KEEPG This qualifier instructs COMPILE to keep any intermediate files4 produced by multiple pass compilers such as RATFIV./LISTG This qualifier instructs COMPILE to produce compiler listings of anyG files it qualifies which are compiled. The listing files will be named by each file compiled.(/LIBRARY=(file-spec[library qualifiers])G This qualifier instructs COMPILE to create, if necessary, and maintainG a user library. Any files which are compiled will be placed in theG library. When library qualifiers are not included the parentheses may be omitted.# See also the /NOLIBRARY qualifier.9/LINK[=([link qualifiers] [file-spec[qualifiers]] [...])]G This qualifier instructs COMPILE to link, if necessary, all files onG the command line. By default, the task will be named by the firstG file, not included in a library, on the command line. Any argumentsG present on the /LINK qualifier and any libraries specified by /LIBRARYG will also be included in the link operation. COMPILE will check forG revision of any files included in the /LINK qualifier when determiningG whether it is necessary  to relink your program. When only oneG file-spec is included in the /LINK qualifier, the parentheses may be omitted.B See also the /EXECUTABLE and /NOLIBRARY qualifiers and HELP LINK. /NOOBJECTG This qualifier instructs COMPILE to force compilation of all files itG qualifies without producing any object files. It is useful, duringC program development, for checking your source programs for errors.6 The /NOOBJECT qualifier implies the /FORCE qualifier. /NOLIBRARYG This qualifier, used in combination with /LIBRARY, instructs COMPILEG to omit the file it qualifies from the library. It is useful, forG example, when you wish to omit the main program from the library while including all subroutines.! See also the /LIBRARY qualifier.8/RUN[=([link qualifiers] [file-spec[qualifiers]] [...])]G This qualifier instructs COMPILE to link, if necessary, all files onG the command line and run the resulting program. The qualifier/ arguments are the same as the /LINK arguments./ See also the /LINK qualifier and HELP EXECUTE./SYMBOLSG This qualifier instructs COMPILE to pass /SYMBOLS on to the RATFIV preprocessor. /STANDARDG This qualifier pertains only to PASCAL compilations and instructsG COMPILE to pass /STANDARD on to the PASCAL compiler. By default,6 COMPILE passes /NOSTANDARD on to the PASCAL compiler./OUTPUT=file-specG By default, COMPILE writes, and subsequently execut es, a commandG procedure to compile, and optionally, link and run your program. TheG /OUTPUT qualifier instructs COMPILE to write the command procedure to a file for later execution.4 The /OUTPUT qualifier implies the /FORCE qualifier./VERIFYG This qualifier instructs COMPILE to display all commands as they are executed.ww­@H˜L;‹ 1 EXECUTEG Invokes the ICR COMPILE utility to compile one or more files and link and run the resulting program. Format:!@ EXECUTE[/global_qualifiers] file[/local_qualifiers] [...]A The last EXECUTE command may be re-executed by typing REExecute.G The EXECUTE command actually invokes the COMPILE utility with the /RUN3 qualifier. For more information see HELP COMPILE.ww­ +―L;‹1 ICRG ICR$LIBRARY:ICR contains a number of generally useful subroutinesG developed at the Institute for Cancer Research. Except where noted,) these routines are language independent.G A des"cription of each routine may be displayed by typing "HELP ICR subr-name".G A table of arguments for each subroutine or function may be displayedG by typing "HELP ICR subr-name CALL". An explanation of the codes usedF in the table of arguments may be displayed by typing "HELP ICR DATA". 2 Data_typesG A table of arguments for each subroutine or function may be displayed% by typing "HELP ICR subr-name CALL".& The data type encoding is as follows:; *[()] Data type codes are: 1. C -- Complex./ 2. F -- Standard type floating point.* 3. G -- "G" type floating point.* 4. H -- "H" type floating point. 5. I -- Integer. 6. S -- String.A 7. O -- Other (explained in the parameter description). 2 ICR_ADDQUAD - ICR_ADDQUAD(A,B,C)G This procedure adds two quadword integers ('A' abd 'B') and returns the s$um in 'C'.3 Calling_sequence - ICR_ADDQUAD(A,B,C)3 Name Mechanism Type I/O! Description : A Reference I*8 Input only : B Reference I*8 Input only ; C Reference I*8 Output only) Resultant quadword. 2 ICR_BKSCAN @ LOCATION = ICR_BKSCAN(STRING,SCAN_STRING,START_LOCATION)G Scans % STRING starting at START_LOCATION, returns location of first2 character in STRING which is also in SCAN_STRING.3 Calling_sequence @ LOCATION = ICR_BKSCAN(STRING,SCAN_STRING,START_LOCATION)3 Name Mechanism Type I/O! Description ; LOCATION I*4 Output onlyG Location of first character in STRING which isG also in SCAN_STRING. & EqualsG MAX(START_LOCATION,LEN(STRING)+1) if whole STRING! is scanned. : STRING Descriptor S** Input only7 Character variable to be scanned. : SCAN_STRING Descriptor S** Input onlyG Character variable containing characters to scan for. : START_LOCATION Reference I*4 Input onlyD Position in 'STRING at which to begin scanning.2 ICR_BUMP_PRIORITY / ICR_BUMP_PRIORITY(BUMP)G Allows an image to alter (if it has ALTPRI privilege) its baseG priority. An exit handler is declared to reset the original priorityG when the image exits or is aborted. The image must be installed with> some privilege in order to insure that the reset takes place.3 Calling_sequence / ICR_BUMP_PRIORITY(BUMP)3 Name Mechanis(m Type I/O! Description : BUMP Reference I*4 Input onlyG Integer specifying a relative change to the5 image's original base priority.2 ICR_COMPQUAD 3 COMPARISON = ICR_COMPQUAD(A,B)G This function compares two quadword, signed integers and returns -1 ifG 'A' is less than 'B', 0 if they are equal, and +1 if 'A' if greater than 'B'.3 Calling_sequen)ce 3 COMPARISON = ICR_COMPQUAD(A,B)3 Name Mechanism Type I/O! Description ; COMPARISON I*4 Output onlyG The sign of the difference of the two parameters. : A Reference I*8 Input only : B Reference I*8 Input only2 ICR_$CONNECT 1 STATUS = ICR_$CONNECT(RAB). This func*tion invokes the RMS $CONNECT macro.G May be used with ICR_$OPEN to open a file from a Fortran useropen routine.3 Calling_sequence 1 STATUS = ICR_$CONNECT(RAB)3 Name Mechanism Type I/O! Description ; STATUS I*4 Output only3 Standard VAX/VMS status code. < RAB Reference O Input/output1 An R+MS record access block. 2 ICR_EDIV + ICR_EDIV(A,B,C)G This routine divides the quadword 'A' by the longword 'B' and storesG the result in the longword 'C'. The programmer is responsible for& insuring that no overflow can result.3 Calling_sequence + ICR_EDIV(A,B,C)3 Name Mechanism Type I/O! Description : A Reference I*8 Input only , Dividend. : B Reference I*4 Input only Divisor. ; C Reference I*4 Output only Quotient. 2 ICR_EMUL + ICR_EMUL(A,B,C)G This routine multiplies two longwords ('A' and 'B') and stores the result in the quadword 'C'.3 Calling_sequence + ICR_EMUL(A,B,C)3 Name Mechanism Type- I/O! Description : A Reference I*4 Input only# Multiplicand. : B Reference I*4 Input only! Multiplier. ; C Reference I*8 Output only Product.2 ICR_GET_COMMAND ; STATUS = ICR_GET_COMMAND(PROMPT,COMMAND,LENGTH)G Read a command from the command line if present or the terminal.. IfG the command came from the command line, the next call toG icr_get_command will return end-of-file status. If the command cameG from the terminal, end-of-file will be returned when the user types control-z.3 Calling_sequence ; STATUS = ICR_GET_COMMAND(PROMPT,COMMAND,LENGTH)3 Name Mechanism Type I/O! Description ; STATUS I*4 Output only3 / Standard VAX/VMS status code. : PROMPT Descriptor S** Input onlyE Command prompt string or a blank for no prompt. ; COMMAND Descriptor S** Output only# Command line. ; LENGTH Reference I*4 Output onlyG Length of command not including blank padding for+ fixed length strings.2 ICR_GLOBAL_SYMBOL > STATUS =0 ICR_GLOBAL_SYMBOL(SYMBOL_NAME,SYMBOL_VALUE) Create a DCL global symbol.3 Calling_sequence > STATUS = ICR_GLOBAL_SYMBOL(SYMBOL_NAME,SYMBOL_VALUE)3 Name Mechanism Type I/O! Description ; STATUS I*4 Output only2 Standard VAX/VMS status code : SYMBOL_NAME Descriptor S Input onlyG Character variable or literal containing1 the) symbol name string. : SYMBOL_VALUE Descriptor S Input onlyG Character variable or literal containing the* symbol value string.2 ICR_LEN_TRIM 2 LENGTH = ICR_LEN_TRIM(STRING)G This function returns the length of a character variable excluding trailing blanks.3 Calling_sequence 2 LENGTH = ICR_LEN_TRIM(STRING)3 Name Mech2anism Type I/O! Description ; LENGTH I*4 Output onlyE The length of STRING excluding trailing blanks. : STRING Descriptor S** Input only; Character variable or quoted literal.2 ICR_LOCAL_SYMBOL = STATUS = ICR_LOCAL_SYMBOL(SYMBOL_NAME,SYMBOL_VALUE) Create a DCL local symbol.3 Calling_sequence = STATUS = ICR_LOCAL_SYMBO3L(SYMBOL_NAME,SYMBOL_VALUE)3 Name Mechanism Type I/O! Description ; STATUS I*4 Output only2 Standard VAX/VMS status code : SYMBOL_NAME Descriptor S Input onlyG Character variable or literal containing the) symbol name string. : SYMBOL_VALUE Descriptor S Input onlyG 4 Character variable or literal containing the* symbol value string. 2 ICR_$OPEN / STATUS = ICR_$OPEN(FAB)+ This function invokes the RMS $OPEN macro.G May be used with ICR_$CONNECT to open a file from a Fortran useropen routine.3 Calling_sequence / STATUS = ICR_$OPEN(FAB)3 Name Mechanism Type I/O! Description ; STATUS 5I*4 Output only3 Standard VAX/VMS status code. < FAB Reference O Input/output/ An RMS file access block. 2 ICR_$PARSE B STATUS = ICR_$PARSE(FILE_NAME,[DEFAULT_NAME],[EXPANDED_NAME])G This function is an interface to the RMS $PARSE macro. TheG "expanded_name" buffer optionally receives the file specificationG string resulting from the translation of logical names and the 6G application of optional default file specification information fromG "default_name" to the original file specification in "file_name".G "Expanded_name" should be be at least 128 characters, if fixed length.C The same variable may be used for 'file_name' and 'expanded_name'.G This routine may be used with ICR_$SEARCH to do wild card character processing.3 Calling_sequence B STATUS = ICR_$PARSE(FILE_NAME,[DEFAULT_NAME],[EXPANDED_NAME])3 Name Mech7anism Type I/O! Description ; STATUS I*4 Output only3 Standard VAX/VMS status code. : FILE_NAME Descriptor S** Input onlyG Standard VAX/VMS file specification to be parsed9 (can include wild card characters). : DEFAULT_NAME Descriptor S** Input only5 The default file specification. ; 8 EXPANDED_NAME Descriptor S** Output only6 The expanded file specification.2 ICR_PARSE_FILE D STATUS = ICR_PARSE_FILE(FILE_STRING,[FILE_SPEC],[NODE],[DEVICE],; [DIRECTORY],[FILE_NAME],[EXTENSION],[VERSION])G This function extracts the file specification at the beginning ofG file_string and optionally returns it in file_spec, and its componentF fields in node, device, directory, file_name, extension, and version.3 Calling_se9quence D STATUS = ICR_PARSE_FILE(FILE_STRING,[FILE_SPEC],[NODE],[DEVICE],; [DIRECTORY],[FILE_NAME],[EXTENSION],[VERSION])3 Name Mechanism Type I/O! Description ; STATUS I*4 Output only3 Standard VAX/VMS status code. : FILE_STRING Descriptor S** Input onlyG A file specification, optionally preceded byG : blanks or tabs, which may be followed by other text. ; FILE_SPEC Descriptor S** Output onlyG The file specification found at the beginning ofG file_string, or the null string if bad status is returned. ; NODE Descriptor S** Output only1 The node part of file_spec. ; DEVICE Descriptor S** ; Output only3 The device part of file_spec. ; DIRECTORY Descriptor S** Output only6 The directory part of file_spec. ; FILE_NAME Descriptor S** Output only5 The filename part of file_spec. ; EXTENSION Descriptor S** Output only6 The extension part of file_spec. ; VERSION Descriptor S** Output only4 < The version part of file_spec.2 ICR_QUAD_TO_D 2 RESULT = ICR_QUAD_TO_D(QWORD)G This function converts a quadword integer to a double precisionG floating point number. Note that precision will be lost in thisG conversion as double precision floating point has only 56 bits of precision.3 Calling_sequence 2 RESULT = ICR_QUAD_TO_D(QWORD)3 Name Mechanism Type I/O! = Description ; RESULT F*8 Output only- The converted quadword. : QWORD Reference I*8 Input only3 The quadword to be converted.2 ICR_QUAD_TO_F 2 RESULT = ICR_QUAD_TO_F(QWORD)G This function converts a quadword integer to a single precisionG floating point number. Note that precision will be lost in this< conversion as floating >point has only 24 bits of precision.3 Calling_sequence 2 RESULT = ICR_QUAD_TO_F(QWORD)3 Name Mechanism Type I/O! Description ; RESULT F*4 Output only- The converted quadword. : QWORD Reference I*8 Input only3 The quadword to be converted.2 ICR_REMOVE_FRONT 9 ICR_REMOVE_FRONT(LENGTH,STRIN?G,STRING_LEN)G Removes characters from the front a string and updates the current trimmed length of the string.3 Calling_sequence 9 ICR_REMOVE_FRONT(LENGTH,STRING,STRING_LEN)3 Name Mechanism Type I/O! Description : LENGTH Reference I*4 Input onlyG Number of characters to be removed from the front$ of the string. < STRING Desc@riptor S*(*) Input/outputE String from which characters are to be removed. < STRING_LEN Reference I*4 Input/output7 Current trimmed length of string. 2 ICR_SCAN ? LOCATION = ICR_SCAN(STRING,SCAN_STRING,START_LOCATION)G Scans STRING starting at START_LOCATION, returns location of first0 character in STRING which isn't in SCAN_STRING.3 Calling_sequence ? LOCATION = ICR_SCAN(STRING,SCAN_S ATRING,START_LOCATION)3 Name Mechanism Type I/O! Description ; LOCATION I*4 Output onlyG Location of first character in STRING which isn'tG in SCAN_STRING. EqualsG MAX(START_LOCATION,LEN(STRING)+1) if whole STRING! is scanned. : STRING Descriptor S** Input only7 B Character variable to be scanned. : SCAN_STRING Descriptor S** Input onlyG Character variable containing characters to be# scanned over. : START_LOCATION Reference I*4 Input onlyD Position in STRING at which to begin scanning. 2 ICR_$SEARCH 7 STATUS = ICR_$SEARCH(RESULTANT_STRING)G This function is an interface to the RMS $SEARCH macro. CIt may beG used after calling ICR_$PARSE to fill in the file identification fieldG in the NAM block and to fully resolve the resultant string fileG specification. ICR_$SEARCH may be called repeatedly until RMS$_NMFG (no more files) is returned to get all files which match theC "file_name" parameter of ICR_$PARSE, which may include wild cards.3 Calling_sequence 7 STATUS = ICR_$SEARCH(RESULTANT_STRING)3 Name Mechanism Type D I/O! Description ; STATUS I*4 Output only3 Standard VAX/VMS status code. ; RESULTANT_STRING Descriptor S** Output onlyG This string receives the file specificationG resulting from the resolution of all systemG defaults, including version numbers and wild card. character substitutions.2 EICR_SET_SWITCHES D STATUS = ICR_SET_SWITCHES(SWITCH_1,MASK_1[,SWITCH_2,MASK_2 ...])G Makes a set of switches known to the switch parser ICR_SWITCH.G ICR_SWITCH will return the corresponding MASK_i if SWITCH_i isG encountered when parsing a switch. Type HELP ICR ICR_SWITCH for more information.3 Calling_sequence D STATUS = ICR_SET_SWITCHES(SWITCH_1,MASK_1[,SWITCH_2,MASK_2 ...])3 Name Mechanism Type I/O! De Fscription ; STATUS I*4 Output only3 Standard VAX/VMS status code. : SWITCH_i Descriptor S** Input onlyG String (without a '/') containing switch to beA recognized (e.g. 'LIST' to match '/LIST'). : MASK_i Reference I*4 Input onlyG Value to be returned by ICR_SWITCH if SWITCH_i isG encounte Gred.. The value must not be negativeG since ICR_SWITCH returns a negative mask if a6 switch with arguments is parsed. 2 ICR_STDESCR = STR_DESC = ICR_STDESCR(%DESCR(BYTE_ARRAY)[,LENGTH])G Return a standard string descriptor given an array descriptor. May beG used to pass Fortran byte arrays to routines expecting character variables.3 Calling_sequence = STR_DESC = ICR_STDESCR(%DESCR(BYTE_ARRAY)[,LENGTH]H)3 Name Mechanism Type I/O! Description ; STR_DESC F*8 Output only9 Standard VAX/VMS string descriptor. : BYTE_ARRAY Descriptor I*1(*) Input only/ Byte array of characters. : LENGTH Reference I*4 Input only- Optional string length.2 ICR_STRIP_FRONT 8 ICR_STRIP_FRONT(STIRIP,STRING,STRING_LEN)G Strips any characters contained in strip from the front of string and left justifies string.3 Calling_sequence 8 ICR_STRIP_FRONT(STRIP,STRING,STRING_LEN)3 Name Mechanism Type I/O! Description : STRIP Descriptor S*(*) Input onlyG String containing any characters to be stripped3 from the front of the string. < STRINJG Descriptor S*(*) Input/outputG String from which the characters are to be stripped. < STRING_LEN Reference I*4 Input/output7 Current trimmed length of string. 2 ICR_SUBQUAD - ICR_SUBQUAD(A,B,C)G This procedure subtracts two quadword integers ('A' abd 'B') and returns the difference in 'C'.3 Calling_sequence - K ICR_SUBQUAD(A,B,C)3 Name Mechanism Type I/O! Description : A Reference I*8 Input only : B Reference I*8 Input only ; C Reference I*8 Output only) Resultant quadword. 2 ICR_SWITCH D STATUS = ICR_SWITCH(STRING,SWITCH_STRING,SWITCH_LEN,SWITCH_MASK)G ICR_SWITCH is a generalized switch parser for VAX/VMS quaLlifiers. ItG will recognize any valid VMS qualifier. It may be tailored toG recognize a particular set of qualifiers using the routineG ICR_SET_SWITCHES. Type HELP ICR ICR_SET_SWITCHES for more information.3 Calling_sequence D STATUS = ICR_SWITCH(STRING,SWITCH_STRING,SWITCH_LEN,SWITCH_MASK)3 Name Mechanism Type I/O! Description ; STATUS I*4 Output onlyG M Standard VAX/VMS status code. Status will beG true if a switch was encountered and false otherwise. : STRING Descriptor S** Input onlyG String containing the switch to be parsed. TheG string must be left justified with a '/' as the& first character. ; SWITCH_STRING Descriptor S** Output onlyG N String to receive the switch being parsed. ItG must be large enough to contain the longest* switch to be parsed. ; SWITCH_LEN Reference I*4 Output onlyG The length (without trailing blanks) of the7 switch returned in SWITCH_STRING. ; SWITCH_MASK Reference I*4 Output onlyG If the matched switch is one of t Ohose specifiedG in a call to ICR_SET_SWITCHES, the correspondingG mask value will be returned. Otherwise a 0 willG be returned. In either case, if the switchG contained arguments, a 80000000 hex will be oredG with the mask value. Type HELP ICR< ICR_SET_SWITCHES for more information.2 ICR_TRNLOG_STR ; STATUS = ICR_TRNLOG_SPTR(LOG_STRING,TRN_STRING)G Fully translate a logical name. log_string and trn_string may be the same string variable.3 Calling_sequence ; STATUS = ICR_TRNLOG_STR(LOG_STRING,TRN_STRING)3 Name Mechanism Type I/O! Description ; STATUS I*4 Output only3 Standard VAX/VMS status code. : LOG_STRING Descriptor S** Input only; Q Logical name string to be translated. ; TRN_STRING Descriptor S** Output only? Fully translated logical name equivalent.ww­!@M;‹1 LISTG LIST is a utility for examining the contents of files. It's simplestG use is to display records at the terminal a screen at a time, howeverG it can also search for character strings and write portions of filesG to other files. Any record in a file may be accessed directly by line R number or by a search.G The LIST command line has the following syntax. (Optional parts of3 the command line are enclosed in square brackets):D LIST[/qualifiers] input_file[,...] [commands][>[>]output_file] 2 Input_fileG Each "input_file" may be a simple file name, an indirect commandG file name preceded by @, or a file name containing standard RMS wildG card characters. More than one "input_file" may be entered by separating them by commas.G If "Sinput_file" is a simple file name, LIST lists the file. The0 default file extension is ".lis". For example, $ list abc.dat lists the file abc.dat.G If "input_file" is an indirect file name, LIST lists the namedG files in the indirect file one at a time. Each file name must appearG on a line by itself and may not have wild card characters in it. TheC default extension for indirect file names is ".com". For example, $ list/noprompt @files) lists each Tfile specified in files.com .G If "input_file" contains wild card characters LIST lists theG files which match the wild cards. The wild card character matchingG works identically to the way it works in the TYPE command, ie. theG initial default file type is ".lis" and only the most recent version0 of the file is selected unless ;* is specified.G When more than one "input_file" is specified or when "input_file"G contains wild cards or is an indirect file na Ume, LIST prompts withG each of the selected file names to see if you want them listed, unlessG /NOPROMPT was specified (see HELP LIST QUALIFIERS) . Responses to the prompt are: Y List the file.& or N Don't list the file.G G (GO) List this and remaining files with no prompting.; ^Z Don't list this file and remaining files.G When commands are given on LIST's command line, they are executedG once for each file selecte Vd by the input file specifications. WhenG output is redirected by the command line, it remains redirected for? each file selected (see HELP LIST OUTPUT_FILE) . For example, $ list * 1,$px >all.lis% prints *.lis into the file all.lis . 3 DefaultsG More than one file may be listed during the same LIST session byG typing LIST and then a carriage-return. LIST then prompts with theG "File? " prompt for one or more file name(s). After the file(s) have/ been listed W, LIST prompts for a new file name.G Whenever LIST encounters an input file name, the node, device,G uic, name, and extension fields are remembered and become theG defaults, even if the field has wild card characters in it. TheG defaults are used to replace missing fields of subsequent file names# entered for listing. For example: $ list! File? icr$document:list.docG When you are finished listing icr$document:list.doc, then to see2 icr X$document:vg3.doc you would only have to type: File? vg3; and LIST would supply the missing fields of the file name.G If LIST can't find a file after supplying the defaults, it triesG the file name as entered. Initially, the defaults are "sys$disk:" for) the device and ".lis" for the extension. 2 SearchingG LIST can search backwards and forwards in the input file forG lines which match a specified search pattern. A search pattern is aG string of charact Yers bracketed by slashes (/) or backwards slashes (\):G /string/ causes LIST to search forward from the current line4 for a line which matches "string".G \string\ causes LIST to search backwards from the current line8 - 1 for a line which matches "string".G Case is not significant in search patterns, eg. /X/ and /x/ match theG same lines, unless the characters are inside double quotes (seeG below). Once specified, a Zpattern becomes the default pattern and may& be invoked by // or \\. For example, /john doe/G searches forwards for a line with "john doe" in it in upper or lower case.G There are several characters which have a special meaning when they appear inside a search pattern:3 "G All characters within enclosing double quotes are treated literally,G not as special characters. The case of a character is significantG when it appears within double quotes. Two double[ quote characters inG a row within enclosing double quotes are interpreted as one literal double quote. For example, /"John Doe"/6 matches only lines which contain literally John Doe .3 ~G negation. Causes a match if the pattern does not match the line. ~G must appear at the beginning of a pattern (unless a column range isG specified (see HELP LIST SEARCHING COLUMN_RANGE) ), otherwise it has" no special meaning. For example, /~abc/' matches lines\ which don't contain abc.3 %G specifies that the match must occur at the beginning of the line only.G % itself must appear at the beginning of the pattern, otherwise it hasG no special meaning, unless a column range (see HELP LIST SEARCHINGG COLUMN_RANGE) or negation (~) is desired; in this case the columnG range and/or the negation character must appear before %. For example, /%10/; matches only lines with a 10 in the first two columns, and ]/~%10/5 matches lines without a 10 in the first two columns.3 $G specifies that the match must occur at the end of the line only. $G itself must appear at the end of the pattern, otherwise it has no special meaning. For example, /%$/ matches only empty lines.3 *G is a wild card character that matches any sequence of characters,, including the empty sequence. For example, /john*doe/@ matches lines containing johndoe or john doe or johnabc^doe etc.3 ?G is a wild card character that matches any single character. For example, /a?c/0 matches lines containing abc or acc or a c etc.3 @A matches any one alphabetic (a-z or A-Z) character. For example, /a@c/1 matches lines containing abc or acc but not a c.3 #7 matches any one numeric (0-9) character. For example, /%#/) matches lines with a number in column 1.3 `G accent matches a break character. Break characters a_re: beginning ofG line, end of line, and any non-alphanumeric character. For example,G the ? command can be used with the following search pattern to, display lines which contain the variable I: /`i`/?3 ^G causes the next character to be interpreted as a control character. For example, /^z$/; matches lines containing control Z at the end of the line.3 |G logical OR. Causes a match if the sub-pattern before it or the3 sub-pattern a`fter it match the line. For example, /abc|xyz|%#/G matches lines containing abc or xyz or a number in the first column.G The negation character (~) may be used at the beginning of a sub-pattern; for example, /~x|~y/= matches lines which don't contain an x or don't contain a y.3 &G logical AND. Causes a match if the sub-pattern before it and the3 sub-pattern after it match the line. For example, /x|y&abc/G matches lines contain aing abc and an x or a y. The negation characterA (~) may be used at the beginning of a sub-pattern; for example, /~x&~y/> matches lines which don't contain an x and don't contain a y.3 Column_rangeG Search patterns can restrict the range of columns in the inputG record in which the search is to take place. A column range isG specified by placing the special character "<" at the beginning of aG pattern or subpattern, followed by two column numbers separatbed by aG comma, followed by a ">" character. The rest of the search pattern6 follows the column range specification. For example, /<11,15>123/+ searches for 123 in columns 11 through 15.: Subpatterns can also specify a column range, for example: /<30,31>10&<40,41>20/G searches for a record with 10 in columns 30 and 31 and 20 in columns 40 and 41.G The special characters ~ (negation) and % (match at beginning) should9 appear after a column range specificcation. For example, /<10,20>~abc/G searches for lines which don't contain abc in columns 10 through 20.G When % or $ is used with a column range, the match must occur at theC beginning or end, respectively, of the column range. For example, /<10,50>%abc*xyz$/G matches lines with abc starting at column 10 and xyz ending at column5 50 (or the end of the record, whichever is shorter).G The characters "<" and ">" and the other characters in a column rangeG s dpecification are only special at the beginning of a pattern, and may4 be used freely elsewhere in a pattern, for example: /~<10,20>/+ matches lines which don't contain <10,20>. 2 NumbersG Numbers are used to position LIST in the file and as arguments toG commands. Numbers always precede the command they affect. A numberG may be a simple integer, one of several special line number variablesG (see HELP LIST NUMBERS VARIABLES) , or a search pattern. The numericG valeue of a search pattern is the number of the line that matches the pattern.G LIST scans the command line from left to right. Whenever itG encounters a number, the current line number, dot, is set to thatG number. When multiple line numbers appear next to each other, LIST( positions to each in turn, for example: 1/abc/% searches for abc at or after line 1.G Some commands optionally take two numbers as arguments; whenG specifying more than ofne number, separate the two numbers by a comma.< For example, the P command may be used to print lines 1-45: 1,45pC Numbers may be added and subtracted from one another, for example: /x/-1,+2p= prints three lines around the next line which contains an x. 3 Variables9 Following is a description of each line number variable:G . Dot is the current line number. Whenever LIST encounters a lineG number, the value of dot is reset to that line number. Fogr example, /x/,.p, prints the next line containing an x.9 $ Dollar is the last line of the file. For example, 1,$p# prints the whole input file.G # Sharp is the line number displayed by the most recent prompt.G For example, if LIST was positioned at line 10 as indicated by the prompt "10>" then 10>1,#/x/pG would print from line 1 to the next line containing an x at or afther line 10.G @ At-sign is the line number of the top of the last screen' displayed by LIST. For example, @+1//pG searches for the next line matching the current pattern afterG the top of the last displayed screen, and prints a screen from there.G * Star is set by the "=" command and is equal to the value of dotG when the "=" command was last issued. * marks a line of3 interest for future referencei. For example,! =\subroutine\,*/end/pG marks the current line, then searches backwards for subroutine,G then returns to the marked line, searches forwards for end, and> finally prints the lines between the two matched lines. 2 CommandsG LIST accepts commands on it's initial command line or when it3 prompts with the current line number, for example: 24>G Commands are single characters and are preceded by zero, one, or twoG numbe jrs which are arguments to the command. More than one command mayG be entered on a command line; LIST scans the command line from left> to right, positioning to line numbers and executing commands.G There are two types of commands; those that print and those thatG affect LIST's state without printing. Commands that print usuallyG print from dot (the current line number) unless two line numbers wereG specified, in which case printing occurs from the first line number toG tkhe second. Other commands "eat up" the number(s) that are theirG arguments; in other words, dot retains the value it had before the5 command, with its numeric argument(s), was executed.G If a line number appears at the end of the command line with noE command after it, the default command (P) is executed. For example, /abc/2 at the end of a line of commands is equivalent to /abc/pG since both cause a screen to be displayed from the next l line containing abc.G Note: LIST usually changes most control characters to nulls beforeG writing out a line, however when two line numbers are specifiedG or when the G command is executed, (for example the commandsG "1,$P" or "100G") all characters are written out unchanged.G Thus it is possible to write out portions of a file without losing any characters.3 PG Displays lines from the file. Dot is left at the last line printemdG plus 1. P is the default command, and is optional at the end of the command line.G P Print as many lines as will fit within the current screenE size (initially 23), starting at the current line (dot).G nP Print as many lines as will fit within the current screen% size starting at line n. n1,n2P Print lines n1-n2. Example: 1,10p prints lines 1 through 10.3 GG Like "P", "G" displays lines from the file,n however with zero or oneG arguments G only prints one line, and dot is left at the first line printed.F G Print the current line. The current line is not changed.B nG Position to and print line n. Dot is left at line n.3 n1,n2G Print lines n1-n2. Dot is left at n1. Example: /subroutine/g9 prints the next line with the string "subroutine" in it.3 ?G Displays lines matching the current search pattern, and their lineA numbers ( ounless /NONUMBERS is specified on LIST's command line).G ? Display a screen-full of lines matching the currentG pattern. If the end of the file is reached, dot is leftG at line 1, else dot is left at the next line matching the current pattern.G n? Display a screen-full of lines matching the currentG pattern, starting at line n. If the end of the file isG reached, dot is left at line p1, else dot is left at the4 next line matching the current pattern.G n1,n2? Display all lines matching the current pattern between1 lines n1 and n2. Dot is left at n1. Example: 1/xyz/,$?3 displays all occurrences of xyz in the input file.3 LA The L command causes the last line of commands to be reexecuted.3 =G The = command sets the line number variable, *, to dot. = marks a line for later reference. = Set *q to dot.0 n= Set * to n. Dot is left at line n. Example: /x/=% marks the next line containing an x.3 S6 Sets the screen size. The value of dot is unchanged.G S Reset the screen size to 23. The screen size and widthB help determine how many lines LIST prints per screen.& nS Set the screen size to n.. n1,n2S Set the screen size to (n2-n1)+1. Example: 7s sets the screen size to 7.3 CG Sets the co rlumn range which will be read from each input record.G Initially the column range is 1-513. LIST can only read up to theG first 512 characters in a record, however when the column range is setG to be greater than 512, then LIST reports an error when an inputG record is more than 512 characters long. If the column range isG restricted to 512 or less then LIST does not report record too long( errors. The value of dot is unchanged.- C Reset the column srange to 1-513.) nC Set the column range to 1-n.+ n1,n2C Set the column range to n1-n2. Example: 1,10cB causes LIST to read and display only columns 1-10 of each record.3 FG Creates a "virtual file" by restricting LIST to a contiguous subrange2 of the lines in the file. Dot is left at line 1.E F Reset the virtual file to correspond to the actual file.G nF Make a virtual file between dot and dot+n-1. Dot becomes0 t the new line 1 of the virtual file.G n1,n2F Make a virtual file between n1 and n2. N1 becomes the new( line 1 of the virtual file. Example: /subroutine/,/end/fG creates a "virtual file" which contains a subroutine. Line 1 of theG virtual file is the first line of the subroutine, and $ is the last line of the subroutine.3 NG Turn prompt mode on/off. When prompt mode is off, LIST does notG prompt with the current line number, but leavesu the cursor after the3 last line printed. The value of dot is unchanged. Example: 1snG sets the screen size to 1 and prompt mode off, placing LIST inG line-by-line mode, in which one record is printed per carriage-return.3 RG Resets dot to 1, the screen size to 23, the screen width to it'sG original value, the column range to 1-513, the virtual file to theG full, actual file, and prompt mode to on. The value of dot is unchanged.3 X6 Fvinish listing the file. X is identical to ^Z (EOF).3 ' 'G Space (blank) is the null command, and does nothing. It may be usedG to position to a line without printing and to separate commands on aG line for readability. If a line number is given before the spaceA command, dot is left at that line number, else dot is unchanged. Example: 1,10f pG creates a "virtual file" between lines 1 and 10 and prints starting at line 1.3 WG Sets the screen width. The swcreen size and width help determine howC many lines LIST prints per screen. The value of dot is unchanged.G W Reset the screen width to it's original value, read from= the host operating system when LIST was started.' nW Set the screen width to n. Example: 132w& sets the screen width to 132 columns.3 VG Routes all the following output from the command line to the printerG port of the DT80 (a VT100 look-alike). The value of dot xis unchanged. Example: v 1,100pG turns on the printer port, prints lines 1-100 on the printer, then turns the printer port off. 3 LoopingG A sequence of commands may be repeated in a loop by placing theG commands within parentheses with a repetition count in front of theG left parenthesis. The commands are then executed as many times asG indicated by the repetition count or until a search within theG commands fails. In either case, after ex yiting the loop executionG continues with the next statement after the loop. If no repetitionG count is specified, the loop is executed forever or until a search. failure occurs within the loop. For example,6 (/`i`/+1\subroutine|function|program\,.p /end$/)G loops finding all Fortran modules which contain the variable I and/ prints the line containing each module's name.' Loops may be nested up to four levels.3 MacroG LIST has a simple text replacement mzacro facility. A macro is aG remembered set of commands. The macro is defined by enclosing theG commands in square brackets ([]). When M is specified on the command+ line, the M is replaced by the macro text. For example, [@+1//P]G defines a macro to search for the current pattern starting from theG top of the last screen + 1, and print from there. To invoke the# macro, type M on the command line.G The text of the macro is not executed when it is { defined. It isG not executed until an M is typed. M may appear with other commandsG and line numbers on the command line; first the macro text replacesG the M, then the command line is executed. M may be used more than once on a command line.G Initially, the macro is defined as 1SNP; this puts LIST inC line-by-line mode and prints one line (see HELP LIST COMMANDS N) . 2 Output_fileG The output from a line of LIST commands, which normally goes toG t |he terminal, may be redirected to a file. To write a new file, putG >output_file at the end of the commands; to append to an existingG file, put >>output_file at the end of the commands. If "output_file"4 doesn't exist during an append, it will be created.G The default file name for "output_file" is "list", and theG default extension is ".lis". If "output_file" contains asterisks inG it, then each field of "output_file" with an asterisk in it is< replace }d by the corresponding field in the input file name.G When output is redirected by the initial command line whichG selected the file(s) to be listed, it remains redirected as long as, the file(s) are being listed. For example,1 $ list/noprompt/header *.dat /xyz/,$?x >xyzG lists all occurrences of the string xyz in *.dat to the file xyz.lis .G However if the output file specification contains asterisks, a newG output file is created for each input file li ~sted, with the fieldsG with asterisks in them replaced by the corresponding fields from the input file name. For example,F $ list/noprompt/trim [murphy.proj...]*.for 1,72c 1,$px >[*]*.forG trims the sequence numbers and trailing blanks fromG [murphy.proj...]*.for and rewrites each file with a higher version number in its original UIC.G When output is redirected from a command line while listing a file,G redirection is only in effect while that command line is being processed. For example, 24>1,10p>t.tmp8 writes lines 1-10 to the file t.tmp and then closes it.G The carriagecontrol type of newly created files is identical toG the carriagecontrol type of the file being listed (except for printG file format files, which are written with carriage return (list)G carriagecontrol), while that of appended files is the same as that of the file being appended to.G Once an output file name has € been specified using >output_file orG >>output_file, that file name becomes the default file name for fileG redirection only, and need not be specified again, i.e. > or >> aloneG is all that is needed to redirect output to that file. The name ofG the file is remembered as it was typed in, so that asterisk fields are6 replaced with the fields from the current input file.2 BugsG 1. Logical names must have a colon after them to be translatedD properly in input and output file specifications. For example: $ assign file.dat data $ list data:G 2. When output is appended to a file with print file formatG carriagecontrol, the proper carriage control information is not written to the file. 2 Examples; Hitting return prints the next screen./ 45 Start printing at line 45.- -5 Print from 5 lines back.7 - Print starting half a screen back ‚.B --- Print starting one and one-half screens back.? Hitting escape prints from 2 screens back.5 $ Print the last line in the file.@ /xyz/ Locate the string xyz and print from there.E // Locate the current pattern and print from there.H 1/xyz/ Locate xyz at or after line 1 and print from there.7 /abc/-5 Print starting 5 lines before abc.& 1,10 Print lines 1-10./ ƒ /subr/,/end$/ Print the next subroutine.3 /subr/? Display lines containing subr.B ? Display lines containing the current pattern.> 1/`i`/,$? Print all occurences of the variable "i".H 10,$>t.tmp Write lines 10 through the end of the file to t.tmp $ list *.for /`n`/,$?x8 prints all occurrences of the variable N in *.for2 KeysG VAX RMS indexed and relative files may be listed by key and theG starting record may be based „ on a key match. For example, to list anG indexed file by key 2 starting at the first record where key 2 is" greater than or equal to " 10":, $ list/key=2/keyge=" 10" indexed.datG The defaults for indexed and relative files are to list by primary key9 (key number 0) starting at the first record in the file.G In the key qualifier descriptions, "n" stands for an integer andG "key" stands for a key value, where a key value may be an integer or aG character string …enclosed by double quotes. A double quote within aG key value may be specified by placing two double quotes in a row. IfG the length, N, of a character key value is less than the source file'sG defined key length then the match is made based on the first NG characters of the key. Key matches on unsigned binary and packed- decimal keys are not supported at this time. 2 Qualifiers/PROMPT /NOPROMPTG Prompt with each file name selected by the command line to see † ifG the file should be listed. By default, LIST prompts when moreG than one file is selected by the command line or when an indirect5 file is specified. (see HELP LIST INPUT_FILE) ./HEADER /NOHEADER (D)G Write a header record containing each file's name and the date% before listing each source file. /NUMBERS (D) /NONUMBERSG Display the line number of each line selected by the "?" command. (see HELP LIST COMMANDS ?)/TRIM /NOTRIM ‡(D)G Trim trailing blanks and tabs from the source file. By selectingG /Trim and restricting the column range of the file to columnsG 1-72, Fortran files can be stripped of sequence numbers. (see HELP LIST COMMANDS C)/DELETE /NODELETE (D)G Allows the user to delete a file after listing it. When /DELETE$ is specified, LIST prompts with Delete?G after each file selected by the command line has been listed. If, Y is enˆtered, then the file is deleted./KEY=nG List an indexed source file by key number n. By default, LIST/ lists the file by the primary key (key 0). /KEYEQ=keyG List an indexed or relative source file starting at the first/ record whose key equals the specified key. /KEYGE=keyG List an indexed or relative source file starting at the firstD record whose key is greater than or equal to the specified key. /KEYGT=keyG List an indexed or rela ‰tive source file starting at the first8 record whose key is greater than the specified key.ww­ >ΪM;‹1 RATFIVG Ratfiv is a structured Fortran preprocessor providing SWITCH, IF -G ELSE, WHILE, FOR, DO, REPEAT - UNTIL, STRING, and BREAK and NEXTG constructs. Also supported are INCLUDE files, DEFINE for symbolicG constants and macros with arguments, conditional compilation, formatsG in read, write, encode, and decode statements, use of >, <, etc Š.G instead of .GT., .LT., etc., and the RETURN VALUE construct inG functions. Ratfiv is descended from the Ratfor compiler originallyB described in the book "Software Tools", by Kernighan and Plauger.; For complete documentation, print ICR$DOCUMENT:RATFIV.DOC. 2 CompilingG The COMPILE utility is used to compile Ratfiv programs. COMPILE firstG invokes the Ratfiv preprocessor to translate Ratfiv programs (fileG type .RAT) into Fortran, then invokes the Fortran 77 compil ‹er. AfterG a successful Fortran 77 compilation, COMPILE deletes the .FOR fileG automatically unless the /KEEP switch is specified on COMPILE'sG command line. Note that normal Fortran 77 switches (such as /LIST)( may be passed to COMPILE. For example,! $ COMPILE/LIST/NODEBUG FILEG produces FILE.FOR, FILE.OBJ, and FILE.LIS. The .FOR file is deletedG automatically unless there is an error since the /KEEP switch was not% specified on COMPILE's command line. Œ2 ErrorsG If the Ratfiv preprocessor detects an error in the Ratfiv source code,G Ratfiv prints an error message to the terminal and to the .FOR file atG the point where the error occurred, and COMPILE does not invoke the Fortran compiler.G Many Fortran errors cannot be detected by Ratfiv; when these occur,G check the Fortran 77 listing file for the error message. It isG usually not too hard to figure out where in the Ratfiv source the8 error is, once it has been found in the Fortran source. 2 Qualifiers/SYMBOLSG The /SYMBOLS switch causes Ratfiv to look on the default directory forG a file named "SYMBOLS."; this file is opened and read as a prefixG file to the other files on the command line. If "SYMBOLS." is not onG the default directory, Ratfiv opens "SYS$PUBLIC:SYMBOLS.", which= contains some standard defines in it, such as EOS, EOF, etc./F77 (D)G The /F77 switch causes Ratfiv to produce VAX Fortran 77 output insteadG of " Žstandard" Fortran. The Fortran 77 output is compatible withG Digital Equipment Corporation VAX Fortran 77; it is not ANSII Fortran3 77, as it uses the DO WHILE and END DO statements. /HOLLERITHG The /HOLLERITH switch causes Ratfiv to put out hollerith stringsG instead of quoted strings. This switch is included mainly forG compatibility with versions of Ratfor which put out hollerith strings.G So far, this switch has been needed only when compiling routines whichG call DEC VAX macro routines which expect hollerith strings for theirG arguments instead of character descriptors. Since Ratfiv normallyG produces quoted strings, Fortran "open" statements and otherG statements which require quoted strings may be used in Ratfiv programs.ww­`΅υM;‹1 TALKE Invokes the ICR TALK utility to talk with other users on the system. Format:6 TALK[Qualifier] [User_name] [Message] 2 User_nameG This para meter specifies the name of the user you wish to talk with.G If the user is logged in at more than one terminal, messages will beG sent to all such terminals. If one of those terminals begins using3 talk, messages will be sent to that terminal only.G The user name ME may be used to talk to yourself. This is useful when. using talk for batch job status notification.G The user name ALL may be used to talk to all users on the system. You= must have the necessary privilege (OPER ‘) to use this option.G If you specify the name of a user who is either not currently loggedG in or who has indicated that his terminal is busy, you will be4 prompted as to whether you would like to send mail. 2 MessageG If you include a message on the command line, talk will send that message and then exit.2 ConversationG Once you have specified a user_name or terminal, all lines typed atG your terminal will be displayed on the user's terminal or sent as mail7 t ’o the user. Type control-z to end your conversation.2 Busying_your_terminalG If you would like to prevent anyone from talking to you, you may busyG your terminal by using the SET TERMINAL /NOBROADCAST command. ThisG command, however, will also prevent the system manager from notifying: you about system malfunctions, so use it at your on risk.G The SET TERMINAL /BROADCAST command will allow other users to talk with you again.2 Batch_job_statusG You may use TALK from a bat“ch job to notify you about the status ofG the job by placing TALK commands at various stages in your commandG file. If you are not logged in when the TALK commands are encountered3 TALK will automatically send the messages by mail. 2 Qualifiers/LISTG This qualifier produces a list of all terminals and users currently logged in./TERMINAL=terminal_nameG This qualifier may be used in place of the user_name to specify a" particular terminal to talk with./M”AILG This qualifier will cause all messages to be sent as mail to the specified user./NOMAILG This qualifier overrides the mailing of messages to users who are busy or not logged on.ww­@³N;‹1 ZILCHG Zilch is a screen editor which can display and edit one or more filesG at a time. Complete documentation is in ICR$DOCUMENT:ZILCH.DOC.G Typing ZCAI INTRO invokes an interactive beginner's tutorial on usingG Zilch. Typing ZCAI ADVANCED invoke•s an advanced tutorial on using Zilch. Format: ZILCH [file-spec[,...]] 2 Parameters[file-spec[,...]]GSpecifies one or more files to be edited. The files are displayed inBseparate windows on the screen. Wild card file names are allowed.GIf file-spec is omitted, Zilch tries to restore a previous editingGsession from the file specified in the /Restore qualifier. By default,GZilch is defined in the system login command file to save and restoreGsessions from –'username'.zil where 'username' is the first 9 letters of$the currently logged in user's name. 2 Qualifiers/Restore=file-specG Specifies a file from which Zilch restores a previous editing sessionG if no files were specified on the command line. By default, Zilch isG defined in the system login command file to save and restore sessionsG from 'username'.zil where 'username' is the first 9 letters of the! currently logged in user's name./Save=file-specG Specifies a file in — which Zilch saves the current editing session whenG it exits. By default, Zilch is defined in the system login commandG file to save and restore sessions from 'username'.zil where 'username'? is the first 9 letters of the currently logged in user's name./Help=file-specG Specifies a file which Zilch displays during the "?" help command. ByG default, Zilch is defined in the system login command file to read SYS$PUBLIC:ZHELP./Initialize=file-specG Specifies a file contai ˜ning Zilch keyboard commands which are executedG before control is given to the terminal. There is no default initialization file./Terminal=termG Overrides Zilch's default selection of terminal type. By defaultG Zilch assumes your terminal is a VT100 or VT52 if the system terminalG type (as displayed by the SHOW TERMINAL command) is VT100 or VT52,G respectively. Otherwise Zilch assumes your terminal is an ADM3A. ToG use an ADM5, /TERM=ADM5 should be specified™ on Zilch's command line,% or the DCL command "Z5" may be used.$ "term" may be one of the following: 1. VT100 2. VT52 3. ADM3A 4. ADM5 /Length=nG Specifies the page size of the terminal. 24 lines is the default? length. The following terminals accept the following lengths: 1. VT100 - 3-24 lines 2. VT52 - 3-24 lines 3. ADM3A - 3-24 lines 4. ADM5 - 3-24 lines/Width=nG Specifies the width of the tešrminal. 80 columns is the default width.5 The following terminals accept the following widths: 1. VT100 - 1-132 columns 2. VT52 - 1-80 columns 3. ADM3A - 1-80 columns 4. ADM5 - 1-80 columns /Case=caseG Sets the default initial case for buffers. "case" may be UPPER orG LOWER. If the /Case switch isn't specified, Zilch uses LOWER as theG initial case, which allows insertion of upper or lower case characters in the buffer./FORMAP=file-spe ›cG Specifies a file which contains mapping characters for FortranG programs. By default, Zilch is defined in the system login command file to read SYS$PUBLIC:FORMAP./PASMAP=file-specG Specifies a file which contains mapping characters for PascalG programs. By default, Zilch is defined in the system login command file to read SYS$PUBLIC:PASMAP./RATMAP=file-specG Specifies a file which contains mapping characters for RatfivG programs. By def ault, Zilch is defined in the system login command file to read SYS$PUBLIC:RATMAP./TEXTMAP=file-specG Specifies a file which contains mapping characters for text files. ByG default, Zilch is defined in the system login command file to read SYS$PUBLIC:RNOMAP.wwΊ«W –)N;‹  WOOD HELPBATCHBULLETINCOMPILEEXECUTEICRLISTRATFIVTALKZILCH