1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Interlisp.medley/obsolete/lispusers/MATHSERVER.COMMANDFILES
Larry Masinter 601bc94fb7
obsolete many lispusers (#702)
* obsolete many lispusers

* NSDISPLAYSIZES isn't obsolete
2022-02-25 14:40:37 -08:00

13 lines
23 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ABORTJOB.COM
$ ! abortJob.com
$ ! this file is used to abort a batch job
$ ! p1 is the jobNumber; p2 is the queue
$ ! The "show batch" command is used to determine if the job exists. If
$ ! it does not, the message NIL is returned; otherwise, the job is
$ ! aborted.
$ ! All messages are returned to the user's root directory.
$ ! If there is a serious error, ...
$ ! if there is an error in the running of this com file, the detailed
$ ! error message gets sent to abortJob.err in the user's root directory.
$ !SET VERIFY
$ delete sys$login:abortJob.err.*
$ delete sys$login:abortJob.res.*
$ SET NOVERIFY
$ define sys$output abortJob.tmp
$ show queue 'P2'
$ deassign sys$output
$ !SET VERIFY
$ open/write result sys$login:abortJob.res
$
$ loop:
$ open/read file abortJob.tmp
$ read/end_of_file=done file line
$ jobNumber = f$integer(f$extract(32,4,line))
$ if jobNumber .eq. P1 then goto found
$ goto loop
$
$ done:
$ write result "( OK NIL)" ! job not found
$ goto finish
$
$ found:
$ define sys$error sys$login:abortJob.err
$ on error then goto error
$ stop/entry='P1' 'P2'
$ deassign sys$error
$ write result "( OK ( Job ",P1," on queue ",P2,-
" has been aborted))"
$
$ finish:
$ close result
$ close file
$ delete abortJob.tmp.*
$ exit
$ error:
$ @[gslws.server]error sys$login:abortJob.res '$STATUS'
$ deassign sys$error
$ close result
$ close file
$ delete abortJob.tmp.*
-----------------------------------
COMPILE.COM
$ ! COMPILE.COM 8/7/86
$ ! this file is used to compile a job interactively.
$ ! job is the name of the user's fortran source file
$ ! the file exists in the user's local directory, which may be a
$ ! subdirectory of the root directory.
$ ! the object file is made in the user's local directory.
$ ! if there is no error in compilation, the name and date of the
$ ! object file are returned in sys$login:compile.res.
$ ! if there is an error in compilation, the abbreviated error message
$ ! is returned in sys$login:compile.res, and the detailed
$ ! error message is written to sys$login:compile.err.
$
$
$ !SET VERIFY
$ job = f$parse("''P1'",,,"name")
$ userDirectory = f$parse("''P1'",,,"directory")
$ length=f$length(job)
$ ! show symbol job
$ ! show symbol userDirectory
$ ! show sym length
$ delete sys$login:compile.err.*
$ delete sys$login:compile.res.*
$ delete 'P1'.obj.*
$ define sys$error sys$login:compile.err
$ ! define sys$error sys$login:'job'.err
$ on error then goto error
$
$ fortran/object='userDirectory''job' 'P1'
$ deassign sys$error
$ SET NOVERIFY
$ define sys$output sys$login:objFile.tmp
$ dir/date 'P1'.obj
$ deassign sys$output
$ !SET VERIFY
$ open/write resultFile sys$login:compile.res
$ open/read file sys$login:objFile.tmp
$
$ loop:
$ read/end_of_file=done file line
$ ! show sym line
$ name=f$extract(0,length,line)
$ ! show sym name
$ if name .eqs. job then goto found
$ goto loop
$
$ done:
$ write resultFile "( OK NIL)" ! object file not found
$ goto finish
$
$ found:
$ write resultFile "( OK (",line,"))"
$
$ finish:
$ close resultFile
$ close file
$ delete objFile.tmp.*
$ exit
$
$ error:
$ @[gslws.server]error sys$login:compile.res '$STATUS'
$ deassign sys$error
-----------------------
ERROR.COM
$ ! lists error status message in specified file
$ ! call by: @error resultFile errorStatus
$
$ open/write result 'P1'
$ errorFile = f$logical("sys$error")
$ ! show sym errorFile
$ shortName=f$parse(errorFile,,,"name")
$ ! show sym shortName
$ write result "(ERROR ""''f$message(P2)'"" ''shortName'.ERR)"
$ close result
----------------------------
LINK.COM
$ ! LINK.COM 8/8/86
$ ! This file is used to link a series of object files to form an
$ ! executable file.
$ ! The parameter P1 is the object code filename of the main file.
$ ! The parameter P2 is a string composed of all object files to
$ ! be linked with P1. There must be a comma between these files
$ ! within P2.
$ ! Job is the extracted name of the user's main object code file.
$ ! This file exists in the user's local directory, which may be a
$ ! subdirectory of the root directory.
$ ! The executable file is made in the user's local directory.
$ ! If there is no error in linking, the name and date of the
$ ! executable file are returned in sys$login:link.res.
$ ! If there is no error in linking but no .exe file is made, a
$ ! message to that effect is returned in sys$login:link.res.
$ ! If there is a link warning during linking, an error message is returned
$ ! in sys$login:link.res, and the detailed link warning messages are
$ ! written to sys$login:link.err.
$ ! If there is an error in linking, such as no existing object file,
$ ! the abbreviated error message is returned, from the ERROR.COM file,
$ ! in sys$login:link.res, and the detailed error message is written
$ ! to sys$login:link.err.
$ !SET VERIFY
$ job = f$parse("''P1'",,,"name")
$ userDirectory = f$parse("''P1'",,,"directory")
$ length=f$length(job)
$ ! show symbol job
$ ! show symbol userDirectory
$ ! show symbol length
$ delete sys$login:link.err.*
$ delete sys$login:link.res.*
$ delete 'P1'.exe.*
$ define sys$error sys$login:link.err
$ ! define sys$error sys$login:'job'.err
$ on error then goto error
$ !
$ ! Note: link warnings can be very serious, such as the absence of object
$ ! code modules, in which case a useless .exe file is made. Because
$ ! errors (as opposed to warnings) get trapped through the error routine,
$ ! these serious link warnings must be handled specially.
$ !
$ ! show symbol P2
$ if P2 .eqs. "" then goto simple
$ link/exe='userDirectory''job' 'P1','P2'
$ goto continue1
$ !
$ simple:
$ link/exe='userDirectory''job' 'P1'
$ !
$ continue1:
$ deassign sys$error
$ open/write resultFile sys$login:link.res
$ !
$ ! If we've gotten this far, it means no errors occurred.
$ ! First, check if link warnings occurred, by determining if a
$ ! LINK.ERR file was written. If so, continue through linkerror1.
$ !
$ SET NOVERIFY
$ define sys$output sys$login:linkFile.tmp
$ dir/date/siz sys$login:link.err
$ deassign sys$output
$ !SET VERIFY
$ open/read file sys$login:linkFile.tmp
$ !
$ loop1:
$ read/end_of_file=continue2 file line
$ show sym line
$ name=f$extract(0,4,line)
$ show sym name
$ if name .eqs. "LINK" then goto linkerror1
$ goto loop1
$ !
$ continue2:
$ close file
$ !
$ ! Second, check if an executable file was made. (Executable files are
$ ! made in spite of link warnings. The following check flags a
$ ! situation where neither a link warning nor an executable file is made.)
$ !
$ SET NOVERIFY
$ define sys$output sys$login:exeFile.tmp
$ dir/date 'P1'.exe
$ deassign sys$output
$ !SET VERIFY
$ open/read file sys$login:exeFile.tmp
$ !
$ loop2:
$ read/end_of_file=linkerror2 file line
$ show sym line
$ name=f$extract(0,length,line)
$ show sym name
$ if name .eqs. job then goto found
$ goto loop2
$ !
$ linkerror1:
$ message="error during linking"
$ write resultFile "(ERROR ""''message'"" LINK.ERR)" ! link warning
$ goto finish1
$ !
$ linkerror2:
$ message="executable file not made"
$ write resultFile "( OK (",message,"))" ! exe file not made
$ goto finish2
$ !
$ found:
$ write resultFile "( OK (",line,"))"
$ goto finish2
$ !
$ finish1:
$ close resultFile
$ delete sys$login:linkFile.tmp.*
$ exit
$ !
$ finish2:
$ close resultFile
$ close file
$ delete sys$login:exeFile.tmp.*
$ delete sys$login:linkFile.tmp.*
$ exit
$ !
$ error:
$ @[gslws.server]error sys$login:link.res '$STATUS'
$ deassign sys$error
----------------------------------------------
RUNJOB.COM
$ ! runjob.com 8/11/86
$ ! this file is used to run an interactive job
$ ! job is the name of the user's com file
$ ! P2 is the list of appended parameters (optional)
$ ! If there is no error in running the job, an OK message is
$ ! written out to sys$login:runjob.res.
$ ! If there are warnings during the running of the job, an ERROR message
$ ! is returned in sys$login:runjob.res, and the detailed warning
$ ! messages are returned in sys$login:runjob.err
$ ! If there is an error in the running of the job, the abbreviated
$ ! error message is returned, from the ERROR.COM file, in
$ ! sys$login:runjob.res, and the detailed error message is written
$ ! to sys$login:runjob.err.
$ !SET VERIFY
$ job = f$parse("''P1'",,,"name")
$ delete sys$login:runJob.err.*
$ delete sys$login:runJob.res.*
$ define sys$error sys$login:runJob.err
$ on error then goto error
$ @'P1' 'P2'
$ deassign sys$error
$ open/write resultFile sys$login:runJob.res
$ !
$ ! If a warning occurs, it is written out to runJob.err
$ ! Such warnings are handled specially, through the
$ ! runwarning entry.
$ !
$ SET NOVERIFY
$ define sys$output sys$login:runFile.tmp
$ dir/date/siz sys$login:runJob.err
$ deassign sys$output
$ !SET VERIFY
$ open/read file sys$login:runFile.tmp
$ !
$ loop:
$ read/end_of_file=continue file line
$ show sym line
$ name=f$extract(0,6,line)
$ show sym name
$ if name .eqs. "RUNJOB" then goto runwarning
$ goto loop
$ !
$ continue:
$ write resultFile "( OK (",job," ",P1," ))"
$ goto finish
$ !
$ runwarning:
$ message="warning(s) occurred"
$ write resultFile "(ERROR ""''message'"" RUNJOB.ERR)"
$ !
$ finish:
$ close file
$ close resultFile
$ delete sys$login:runFile.tmp.*
$ exit
$ !
$ error:
$ @[gslws.server]error sys$login:runJob.res '$STATUS'
$ deassign sys$error
-------------------------------------------
STATUS.COM
$ ! get status of batch jobs
$ ! If jobNumber is specified, return only status of that job
$ ! If jobNumber is not specified, return all jobs
$ ! called by: @status jobNumber
$
$ delete status.res.*
$
$ define sys$output status.tmp
$ show system/batch
$ deassign sys$output
$ !SET VERIFY
$
$ open/read file status.tmp
$ open/write result status.res
$ write result "( OK ("
$ if P1 .eq. "" then goto writeall
$
$ loop:
$ read/end_of_file=done file line
$ job = f$integer(f$extract(15,4,line))
$ if job .eq. P1 then goto found
$ goto loop
$
$ done:
$ write result "NIL" ! no data for specified job
$ goto finish
$
$ found:
$ time = f$extract(49,11,line)
$ write result "( (JOB ''P1') (CPU ''time') )"
$ goto finish
$
$ writeall:
$ read/end_of_file=finish file line
$ jobType = f$extract(9,5,line)
$ if jobType .nes. "BATCH" then goto writeall
$ job = f$integer(f$extract(15,4,line))
$ time = f$extract(49,11,line)
$ write result "( (JOB ''job') (CPU ''time') )"
$ goto writeall
$
$ finish:
$ write result ") )"
$ close result
$ close file
$ delete status.tmp;
$ exit
----------------------------------------
SUBCOM.COM
$ ! subcom.com
$ ! this is the file actually submitted by submitjob.com
$ ! Parameter P1 is the name of the user's COM file to be run
$ ! Parameters P2,P3, etc are passed from P3,P4, etc. in SubmitJob.com
$ ! jobname is in the form BATCH_xxx
$ ! job is the number (xxx)
$ ! if there is an error in the running of the batch job, the detailed
$ ! error message gets sent to 'job'.err.
$ ! The abbreviated error message gets sent to 'job'.res
$ ! SET VERIFY
$ jobname = f$process()
$ job = f$extract(6,f$length(jobname)-6,jobname)
$ ! open/write outfile junk.
$ ! write outfile jobname," ",job
$ ! close outfile
$ define sys$error 'job'.err
$ on error then goto error
$ @'P1' 'P2' 'P3' 'P4' 'P5' 'P6'
$ exit
$ error:
$ @[gslws.server]error 'job'.res '$STATUS'
------------------------------------------
SUBMITJOB.COM
$ ! submitjob.com 8/11/86
$ ! submit a job on specified queue
$ ! call by: @submitjob file queue parameterString
$ ! P1 is the file name of the job to be submitted
$ ! P2 is the queue (eg., fast, medium)
$ ! P3, P4, P5, etc. are subsidiary parameters, such as file
$ ! names (eg., file1.dat, file2.sav).
$ ! these files are returned in the user's root directory:
$ ! P1.log for log file
$ ! submitjob.res for result (job # or error message)
$ ! submitjob.err for detailed errors (from sys$error)
$ ! submitjob.tmp for temporary output
$ ! these files are returned in the user's running (sub)directory:
$ ! 'jobnumber'.res for error message to be returned
$ ! 'jobnumber'.err for detailed error message
$ !SET VERIFY
$ job=f$parse("''P1'",,,"name")
$ delete sys$login:'job'.log.*
$ delete sys$login:submitjob.err.*
$ delete sys$login:submitjob.res.*
$ delete sys$login:submitjob.tmp.*
$ errorFile = "submitjob.err"
$ tempFile = "submitjob.tmp"
$ resultFile = "submitjob.res"
$ define sys$error 'errorFile'
$ on error then goto error
$ ! submit the batch job
$ SET NOVERIFY
$ if P3.eqs."" then goto zeropar
$ if P4.eqs."" then goto onepar
$ if P5.eqs."" then goto twopar
$ if P6.eqs."" then goto threepar
$ if P7.eqs."" then goto fourpar
$ if P8.eqs."" then goto fivepar
$ goto abort
$ zeropar:
$ define sys$output 'tempFile'
$ submit/noprint/name='job'/parameters=('P1')-
/queue='P2' [gslws.server]subcom.com
$ deassign sys$output
$ goto finish
$ onepar:
$ define sys$output 'tempFile'
$ submit/noprint/name='job'/parameters=('P1','P3')-
/queue='P2' [gslws.server]subcom.com
$ deassign sys$output
$ goto finish
$ twopar:
$ define sys$output 'tempFile'
$ submit/noprint/name='job'/parameters=('P1','P3','P4')-
/queue='P2' [gslws.server]subcom.com
$ deassign sys$output
$ goto finish
$ threepar:
$ define sys$output 'tempFile'
$ submit/noprint/name='job'/parameters=('P1','P3','P4','P5')-
/queue='P2' [gslws.server]subcom.com
$ deassign sys$output
$ goto finish
$ fourpar:
$ define sys$output 'tempFile'
$ submit/name='job'/parameters=('P1','P3','P4','P5','P6')-
/noprint/queue='P2' [gslws.server]subcom.com
$ deassign sys$output
$ goto finish
$ fivepar:
$ define sys$output 'tempFile'
$ submit/name='job'/parameters=('P1','P3','P4','P5','P6','P7')-
/noprint/queue='P2' [gslws.server]subcom.com
$ deassign sys$output
$ finish:
$ !SET VERIFY
$ ! get job number of submitted job from string in submit.tmp
$ open/read infile 'tempFile'
$ read infile line
$ ! line now equals " Job xxxx entered on queue ----"
$ startPosition = f$locate("entry",line)+5
$ endPosition = f$locate(")",line)
$ numDigits = endPosition - startPosition
$ jobNumber = f$extract(startPosition,numDigits,line)
$ close infile
$ ! delete 'tempFile';*
$ open/write outfile 'resultFile'
$ write outfile "( OK (",jobNumber, " ", P1," ))"
$ close outfile
$ ! no (ERROR ...) message, so deassign the error file
$ deassign sys$error
$ exit
$ abort:
$ open/write outfile 'errorFile'
$ write outfile "Too many job parameters (more than five)"
$ close outfile
$ deassign sys$error
$ exit
$ ! get error message
$ error:
$ @user1:[gslws.server]error 'resultFile' '$STATUS'
$ deassign sys$output
$ deassign sys$error
$ ! delete 'tempFile';*
$ exit
-----------------------+@(GACHA 
<05> 67B);B9G=9#1!!*),0/-(&*? &

8
1+%"."? BCADCE*?>:@@LH%FJG#1')LIN>"+
&
,;BF+"( ',


ICN*' ( $
!E%? & " 
!"
5/ 0,6>+JD4D=F#  (-:8*$'&.  / 7

!
7, >3!)"(! 1 / $ .(0

) 9>G&G,;1#"
,+$38-B/; =>.C<2 ###'&&('' 01
41
91 >1 ;9 @9
>6+#*6"47 'A
 4:<3A><03>z<EFBFBD>