THE
UNIVERSITY
OF
COMPUTING
A L B E RTA
CENTER
PUBLICATION
INTRODUCTION TO MTS
ACKNOWLEDGEMENTS
This manual was largely compiled from material prepared BY THE STAFF OF THE UNIVERSITY OF MICHIGAN COMPUTING CENTER.
Their DOCUMENTATION was invaluable and we are indebted to ! THEM FOR ALLOWING US TO USE IT. IN PARTICUUR, THE FOLLOWING WERE MOST USEFUL: t
MTS Users' Manual. Second Edition, Volumes I and II MTS Users' Manual, Third Edition, Volume 2
Introduction to MTS and the Computing Center (Flanigan) Computing Center News Items Computing Center Memos
^ The Computing Center wishes to personally acknowledge the ASSISTANCE OF MiKE ALEXANDER AND DoN BoETTNER WHO HELPED US TO ESTABLISH MTS AT THE UNIVERSITY OF ALBERTA.
Acknowledgement should also be made to the Computing Centre, University of British Columbia, for information obtained from
SOME^OF THEIR DOCUMENTATION AND TO I.B.M., WHOSE MANUALS PRO
VIDED CERTAIN SECTIONS FOR OUR MANUALS.
9
DISCLAIMER
This MTS manual is a combination of earlier manuals, update notices, memos and limited experience with the system itself. Because of this, certain discrepancies are bound to occur and the Computing Center would appreciate being notified
of all differences between what this manual says and what the sys tem actua 1 1y does.
This publication is intended to represent the current s t a t e - o f - t h e - s y s t e m . H o w e v e r, i t s h o u l d n o t b e c o n s t r u e d a s an obligation to maintain the system as so stated. The MTS
system, like most good systems, is continually being improved. As a result, additions, extentions, changes and deletions will o c c u r. N o t i c e o f s u c h c h a n g e s w i l l b e m a d e a n d p r o v i s i o n f o r a manual updating service has been planned. Errors, comments and suggestions should be sent to: Information
Coordinator
Computing Center
University of Alberta
Introduction To MTS May 1970
INTRODUCTION
The University of Alberta Computing Center Is providing a new
mu1tI-termlnaI batch operating system on the IBM 36O/67. This system, known as the Michigan Terminal System (MTS) , Is distri buted by the University of Michigan. This manual Is an Intro
ductory note on MTS and on manuals prepared at the University
of Alberta which describe the MTS system. These manuals should be
used In conjunction with the IBM Systems Reference Library publications which concern the users' area of Interest.
Occasionally changes to various language processors and system f a c i l i t i e s a n d c o n v e n t i o n s w i l l o c c u r. To c o m m u n i c a t e t h e s e
changes to the users as soon as they are viable, a set of news
and Information files will be maintained. To learn the latest, enter
the
command:
$COPY NEWSrDESCRIBE
9
V
1 . 0 1
I n t roduct1 on
THE SYSTEM
The core of the MTS system is a set of programs formally called
the University of Michigan Multiprogramming System (UMMPS). UMMPS
oversees all the computer's muItip1e-user-oriented activities,
including a system called the Michigan Terminal System (MTS).
Although MTS is a complex set of programs In itself, to UMMPS It is merely one of a number of jobs. Functionally, we then have a
hierarchy of command levels. UMMPS is in complete control of the system; it allocates the use of all hardware. MTS is one of several job programs that run under supervision of UMMPS. The typical user of the system communicates with the system via MTS commands in his job deck. He never sees UMMPS; the interface
between MTS and UMMPS is hidden from him. When he makes a request
of MTS, MTS asks UMMPS for whatever it needs to handle his request. One of the functions of UMMPS is to intermix batch jobs with time
shared jobs initiated at remote terminals. It can assign priority levels to jobs in one or the other mode if there is a significant imbalance in the numbers of jobs awaiting execution.
A user may operate within MTS in one of two modes: conversatio nal mode or batch mode. When operating in conversational mode, the
user communicates directly with MTS via a terminal In real time;
each command typed by the user at his terminal is immediately pro cessed by MTS, and the results of this processing are then made known to the user at the terminal. The user may then decide what needs to be done and enter the appropriate MTS command. The user
thus carries a "conversation" in real time with MTS via his terminal;
hence the term "conversational mode" is used to describe this type of
i
nte
ract
i
on.
In batch mode, the user keypunches a card deck which contains all the MTS commands, translator source statements, data lines, and
object modules which are needed in order to accomplish the described task (or tasks). The deck is submitted to MTS for processing. It
i s r e a d i n t o t h e c o m p u t e r a n d s a v e d i n a fi l e f o r l a t e r p r o c e s s i n g .
The deck and a receipt are returned to the user. The deck Is then
processed by MTS, together with many other batch decks and eventually the results of this processing (the job output) may be retrieved
by the user with his receipt.
The MTS batch function is controlled by the Houston Automatic
Spooling Priority System (HASP). HASP, originally developed for the IBM OS system, has been revised to interface with the MTS system and accept MTS jobs to run in batch. (OS jobs cannot be run in the MTS system).
1 .02 i nt roductI on
A user communicates with MTS by means of a command language.
A typical job deck In batch mode will have command cards, source, p r o g r a m ca rd s, d a ta ca rd s a n d p o ssi b l y o b j e ct p ro g ra m ca rd s. T h e command cards, placed In precise sequence, obtain the system's attention, tell It what to do, how to do It, and with what data. The command language employed Is essentially the same whether the
user punches it on a card for batch processing or types It directly on an Interactive terminal. Each command to MTS Is preceded by a
dollar sign ($), For example, every user starts with the command "$SIGNON" and ends with "$SIGNOFF", For convenience these and other
commands
can
be
abbreviated,
,
Input data and programs may be Included In a source deck or they may be stored In the MTS file storage system. Three major t y p e s o f fi l e . e x i s t I n t h e M T S s y s t e m : p u b l i c , p r i v a t e p e r m a n e n t , a n d p r i v a t e t e m p o r a r y.
P u b l i c fi l e s w h i c h u s u a l l y c o n t a i n a s y s t e m p r o g r a m I n o b j e c t
form, are available to all users, who can read but not change or
d e l e t e t h e i r c o n t e n t s . P r i v a t e fi l e s a r e n o r m a l l y a v a i l a b l e o n l y
to th e user who has created them, to read from, write Into, m o d i fy
or destroy, as he wishes. Access to them Is through use of an l,D. number and password. Temporary private files can be created by a user during the processing of a job. These are automatically destroyed at the next "$S1GN0FF",
A l l t h r e e k i n d s o f fi l e s m a y b e o r g a n i z e d a s l i n e fi l e s o r
sequential files. Line files have a limited size with a very useful
Indexed sequential structure. Sequential flies are useful for storing large amounts of data. Which form a user choses for a
p r i v a t e fi l e d e p e n d s o n t h e n a t u r e o f t h e d a t a h e w a n t s t o s t o r e . W h e n a fi l e i s c r e a t e d f o r a u s e r , h e m a y s p e c i f y t h e I n i t i a l
amount of storage to be set aside for It, If It Is not specified, MTS assigns a small amount of storage, MTS will automatically e x p a n d t h e s i z e l a t e r I f n e c e s s a r y.
The ease with which a user can duplicate the contents of
public files by reading them Into his private files Is taken for granted by knowledgeable computer users, but non"Users might not
appreciate the ramifications of this. The "breedabI 1ity" of source programs, object programs, compilers, problem solutions, sets of raw data, etc, - means. In effect, that each user can have his own private computing universe, one designed to be as large and as
complex as he wishes. To the system, however, a file Is a file; It handles public and private files In the same way, "Public" o r " p r i v a t e " fi l e s a r e m o r e a u s e r - o r i e n t e d d i s t i n c t i o n .
M
1 .03 I nt roduct i on
W h e t h e r a g i v e n fi l e i s " p u b l i c " o r " p r i v a t e " f o r a u s e r
obviously depends on his relationship to the overall system. File rights and responsibilities diminish with each command interface
interposed between UMMPS and, say, an electrical engineering student. The programs a student uses in connection with course problems are public for him but private for his instructor; MIS is public for them but private for some computing center staff members; and the supervisor program of UMMPS is public for all but a very few people.
The system is very highly structured; it has to be.
MTS provides a powerful debugging tool for programs written in Assembler 3^0 (and eventually other) language(s). It is a monitor which provides an environment in which a program is run
under strict control. The programmer Is allowed to; single step
programs, set breakpoints and define procedures to be performed
dynamically, display or modify portions of programs, intercept
interrupts, go back and rerun indefinitely a portion of code, go
back to the start and change the parameter list, write a loader map,
etc.
Vi r t u a l m a c h i n e c a p a b i l i t y ( v i r t u a l 3 6 0 ' s ) I s c u r r e n t l y available under the MTS system. This feature is undergoing continu ous development at present.
MTS provides users with main core storage for problem programs
in a restricted fashion, i.e., there is a maximum size. The limits
imposed have no relation to the physical core size of the computer.
® comprehensive accounting facility as an integral
System. Only authorized persons who have been assigned
LMn? """"ber, and project number can for use system. At enro M Iment time, maximum can be established diskthe space
can^brl^JT In addition, expiration date can be set for atime. user (useful for studentsan taking a programming course) as well as a maximum dollar charge. programming
session® maximum charge is debited for each batch Job or terminal
= f CPU r i n time, Z - j ocore b a rstorage, e b a s econnect d o n stime u c h (for c o mterminals) p u t e r r eors ocards urces as P"" = bed (for batch). Additional charges storage. Users have access to their accounting
nformation at any time. A facility also exists which allows pro-
ject directors or course instructors to allocate and manipulate funds, disk space, etc., among users within one project.
] . OA I nt roduct i on
There are many different kinds of computer languages or t r a n s l a t o r s a v a i l a b l e t o M T S u s e r s I n t h e p u b l i c fi l e s :
assemblers, compilers, Interactive languages, list and string
processing languages, simulation languages, and editing and debugging languages. ASSEMBLERS
System/360 G-level assembler
ALGOL syntax assembler for the 360
use student Interpretive assembler I B M 11 3 0 a s s e m b l e r
Assemblers for POP 1/5/7/8/9 computers
COMPILERS
*F0RTG IBM FORTRAN IV compiler (G-level) itpORTH IBM FORTRAN IV COMPILER (H-level)
*PL| IBM PL/I version A, level F compiler itsPL Student * S WAT Small * WAT F O R
*XPL
version version
WAT F O R
Compiler
of PL/I of WAT F O R
compiler
compiler
writing
language
MAD/I, an experimental version of MAD
INTERACTIVE LANGUAGES
*apl The DOS type III APL/36O Interpreter (under development)
*BASIC
ApIL
The
BASIC
Pittsburg
Interpreter
Interpretive
Language
LIST & STRING PROCESSING LANGUAGES The
LISP
1.5
language
A set of subroutines to provide the S L I P language In FORTRAN IV programs via subroutine The SNOBOLA translator
calls
The U-M Interpretive String language A set of macro-defInltlons to provide the L6 language In assembler p rog rams
^
1 .05 1 n t roduct i on
S I M U L AT I O N L A N G U A G E S *GPSS
The IBM General Purpose System Simulation
*CSMP
The IBM Continuous System Modelling Program
program (GPSS)
(under development) EDITING & DEBUGGING LANGUAGES ^^EDIT * D E B U G
T h e s y m b o l i c fi l e e d i t i n g l a n g u a g e The symbolic debugging system
2 . 0 1 I n t roduct i on
THE MANUALS
Several MIS manuals have been prepared by the University of
A l b e r t a C o m p u t e r C e n t e r s t a ff t o a s s i s t u s e r s i n g e t t i n g o n t h e air with MIS. These manuals will be susceptible to updating
and change. It is highly recommended that the user maintain his manuals in their latest form. A brief summary of the contents of
the manuals is provided here. Additional manuals will be prepared f rom t i me to t i me.
FILES'f-^D DEVICES A d e s c r i p t i o n o f t h e fi l e a n d d e v i c e n o m e n c l a t u r e u s e d w i t h i n the MTS system. This manual should be owned and read by all users. COMMANDS
A d e t a i l e d d e fi n i t i o n o f e a c h o f t h e M T S c o m m a n d s . I t I s
difficult to even approach the system without knowing these commands so
this
manual
is
also
a
must
for
MTS
users.
E D I T O R
T h i s m a n u a l d e s c r i b e s t h e fi l e e d i t i n g p r o c e s s o r * E D I T. F o r conversational users this manual is a must. While *EDIT can be
used in batch mode, it is not very convenient - so for batch users it
is
considered
u n n e c e s s a r y.
DEBUG
This manual describes the Symbolic Debugging System monitor, available under MTS, which is only useable in a conversational
mode. If you are a conversational user this is very useful, especially if you are familiar with 360 assembler language. PROGRAM LOADER
This manual describes the University of Michigan program
loader which is used indirectly by all users, the card formats
accepted by the loader, loader output, several object module hand
ling programs, and the generation and maintenance of private and p u b l i c l i b r a r y fi l e s . S o o n e r o r l a t e r m o s t u s e r s w i l l h a v e t o read
this
one.
2 . 0 2 I nt roduct i on
SYSTEM SUBROUTINES
This manual describes the subroutines in the system which
are available to users. Many of these routines are quite useful to
users.
SUBROUTINE
LIBRARIES
Contains a short description of all libraries. It does describe the contents of ^LIBRARY in detail and for this reason is worth having.
UTILITIES
This manual describes various utility programs which are
provided for users of the MTS systems. Primarily it is a descrip t i o n o f t h e u t i l i t i e s w h i c h m a n y u s e r s w i l l fi n d h e l p f u l . ACCOUNTING
This manual is of interest only to project directors and class intructors. It may be worth reading but not keeping unless you are
administering
other
users.
VIRTUAL MACHINES
This manual describes ways and means of running a virtual IBM 360 under MTS. TERMINAL USERS' GUIDE
T h i s m a n u a l i s f o r u s e r s o f I B M 2 7 ^ 1 t e r m i n a l s . Te l e t y p e
devices, should they be supported, will be described in another manual. A useful manual for conversational users of MTS. B AT C H
USERS'
GUIDE
This manual describes the methods used for MTS batch operations and is recommended for all users s'ince It Is extremely unlikely that one could do without MTS batch processing.
2.03 I n t roduct i on
M A G TA P E U S E R S ' G U I D E
Users employing magnetic tapes should have a copy of this
manual as it outlines tape handling procedures under MTS. FORGTRAN (G £ H)
This manual describes the FORTRAN iV (G £ H) operating charac~
te r i s ti c s under MTS. These processors are the OS/36O version s
modified for use within MTS. Detailed language specifications and
descriptions will be found in the corresponding IBM publications. A must for every FORTRAN programmer. PL/I
The IBM PL/I version k, F level compiler has been adapted to
the MTS system. This manual describes restrictions placed upon PL/I by the MTS system and describes several subroutines which are very
u s e f u l t o t h e P L / I p r o g r a m m e r.
ASSEMBLER
T h i s m a n u a l d e s c r i b e s t h e A s s e m b l e r G p r o c e s s o r. I t a l s o d e s c r i b e s t h e m a c r o s p r o v i d e d i n t h e fi l e * S Y S M A C a n d * O S M A C . Assembler programmers will need this manual.
WAT F O R
T h i s d e s c r i b e s t h e u s e o f WAT F O R a n d S WAT ( a s m a l l e r v e r s i o n
of WATFOR) under MTS. This is the MTS version of the University of Wa t e r l o o F O RT R A N c o m p I l e r.
SNOBOL^
This manual describes the SN0B0L4 processor implemented under MT S.
3.01 I n t rod uct i on
GLOSSARY
ACCESS TIME; The length of time required to record or retrieve the contents of a particular storage address. For the principal
s t o r e o r f a s t m e m o r y, t h i s I s l e s s t h a n o n e m i c r o s e c o n d ( a
millionth of a second) for any location, because the fast memory allows random access to any Item. Access time for Items In secon e rg paa r st l tyo rbee dc a Iutseemt hfer soem d a e v idciessk dfiol en orte q a lul oi rwe s * r a n d o md aar yc cset os rsa. g eR ei st r si el ovwi n a millisecond or more (a thousandth of a second); from a data cell, about 100 milliseconds; from magnetic tape, anywhere from ? a few milliseconds to minutes - depending upon how many feet of tape must be wound or rewound to reach the desired Item. A D D R E S S : A 2 4 - b l t b i n a r y n u m b e r a s s o c i a t e d w i t h a s p e c i fi c m e m o r y location. Usually a user will assign a symbol address that system
programs convert Into a binary coded number which specifies the actual physical location of that address within the computer's memo
r y.
ALGORITHM: An unambiguous, step-by-step, terminating procedure —
for solving a problem. For computer solution, an algorithm of a problem must be prepared In the form of a program written In a
language
acceptable
to
the
system.
ASSEMBLER: A program which translates a symbolic machine language Into object language. Assembly language Is quite like machine
l a n g u a g e , a l l o w i n g e a c h 3 6 0 I n s t r u c t i o n t o b e I n d i v i d u a l l y s p e c i fi e d . B AT C H M O D E , B AT C H J O B : A p r o c e s s o r t a s k p r e p a r e d a n d p r e s e n t e d
I n I t s e n t i r e l y, a s o p p o s e d t o a n I n t e r a c t i o n a t a r e m o t e t e r m i n a l by a user who Issues commands often based on the computer's response to previous commands. This latter mode of Interaction Is called conversational. Batch-mode jobs are submitted as decks of punched cards which are read Into the computer In groups (batches). BYTE: A collection of eight binary digits; binary digits are called b i t s .
COMPILER: A program that translates a symbolic, problem-oriented program Into an equivalent program In object language.
D ATA C EL L : A se co n d a ry sto ra g e d e vi ce co n si sti n g o f th i n ma g n e t i c ? strips of tape. The data cell retrieves and positions the approp riate strip for reading or writing Information from It or onto It. DISK FILE: A secondary storage device containing one or more plates attached to a rotating spindle. As the plates are rotated, reading and writing heads can pick up or record new Information on the thin m a g n e t i c fi l m o n t h e s u r f a c e s o f t h e p l a t e s .
3.02 I nt roduct i on
Disk files, run by disk drives, have fairly slow access time, b e c a u s e t h e fi l e m u s t b e r o t a t e d i n t o p o s i t i o n t o g a i n a c c e s s
to a given storage location; but they have high transfer rates once
the
information
is
reached.
FORTRAN: An abbreviation of FORmula TRANslator. A procedure-
oriented (symbolic) language similar to MAD, BASIC, and ALGOL.
The term refers not only to this language but to source programs
written in it and compiling programs for translating them into machine-instruction
programs.
HARDWARE: Physical equipment; electro-mechanical devices, including
the wiring and cables within and between devices. Software is everything else, including system and user programs in whatever fo rm.
I.D. NUMBER; A four-character identification number assigned MTS
users by the Computing Center. To protect against unauthorized
use of an I.D. number, it is used in conjunction with a password
supplied by the holder of the I.D. number, who may change his password as often as he wishes.
JOB: All of the operations related to processing or execution of a p r o g r a m s u b m i t t e d b y a u s e r.
LANGUAGE: A set of symbols for conveying information. There are
many different kinds of computer languages or translators available to MTS users in the public files: Assemblers, Compi1ers, Inter-
active Languages, List and String Processing Languages, Simulation Languages, and Editing and Debugging Languages.
LIBRARY: A set of programs, and subroutines maintained in secondary storage for use as needed.
L I N E F I L E : A fi l e c o n s i s t i n g o f l i n e s - f r o m I t o 2 5 5 c h a r a c t e r s
or bytes in length. Each line is associated with an identifying line
number.
MACHINE PROGRAM: A program written in machine language, i.e., binary code.
MACH I NE-INSTRUCTI ON: One of a number of operations the Central
Processing Unit is capable of executing. The instruction directs
the operations of the CPU. One of the functions of a FORTRAN compiler is to translate symbolic statements into machIne-Instruc tions
.
3.03 I nt roduct i on
M A D : M i c h i g a n A l g o r i t h m i c D e c o d e r, a s y m b o l i c l a n g u a g e s i m i l a r t o F O RT R A N , o r i g i n a l l y d e v e l o p e d b y U n i v e r s i t y o f M i c h i g a n s t a ff for use with the IBM 7090. A different language, MAD/1 is under
development for use with the System/360 Model 67. M A G N E T I C TA P E D R I V E : T h e h a r d w a r e u n i t f o r a f o r m o f s e c o n d a r y
storage in which information is stored on magnetic tape wound
on reels that can be mounted and removed from tape drives as nec
e s s a r y. A f t e r a t a p e i s m o u n t e d , a c c e s s t i m e f o r i t e m s s t o r e d o n it varies, depending upon how far it must be wound or rewound to position it for access to a particular location. O P E R AT I N G S Y S T E M : T h e s e t o f s y s t e m p r o g r a m s d e s i g n e d t o o r g a n i z e
and control the processing of user programs. Also called the executive system.
OBJECT PROGRAM: A user program after it has been translated. Also called an object deck or object module.
PA G E : A u n i t o f s t o r a g e e q u i v a l e n t t o 4 , 0 9 6 b y t e s i n c o r e , o n d r u m , or disk storage devices. In the System/360 the magnetic-core memory
units (boxes) are sub-divided into 128 pages each; the high-speed
d r u m m e m o r i e s a r e d i v i d e d i n t o 9 0 0 p a g e s e a c h . I n d i s k fi l e s e a c h
removable disk pack, identified by a volume number, has a capacity
of over 7,000 pages.
PASSWORD: Any combination of one to six characters used in con
junction with an I.D. number to gain access to the computer. Its
purpose is to prevent unauthorized use of (hence charges against) an I.D. number. The user may change his password as often as he^
desires (and he is encouraged to change it often), but he can gain
access to the computer only by citing the password he last used.
PROGRAM: A procedure for solving a problem by specifying a sequence o f c o m m a n d s t o b e e x e c u t e d b y t h e c o m p u t e r.
REMOTE BATCH MODE: A form of access which has all the characteristics
of ordinary batch mode, except that the information in the user's s o u r c e d e c k i s t r a n s m i t t e d o v e r a t e l e p h o n e l i n e t o t h e c o m p u t e r,
and the output is returned by phone line for printout at the remote 1ocat
i
on.
ROUTINE OR SUBROUTINE: A program used to perform a frequently
required computational function. Many subroutines, stored in public
files on secondary storage, may be called into use by means of commands in the user's program, or may be automatically retrieved and employed by MTS, depending on the function to be performed.
3.04 I nt roductI on
S E Q U E N T I A L F I L E : A fi l e c o n s i s t i n g o f a s e t o f r e c o r d s , e a c h o f
which may be of from 1 to 32,767 characters or bytes In length. These records may be read only In a sequential fashion; they a re n o t ra n d o ml y a cce ssi b l e b y re co rd n u mb e r.
SOFTWARE: All system programs, Including language translators, associated with computing; everything but the physical equipment,
which Is called the hardware. For most users the "system" consists b o f t h e h a r d w a r e a n d s o f t w a r e t a k e n t o g e t h e r. SOURCE PROGRAM: A user program before It Is translated. Also t called
a
source
deck
or
source
module.
SYMBOLIC PROGRAM: A program written In a symbolic language such as FORTRAN or PL/I.
SYSTEM/360 MODEL 67: The name assigned by the manufacturer. International Business Machines Corporation. The System/360 Is a modular arrangement of hardware economical enough for smallscale users but powerful enough for performing extremely sophisti c a t e d r e s e a r c h . I t h a s t h e m o s t fl e x i b l e a n d c o m p l e t e I n s t r u c t i o n r e p e r t o i r e o f a n y I B M c o m p u t e r, w i t h I t s a r i t h m e t i c o p e r a t i o n s
I n c l u d i n g d e c i m a l a r i t h m e t i c , fi x e d - p o i n t a r i t h m e t i c u s i n g 3 2 - b I t w o r d s a n d l 6 - b l t h a l f - w o r d s , a n d fl o a t i n g - p o i n t a r i t h m e t i c u s i n g 32-bIt words and 64-bIt double-words. The Model $7, designed by IBM In collaboration with Computing Center staff members at the
U n i v e r s i t y o f M i c h i g a n , f e a t u r e s h a r d w a r e t o s u p p o r t m a x i m u m fl e x i b i l i t y a n d e x p a n d a b i l i t y o f I t s t i m e - s h a r i n g c a p a c i t y. TERMINAL SESSION: A set of Interactions with the computer Initiated when a user gains access from a remote terminal and terminated when he signs off.
TIME-SHARING: A system In which multiple users are served con c u r r e n t l y, t h o u g h n o t s i m u l t a n e o u s l y . T h e s y s t e m s o f t w a r e - U M M P S and MTS In conjunction - provides the time-sharing capability for
the 360/67. In a time-sharing system several programs are executed
In a round-robin fashion. The objective Is to provide fast response for users at remote terminals and to use the system hard
ware
e f fi c i e n t l y .
v
T R A N S L ATO R : A p r o g r a m s u c h a s t h e F O RT R A N I V o r P L / I c o m p i l e r, which accepts a source program as Input and produces an equivalent ,
o b j e c t p r o g r a m a s o u t p u t . Tr a n s l a t o r s c a n b e c l a s s i fi e d a s c o m p i l e r s
(FORTRAN IV or PL/l), assemblers (the 36O assembler language). Interpreters (SN0B0L4), and special purpose languages (LISP).