1. A method for constructing syntax-directed search and modifications in program transformation systems, comprising: compiling a program, generated using a language specified by a grammar, into an executable, the language including at least one command for specifying any of searching, matching, and modifying operations on a source code representation using a syntax structure specification; and executing the executable on the source code representation to generate a target code representation, the executable configured to preserve format information of the source code representation by using program representations that preserve both syntax and formatting information of programs, wherein the executing comprises: searching based on the syntax structure specification and match criteria to match every occurrence of a syntax name in the source code representation, when only the syntax name is specified in the syntax structure specification.
1. A method for constructing syntax-directed search and modifications in program transformation systems, comprising: compiling a program, generated using a language specified by a grammar, into an executable, the language including at least one command for specifying any of searching, matching, and modifying operations on a source code representation using a syntax structure specification; and executing the executable on the source code representation to generate a target code representation, the executable configured to preserve format information of the source code representation by using program representations that preserve both syntax and formatting information of programs, wherein the executing comprises: searching based on the syntax structure specification and match criteria to match every occurrence of a syntax name in the source code representation, when only the syntax name is specified in the syntax structure specification. 3. The method of claim 1 , wherein the executing further comprises: replacing a syntax structure of the source code representation matching the syntax name with a replacement syntax structure, when a replace match action is specified in the syntax structure specification.