www.wikidata.de-de.nina.az
m4 ist eine Makro Programmiersprache die von Brian Kernighan und Dennis Ritchie entwickelt wurde Inhaltsverzeichnis 1 Anwendung 2 Geschichte 3 Eigenschaften 4 Beispiel 5 Freie Implementierungen 6 Literatur 7 Weblinks 8 EinzelnachweiseAnwendung BearbeitenEin Makroprozessor ist ein Computerprogramm das Zeichenfolgen innerhalb eines Textes durch andere Zeichenfolgen ersetzt Es ermoglicht z B die Erstellung und Benutzung von wiederverwertbaren Textbausteinen in Textverarbeitungsprogrammen Geschichte BearbeitenMakroprozessoren waren weit verbreitet als Computerprogramme noch hauptsachlich in Assembler geschrieben wurden In diesen Anfangstagen der Computertechnik mussten Programmierer haufig immer wiederkehrende Textpassagen in ihren Programmen verwenden Bald fing man an einfache Moglichkeiten zu entwickeln Text wiederzuverwenden Schnell stellte sich heraus dass man nicht nur ganze Textpassagen wiederverwenden konnte sondern bei Bedarf auch einzelne Teile davon ersetzen und so komplexe Makros schreiben konnte M4 wurde 1977 entwickelt Es war die erste Makrosprache mit der Rational Fortran Ratfor implementiert wurde und ist heute Bestandteil der meisten Unix Varianten Ein Hauptanwendungsgebiet ist heutzutage das autoconf Tool des GNU Projektes Daruber hinaus wird es auch fur die Konfiguration des weit verbreiteten MTA sendmail verwendet Eigenschaften BearbeitenM4 bietet folgende Funktionen Ersetzen von Text Substituieren von Parametern Einfugen von Dateien Manipulation von Zeichenketten Bedingte Ausdrucke Arithmetische Ausdrucke Schnittstelle zum Betriebssystem Diagnosemoglichkeiten fur den ProgrammiererAnders als die meisten fruheren Makroprozessoren ist M4 nicht auf irgendeine spezielle Computer oder menschliche Sprache ausgelegt historisch wurde es jedoch entwickelt um den Ratfor Dialekt von Fortran zu unterstutzen Daruber hinaus ist M4 nicht nur Turing vollstandig sondern auch praktisch eine Programmiersprache Beispiel BearbeitenDas nachfolgende Codefragment ist ein einfaches Beispiel das z B als Teil einer HTML Bibliothek verwendet werden kann Es definiert ein Makro welches Kapitel automatisch nummeriert divert 1 define H2 COUNT 0 define H2 define H2 COUNT incr H2 COUNT dnl lt h2 gt H2 COUNT 1 lt h2 gt divert 1 dnl H2 Erstes Kapitel H2 Zweites Kapitel H2 Schluss M4 erzeugt daraus den folgenden Text lt h2 gt 1 Erstes Kapitel lt h2 gt lt h2 gt 2 Zweites Kapitel lt h2 gt lt h2 gt 3 Schluss lt h2 gt Freie Implementierungen BearbeitenEs gibt eine GNU Version von m4 FreeBSD NetBSD und OpenBSD liefern daruber hinaus eigene Implementierungen der M4 Sprache Literatur BearbeitenBrian W Kernighan and Dennis M Ritchie The M4 macro processor Technical report Bell Laboratories Murray Hill New Jersey USA 1977 1 Kenneth J Turner Exploiting the m4 macro language Technical Report CSM 126 Department of Computing Science and Mathematics University of Stirling Scotland September 1994 2 Rene Seindal GNU M4 Manual GNU Press 2004 3 Weblinks BearbeitenGNU m4 auf GNU orgEinzelnachweise Bearbeiten http wolfram schneider org bsd 7thEdManVol2 m4 m4 pdf http www cs stir ac uk kjt research pdf expl m4 pdf http www gnu org software m4 manual Abgerufen von https de wikipedia org w index php title M4 Programmiersprache amp oldid 189530674