BCPL




<language> (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 call-by-value.

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 (ftp://wuarchive.wustl.edu/systems/amiga/programming/languages/BCPL/).

A BCPL compiler bootstrap kit with an INTCODE interpreter in C was written by Ken Yap <[email protected]>.



< Previous Terms Terms Containing BCPL Next Terms >
BCC
BCD
BCL
BC NELIAC
BCNU
ALgorIthmic ASsembly language
Automated Engineering Design
B
BCPL
C
BCS
bd
BDC
BDL
BDPA