Ein Precompiler (auch Präkompilierer, Präcompiler, Vorkompilierer oder Vorübersetzer genannt) ist ein Computerprogramm in der Softwareentwicklung, das einen Quellcode in einem Durchlauf vor dem eigentlichen Compiler bearbeitet.[1][2] Precompiler kommen zum Einsatz, wenn mit einer bestehenden Programmiersprache (Zielsprache) neue Konstrukte mit einer eigenen Syntax verarbeitet werden sollen. Der Precompiler wandelt diese Konstrukte in solche der bestehenden Sprache um. Je nach Definition kann ein Precompiler auch die Aufgabe haben, Zwischencode für einen Interpreter zu erzeugen.[3]

Ein verbreitetes Beispiel hierfür ist Embedded SQL. Hier übersetzt ein Precompiler SQL-Anweisungen, die zum Beispiel in ein C-Programm eingefügt sind, in C-Code.[4][5]

Im Unterschied etwa zum Präprozessor der Programmiersprache C führt der Precompiler nicht nur einfache Textersetzungen (Zeichenfolge gegen Zeichenfolge) aus, sondern analysiert die neuen Syntaxelemente, prüft sie auf syntaktische Korrektheit und setzt sie dann in äquivalente, oft wesentlich komplexere Konstrukte der Zielsprache um.[6]

Darüber hinaus bietet ein Precompiler auch die Möglichkeit des frühen oder erweiterten Debuggings. Oft werden Precompiler auch in prozeduralen Programmiersprachen eingesetzt, um objektorientierte Programmierung oder andere fortschrittliche Programmiertechniken zu ermöglichen. Durch das Vorschalten eines Precompilers können bestehende Compiler also um neue oder verbesserte Features erweitert werden.

Siehe auch

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Andreas Leitner, Patrick Th. Eugster, Manuel Oriol, Ilinca Ciupa: Reflecting on an Existing Programming Language. In: Journal of Object Technology. 2007, S. 319–339 (jot.fm).
  2. C. Neusius: Portable software in modular Pascal. In: SIGPLAN Not., 23, 12, Dezember 1988, S. 79–85, doi:10.1145/57669.57676
  3. Peter Forbrig, Christian Horn, Immo O. Kerner: Lehr- und Übungsbuch Informatik 1. Grundlagen und Überblick. 3. Auflage. Hanser Fachbuchverlag, Leipzig 2003, ISBN 3-446-22543-9, S. 391 (eingeschränkte Vorschau in der Google-Buchsuche).
  4. Don Chamberlin: A Complete Guide to DB2 Universal Database. 2. Auflage. Morgan Kaufman Publ, 1998, ISBN 1-55860-482-0, S. 150.
  5. Jörg Fritze, Jürgen Marsch: Erfolgreiche Datenbankanwendung mit SQL 3. 6. Auflage. Vieweg+Teubner, 2002, ISBN 3-528-55210-7, S. 188 (eingeschränkte Vorschau in der Google-Buchsuche).
  6. Edwin Schicker: Datenbanken und SQL. 3. Auflage. Teubner, 2002, ISBN 3-519-22991-9, S. 225 (eingeschränkte Vorschau in der Google-Buchsuche).