GPP, the Generic Preprocessor

08/03/2020
by   Tristan Miller, et al.
0

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.

READ FULL TEXT
research
08/12/2018

Linguistic Relativity and Programming Languages

The use of programming languages can wax and wane across the decades. We...
research
06/20/2019

Deployable probabilistic programming

We propose design guidelines for a probabilistic programming facility su...
research
09/06/2022

Automatic Code Documentation Generation Using GPT-3

Source code documentation is an important artifact for efficient softwar...
research
01/28/2020

Beyond Notations: Hygienic Macro Expansion for Theorem Proving Languages

In interactive theorem provers (ITPs), extensible syntax is not only cru...
research
12/25/2017

General-Purpose Visual Language and Information System with Case-Studies in Developing Business Applications

Learning computer programming has been always challenging. Since the six...
research
07/05/2020

Starfish: A Prototype for Universal Preprocessing and Text-Embedded Programming

We present a novel concept of universal text preprocessing and text-embe...
research
05/27/2020

Towards a Catalogue of Software Quality Metrics for Infrastructure Code

Infrastructure-as-code (IaC) is a practice to implement continuous deplo...

Please sign up or login with your details

Forgot password? Click here to reset