Zum Inhalt springen

Compiler (Programm)

Daniel Haenle | Aktualisiert: 8. März 2023

Ein Compiler ist ein Programm oder eine Reihe von Programmen, die in einer Programmiersprache geschriebenen Quellcode in eine andere Computersprache umwandeln, in der Regel, um ein ausführbares Programm zu erstellen. Compiler werden in der Regel verwendet, um Quellcode, der in Hochsprachen wie Java, C++ und Python geschrieben wurde, in einfache Maschinensprachen umzuwandeln, die vom Prozessor des Geräts, auf dem sie laufen, ausgeführt werden können.

Compiler erfüllen bei der Softwareentwicklung zwei Hauptfunktionen: Erstens erleichtern sie es den Entwicklern, schnell korrekten Code zu schreiben, und zweitens sorgen sie für eine effiziente Nutzung der Hardwareressourcen, indem sie von Menschen lesbare Anweisungen in rohen Maschinencode übersetzen (kleinere Dateien und schnellere Ausführung). Auf diese Weise tragen Compiler dazu bei, die Entwicklungszeit und -kosten erheblich zu senken. Außerdem bieten sie verschiedene Optimierungen gegenüber nicht kompilierten Programmen, wie z.B. schnellere Ladezeiten und verbesserte Sicherheit durch höhere Qualitätskontrollmaßnahmen während der Kompilierung – in einigen Fällen werden potenzielle Probleme bereits vor Beginn der Laufzeit beseitigt.

Im Kern nehmen Compiler den Quellcode des Benutzers (z.B. .cpp-Dateien) als Eingabe und interpretieren ihn mithilfe einer lexikalischen Analyse eine syntaktische Einheit nach der anderen. Dieser Prozess wird als Lexing oder Tokenisierung bezeichnet, weil er Token verwendet, um Elemente wie Wörter, Phrasen oder Symbole aus der/den ursprünglichen Quelldatei(en) darzustellen. Das Ergebnis dieser Phase ist – nach der Beseitigung von Syntaxfehlern beim Parsen – ein Strom von Token, die durch Backend-Aktivitäten wie Optimierung (bei der redundante/überflüssige Operationen entfernt werden), semantische Evaluierung (um sicherzustellen, dass die Argumente dem erwarteten Typ entsprechen) und zielarchitekturabhängige Befehlsauswahl (maschinenspezifische Assemblerbefehle) weiterverarbeitet werden können. Letztendlich führen diese Aktivitäten zur Erstellung eines Objektcodes, der auf jedem Gerät mit kompatiblen Hardwarespezifikationen ausgeführt werden kann.

Daniel Haenle
Daniel Haenle
Daniel ist Mitbegründer der Onmylist GmbH, er ist Experte für Online-Marketing und Geschäftsprozessmanagement. Mit seinem Fokus auf SEO, Webdesign und Natural Language Generation treibt er Innovationen voran.
Relevante Glossareinträge
Nano Influencer

Nano-Influencer sind eine relativ neue, schnell wachsende Kategorie im Bereich des digitalen Marketings. Ein Nano-Influencer ist definiert als eine Person mit bis zu 10.000 Followern

Weiterlesen »
Impression Share

Der Impression Share ist ein Maß dafür, wie sichtbar Ihre Anzeigen im Web im Verhältnis zu ihrer maximal möglichen Reichweite sind. Sie ist eine der

Weiterlesen »
E-Mail Marketing

E-Mail-Marketing ist ein wesentlicher Bestandteil jeder gut durchdachten digitalen Marketingstrategie. Es ist eine Form des direkten Online-Marketings, bei der elektronische Post als primäres Kommunikationsmittel zwischen

Weiterlesen »
SEO

SEO-Glossar Das Onmylist SEO-Glossar ist eine umfassende Sammlung von Begriffen, die für das Verständnis des Bereichs der Suchmaschinenoptimierung wichtig sind.

Weiterlesen »
Cost per Click

Cost per Click (CPC) ist ein Preismodell für Online-Werbung, bei dem der Werbetreibende jedes Mal einen bestimmten Betrag zahlt, wenn seine Anzeige angeklickt wird. Es

Weiterlesen »
Traffic Estimator

Ein Traffic-Estimatorim Marketing ist ein Instrument, das Vermarktern hilft, das potenzielle Volumen, die Quellen und die Trends des Web-Traffics zu bewerten, den ihre Websites erhalten

Weiterlesen »