Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Cornelis H. A. Koster is active.

Publication


Featured researches published by Cornelis H. A. Koster.


international conference on management of data | 1976

Visibility and types

Cornelis H. A. Koster

In this paper it is argued that there is a strong connection between the issue of abstract types and the more general issue of information hiding in large program systems, since abstraction has to be enforced by the careful and controlled hiding of details. In the first part of the paper, the notions of visibility and interface are discussed. In the second part, it is shown how, by careful control of visibility through interfaces, data abstraction can be achieved. Finally a comparison is made between this approach and the class approach.


compiler construction | 1976

Using the CDL Compiler-Compiler

Cornelis H. A. Koster

In this sequence of lectures one compiler compiler is going to be highlighted by means of somewhat larger examples, preceded by a discussion of ideas underlying it.


compiler construction | 1976

Two-Level Grammars

Cornelis H. A. Koster

In the definition of ALGOL 60, a clear distinction was maintained between the syntax and the semantics of the language defined: syntax is concerned with the form of things, semantics with their meaning.


Symposium on Methods of Algorithmic Language Implementation | 1975

CDL-A compiler implementation language

Cornelis H. A. Koster

The Compiler Description Language CDL has evolved from a more or less classical compiler compiler system to an implementation language, which is well suited for the design and realization of compilers. In this paper it is discussed how those properties that make the language oriented towards compiler writing, have been enhanced in the revised version of CDL, and the advantages to be gained from such specialization.


GI - 4. Jahrestagung | 1974

A Technique for Parsing Ambiguous Languages

Cornelis H. A. Koster

From a given context free grammar, it is possible in a variety of ways to generate automatically a program that acts as a recogniser for the language of that grammar. Under a number of conditions, depending on the particular technique used, this program is an “exact recogniser” of that language, accepting only sentences of the language and rejecting all other strings of symbols.


Archive | 1969

Language and Metalanguage

A. van Wijngaarden; B. J. Mailloux; J. E. L. Peck; Cornelis H. A. Koster; Michel Sintzoff; C. H. Lindsey; L. G. L. T. Meertens; R. G. Fisker

a) ALGOL 68 is a language in which algorithms may be formulated for computers, i.e., for automata or for human beings. It is defined by this Report in four stages, the “syntax” {b}, the “semantics” {c}, the “representations” {d} and the “standard environment” {e). b) The syntax is a mechanism whereby all the constructs of the language may be produced. This mechanism proceeds as follows: (i) A set of “hyper-rules” and a set of “metaproduction rules” are given {1.1.3.4, 1.1.3.3}, from which “production rules” may be derived: (ii) A “construct in the strict language” is a “production tree” {1.1.3.2.f} which may be produced by the application of a subset of those production rules; this production tree contains static information {i.e., information known at “compile time”} concerning that construct: it is composed of a hierarchy of descendent production trees, terminating at the lowest level in the “symbols”; with each production tree is associated a “nest” of properties, declared in the levels above, which is passed on to the nests of its descendents; (iii) A “program in the strict language” is a production tree for the notion ‘program’ {2.2.1.a}. It must also satisfy the “environment condition” {10.1.2}. c) The semantics ascribes a “meaning” {2.1.4.1.a} to each construct {i.e., to each production tree} by defining the effect (which may, however, be “undefined”) of its “elaboration” {2.1.4.1}. This proceeds as follows: (i) A dynamic {i.e., run-time} tree of active “actions” is set up {2.1.4}; typically, an action is the elaboration of some production tree T in an “environ” consistent with the nest of T, and it may bring about the elaboration of descendents of T in suitable newly created descendent environs; (ii) The meaning of a program in the strict language is the effect of its elaboration in the empty “primal environ”. d) A program in the strict language must be represented in some “representation language” {9.3.a} chosen by the implementer. In most cases this will be the official “reference language”. (i) A program in a representation language is obtained by replacing the symbols of a program in the strict language by certain typographical marks {9.3}. (ii) Even the reference language allows considerable discretion to the implementer {9.4.a, b, c}. A restricted form of the reference language in which such freedom has not been exercised may be termed the “canonical form” of the language, and it is expected that this form will be used in algorithms intended for publication. (iii) The meaning of a program in a representation language is the same as that of the program {in the strict language} from which it was obtained. e) An algorithm is expressed by means of a particular-program, which is considered to be embedded, together with the standard environment, in a program-text {10.1.1.a}. The meaning of a particular-program {in the strict or a representation language} is the meaning of the program “akin” to that program-text {10.1.2.a}.


Archive | 1976

Tokens and symbols

A. van Wijngaarden; B. J. Mailloux; J. E. L. Peck; Cornelis H. A. Koster; Michel Sintzoff; C. H. Lindsey; L. G. L. T. Meertens; R. G. Fisker

{Tokens (9.1.1.f) are symbols (9.1.1.h) possibly preceded by pragments (9.2.1.a). Therefore, pragments may appear between symbols wherever the syntax produces a succession of tokens. However, in a few places, the syntax specifically produces symbols rather than tokens, notably within denotations (8), format-texts (10.3.4.1.1.a) and, of course, within pragments. Therefore, pragments may not occur in these places.}


Archive | 1976

Modes and nests

A. van Wijngaarden; B. J. Mailloux; J. E. L. Peck; Cornelis H. A. Koster; Michel Sintzoff; C. H. Lindsey; L. G. L. T. Meertens; R. G. Fisker

{The identification of a property in a nest is the static counterpart of the dynamic determination (4.8.2.b) of a value in an environ: the search is conducted from the newest (youngest) level towards the previous (older) ones.


Archive | 1969

The computer and the program

A. van Wijngaarden; B. J. Mailloux; J. E. L. Peck; Cornelis H. A. Koster; Michel Sintzoff; C. H. Lindsey; L. G. L. T. Meertens; R. G. Fisker

The meaning of a program in the strict language is explained in terms of a hypothetical computer which performs the set of actions {2.1.4} which constitute the elaboration {2.1.4.1} of that program. The computer deals with a set of “objects” {2.1.1}.


Archive | 1976

Declarations, declarers and indicators

A. van Wijngaarden; B. J. Mailloux; J. E. L. Peck; Cornelis H. A. Koster; Michel Sintzoff; C. H. Lindsey; L. G. L. T. Meertens; R. G. Fisker

{Declarations serve to announce new indicators, e.g., identifiers, to define their modes or priorities, and to ascribe values to those indicators and to initialize variables.}

Collaboration


Dive into the Cornelis H. A. Koster's collaboration.

Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge