See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Präprozessor – Wikipedia

Präprozessor

aus Wikipedia, der freien Enzyklopädie

Ein Präprozessor ist ein Computerprogramm, das einen Eingabetext konvertiert und das Ergebnis ausgibt. Die Programmiersprache C und das Textsatzprogramm TeX besitzen Makroprozessoren als Präprozessoren, die die Fähigkeiten des Gesamtsystems wesentlich erweitern. Auch PHP – eine verbreitete Skriptsprache zur Generierung von Webseiten – hat mit Präprozessoren zu tun, die Abkürzung steht für PHP: Hypertext Präprozessor.

Inhaltsverzeichnis

[Bearbeiten] Der C-Präprozessor

Der Präprozessor der Sprache C führt die folgenden Änderungen am Programmtext durch, bevor der eigentliche C-Compiler das Programm übersetzt:

  • Ersetzen von Trigraph-Symbolen wie ??=, ??(, ??) durch Symbole wie #,{,}
  • Ersetzen von Kommentartext durch Leerzeichen
  • Ersetzen von vordefinierten oder über #define definierten Makros
  • Bedingte Übersetzung von Zeilen, die zwischen #if, #ifdef, #ifndef und #endif stehen
  • Definition von Makros über #define
  • Einfügen von Dateien über #include

Ein wichtiges Einsatzgebiet des C-Präprozessors sind "Compile-Time-Schalter" (#if, #ifdef, #ifndef). Wird ein Programm übersetzt, kann der Entwickler mittels Compiler-Anweisungen Teile des Programms konfigurieren und für die aktuelle Anwendung anpassen, beispielsweise mit oder ohne Debug-Programmcode, Änderungen für unterschiedliche Prozessoren usw.

[Bearbeiten] Der FreeBASIC Präprozessor

Der Präprozessor von FreeBASIC funktioniert syntaktisch ähnlich wie der von C. Er interpretiert Präprozessoren wie #if, #endif, #ifdef, #else, #define und #include ähnlich oder gleich wie C. [1]

[Bearbeiten] Die Programmiersprache PHP

PHP verarbeitet normalerweise Webseiten. Eine Webseite wird eingelesen und unverändert wieder ausgegeben. Enthält die Seite jedoch PHP-Markierungszeichen wie <?php an einer beliebigen Stelle, so wird der Text zwischen diesen Zeichen und einem Endezeichen – normalerweise ?> – als PHP-Programm interpretiert. Das Programm wird ausgeführt und die Ausgabe des Programms erscheint an Stelle des Programmtexts in der Webseite.

PHP ist eine vollwertige Programmiersprache mit der beliebige Algorithmen implementiert werden können. Eine Seite, die die aktuelle Uhrzeit ausgibt, könnte so aussehen:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Aktuelle Uhrzeit</title>
</head>
<body>
<h1>Aktuelle Uhrzeit</h1>
<?php
  print strftime('Jetzt ist es %H Uhr, %M Minuten und %S Sekunden');
?>
</body>
</html>

Der PHP-Präprozessor wandelt dies z.B. um in

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Aktuelle Uhrzeit</title>
</head>
<body>
<h1>Aktuelle Uhrzeit</h1>
Jetzt ist es 14 Uhr, 30 Minuten und 21 Sekunden
</body>
</html>

Der Inhalt einer solchen Seite kann also dynamisch geändert 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:

Dynamische Webseite in PHP
Die dynamische Webseite im Browser (Ausschnitt)

[Bearbeiten] Referenzen

  1. deutschsprachige Befehlsreferenz zum Thema "Präprozessoren"

[Bearbeiten] Siehe auch


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -