Imports System
Imports System.IO
Namespace PascalToCSharp
Class Program
Private Shared Sub Main()
Console.Write("Enter name file: ")
Dim fileName As String = Console.ReadLine()
If File.Exists(fileName) Then
Dim filePascal As StreamReader = File.OpenText(fileName)
Dim fileCSharp As StreamWriter = File.CreateText(fileName.Substring(0, fileName.Length - 3) & "cs")
Dim line As String
Do
line = filePascal.ReadLine()
If line IsNot Nothing Then
line = line.Replace("writeLn", "Console.WriteLine")
line = line.Replace(" = ", "==")
line = line.Replace(" :=", "=")
line = line.Replace("'", """")
line = line.Replace("begin", "{")
line = line.Replace("end;", "}")
line = line.Replace("end.", "}")
line = line.Replace("end", "}")
If (line.Contains("program ")) AndAlso (line.Substring(line.Length - 1) = ";") Then
line = line.Replace("program ", "class ")
line = line.Replace(";", vbLf & "{" & vbLf & " static void Main()" & vbLf & "{")
End If
If line.Contains("readLn(") Then
line = line.Replace("readLn(", "")
line = line.Replace(");", "")
line += " = Convert.ToInt32(Console.RadLine());"
End If
line = line.Replace("var", "")
If line.Contains(": integer;") Then
line = line.Replace(": integer;", "")
line = "int " & line.Trim() & ";"
End If
fileCSharp.WriteLine(line)
End If
Loop While line IsNot Nothing
filePascal.Close()
fileCSharp.Close()
End If
End Sub
End Class
End Namespace