Chapter 9. Communicators

Table of Contents
COMMON Communicators
LIBRARY Communicators
EXTERNAL Communicators
ABSOLUTE Communicators

The segments of a program may communicate with each other through COMMON (see below), and with objects external to the program by means of communicators such as LIBRARY, EXTERNAL or ABSOLUTE, as defined in particular implementations.

COMMON Communicators

Global objects declared within a program (see ) are communicated to all segments through a COMMON communicator. This consists of a list of COMMON items separated by semi-colons all within round brackets following the word COMMON. Such items are of three kinds, corresponding to division of objects into data, places and procedures. A COMMON data item is a declaration of the identifiers listed within it, exactly as in , storage being allocated as in , presets an overlays as in and . Communication of places and procedures takes the form of specification, as in the equivalent parameters of a procedure declaration ( and ). For each identifier specified in a COMMON communicator, there must correspond an appropriate declaration (or for labels a setting) in one and only one outermost block of the program. The syntax is


        Commoncommunicator ::= 
    COMMON ( Commonitemlist ) 
      


        Commonitemlist ::= 
    Commonitem
        Commonitem ; Commonitemlist
      


        Commonitem ::= 
    Datadec
        Overlaydec
        Placespec
        Procedurespec
        Void
      


        Placespec ::= 
    LABEL
        Idlist
        SWITCH
        Idlist