Configuring Software for Reuse with VCL

Abstract

Preprocessors such as cpp are often used to manage families of programs from a common code base. The approach is simple, but code instrumented with preprocessing commands may become unreadable and dificult to work with. We describe a system called VCL (variant configuration language) that enhances cpp to provide a better solution to the same problem. The main extensions have to do with propagation of parameters across source files during VCL processing, the ability to adapt source files for reuse depending on the reuse context, and the ability to form general templates to represent any group of similar program structures (methods, functions, classes, files, directories) in generic, adaptable form. In the paper, we describe salient features of VCL, explain how they alleviate some of the problems of cpp, and illustrate reuse capabilities of VCL with an example.

Publication
Proceedings of the 13th Symposium on Programming Languages and Software Tools (SPLST 2013), Szeged, Hungary, Pages 16–30

BibTeX:

@InProceedings{DJF13,
    author    = {Daniel, Dan and Jarzabek, Stan and Ferenc, Rudolf},
    title     = {Configuring Software for Reuse with {VCL}},
    booktitle = {Proceedings of the 13th Symposium on Programming Languages and Software Tools (SPLST 2013)},
    year      = {2013},
    pages     = {16--30},
    address   = {Szeged, Hungary},
    month     = aug,
    publisher = {University of Szeged},
}