@conference {DJF13, 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{\textendash}30}, publisher = {University of Szeged}, organization = {University of Szeged}, address = {Szeged, Hungary}, 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.}, author = {Daniel, Dan and Jarzabek, Stan and Rudolf Ferenc} }