The goal of this project is to develop a language-independent pre-processor that is programmable in Racket. Just like CPP and M4, the pre-processor reads input files and writes output files, operating some transformations on those files. The big difference between this pre-processor and other pre-processors comes, on one hand, from the model used to process the transformations and, on the other hand, from the programming language used to define those transformations.
More information in the Problem Statement