PräprozessorEin Präprozessor (seltener auch Präcompiler[1]) ist ein Computerprogramm, das Eingabedaten vorbereitet und zur weiteren Bearbeitung an ein anderes Programm weitergibt. Der Präprozessor wird häufig von Compilern oder Interpretern dazu verwendet, einen Eingabetext zu konvertieren und das Ergebnis im eigentlichen Programm weiterzuverarbeiten. Viele Programmiersprachen, zum Beispiel die Programmiersprache C sowie das Textsatzprogramm TeX besitzen Makroprozessoren als Präprozessoren, die die Möglichkeiten der jeweiligen Sprache zur Steigerung der Lesbarkeit von Programmtexten sowie zur Strukturierung und Modularisierung von Projekten wesentlich erweitern. PHP – eine verbreitete Skriptsprache zur Generierung von Webseiten – kann als Präprozessor für HTML gesehen werden. Im Bereich des CAD-Entwurfs, des CAM sowie der Finite-Elemente-Simulation wird häufig ein Präprozessor verwendet, um das entworfene Bauteil für die Weiterverarbeitung vorzubereiten. Hierzu gehören beispielsweise Arbeitsschritte wie Kombination mit einem anderen Bauteil, Aufteilung in Segmente, Gittererzeugung, Umsetzen in ein anderes Koordinatensystem usw. Programmiersprachen-PräprozessorenDer C-PräprozessorDer Präprozessor der Sprache C führt unter anderem die folgenden Änderungen am Programmtext durch, bevor der eigentliche C-Compiler das Programm übersetzt:[2]
Neben der einfachen Makroersetzung ist die bedingte Übersetzung mittels Der FreeBASIC-PräprozessorDer Präprozessor von FreeBASIC funktioniert syntaktisch ähnlich wie der von C. Er interpretiert Anweisungen wie #if, #endif, #ifdef, #else, #define und #include ähnlich oder gleich wie in C. Zusätzlich werden noch Optionen wie #include once (Kein wiederholtes Einschleusen) und #macro … #endmacro (Mehrzeiliges Macro) zur Verfügung gestellt.[3] Der TeX-PräprozessorDie Fähigkeiten des im TeX-Satzsystem eingebauten Präprozessors beschränken sich im Wesentlichen auf die Definition von Makros zur Zusammenfassung von Formatierungsbefehlen. Darauf aufbauend wurden im Laufe der Zeit umfangreichere Präprozessoren (genauer: Makrosammlungen) für mitunter sehr spezielle Anwendungsgebiete entwickelt, um den Umgang mit TeX für den Benutzer komfortabler zu gestalten. Prominentester Vertreter ist LaTeX, weitere Beispiele sind ConTeXt, BibTeX und MusiXTeX.[4][5] Die Programmiersprache PHPPHP ist eine Skriptsprache, die hauptsächlich zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird. Wenn der Webserver eine Anfrage empfängt, liest er eine PHP-Datei. Enthält die Datei PHP-Start- und Endmarken wie Eine Seite, die die aktuelle Uhrzeit ausgibt, könnte so aussehen: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Aktuelle Uhrzeit</title>
</head>
<body>
<h1>Aktuelle Uhrzeit</h1>
<p><?php print strftime('Jetzt ist es %H Uhr, %M Minuten und %S Sekunden'); ?></p>
</body>
</html>
Der PHP-Präprozessor wandelt dies z. B. um in <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Aktuelle Uhrzeit</title>
</head>
<body>
<h1>Aktuelle Uhrzeit</h1>
<p>Jetzt ist es 22 Uhr, 27 Minuten und 26 Sekunden</p>
</body>
</html>
Der Inhalt einer solchen Seite kann also bei Abruf dynamisch erstellt werden. PHP verhält sich also tatsächlich wie ein Vor- oder Präprozessor, da der Originaltext verändert und erst danach zum Browser gesendet wird. Präprozessor bei CAD, CAM und FEMEin in einem CAD-System entworfenes Bauteil, das mittels Finite-Elemente-Methode simuliert werden soll, muss zuvor mit einem Gitter überdeckt werden. Häufig sind zusätzlich Randbedingungen für die Simulation anzugeben, zum Beispiel, dass eine Seite des Bauteils fest eingespannt/verbunden ist, oder Drehzahl und Achse für eine Rotationsbewegung. Für derartige Angaben wird meist ein Präprozessor-Programm verwendet, der das entworfene Bauteil für die Weiterverarbeitung vorbereitet. Der Präprozessor muss sowohl das CAD-Format des Entwurfsprogramms einlesen können, als auch das Inputformat des FE-Lösers ausgeben können. Der Präprozessor bietet dann Eingabemasken für entsprechende Angaben. Aufgaben eines Präprozessors sind unter anderem auch:
Andere SprachenStylesheets der Sprache CSS können ebenfalls mit Präprozessoren erzeugt werden. Bekannte CSS-Präprozessoren sind Sass/SCSS und Less. Siehe auchWeblinksWiktionary: Präprozessor – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
Einzelnachweise
|