2003 · 16 citations · 19 references
ComputingComputer ScienceNatural Language ProcessingProgramming LanguagesSoftware EngineeringAbstract Syntax TreesData PreprocessingData-flow AnalysisParsingSyntactic AnalysisText PreprocessingProgram ComprehensionXml EncodingXml Parsing
Transformations performed on source code by a preprocessor complicate the accurate reporting of information extracted to support program comprehension. Differences between the file input to the preprocessor and the output seen by parser-based analyzers creates a need for techniques to back-locate extracted information. To correctly map analysis results back to the preprocessor input files requires a record of the substitutions performed by the preprocessor. This record takes the form of a list, for each character, of the directives responsible for the character's inclusion in the preprocessor's output. We have developed algorithms to utilize the substitution history for the start and end tags of an XML element to correctly place the element in the unprocessed source. The use of substitution histories ensures that element relocation produces well-formed XML.
19
GXL: toward a standard exchange format
Richard C. Holt, Andreas Winter, Andy Schürr · 2002 · 235 citations
Preprocessor conditional removal by simple partial evaluation
Ira D. Baxter, Michael Mehlich · 2002 · 117 citations