Superset of Oberon 2 with atavistic name 

COMPONENT PASCAL is a superset of OBERON 2. Compared to OBERON 2, it provides several classifications and improvements.

The language revision was driven by the experience with the Black Box Component Framework, and their desire to further improve support for the specification, documentation, development, maintenance, and refactoring of component framework.

Related languages
Oberon-2 => COMPONENT PASCAL   Evolution of
COMPONENT PASCAL => Garden Point Component Pascal   Implementation

  • Moessenboeck, H and Wirth, N. "Component Pascal Language Report" 10. Sept. 97 (Preliminary) view details Extract: Introduction
    Component Pascal is Oberon microsystems' refinement of the Oberon-2 language. Oberon microsystems thanks H. Mössenböck and N. Wirth for the friendly permission to use their Oberon-2 report as basis for this document.

    Component Pascal is a general-purpose language in the tradition of Pascal, Modula-2 and Oberon. Its most important features are block structure, modularity, separate compilation, static typing with strong type checking (also across module boundaries), type extension with methods, dynamic loading of modules, and garbage collection.

    Type extension makes Component Pascal an object-oriented language. An object is a variable of an abstract data type consisting of private data (its state) and procedures that operate on this data. Abstract data types are declared as extensible records. Component Pascal covers most terms of object-oriented languages by the established vocabulary of imperative languages in order to minimize the number of notions for similar concepts.

    Complete type safety and the requirement of a dynamic object model make Component Pascal a component-oriented language.

    This report is not intended as a programmer's tutorial. It is intentionally kept concise. Its function is to serve as a reference for programmers. What remains unsaid is mostly left so intentionally, either because it can be derived from stated rules of the language, or because it would require to commit the definition when a general commitment appears as unwise.

    Appendix A defines some terms that are used to express the type checking rules of Component Pascal. Where they appear in the text, they are written in italics to indicate their special meaning (e.g. the same type).

    It is recommended to minimize the use of procedure types and super calls, since they are considered obsolete. They are retained for the time being, in order to simplify the use of existing Oberon-2 code. Support for these features may be reduced in later product releases. In the following text, red stretches denote these obsolete features.

    External link: Online copy