Teil der Software eines Computers. Mit seiner Hilfe werden in einer »höheren Programmiersprache« abgefaßte Texte automatisch in den Code übersetzt, nach dem der Computer arbeitet. Dazu kontrolliert der C. die eingegebenen Texte u. a. darauf, ob die Syntax (Satzbau) der Programmiersprache eingehalten und die Logik nicht verletzt ist. Wird zunächst bis zu einer Zwischenstufe übersetzt, überträgt ein sog. Assembler das Programm endgültig in die Maschinensprache. In der Elektronik: Engl. compile, zusammenstellen. Übersetzungsprogramm, das ein in einer höheren Programmiersprache geschriebenes Programm (Quellprogramm) in eine dem Rechner verständliche Bitfolge (Maschinencode) über führt. Sogenannte höhere Programmiersprachen sind problemorientiert. Die Instruktionen und Programmelemente sind unserem Denken und dem jeweiligen Problem angepaßt. Der Rechner kann jedoch nur Programme abarbeiten, die bis in Elementaroperationen zerlegt sind. Diese Zerlegung wird vom C. vorgenommen. Dabei kann ein Komplexbefehl zu einigen hundert Elementarbefehlen führen. Durch die Übersetzung wird die Befehlsabarbeitung langsamer, jedoch wird die Programmierung wesentlich einfacher. Programmübersetzer, ein Programm bzw. Programmpaket, das einen in einer höheren Programmiersprache (z.B. C, C + + ) erstellten Quelltext en bloque in einen Zielcode umsetzt (im Unterschied zu einem Interpreter, der sequentiell arbeitet). Der entstandene Zielcode kann Maschinencode, Assembler oder eine universelle Zwischensprache (P-Code) sein. Die Programmübersetzung erfolgt in mehreren Schritten:
1) Die lexikalische Analyse. Hier wird der Quellentext nach
Schlüsselwörtern, Zahlen, Bezeichnern usw. untersucht und für den nächsten Schritt
aufbereitet. Diese grammatikalischen Grundelemente heissen Morpheme.
2) Bei der Syntax- und semantischen Analyse wird nach unerlaubten Symbolen und Bezeichnern gesucht sowie die Anordnung der Morpheme, gemäss den Regeln der jeweiligen Programmiersprache, überprüft. Sollte hierbei ein Fehler auftreten, wird eine Syntax-Fehlermeldung ausgegeben. Des weiteren werden alle Kommentare und überflüssige Leerzeichen entfernt. Bei der semantischen Analyse werden Variablenvereinbarungen sowie die Datentypen auf ihre funktionelle Richtigkeit untersucht. Zur späteren Generierung des Zielcodes werden in dieser Phase ebenfalls die notwendigen Strukturbäume erstellt.
3) Durch die Codegenerierung werden die ermittelten Konstrukte gemäss ihrer Syntax in eine Folge von Maschinenbefehlen umgesetzt. Es entsteht ein Objektcode, der aber an sich noch nicht lauffähig ist.
4) Erst in der Phase des Linkens werden externe Programmbibliotheken (z.B. mathematische Funktionen, Ein- und Ausgabefunktionen) mit eingebunden und die noch relativen Adressen durch den Linker in absolute Adressen umgewandelt.
Das freie Technik-Lexikon. Fundierte Informationen zu allen Fachgebieten der Ingenieurwissenschaften, für Wissenschaftler, Studenten, Praktiker & alle Interessierten. Professionell dargeboten und kostenlos zugängig.
TechniklexikonModernes Studium der Physik sollte allen zugängig gemacht werden.