Package mmp.engine

Provides the engine of the MNI macro processor mmp.

See:
          Description

Interface Summary
EngineContext The interface EngineContext gives macro objects access to the engine.
 

Class Summary
Engine The MNI macro processor engine.
Input Input is responsible for the management of the input sources of mmp.
Macro Abstract class that must be extended by the provider of a Java macro.
MacroRegistry The macroRegistry holds stacks of macros identified by name.
Output Output manages the diversions.
Settings Settings of the MNI macro processor.
 

Enum Summary
Macro.Style Enumeration classifying whether the macro needs parenthesis to be recognized as a macro.
Settings.CompatibilityLevel Levels of compatibility of builtin macros (MMP > GNU > POSIX).
 

Exception Summary
M4ExitException Exception that causes exit of mmp, used by 'm4exit.
RuntimeErrorException Exception for runtime errors during execution of the mmp engine.
SyntaxErrorException Exception for syntax errors in input.
 

Package mmp.engine Description

Provides the engine of the MNI macro processor mmp.

The class Engine contains the machine that processes macros.

The interface EngineContext gives the programmer of Java macros access to the current state of the engine, i.e. Input, Output, MacroRegistry and the Settings.

To program a Java macro, one must extend Macro, implementing Macro.call(java.util.List, EngineContext) and respect the contract of Macro.