PASCAL/M(ID:5089/)

Pascal with Modula Modules 


PASCAL with Modula style modules for building large systems

Young, UMIST, Manchester, UK, 1980


References:
  • Stetter, F. review of Young (PASCAL/M) view details Abstract: The paper describes an extension to PASCAL, called PASCAL/M. PASCAL/M provides an encapsulation mechanism for improving the structure of large PASCAL programs. The verbosity invoked is an acceptable price to pay for the benefits obtained. The extension is based upon the module structure of MODULA but, in addition, a more detailed specification of module interfaces is included and the definition of a module body can be deferred too. To achieve this, the syntactic categories "program" and "block" are changed with respect to PASCAL and a new category "module" is added while all other categories remain unchanged. Objects transported across module boundaries must be declared in the module head, furthermore, they are contained in the so-called slots which sufficiently describe the deferred module body definitions.

    PASCAL/M is implemented via a preprocessor which is written in PASCAL and which consists of three passes. The first pass checks the syntax of the source program and the declaration of the objects transported, the second removes the slots in the source program, and the third performs the actual conversion to standard PASCAL.

    An example, which generates a cross reference for PASCAL source texts, demonstrates the main features of PASCAL/M, especially the top-down development of programs. The paper is very well written. It is recommended to all researchers in the area of language design and implementation, since it nicely shows that small extensions of existing languages can provide powerful new features, and that extensions carefully chosen can make the design of new languages unnecessary.

          in ACM Computing Reviews 22(11) November 1981 view details
  • Young, S. J. "Improving the structure of large PASCAL programs" Softw. Pract. Exper. 11, 9 (Sept. 1981), 913-927. view details
          in ACM Computing Reviews 22(11) November 1981 view details