Columbus
Schema for C/C++ Preprocessing
László Vidács, Árpád
Beszédes and Rudolf Ferenc
File inclusion, conditional compilation and macro
processing has made the C/C++ preprocessor a powerful tool for
programmers. However, program code with lots of directives often causes
difficulties in program understanding and maintenance. The main source
of the problem is the difference between the code that the programmer
sees and the preprocessed code that the compiler gets. To aid program
comprehension we designed a C/C++ preprocessor schema (supplementing
the Columbus Schema for C++) and implemented a preprocessor which
produces both preprocessed files and schema instances. The instances of
the schema may be used to model: (1) preprocessor constructs in the
original source code, (2) the preprocessed compilation unit, and (3)
the transformations made by the preprocessor.
Keywords: C, C++, preprocessor, program understanding, schema, tool
interoperability, Columbus
Back