5. A computer readable storage medium storing instructions which, when executed by a processor, cause the processor to perform a method for constructing syntax-directed search and modifications in program transformation systems, comprising: receiving, at a front end component, a syntax structure specification comprising a syntax structure, the syntax structure being associated with an action to be taken when the syntax structure is found in a source code representation by using program representations that preserve both syntax and formatting information of programs; and translating the syntax structure specification into at least one command for querying and manipulating on the source code representation to construct atomic syntax-directed search and modifications on the source code such that format information of the source code is preserved.
5. A computer readable storage medium storing instructions which, when executed by a processor, cause the processor to perform a method for constructing syntax-directed search and modifications in program transformation systems, comprising: receiving, at a front end component, a syntax structure specification comprising a syntax structure, the syntax structure being associated with an action to be taken when the syntax structure is found in a source code representation by using program representations that preserve both syntax and formatting information of programs; and translating the syntax structure specification into at least one command for querying and manipulating on the source code representation to construct atomic syntax-directed search and modifications on the source code such that format information of the source code is preserved. 17. The computer readable storage medium of claim 5 , wherein the syntax structure specification is defined using a grammar comprising: syntax_search = syntax_name ‘: match_actions syntax_name = string match_actions = match_action | match_action ‘: match_actions | match_action = ‘{match_crits‘} | ‘{match_crit‘}‘<match_attrs‘> match_crits = match_crit | match_crit‘, match_crits match_crit = ‘=‘$id | ‘=‘*id | ‘‘string | ‘$id | ‘*id match_attrs = match_attr | match_attr‘, match_attrs match_attr = string.