Projects / minimac

minimac

Minimac is a minimalist, general purpose text macro processor. Its simplicity should make it particularly well suited as a front end preprocessor for little language compilers. It is meant to be simpler to use than m4. It uses an explicit argument stack, and user functions are defined by concatenation (similar to the Forth language). Macro expansion is delayed to the last possible moment. The software is currently in alpha release.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  03 Jul 2009 10:58

    Release Notes: This release fixes a bug which led to dictionary corruption when a user macro was redefined, adds an {undefine} built-in, and makes the {remove} built-in silently ignore a non-existent file.

    •  10 Jun 2009 04:11

      Release Notes: A portability bug that was preventing minimac from running properly on Slackware Unix was fixed.

      •  09 Jun 2009 02:33

        Release Notes: Deprecated code was removed from the {?>} built-in.

        •  08 Jun 2009 06:48

          Release Notes: As a major addition, a built-in was added for expanding an expression to the stack {?>}. In other words, output that is normally intended for stdout is instead collated in a buffer and pushed onto the stack. This serves as a primitive for user macros that format output. It also obviates the {bind} family of extension macros. The {match?} built-in was renamed to {same?}, so that the {match?} keyword is available for an eventual pattern matching built-in.

          •  05 Jun 2009 06:01

            Release Notes: A stack underflow check was added to {cat}. Mnemonic synonyms were added for stack operators. The {spin} and {_swap} stack operators were added. Parameter binding operators were added.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.