cff-version: 1.2.0
title: GPP
abstract: "GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any one programming language makes it much more versatile than the C preprocessor (cpp), while its syntax is lighter and more flexible than that of GNU m4. There are built-in macros for use with C/C++, LaTeX, HTML, XHTML, and Prolog files."
authors:
  - family-names: Auroux
    given-names: Denis
    orcid: "https://orcid.org/0009-0006-4607-2546"
  - family-names: Miller
    given-names: Tristan
    orcid: "https://orcid.org/0000-0002-0749-1100"
license: "LGPL-3.0-or-later"
repository-code: https://github.com/logological/gpp/
keywords:
  - preprocessor
  - "macro processor"
message: "To refer to GPP in a publication, please cite the journal article in preferred-citation."
preferred-citation:
  authors:
    - family-names: Miller
      given-names: Tristan
      orcid: "https://orcid.org/0000-0002-0749-1100"
    - family-names: Auroux
      given-names: Denis
      orcid: "https://orcid.org/0009-0006-4607-2546"
  title: "GPP, the Generic Preprocessor"
  type: article
  doi: 10.21105/joss.02400
  issn: "2475-9066"
  journal: "Journal of Open Source Software"
  languages:
    - en
  license: "CC-BY-4.0"
  year: 2020
  month: 7
references:
- type: generic
  title: Single language
  authors:
  - family-names: Druskat
    given-names: Stephan
  year: '2021'
  languages:
    - en
- type: generic
  title: Three languages
  authors:
  - family-names: Druskat
    given-names: Stephan
  year: '2021'
  languages:
    - en
    - es
    - fr
