Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap
irt.Org

BCPL

You are here: irt.org | FOLDOC | 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 <ken@syd.dit.csiro.au>.

(1995-03-26)

Nearby terms: BCL « BC NELIAC « BCNU « BCPL » BCS » bd » BDC

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL

©2018 Martin Webb