1. A user-extensible rule-based tool for modifying source code of a software application suitable to run on a source platform to be ported to a target platform, comprising: a rule definition interface configured to provide access for end users to establish rules for porting the source code to the target platform so that the software application can run on the target platform and to specify the relative location as one of a line before, a same line, and a same file, wherein the rule definition interface provides different templates to match different language constructs for different languages supported for the source code and the rules identify the relative location of each of the different lines of source code to be modified based upon a position of each of the different lines relative to other lines of source code; a processor configured to load a source code file of source code into a memory of a computer, parse the source code of the source code file into multiple different token sets, match the different token sets with the rules based upon the relative location of the rules, and generate suggested modifications to the source code according to selected matched ones of the rules; and a user interface for the end users to select modifications from the suggested modifications and apply the selected modifications to the source code.
1. A user-extensible rule-based tool for modifying source code of a software application suitable to run on a source platform to be ported to a target platform, comprising: a rule definition interface configured to provide access for end users to establish rules for porting the source code to the target platform so that the software application can run on the target platform and to specify the relative location as one of a line before, a same line, and a same file, wherein the rule definition interface provides different templates to match different language constructs for different languages supported for the source code and the rules identify the relative location of each of the different lines of source code to be modified based upon a position of each of the different lines relative to other lines of source code; a processor configured to load a source code file of source code into a memory of a computer, parse the source code of the source code file into multiple different token sets, match the different token sets with the rules based upon the relative location of the rules, and generate suggested modifications to the source code according to selected matched ones of the rules; and a user interface for the end users to select modifications from the suggested modifications and apply the selected modifications to the source code. 4. The tool of claim 1 , wherein the rule definition interface is configured to permit end users to formulate and assign a regular expression to a rule, the regular expression dynamically evaluating an assigned rule.