PCp3: A C Front End forPreprocessor Analysisand Transformation
Simple C program
What...
Outline
Common approaches
How pervasive isC preprocessor use?
The PCp3 Approach
Visualizing the mapping
The PCp3 Infrastructure
Event hooks
Backcalls
Example PCp3 analysis
C++ Language Featuresto replace uses of Cpp
Replacing macros with language-proper constants
PCp3 analysis will notice
Transformed code
How PCp3 compares
Future work
Summary
Extra slides.....
The C Preprocessor
Most definitions are simple
Difficult macros are used more than simple ones
Syntactic macroshinder lexical tools
Expansion mechanism
Nested macro expansion
Intentional programming group’s approach (MS)
Griswold & Atkinson’sapproach for TAWK
Multiple translation units
Details of processing entire source
Processing all the source code