The Core Memory Project

 

 

logo302
IMOS COBOL 74 Programming
Grace Hopper

Grace Hopper is regarded as "the grandmother" of the computer age and is credited with developing COBOL, one of the first computer languages.

Grace Hopper, 1943

Born in 1906, Grace Hopper graduated from college in 1928 and by 1934 had earned from Yale University a doctoral degree in mathematics, a real accomplishment for a woman in those days.  During World War II, while employed as a mathematics professor at Vasser College, she answered her country's call and joined the United States Naval Reserve.  Her first assignment was with the Bureau of Ordnance Computation Project at Harvard University, where she worked on some of the Navy's first computers.   After the war, the Naval Reserve officer returned to civilian life, eventually joining the Sperry Rand Corporation, one of the computer industry's pioneering firms.   During this period, she was instrumental in the creation of the FLOW-MATIC language for the UNIVAC I and UNIVAC II computers. 

Grace Hopper, 1986

Rear Admiral Hopper received numerous honorary degrees and awards, including the Distinguished Service Medal, the Legion of Merit, the Naval Ordnance Development Award and National Medal of Technology.

USS Hopper, the ‘Amazing Grace’, named after Admiral Grace M. Hopper, an Arleigh Burke Class Destroyer, was christened by the US Navy at Bath Iron Works (Bath, Maine) in January, 1996.

USS Hopper   DDG 70
USS Hopper   DDG 70
USS Hopper   DDG 70
Grace Hopper
Grace Hopper
By the Way ...

Ever wondered about the origins of the term "bugs" as applied to computer technology? Grace Hopper had firsthand explanation. Hopper told that the first computer "bug" was a real bug -- a moth. At Harvard one August night in 1945, Hopper and her associates were working on the "granddaddy" of modern computers, the Mark I. "Things were going badly; there was  something wrong in one of the circuits of the long glass-enclosed computer," she said.  Finally, someone located the trouble spot and, using ordinary tweezers, removed the problem, a two-inch moth. From then on, when anything went wrong with a computer, we said it had bugs in it."

NCR IMOS COBOL 74

What is COBOL?

The COmmon Business Oriented Language (COBOL) is a near-English programming Cobol Coding Formlanguage designed primarily for programming business applications on computers. It is described as a near-English because its free form enables a programmer to write in such a way that the final result can be read easily and the general flow of the logic can be understood by persons not necessarily as closely allied with the details of the problem as the programmer himself.

Because COBOL is a programming language it can be translated to serve as communication between the programmer and the computer. The COBOL program (the source program) which has been written by the programmer is input to a COBOL compiler program. The COBOL compiler program then translates the COBOL program into a machine language program (the object program). Since machine language varies from computer to computer, each computer has its own COBOL compiler program to perform the translation from the COBOL languageto the specific machine language program.

Although each computer has its own unique COBOL compiler program, an industrywide COBOL effort has resulted in a degree of compatibility so that that a COBOL source program can be exchanged among different computers of one manufacturer or among computers of different manufacturers.

A COBOL program is both a readable document and an efficient computer program. Throughout the study of the COBOL language, it is important to keep these two basic capabilities of COBOL in mind and to observe the close relationship between them.

The readability factor of the COBOL language facilitates communication not only between programmer and management, but also among programmers, with a minimum of additional documentation. The readability factor need not affect the other equally important capability of constituting an efficient computer program. It is precisely here that the attention of a good COBOL programmer is centered. He can produce a solution in the form of well integrated COBOL program by combining the following: knowledge of the problem, programming technique, capability of the equipment, and familiarity with the available elements of the COBOL language.

 

The Organization of American National Standard COBOL 1974.

In order to represent more effectively the uses for which COBOL is designed, each element in American National Standard COBOL 1974 is categorized according to its function. Elements used for internal processing form the nucleus of American National Standard COBOL 1974. Elements used for functional processing form the eleven functional processing modules of American National Standard COBOL 1974. These eleven functional processing modules perform the following functions: table handling, sequential I-O, relative I-O, indexed I-O, sort-merge, report writer, segmentation, inter-program communication, library, debug, and communication.

Each module of American National Standard COBOL 1974 has its elements divided into level 1 elements and level 2 elements. Level 1 elements of a module are a subset of the level 2 elements within the same module.

The nucleus contains language elements for the internal processing of data within the structure of the four divisions of a COBOL source program. The elements of the nucleus are divided into level 1 elements and level 2 elements.

The table handling module contains language elements for the definition of tables and for the accessing of an element within the table by means of a subscript or an index. The elements of the table handling module are divided into level 1 elements and level 2 elements.

The sequential I-O module contains language elements for the accessing of records on a sequential file in an established sequence. The sequence in which records are accessed is established as a result of writing the records to the file. The elements of the sequential I-O module are divided into level 1 elements and level 2 elements.

The relative I-O module contains language elements for the accessing of records of a relative file in either a random or sequential manner. Each record in a relative file is uniquely identified by an integer value greater than zero which specifies the record’s position on the file (the relative record number). The elements of the relative I-O module are divided into level 1 elements and level 2 elements.

The indexed I-O module contains language elements for the accessing of records of an indexed file in either a random or sequential manner. Each record in an indexed file is uniquely identified by the value of one or more keys within that record. The elements of the indexed I-O module are divided into level 1 elements and level 2 elements.

The sort-merge module contains language elements for the ordering of one or more files according to a set of programmer-specified keys contained within each record of the files. This module also contains language elements for the combining of two or more identically ordered files according to a set of programmer-specified keys contained within each record of the files. The elements of the sort-merge module are divided into level 1 elements and level 2 elements.

The report writer module contains language elements for producing reports by the specification of the physical appearance of the report rather than the detailed procedures necessary to produce the report. The elements of the report writer module are divided into only level 1 elements.

The segmentation module contains language elements for the specifying of object program overlay requirements. The elements of the segmentation module are divided into level 1 elements and level 2 elements.

The library module contains language elements for specifying text that is to be copied from a library and inserted into a COBOL source program. The elements of the library module are divided into level 1 elements and level 2 elements.

The debug module contains language elements for the describing of the conditions under which data items or procedures are to be monitored during the execution of the object program. The elements of the debug module are divided into level 1 elements and level 2 elements.

The inter-program communication module contains language elements providing a facility by which a program can communicate with one or more programs. This module features the ability to transfer control from one program to another within a run unit and the ability for both programs to have access to the same data items. The elements of the inter-program communication module are divided into level 1 elements and level 2 elements.

The communication module contains language elements for the accessing, processing, and creating of messages or portions of messages which are communicated through a message control system with local and remote communication devices. The elements of the communication module are divided into level 1 elements and level 2 elements.

An implementation of American National Standard COBOL 1974 must meet the specifiCatb0 of one level within each of the functional processing modules and the nucleus. The minimum implementation of American National Standard COBOL 1974 is composed of the lowest level of each module and the nucleus. Because null sets are present in nine modules, the minimum American National Standard COBOL 1974 consists of level 1 elements from the nucleus, level 1 elements from the table handling module, and level 1 elements from the sequential I-O module. The full American National Standard COBOL 1974 is composed of level 1 elements from the report writer module, level 2 elements from the nucleus, and level 2 elements from the ten other modules.

 

The NCR IMOS COBOL Programming Language and Compiler.

The NCR IMOS COBOL programming language is based on American National Standard COBOL 1974. This version of American National Standard COBOL is based on the developmental work of the CODASYL COBOL Programming Language Committee through December 1971.

The NCR IMOS COBOL compiler is a cross compiler which operates on an NCR Century 8200 computer having an IMOS III operating system. The NCR IMOS COBOL compiler is called a cross compiler because it generates object programs for either the NCR IMOS COBOL programming language or other COBOL programming languages to be specified later.

The minimum NCR Century 8200 configuration needed to execute the NCR IMOS COBOL compiler is an NCR Century 8200 with 48,000 (48K) bytes or 24,000 (24K) words of memory, one 656 magnetic disc spindle, one M63 magnetic tape cassette unit, one 349 line printer, and one 796-101 CRT terminal. One 369 punched card reader is an optional peripheral unit for the NCR IMOS COBOL compiler. The NCR IMOS COBOL compiler program is executed in the interactive multiprogramming environment provided by the NCR IMOS III operating system.

 

