-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathCITATION.cff
More file actions
35 lines (35 loc) · 2.38 KB
/
CITATION.cff
File metadata and controls
35 lines (35 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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:
type: article
title: "GPP, the Generic Preprocessor"
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"
doi: "10.21105/joss.02400"
issn: "2475-9066"
journal: "Journal of Open Source Software"
license: "CC-BY-4.0"
year: 2020
month: 7
languages:
- en
abstract: "In computer science, a preprocessor (or macro processor) is a tool that programatically alters its input, typically on the basis of inline annotations, to produce data that serves as input for another program. Preprocessors are used in software development and document processing workflows to translate or extend programming or markup languages, as well as for conditional or pattern-based generation of source code and text. Early preprocessors were relatively simple string replacement tools that were tied to specific programming languages and application domains, and while these have since given rise to more powerful, general-purpose tools, these often require the user to learn and use complex macro languages with their own syntactic conventions. In this paper, we present GPP, an extensible, general-purpose preprocessor whose principal advantage is that its syntax and behaviour can be customized to suit any given preprocessing task. This makes GPP of particular benefit to research applications, where it can be easily adapted for use with novel markup, programming, and control languages."