BABEL(ID:370/bab002)

Extensible NPL ALgol 60 


A subset of ALGOL 60, with many ALGOL W extensions and decision tables.

Scowen, National Physical Laboratory, 1971



Related languages
ALGOL 60 => BABEL   Subset
ALGOL W => BABEL   Incorporated some features of
SOAP => BABEL   Influence

References:
  • R.S. Scowen, "BABEL, A New Programming Language", Natl Phys Lab UK, Report CCU7, 1969. view details
  • Scowen, R. "The use of decision tables in Babel" pp54-68 view details Abstract: Introduction
    A decision table is a means of clearly expressing many complicated algorithms.
    [...]
    the large number of possibilities make it difficuit to express this algorithm in common programming languages, but decision tables enable it to be expressed conciseiy, in a straightforward way. At the end of the report is a BABEL Program, which performs this task. DOI
          in [ACM] SIGPLAN Notices 6(09) September 1971 Special issue on decision tables view details
  • Scowen, R. S. "Babel, an application of extensible compilers" pp1-7 view details Abstract: The normal approach in providing an extensible programming language seems to be to design and implement a base language which has facilities enabling the programmer to define and use extensions. This paper discusses a solution using an alternative approach in which extensions are made by changing the compiler. Of course, in theory, any compiler can be altered (it is only a computer program); in practice it is probably not so easy since difficulties will arise if the compiler has been designed for one fixed standard language on one particular computer. If a compiler is to be altered, it must possess various properties; there should be no danger of accidentally invalidating an existing program, and it must be clear what changes are required to make a desired extension. It is also desirable that only a small number of changes should be required to make an extension. The method of writing compilers which is described below satisfies these conditions and has been adopted in three different applications:- (1) Babel, a conventional high level programming language. (2) SOAP, a program which documents and edits an ALGOL 60 program. (3) PL516, a high level assembly language for the Honeywell DDP516 computer.

          in [ACM] SIGPLAN Notices 6(12) December 1971 Proceedings of the international symposium on Extensible languages Grenoble, France 1971 view details
  • Weinberg, G.M. "The Psychology of Computer Programming" Van Nostrand 1971, p.241 view details
          in [ACM] SIGPLAN Notices 6(12) December 1971 Proceedings of the international symposium on Extensible languages Grenoble, France 1971 view details
  • Wells, Mark B. "A review of two-dimensional programming languages" pp1-10 view details Extract: Babel
    Tabular languages: Very little use has been
    made of two-dimensional tabular source information
    by programming languages. Apart from the input of
    matrices mentioned earlier, only the input of decision
    tables has been seriously pursued. Notable
    in this respect is the incorporation of decision
    tables in the language Babe] [Scowen, 1971]. In
    this free format language, a decision table is
    merely another form of statement. The statement is
    designed in such a way, however, that a very readable
    table-like structure, e.g.
    DECISIONTABLE
    ifbl T- F- ;
    if b2 -FT- ;
    if b3 T - - -
    DO ( $1, Y N Y Y ) ;
    ( $2, Y N N N ) ;
    ($3, NYYN)
    END
    can appear in the source code.
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Scowen, R. S. "Babel and SOAP, applications of extensible compilers", Software - Practice and Experience, 3(01) pp15-27 1973 view details
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details