Exercise
C# To Java
Objetive
Create a basic C# to Java translator.
It must accept a C# source files, and create an equivalent Java source file. It will receive the file name in the command line, and it must translate at least:
"Main()" into "main( String[] args )"
"string" into "String"
"bool" into "boolean"
"Console.WriteLine" into "System.out.println"
" : " into " extends " if it is in the same line as the word "class" (and any further improvements you may think of, such as strings handling, or converting a ReadLine to a try-catch block).
Example Code
using System;
using System.IO;
class CsharpToJava
{
static void Main(string[] args)
{
string line;
string name;
if (args.Length < 1)
name = Console.ReadLine();
else
name = args[0];
StreamReader iFile = File.OpenText(name);
StreamWriter oFile = File.CreateText(name + ".java");
do
{
line = iFile.ReadLine();
if (line != null)
{
line = line.Replace("bool ", "boolean ");
line = line.Replace("string ", "String ");
line = line.Replace("Console.WriteLine", "System.out.println");
oFile.WriteLine(line);
}
} while (line != null);
iFile.Close();
oFile.Close();
}
}