1. A method for handling preprocessing in source code transformation, comprising: deconditioning an original source code to produce a parsable source code, the original source code including original preprocessing directives; parsing the parsable source code to produce an abstract syntax tree (AST) form, the AST form comprising annotations adapted to facilitate preservation of a style of the original source code; performing an AST-based transformation on the AST form to produce a modified AST form; and reconditioning the modified AST form to produce a modified source code conforming to the original source code style, the reconditioning comprising reconstructing a portion of the original preprocessing directives that was unaffected by the AST-based transformation.
1. A method for handling preprocessing in source code transformation, comprising: deconditioning an original source code to produce a parsable source code, the original source code including original preprocessing directives; parsing the parsable source code to produce an abstract syntax tree (AST) form, the AST form comprising annotations adapted to facilitate preservation of a style of the original source code; performing an AST-based transformation on the AST form to produce a modified AST form; and reconditioning the modified AST form to produce a modified source code conforming to the original source code style, the reconditioning comprising reconstructing a portion of the original preprocessing directives that was unaffected by the AST-based transformation. 2. The method of claim 1 , wherein the produced modified source code is semantically correct.