| About | Downloads | Documents | Links |

[Table of Contents]   [Next: Overview]

Gema --
a general purpose macro processor

David N. Gray <dgray@acm.org>
March 17, 1995
Revised May 21 and August 20, 1995, December 26, 2003, April 27, 2023, and February 21, 2024

1 Introduction

This document is the user manual for gema, a program whose name stands for general purpose macro processor. This is a utility program which is run as a shell command under Unix, Linux, Microsoft Windows, or Macintosh and can be used for performing conversions or translations of data files or extracting information from files.

The man page for gema provides a tutorial introduction and a brief reference summary, while this document provides a more detailed specification. It would probably be best to read the tutorial section first before reading the rest of this document. The command line options are fully documented in the man page, so will not be repeated here.

This version of the document is consistent with versions 1.2 through 2.0 of the program. (Note that the -version option can be used to check which version you are running.)

The official source code repository and additional information is at:
http://sourceforge.net/projects/gema/

Table of Contents

1 Introduction
2 Operational Overview
3 Notation
  3.1 Special characters
  3.2 Escape Sequences
  3.3 Recognizer arguments
4 Built-in Functions
  4.1 Numbers
  4.2 String functions
    4.2.1 Output formatting -- padding, filling, and wrapping
    4.2.2 String Comparison
    4.2.3 Case conversion
    4.2.4 Miscellaneous string functions
  4.3 Variables
  4.4 Files
    4.4.1 Pathname manipulation
    4.4.2 Using alternate input and output files
    4.4.3 File context queries
  4.5 Control flow functions
  4.6 Other operating system interfaces
  4.7 Definitions
  4.8 Setting Options
  4.9 Informational functions
5 Customized command-line processing
6 Exit codes
7 Status and Future development
8 Acknowledgments

[Table of Contents]   [Next: Overview]