Pojawienie się |
1967 |
---|---|
Paradygmat |
wieloparadygmatowy (strukturalny, imperatywny, proceduralny) |
Typowanie |
brak |
Pochodne | |
Twórca |
BCPL (Basic Combined Programming Language) – język programowania zaprojektowany przez Martina Richardsa na Uniwersytecie w Cambridge w 1967 roku[1] jako wynik problemów z jego poprzednikiem – językiem CPL – w latach sześćdziesiątych. Pierwszy kompilator BCPL Richards napisał wiosną 1967 w czasie pobytu w MIT. Język został opisany w artykule zaprezentowanym na Spring Joint Computer Conference w 1969 roku. Na podstawie BCPL Dennis Ritchie później zaprojektował język programowania C.
BCPL powstał jako narzędzie do pisania kompilatorów, choć jednocześnie, w celu umożliwienia jego stosowania w programowaniu systemowym, zadecydowano, by jego składnia była prostsza niż miało to miejsce w przypadku CPL[2].
BCPL posiadał jeden typ danych – słowo maszynowe, którego długość w bitach zależała od docelowej architektury i była niezmienna w jej obrębie. Najczęściej zawierała się w zakresie od 16 do 36 bitów. Wszystkie wyrażenia i zmienne w języku przyjmowały wartość tego typu, która jednak mogła być odmiennie interpretowana w zależności od kontekstu[3].
Kompilator BCPL, również napisany w tym języku, składa się z trzech komponentów, które po kolei uczestniczą w kompilacji kodu. Pierwsze dwa (analizator składniowy i moduł tłumaczący) są prawie całkowicie niezależne od docelowej architektury. Ich wynikiem jest kod pośredni (nazywany OCODE). Za jego przetłumaczenie na kod maszynowy odpowiada ostatni komponent kompilatora – generator kodu, który musi być przystosowany do architektury docelowego komputera[2].
Stosowany przez kompilator kod pośredni był niezależny od docelowej architektury komputera. Można go porównać do języka asemblera dla pewnej abstrakcyjnej maszyny stosowej, na której opiera się definicja języka[4].