V.E.R.A. -- Virtual Entity of Relevant Acronyms (February 2016):
Basic / BBN Combined Programming Language (BBN)
The Jargon File (version 4.4.7, 29 Dec 2003):
[abbreviation, ?Basic Combined Programming Language?) A programming
language developed by Martin Richards in Cambridge in 1967. It is
remarkable for its rich syntax, small size of compiler (it can be run in
16k) and extreme portability. It reached break-even point at a very early
stage, and was the language in which the original hello world program was
written. It has been ported to so many different systems that its creator
confesses to having lost count. It has only one data type (a machine word)
which can be used as an integer, a character, a floating point number, a
pointer, or almost anything else, depending on context. BCPL was a
precursor of C, which inherited some of its features.
The Free On-line Dictionary of Computing (30 December 2018):
(Basic CPL) A British systems language developed by
Richards in 1969 and descended from CPL (Combined
Programming Language). BCPL is low-level, typeless and
block-structured, and provides only one-dimensional arrays.
Case is not significant, but conventionally reserved words
begin with a capital. Flow control constructs include:
If-Then, Test-Then-Else, Unless-Do, While-Do, Until-Do,
Repeat, Repeatwhile, Repeatuntil, For-to-By-Do, Loop, Break
and Switchon-Into-Case-Default-Endcase. BCPL has conditional
expressions, pointers, and manifest constants. It has both
procedures: 'Let foo(bar) Be command' and functions: 'Let
foo(bar) = expression'. 'Valof $(..Resultis..$)' causes a
compound command to produce a value. Parameters are
Program segments communicate via the global vector where
system and user variables are stored in fixed numerical
locations in a single array.
The first BCPL compiler was written in AED. BCPL was used
to implement the TRIPOS operating system, which was
subsequently reincarnated as AmigaDOS.
["BCPL - The Language and its Compiler", Martin Richards &
Colin Whitby-Stevens, Cambridge U Press 1979].
See OCODE, INTCODE.
Oxford BCPL differed slightly: Test-Ifso-Ifnot, and section
brackets in place of $( $).
The original INTCODE interpreter for BCPL is available for
Amiga, Unix, MS-DOS
A BCPL compiler bootstrap kit with an INTCODE
interpreter in C was written by Ken Yap