Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenDienstag, 2. September 2014 

BCPL


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
BCPL ( Basic Combined Programming Language ) ist eine um 1967 von Martin Richards entwickelte kompilierte systemnahe Programmiersprache abgeleitet von der Combined/Cambrige Programming Language Es ist eine Sprache aus der ALGOL -Familie.

Vorteile von BCPL sind schnelle Erlernbarkeit Implementierung und leichte Portierbarkeit. Es ist hauptsächlich als "Bootstrapping Language" also als erste Sprache ein neues System.

Ein BCPL-Programm besteht aus einzelnen Funktionen rekursiv definiert sein dürfen der Funktionsaufruf erfolgt Wertparametern .

BCPL kennt als Datentyp nur das alle Variablen sind Verweise auf eine Speicherzelle je Operator kann die Variable als Integer Wert Vektor oder Beginn einer Funktion betrachtet werden typisiert). Es existieren ausschließlich lokale Bezeichner sowie globaler Vektor in dem im gesamten Programm Bezeichner (also auch die Funktionsnamen) zusammengefasst sind.

Der Inhalt einer Variablen wird als (darf auf der rechten Seite einer Zuweisung bezeichnet der Speicherort als L-Wert (darf auf linken Seite einer Zuweisung stehen.)

Die Operatoren lv und rv erlauben einen L-Wert als R-Wert zu interpretieren und (also eine Variable zu dereferenzieren.)

BCPL selbst stellt praktisch nur Funktionen Bit- und Wortmanipulation zur Verfügung alle anderen sind in zusätzlichen Bibliotheken zusammengefasst.

Ken Thompson versuchte BCPL auf die PDP-7 zu entwickelte dabei jedoch "versehentlich" eine eigene Sprache B aus der sich später C entwickelte.

Es gibt BCPL-Implementierungen für praktisch jedes bedingt durch die Typenlosigkeit eignet es sich nicht für 8-Bit Rechner. Leider sind die Implementierungen nicht quelltextkompatibel.

Die BCPL-Philosophie wird durch durch folgendes aus dem nur auf Englisch verfügbaren Buch BCPL-The language and its compiler illustriert:

The philosophy of BCPL is not one the tyrant who thinks he knows best lays down the law on what is what is not allowed; rather BCPL acts as a servant offering his services to best of his ability without complaint even confronted with apparent nonsense. The programmer is assumed to know what he is doing is not hemmed in by petty restrictions.

Übersetzung:

Die BCPL-Philosophie ist nicht die des Tyrannen alles besser weiß und Regeln erlässt was und was verboten ist. Stattdessen verhält sich mehr wie der Diener der seine Dienste Murren bestmöglich anbietet auch wenn ihm augenscheinlicher aufgetragen wird. Es wird stets vorausgesetzt dass Programmierer weiß was er tut. Er wird nicht durch kleinkarierte Einschränkungen eingeengt.

O-Code

Richards entwickelte in den späten 1960er Jahren einen Zwischencode der BCPL maschinenunabhängig machen sollte. Der Compiler erzeugt O-Code wobei das O für also Objektcode steht.

Der O-Code kann dann von einem Programm entweder interpretiert oder in spezifischen Maschinencode übersetzt werden. Diese Idee wurde und auch in neueren Compilern wie dem P-Code von UCSD-Pascal oder Java mit der Java Virtual Machine eingesetzt.

O-Code erlaubt die Trennung von generellen prozessorspezifischen Übersetzungsanforderungen. Die Portierung des BCPL-Compilers wurde durch seine Verwendung erleichtert und BCPL wurde schnell auf verschiedenen verfügbar.

Literatur

  • M. Richards C. Whitby-Strevens: BCPL - the language and its compiler . Cambridge University Press Cambridge 1980 ISBN 0-521-28681-6
  • Martin Richards: The Portability of the BCPL Compiler . Software - Practice and Experience Vol. Nr. 2 S.135-146 1971



Bücher zum Thema BCPL

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/BCPL.html">BCPL </a>