https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Metaprogrammierung
Metaprogrammierung - Versionsgeschichte
2025-04-17T06:58:05Z
Versionsgeschichte dieser Seite in Wikipedia
MediaWiki 1.44.0-wmf.24
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=233766828&oldid=prev
Horst Gräbner: Komma
2023-05-16T07:40:22Z
<p>Komma</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 16. Mai 2023, 09:40 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 27:</td>
<td colspan="2" class="diff-lineno">Zeile 27:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Beispiele ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Beispiele ==</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Metaprogrammierung in homoikonischen Programmiersprachen ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Metaprogrammierung in homoikonischen Programmiersprachen ===</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das Makrosystem von [[Lisp]] und seinen Dialekten ist aufgrund der Homoikonizität der Sprache das mächtigste derzeit verfügbare Werkzeug zur Metaprogrammierung, da diese hier auf der Ebene der Programmstruktur, technisch also auf dem [[Parsebaum]] erfolgt. Dadurch ist es ohne Weiteres möglich, Lisp um neue Kontrollstrukturen zu erweitern, wie die folgende Definition in [[Common Lisp]] zeigt, die die [[Schleife %28Programmierung%29#While-Do-Schleife|WHILE-Schleife]] definiert.<ref>Patrick M. Krusenotto ''Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp'' Springer-Verlag 2016, ISBN 978-3-658-13743-4. Seite 275</ref> Eine solche ist in Common Lisp in der üblichen Form nicht enthalten.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Makrosystem von [[Lisp]] und seinen Dialekten ist aufgrund der Homoikonizität der Sprache das mächtigste derzeit verfügbare Werkzeug zur Metaprogrammierung, da diese hier auf der Ebene der Programmstruktur, technisch also auf dem [[Parsebaum]]<ins style="font-weight: bold; text-decoration: none;">,</ins> erfolgt. Dadurch ist es ohne Weiteres möglich, Lisp um neue Kontrollstrukturen zu erweitern, wie die folgende Definition in [[Common Lisp]] zeigt, die die [[Schleife %28Programmierung%29#While-Do-Schleife|WHILE-Schleife]] definiert.<ref>Patrick M. Krusenotto ''Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp'' Springer-Verlag 2016, ISBN 978-3-658-13743-4. Seite 275</ref> Eine solche ist in Common Lisp in der üblichen Form nicht enthalten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="lisp"></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="lisp"></div></td>
</tr>
</table>
Horst Gräbner
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=233445247&oldid=prev
2A01:C23:65E2:3300:5118:FC89:D4AC:4470: /* Metaprogrammierung in homoikonischen Programmiersprachen */"s" entfernt .
2023-05-04T20:54:01Z
<p><span class="autocomment">Metaprogrammierung in homoikonischen Programmiersprachen: </span>"s" entfernt .</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 4. Mai 2023, 22:54 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 27:</td>
<td colspan="2" class="diff-lineno">Zeile 27:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Beispiele ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Beispiele ==</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Metaprogrammierung in homoikonischen Programmiersprachen ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Metaprogrammierung in homoikonischen Programmiersprachen ===</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das Makrosystem von [[Lisp]] und seinen Dialekten ist aufgrund der Homoikonizität der Sprache das mächtigste derzeit verfügbare Werkzeug zur Metaprogrammierung, da diese hier auf der Ebene der Programmstruktur, technisch also auf dem [[Parsebaum]]<del style="font-weight: bold; text-decoration: none;">s</del> erfolgt. Dadurch ist es ohne Weiteres möglich, Lisp um neue Kontrollstrukturen zu erweitern, wie die folgende Definition in [[Common Lisp]] zeigt, die die [[Schleife %28Programmierung%29#While-Do-Schleife|WHILE-Schleife]] definiert.<ref>Patrick M. Krusenotto ''Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp'' Springer-Verlag 2016, ISBN 978-3-658-13743-4. Seite 275</ref> Eine solche ist in Common Lisp in der üblichen Form nicht enthalten.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Makrosystem von [[Lisp]] und seinen Dialekten ist aufgrund der Homoikonizität der Sprache das mächtigste derzeit verfügbare Werkzeug zur Metaprogrammierung, da diese hier auf der Ebene der Programmstruktur, technisch also auf dem [[Parsebaum]] erfolgt. Dadurch ist es ohne Weiteres möglich, Lisp um neue Kontrollstrukturen zu erweitern, wie die folgende Definition in [[Common Lisp]] zeigt, die die [[Schleife %28Programmierung%29#While-Do-Schleife|WHILE-Schleife]] definiert.<ref>Patrick M. Krusenotto ''Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp'' Springer-Verlag 2016, ISBN 978-3-658-13743-4. Seite 275</ref> Eine solche ist in Common Lisp in der üblichen Form nicht enthalten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="lisp"></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="lisp"></div></td>
</tr>
</table>
2A01:C23:65E2:3300:5118:FC89:D4AC:4470
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=225983009&oldid=prev
Zweitmädchen: Homoikonizität
2022-09-07T23:41:04Z
<p>Homoikonizität</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. September 2022, 01:41 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 48:</td>
<td colspan="2" class="diff-lineno">Zeile 48:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Ausführung dieses Programms führt dann zu Ausgabe der Zahlen von 0 bis 9.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Ausführung dieses Programms führt dann zu Ausgabe der Zahlen von 0 bis 9.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[XSL]] ist eine der wenigen ebenfalls homoikonischen Programmiersprachen. Sie beschreibt die Transformation von [[XML]]-Daten. Dabei ist XSL gleichzeitig valides XML, wodurch die <del style="font-weight: bold; text-decoration: none;">Homoikoniziät</del> gegeben ist.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[XSL]] ist eine der wenigen ebenfalls homoikonischen Programmiersprachen. Sie beschreibt die Transformation von [[XML]]-Daten. Dabei ist XSL gleichzeitig valides XML, wodurch die <ins style="font-weight: bold; text-decoration: none;">Homoikonizität</ins> gegeben ist.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Selbstmodifizierender Code ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Selbstmodifizierender Code ===</div></td>
</tr>
</table>
Zweitmädchen
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=208735895&oldid=prev
Aka: https, Links normiert, Kleinkram
2021-02-12T18:51:54Z
<p>https, Links normiert, Kleinkram</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 12. Februar 2021, 20:51 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen.<del style="font-weight: bold; text-decoration: none;"> </del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch den Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in [[Homoikonizität|homoikonischen]] Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[<del style="font-weight: bold; text-decoration: none;">Domänenspezifische_Sprache</del>|Domänenspezifischen Sprachen]].<del style="font-weight: bold; text-decoration: none;"> </del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch den Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in [[Homoikonizität|homoikonischen]] Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[<ins style="font-weight: bold; text-decoration: none;">Domänenspezifische Sprache</ins>|Domänenspezifischen Sprachen]].</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 11:</td>
<td colspan="2" class="diff-lineno">Zeile 11:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Klassifikation ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Klassifikation ==</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Metaprogrammierung lässt sich nach verschiedenen Gesichtspunkten einteilen:<ref>[<del style="font-weight: bold; text-decoration: none;">http</del>://www.infosun.fim.uni-passau.de/cl/lehre/sips1-ss06/Uebung/Metaprogrammierung.pdf Metaprogrammierung] – Skript Kapitel (Uni Passau; PDF, 195&nbsp;kB)</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Metaprogrammierung lässt sich nach verschiedenen Gesichtspunkten einteilen:<ref>[<ins style="font-weight: bold; text-decoration: none;">https</ins>://www.infosun.fim.uni-passau.de/cl/lehre/sips1-ss06/Uebung/Metaprogrammierung.pdf Metaprogrammierung] – Skript Kapitel (Uni Passau; PDF, 195&nbsp;kB)</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Nach Bearbeitungszeitpunkt:</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Nach Bearbeitungszeitpunkt:</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 17:</td>
<td colspan="2" class="diff-lineno">Zeile 17:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* dynamisch (zur Laufzeit)</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* dynamisch (zur Laufzeit)</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Nach Sprachen:<del style="font-weight: bold; text-decoration: none;"> </del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Nach Sprachen:</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* homogen (Metasprache ist Objektsprache)</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* homogen (Metasprache ist Objektsprache)</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* heterogen (sonst)</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* heterogen (sonst)</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 27:</td>
<td colspan="2" class="diff-lineno">Zeile 27:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Beispiele ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Beispiele ==</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Metaprogrammierung in homoikonischen Programmiersprachen ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Metaprogrammierung in homoikonischen Programmiersprachen ===</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das Makrosystem von [[Lisp]] und seinen Dialekten ist aufgrund der Homoikonizität der Sprache das mächtigste derzeit verfügbare Werkzeug zur Metaprogrammierung, da diese hier auf der Ebene der Programmstruktur, technisch also auf dem [[Parsebaum]]s erfolgt. Dadurch ist es ohne Weiteres möglich, Lisp um neue Kontrollstrukturen zu erweitern, wie die folgende Definition in [[Common Lisp]] zeigt, die die [[<del style="font-weight: bold; text-decoration: none;">Schleife_</del>%28Programmierung%29#While-Do-Schleife|WHILE-Schleife]] definiert.<ref>Patrick M. Krusenotto ''Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp'' Springer-Verlag 2016, ISBN 978-3-658-13743-4. Seite 275</ref> Eine solche ist in Common Lisp in der üblichen Form nicht enthalten.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Makrosystem von [[Lisp]] und seinen Dialekten ist aufgrund der Homoikonizität der Sprache das mächtigste derzeit verfügbare Werkzeug zur Metaprogrammierung, da diese hier auf der Ebene der Programmstruktur, technisch also auf dem [[Parsebaum]]s erfolgt. Dadurch ist es ohne Weiteres möglich, Lisp um neue Kontrollstrukturen zu erweitern, wie die folgende Definition in [[Common Lisp]] zeigt, die die [[<ins style="font-weight: bold; text-decoration: none;">Schleife </ins>%28Programmierung%29#While-Do-Schleife|WHILE-Schleife]] definiert.<ref>Patrick M. Krusenotto ''Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp'' Springer-Verlag 2016, ISBN 978-3-658-13743-4. Seite 275</ref> Eine solche ist in Common Lisp in der üblichen Form nicht enthalten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="lisp"></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="lisp"></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 54:</td>
<td colspan="2" class="diff-lineno">Zeile 54:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Schon in frühen Computersystemen wurden bisweilen Programme angewandt, die zur Laufzeit ihre eigene ausführbare ([[Maschinensprache]]-)Repräsentation bearbeiten.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Schon in frühen Computersystemen wurden bisweilen Programme angewandt, die zur Laufzeit ihre eigene ausführbare ([[Maschinensprache]]-)Repräsentation bearbeiten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Behelfsweise Metaprogrammierung in nicht-homoikonischen Programmiersprachen ===<del style="font-weight: bold; text-decoration: none;"> </del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Behelfsweise Metaprogrammierung in nicht-homoikonischen Programmiersprachen ===</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Textmakros in [[<del style="font-weight: bold; text-decoration: none;">C_</del>(Programmiersprache)|C]] gestatten es, mittels <code>#define</code>, dem C-Compiler einen Quelltext vorzulegen, der durch Makroexpansion entsteht. Das Verfahren war ursprünglich zur Herstellung von inline-Prozeduren gedacht. Es ist astabil und sehr fehleranfällig.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Textmakros in [[<ins style="font-weight: bold; text-decoration: none;">C </ins>(Programmiersprache)|C]] gestatten es, mittels <code>#define</code>, dem C-Compiler einen Quelltext vorzulegen, der durch Makroexpansion entsteht. Das Verfahren war ursprünglich zur Herstellung von inline-Prozeduren gedacht. Es ist astabil und sehr fehleranfällig.</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[C++-Metaprogrammierung]] bezeichnet die Technik der Metaprogrammierung innerhalb der Programmiersprache C++.<del style="font-weight: bold; text-decoration: none;"> </del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[C++-Metaprogrammierung]] bezeichnet die Technik der Metaprogrammierung innerhalb der Programmiersprache C++.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Noch einfachere Szenarien gehören genau genommen ebenfalls zur Metaprogrammierung, wie zum Beispiel die Erzeugung von [[JavaScript]]-Code für den Browser durch ein serverseitiges [[PHP]]-Skript oder andere Einsatzformen von [[Codegenerierung]]. Dabei kann fast jede Programmiersprache zum Einsatz kommen. Da die Programmerzeugung auch hier auf der Ebene des Quelltextes erfolgt, ist es ebenfalls sehr fehleranfällig.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Noch einfachere Szenarien gehören genau genommen ebenfalls zur Metaprogrammierung, wie zum Beispiel die Erzeugung von [[JavaScript]]-Code für den Browser durch ein serverseitiges [[PHP]]-Skript oder andere Einsatzformen von [[Codegenerierung]]. Dabei kann fast jede Programmiersprache zum Einsatz kommen. Da die Programmerzeugung auch hier auf der Ebene des Quelltextes erfolgt, ist es ebenfalls sehr fehleranfällig.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 72:</td>
<td colspan="2" class="diff-lineno">Zeile 72:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Weblinks ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Weblinks ==</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [<del style="font-weight: bold; text-decoration: none;">http</del>://www.infosun.fim.uni-passau.de/cl/lehre/sips1-ss06/Uebung/Metaprogrammierung.pdf Metaprogrammierung] – Skript Kapitel (Uni Passau; PDF, 195&nbsp;kB)</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [<ins style="font-weight: bold; text-decoration: none;">https</ins>://www.infosun.fim.uni-passau.de/cl/lehre/sips1-ss06/Uebung/Metaprogrammierung.pdf Metaprogrammierung] – Skript Kapitel (Uni Passau; PDF, 195&nbsp;kB)</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
</tr>
</table>
Aka
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=195188646&oldid=prev
ChristophDemmer am 24. Dezember 2019 um 13:01 Uhr
2019-12-24T13:01:48Z
<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 24. Dezember 2019, 15:01 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch den Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. </div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch den Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in <ins style="font-weight: bold; text-decoration: none;">[[Homoikonizität|</ins>homoikonischen<ins style="font-weight: bold; text-decoration: none;">]]</ins> Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
</tr>
</table>
ChristophDemmer
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=191933610&oldid=prev
193.28.249.20: /* Beispiele */ ergänzt
2019-09-03T09:53:24Z
<p><span class="autocomment">Beispiele: </span> ergänzt</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 3. September 2019, 11:53 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[XSL]] ist eine der wenigen ebenfalls homoikonischen Programmiersprachen. Sie beschreibt die Transformation von [[XML]]-Daten. Dabei ist XSL gleichzeitig valides XML, wodurch die Homoikoniziät gegeben ist.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[XSL]] ist eine der wenigen ebenfalls homoikonischen Programmiersprachen. Sie beschreibt die Transformation von [[XML]]-Daten. Dabei ist XSL gleichzeitig valides XML, wodurch die Homoikoniziät gegeben ist.</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== Selbstmodifizierender Code ===</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{Hauptartikel|Selbstmodifizierender Code}}</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Schon in frühen Computersystemen wurden bisweilen Programme angewandt, die zur Laufzeit ihre eigene ausführbare ([[Maschinensprache]]-)Repräsentation bearbeiten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Behelfsweise Metaprogrammierung in nicht-homoikonischen Programmiersprachen === </div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Behelfsweise Metaprogrammierung in nicht-homoikonischen Programmiersprachen === </div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 52:</td>
<td colspan="2" class="diff-lineno">Zeile 56:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Textmakros in [[C_(Programmiersprache)|C]] gestatten es, mittels <code>#define</code>, dem C-Compiler einen Quelltext vorzulegen, der durch Makroexpansion entsteht. Das Verfahren war ursprünglich zur Herstellung von inline-Prozeduren gedacht. Es ist astabil und sehr fehleranfällig.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Textmakros in [[C_(Programmiersprache)|C]] gestatten es, mittels <code>#define</code>, dem C-Compiler einen Quelltext vorzulegen, der durch Makroexpansion entsteht. Das Verfahren war ursprünglich zur Herstellung von inline-Prozeduren gedacht. Es ist astabil und sehr fehleranfällig.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[C++-Metaprogrammierung]] bezeichnet die Technik der Metaprogrammierung innerhalb der Programmiersprache C++. </div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[C++-Metaprogrammierung]] bezeichnet die Technik der Metaprogrammierung innerhalb der Programmiersprache C++. </div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Noch einfachere Szenarien gehören genau genommen ebenfalls zur Metaprogrammierung, wie zum Beispiel die Erzeugung von [[JavaScript]]-Code für den Browser durch ein serverseitiges [[PHP]]-Skript. Dabei kann fast jede Programmiersprache zum Einsatz kommen. Da die Programmerzeugung auch hier auf der Ebene des Quelltextes erfolgt, ist es ebenfalls sehr fehleranfällig.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Noch einfachere Szenarien gehören genau genommen ebenfalls zur Metaprogrammierung, wie zum Beispiel die Erzeugung von [[JavaScript]]-Code für den Browser durch ein serverseitiges [[PHP]]-Skript<ins style="font-weight: bold; text-decoration: none;"> oder andere Einsatzformen von [[Codegenerierung]]</ins>. Dabei kann fast jede Programmiersprache zum Einsatz kommen. Da die Programmerzeugung auch hier auf der Ebene des Quelltextes erfolgt, ist es ebenfalls sehr fehleranfällig.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Metaprogrammierung in der Psychologie ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Metaprogrammierung in der Psychologie ==</div></td>
</tr>
</table>
193.28.249.20
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=176672884&oldid=prev
93.243.81.140: grammatikfehler
2018-04-19T14:49:33Z
<p>grammatikfehler</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 19. April 2018, 16:49 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch <del style="font-weight: bold; text-decoration: none;">der</del> Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch <ins style="font-weight: bold; text-decoration: none;">den</ins> Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
</tr>
</table>
93.243.81.140
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=172167013&oldid=prev
2A02:908:4F2:BC80:4962:DC72:AB4B:2F3B: C++ Metaprogrammieurng ist nicht auf templates beschränkt. Der verlinkte Wikibeitrag sagt es sogar. Deswegen wurde der zusätzlichen Satz entfernt.
2017-12-21T12:17:54Z
<p>C++ Metaprogrammieurng ist nicht auf templates beschränkt. Der verlinkte Wikibeitrag sagt es sogar. Deswegen wurde der zusätzlichen Satz entfernt.</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2017, 14:17 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 51:</td>
<td colspan="2" class="diff-lineno">Zeile 51:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Textmakros in [[C_(Programmiersprache)|C]] gestatten es, mittels <code>#define</code>, dem C-Compiler einen Quelltext vorzulegen, der durch Makroexpansion entsteht. Das Verfahren war ursprünglich zur Herstellung von inline-Prozeduren gedacht. Es ist astabil und sehr fehleranfällig.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Textmakros in [[C_(Programmiersprache)|C]] gestatten es, mittels <code>#define</code>, dem C-Compiler einen Quelltext vorzulegen, der durch Makroexpansion entsteht. Das Verfahren war ursprünglich zur Herstellung von inline-Prozeduren gedacht. Es ist astabil und sehr fehleranfällig.</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[C++-Metaprogrammierung]] bezeichnet die Technik der Metaprogrammierung innerhalb der Programmiersprache C++<del style="font-weight: bold; text-decoration: none;">. Sie basiert auf C++-Templates</del>. </div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[C++-Metaprogrammierung]] bezeichnet die Technik der Metaprogrammierung innerhalb der Programmiersprache C++. </div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Noch einfachere Szenarien gehören genau genommen ebenfalls zur Metaprogrammierung, wie zum Beispiel die Erzeugung von [[JavaScript]]-Code für den Browser durch ein serverseitiges [[PHP]]-Skript. Dabei kann fast jede Programmiersprache zum Einsatz kommen. Da die Programmerzeugung auch hier auf der Ebene des Quelltextes erfolgt, ist es ebenfalls sehr fehleranfällig.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Noch einfachere Szenarien gehören genau genommen ebenfalls zur Metaprogrammierung, wie zum Beispiel die Erzeugung von [[JavaScript]]-Code für den Browser durch ein serverseitiges [[PHP]]-Skript. Dabei kann fast jede Programmiersprache zum Einsatz kommen. Da die Programmerzeugung auch hier auf der Ebene des Quelltextes erfolgt, ist es ebenfalls sehr fehleranfällig.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
</table>
2A02:908:4F2:BC80:4962:DC72:AB4B:2F3B
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=171324140&oldid=prev
Horst Gräbner: Die letzte Textänderung von 149.244.211.9 wurde verworfen; keine Verbesserung
2017-11-23T20:08:47Z
<p>Die letzte Textänderung von <a href="/wiki/Spezial:Beitr%C3%A4ge/149.244.211.9" title="Spezial:Beiträge/149.244.211.9">149.244.211.9</a> wurde verworfen; keine Verbesserung</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 23. November 2017, 22:08 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, durch Automatisierung<del style="font-weight: bold; text-decoration: none;"> Fehler</del> zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch der Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich,<ins style="font-weight: bold; text-decoration: none;"> Fehler</ins> durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch der Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
</tr>
</table>
Horst Gräbner
https://de.wikipedia.org/w/index.php?title=Metaprogrammierung&diff=171306288&oldid=prev
149.244.211.9 am 23. November 2017 um 12:55 Uhr
2017-11-23T12:55:55Z
<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 23. November 2017, 14:55 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich,<del style="font-weight: bold; text-decoration: none;"> Fehler</del> durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch der Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Metaprogrammierung''' ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, durch Automatisierung<ins style="font-weight: bold; text-decoration: none;"> Fehler</ins> zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch der Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von [[Domänenspezifische_Sprache|Domänenspezifischen Sprachen]]. </div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Grundkonzepte ==</div></td>
</tr>
</table>
149.244.211.9