The NCR IMOS COBOL Compilation Process.

The NCR IMOS COBOL source program written by the programmerNCR IMOS COBOL Compilation Process is input to the NCR IMOS COBOL compilation process. The complete compilation process for an NCR IMOS COBOL program consists of the execution of the NCR IMOS text editor program and the NCR 1MOS COBOL compiler program.

The COBOL source program is first processed by the NCR IMOS text editor program. The NCR IMOS text editor program is a utility program operating under the NCR IMOS UI operating system. The text editor program builds and/or edits a magnetic disc file or a magnetic tape file from the COBOL source lines input from the punched card reader or the CRT terminal.

The next step in the compilation process is the execution of the NCR IMOS COBOL compiler program. The NCR IMOS COBOL compiler program operates under control of the NCR IMOS III operating system. The NCR IMOS COBOL compiler program processes the COBOL source lines placed on magnetic disc or magnetic tape by the text editor program. The NCR IMOS COBOL compiler program can also process COBOL source lines read directly from punched cards. The NCR IMOS COBOL compiler program generates an interpretive language object program that is output to magnetic disc. The COBOL compiler also produces a compiler listing on the printer.

 

The NCR IMOS COBOL Compiler Program.

The NCR IMOS COBOL compiler program is a translator program that operates under control of the NCR IMOS III operating system. A COBOL source program file created on magnetic disc or magnetic tape by the NCR IMOS text editor program is the input data processed by the NCR IMOS COBOL compiler program The NCR IMOS COBOL compiler converts the COBOL source program into an interpretive language object program which is output to magnetic disc. The NCR IMOS COBOL compiler program also produces a compiler listing on the printer.

The NCR IMOS COBOL compiler executes with the following assumptions:

 The source program file to be read has the file-id SI (meaning source input).
 The object program file to be created has the file-id BO (meaning binary object).
 The compiler listing to be created has the file-id LO (meaning list output).

Output From the NCR IMOS COBOL Compiler Program.

When the OBJECT-COMPUTER paragraph of the COBOL source program specifies the computer-name NCR-IMOS, the NCR IMOS COBOL compiler generates an object program for execution in the NCR IMOS III operating environment of an NCR Century 8200 computer. This NCR IMOS object program is recorded onto magnetic disc from which it is accessible for loading into the memory of an NCR Century 8200 computer. After the object program is loaded into memory, it is interpretively executed by the NCR IMOS COBOL runtime interpreter. The NCR IMOS COBOL runtime interpreter is a software module within the NCR IMOS Ill operating system. The COBOL runtime interpreter is resident in memory and is shared by all object programs executing at the same time within the memory of the NCR Century 8200 computer.

Regardless of the presence of errors in the COBOL source program, the NCR IMOS COBOL compiler program processes the entire COBOL source program. The NCR IMOS COBOL compiler program generates object code for the erroneous source lines so that the programmer may execute the object program up to the point where the error occurs. At that point, the programmer can use the debug mode to obtain diagnostic information.

The compiler listing output by the NCR IMOS COBOL compiler program provides the programmer with a printed copy of the source lines that were input to the COBOL compiler program. The compiler listing also provides an analysis of errors found during the compilation process. Before the object program is tested, the compiler listing should be free of error messages. Consequently, after the execution of the COBOL compiler the programmer should correct all errors indicated on the compiler listing. Corrections are made to the COBOL source program file by execution of the NCR IMOS text editor program.

After the corrections have been made to the COBOL source program file by execution of the NCR IMOS text editor program, the NCR IMOS COBOL compiler program is executed once again. The compiler listing output by this execution of the COBOL compiler must be checked for error messages. If all error messages have been removed from the compiler listing, the object program is ready for testing with test data so that logic errors can be located in the program.

 

logo402

 powered_by_google_135x350202
 The Core Memory Project.
 Copyright © Aleksandrs Guba. All Rights Reserved