Precompiler
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.<ref>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).</ref><ref>C. Neusius: Portable software in modular Pascal. In: SIGPLAN Not., 23, 12, Dezember 1988, S. 79–85, doi:10.1145/57669.57676</ref> 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.<ref>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-BuchsucheSkriptfehler: Ein solches Modul „Vorlage:GoogleBook“ ist nicht vorhanden.).</ref>
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.<ref>Don Chamberlin: A Complete Guide to DB2 Universal Database. 2. Auflage. Morgan Kaufman Publ, 1998, ISBN 1-55860-482-0, S. 150.</ref><ref>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-BuchsucheSkriptfehler: Ein solches Modul „Vorlage:GoogleBook“ ist nicht vorhanden.).</ref>
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.<ref>Edwin Schicker: Datenbanken und SQL. 3. Auflage. Teubner, 2002, ISBN 3-519-22991-9, S. 225 (eingeschränkte Vorschau in der Google-BuchsucheSkriptfehler: Ein solches Modul „Vorlage:GoogleBook“ ist nicht vorhanden.).</ref>
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
Einzelnachweise
<references />