Abstract:
This thesis presents a study to produce a working Java-to-C# language transformer,
Java2C#, can partially convert legacy Java code (version 1.1 or earlier) to C#.
Java2C# was written in TXL (Turing eXtender Language) which is a programming
language designed to support computer program analysis and source transformation
tasks. A research on the similarities and differences between Java and C# is carried
out to know the areas that need transformation and to classify the required
transformations according to the level of difficulty. Then Java2C# transformer is
implemented, including requirements definition, design process, coding and testing.
The current Java2C# transformer can recognize and replace all of the major Java type
declarations (packages, classes and interfaces) and their member declarations with
the proper C# code. That includes (but is not limited to) transforming of: Initializers,
field declarations, constructors, methods, basic expressions and statements. Library
calls (APIs) and other Java technologies as applets, Java Server Pages and Servlets
are not included in this study. The Java2C# transformer modules, help files as well as
source code examples are available online [30].