The MNI Macro Processor (MMP) is an embeddable, extensible, M4-compatible macro processor written in the Java programming language. The M4 macro processor is the macro processor in the Unix tool set. It was first described and implemented by Brian W. Kernighan and Dennis M. Ritchie. There is a sophisticated implementation of M4 as part of GNU, see GNU M4 ⇗, accompanied by a terrific user's manual.
MMP adds the following features:
- MMP provides an application programming interface (API) in Java
that allows Java programs to use macro processing facilities
directly.
- MMP uses Java objects to implement builtin macros as well as the
user defined macros given in the M4 language. This mechanism is
available via an abstract class and an API that allows to control
the macro processing engine of MMP. This means that it is possible
to implement M4 macros in tha Java programming language and
register them with the MMP processing engine. This mechanism
provides new applications of macro processing within Java
applications. MPA, e.g., uses some special macros written in Java.
Software engineering project group: MNI Macro Processor MMP. Fachhochschule Gießen-Friedberg
University of Applied Sciences JVM Programm, 131 KB, Stand 17.10.2023 |
Software engineering project group: MNI Macro Processor MMP -- Source code and
API documentation. Fachhochschule Gießen-Friedberg
University of Applied Sciences Zip Archivdatei, 239 KB, Stand 17.10.2023 |
The implementation of M4's eval in MMP is the MNI Integer Calculator.
Software engineering project group: MNI Integer Calculator MIC -- Source code and
API documentation. Fachhochschule Gießen-Friedberg
University of Applied Sciences Zip Archivdatei, 142 KB, Stand 17.10.2023 |
Der MNI Macro Processor MMP ist ein einbettbarer, erweiterbarer Makroprozessor, der kompatibel mit M4 ist und in Java geschrieben ist. Der M4 Makroprozessor ist der Makroprozessor unter den Unix-Werkzeugen – universell einsetzbar und nicht so bekannt, wie er es verdiente. Er stammt von Brian W. Kernighan und Dennis M. Ritchie. Eine erweiterte Version des M4 ist Teil des Gnu-Projekts, siehe GNU M4 ⇗. Dazu gibt es ein ganz ausgezeichnetes Handbuch.
MMP ist eine Implementierung von M4 in Java und bietet dadurch
folgende Zusatzeigenschaften:
- MMP hat eine API in Java, wodurch Java-Programme die
Möglichkeiten von M4 direkt nutzen können.
- Die in M4 eingebauten Makros wie auch benutzerdefinierte Makros
sind in MMP als Java-Objekte implementiert. Dadurch ist es
möglich, Makros nicht nur in der M4-Sprache, sondern in Java zu
schreiben. MMP stellt eine abstrakte Klasse zur Verfügung und
hat eine API zur Steuerung der eigentlichen Maschine, die die
Makroersetzung durchführt. Durch diesen Mechanismus kann man
ganz neue Anwendungen von Makrotechniken in Java-Programmen
erreichen. MPA benutzt z.B. spezielle Makros, die in
Java geschrieben sind.