ANSI Standard Compliance [ HP COBOL II Reference Manual ]

HP COBOL II Reference Manual

ANSI Standard Compliance 

The standards for COBOL were originally developed and defined by a
national committee of computer manufacturers and users known as the
Conference On Data Systems Languages (CODASYL). In 1960, under the
guidance of this committee, the first official version of COBOL was
designed, called COBOL'60.  Since then, subsequent versions were
developed that significantly extended the power of the language.  The
later versions, beginning with COBOL'68, followed the standards published
and sanctioned by ANSI.

COBOL'85, the most recent version, is organized on the basis of one
nucleus and 10 functional processing modules.  These elements are
summarized in Table 1-1.  Each module contains either two or three
functional levels.  In all cases, the lower levels are proper subsets of
the higher level within the same module.  The lowest levels supply
elements needed for basic or elementary operations; the higher levels
supply more extensive or sophisticated capabilities.  The full ANSI COBOL
is composed of the lowest level of the nucleus and of each module.

          Table 1-1.  ANSI COBOL'85 Organization 

---------------------------------------------------------------------------------------------
|                    |                                                                      |
|   Nucleus/Module   |                               Function                               |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Nucleus            | Contains language elements necessary for internal processing.        |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Sequential         | Provides language elements for definition and access of sequentially |
| I/OModule          | organized external files.                                            |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Relative           | Provides capability for defining and accessing mass storage files in |
| I/OModule          | which records are identified by relative record number.              |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Indexed            | Provides capability for defining and accessing mass storage files in |
| I/OModule          | which records are identified by the value of a key and accessed      |
|                    | through an index.                                                    |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Sort/Merge         | Allows for inclusion of one or more sort-merge operations in a COBOL |
| Module             | program.                                                             |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Report Writer      | Provides for semi-automatic production of printed reports.  Not      |
| Module             | implemented in COBOL II.                                             |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Segmentation       | Provides overlaying of PROCEDURE DIVISION sections at object time.   |
| Module             |                                                                      |
|                    |                                                                      |
---------------------------------------------------------------------------------------------

          Table 1-1.  ANSI COBOL'85 Organization (continued) 

---------------------------------------------------------------------------------------------
|                    |                                                                      |
|   Nucleus/Module   |                               Function                               |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Source Text        | Provides inclusion into a program of predefined COBOL text.          |
| Manipulation       |                                                                      |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Debug Module       | Offers a means by which users can specify a debugging algorithm--the |
|                    | conditions under which data or procedure items are monitored during  |
|                    | the execution of the program.                                        |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Interprogram       | Allows a program to communicate with other programs.                 |
| Communication      |                                                                      |
| Module             |                                                                      |
|                    |                                                                      |
---------------------------------------------------------------------------------------------
|                    |                                                                      |
| Communication      | Provides ability to access, process, and create messages or portions |
| Module             | of messages and to communicate through a message control system with |
|                    | local and remote communication devices.  Not implemented in COBOL    |
|                    | II.                                                                  |
|                    |                                                                      |
---------------------------------------------------------------------------------------------

Hewlett-Packard's COBOL II compiler conforms to the "high" level of the
ANSI COBOL X3.23-1974 specification and to the "high" level of the ANSI
COBOL X3.23-1985 specification.  It is designed to meet the corresponding
level requirements of the United States Government Federal Information
Processing Standard as described in FIPS PUB 21-1.  Some of the
individual modules are designed to meet the high level requirements as
described in Table 1-2.

          Table 1-2.  COBOL II Compiler Conformity Levels 

----------------------------------------------------------------------------------------------
|                              |                              |                              |
|        ANSI 85 Module        |  Level Supporting COBOL II   |        FIPS PUB 21-1         |
|                              |                              | Requirements for High Level  |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Nucleus                      |              2               |              2               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Sequential I/O               |              2 *             |              2               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Relative I/O                 |              2               |              2               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Indexed I/O                  |              2               |              2               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Source Text Manipulation     |              2               |              2               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Interprogram Communication   |              2               |              2               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Sort/Merge                   |              1               |              1               |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Debug                        |              1               |              2 **            |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Segmentation                 |              2               |              2 **            |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Report Writer                |        Not supported         |              1 **            |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Communication                |        Not supported         |              2 **            |
|                              |                              |                              |
----------------------------------------------------------------------------------------------

 * Exceptions are PADDING CHARACTERS and RECORD DELIMITER.

** Optional modules that are not required for high level implementation.

The COBOL II compiler is two compilers in one.  That is, it contains two
entry points:  ANSI74 and ANSI85.  The ANSI74 entry point conforms
completely to COBOL'74 syntax and semantics.  The ANSI85 entry point
provides an ANSI COBOL'85 compiler.  To use the new COBOL'85 features,
use the ANSI85 entry point.