Basic Combined Programming Language | ||||
---|---|---|---|---|
Paradigma | imperatief | |||
Verschenen | 1967 | |||
Ontwerper | Martin Richards | |||
Typesysteem | geen | |||
Beïnvloed door | CPL | |||
Invloed op | B,C | |||
Website | http://www.cl.cam.ac.uk/~mr10/BCPL.html | |||
|
BCPL (Basic Combined Programming Language) is eenprogrammeertaal voorcomputers, ontwikkeld doorMartin Richards van deUniversiteit van Cambridge. Oorspronkelijk was ze bedoeld als programmeertaal voorcompilers van andere programmeertalen. Al wordt ze tegenwoordig niet vaak meer gebruikt, ze was zeer invloedrijk, omdatDennis Ritchie deze taal indirect gebruikte als basis voor de tegenwoordig veelgebruikte programmeertaalC.
BCPL is ontwikkeld vanwege problemen met haar voorloperCPL, die ontstaan was in de vroegejaren 60. Martin Richards ontwikkelde als reactie BCPL door het verwijderen van eigenschappen uit de taal die compilatie moeilijk maakten. De eerste implementatie, voor deIBM 7094, werd geschreven toen Richards het Project MAC bezocht aan deMIT in de lente van 1967. De taal werd eerst beschreven in een verspreide publicatie tijdens de Spring Joint Computer Conference in 1969.
BCPL valt op doordat er geen typen zijn, waardoor bij ieder gebruik van eenidentifier moet worden aangegeven wat de bedoeling is, en er geen controle is op verkeerd gebruik. Het is bijvoorbeeld geoorloofd (maar niet erg zinvol) om het adres van een variabele te vermenigvuldigen met het adres van een functie.
Enkele voorbeelden van de syntaxis:
A:=!B | B is een adres. Sla de waarde op adres B op in A, |
C!4:=!(B+3) of liever C!4:=B!3 | B en C zijn het beginadres van arrays. Kopieer element 3 van array B naar element 4 van array C, |
A:=D(5) | D is het adres van een subroutine. Roep subroutine D op met parameter 5, |
A:=D!(5) | D is het beginadres van een array. Tel 5 op bij D en sla de inhoud van dat adres op in A, |
In BCPL is het meestal niet nodig een puntkomma te schrijven tussen statements die op aparte regels staan.