Gemaは、パターンマッチングの概念に基づいた汎用テキスト処理ユーティリティです。一般に、ユーザーが定義した一連のパターンで指定されたデータに特定の変換を実行しながら、入力ファイルを読み取って出力ファイルにコピーします。これは、cpp、grep、sed、awk、または文字列などのUnixユーティリティによって実行される種類のことを行うために使用できます。マクロプロセッサとして使用できますが、マクロ呼び出しがどのように見えるかについて特定の構文を課さないため、cppやm4よりもはるかに一般的です。