The Best of Creative Computing Volume 2 (published 1977)

Page 29 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails
This book is also available for the Kindle

Beyond BASIC (Interactive Systems, Debug Programs, Text Editors, Summary, Table of Key Systems Programs)

graphic of page

wants to execute his program again, he can merely load it and execute it,
without going through the time consuming translation phase. Compilation
therefore offers the potential of time-saving efficiency.


Interpreters generally offer an advantage of their own in that they may be
"interactive." This allows the programmer to sit at a teletype, for instance,
with the interactive BASIC interpreter in control, and get immediate "feedback"
from the interpreter as he enters his BASIC statements. Errors can be
immediately identified by the interpreter and corrected by the programmer. Also,
the results of executing each BASIC statement can be available immediately, thus
making the system react to the user as if it were a sophisticated calculator.
For a new program, it may therefore be possible to get an answer faster using an
interpreter than using a compiler, since the interpreter does not have to go
through the separate translate and execute phases.


A special type of interactive program often available for mini's and micro's is
the debug program, sometimes called a monitor.5 A debug program is used to aid
in debugging a machine language program. It typically permits the programmer to
insert "break points" in his program which will cause the program to pause in
its execution and then allow the programmer to examine the contents of key
registers and memory locations. In this way, the programmer can walk through the
execution of his program and if there is a "bug" in the program, he can isolate
it (hopefully).

5 The use of the term "monitor" is somewhat different from the OS type "monitor"


Other programs besides interpreters may be interactive. One of the most common
is a "text editor"  which can be used to help create a new program or "file." If
a BASIC compiler were available through a time-sharing system, an interactive
text editor could be used to build or create a BASIC program using an on-line
terminal; the text editor would permit the programmer to make changes such as
adding or deleting individual characters or whole lines. When the programmer is
satisfied with his program, he could then ask the system to compile it and
execute it. The software performing the actual time-sharing operations serving
many users simultaneously is essentially a more complex type of operating system
as we have previously discussed.


We have now completed a very general introductory overview of systems software.
The reader should now have a reasonable understanding of the various types of
programs involved, the functions they perform, and how they relate to one
another. The types of systems programs available and the functions they perform
are summarized in the accompanying table.


Systems Program

Name		Function		Input(s)			Output(s)		Comments
Compiler	Translate HOL		HOL Source		Listing. Machine	Object Program	  
		Program to Machine	Program		        Language Object	        may be 		
	        Language Program				Program		        punched out or	
											loaded into	
Assembler	Translate Assembly	Assembly Language	Listing. Machine	Object Program	 

		Language Program	Source Program		Language Object	        may be 		
	        to Machine Language 				Program		        punched out or	
		Program								        loaded into	
Interpreter	"Executes" HOL		HOL Source		Problem Solution	Output is only	  
		Program		        Program					        what the 	
	               									source program	
Loader		Loads Machine		Machine Language	Machine Language	Loaded into	  
		Language Programs	Object Program	(s)	programs ready to	memory 	
	               						be executed											
Text Editor	Creates or edits files	 Source Programs	Listing or
copies	Interactive	  
					 data, etc.		of files when 	
Debug 		 Facilitates isolation 	Commands to		Responses to 		Runs along with 
Program          of program bugs	Debug Program		commands, e.g.		user's object
		  						register contents,	program to be
								memory contents,	debugged

Operating	Overall  control of	Job Control Language	Responses to JCL	Schedules
System		computer system	        or equivalent. All 	commands. Log of	allocates 
		and its resources	other inputs to		system status, error	memory, etc.

					computer		messages to 		to minimize 
								operator, etc.		need for 

Page 29 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails
This book is also available for the Kindle