将Java代码移植到C#

时间:2012-01-25 15:28:35

标签: c# java porting

我需要创建一个移植软件,将Java代码转换为C#(反之亦然,但我会在之后研究)。该软件的目标对象是精通一种语言并且完全不了解另一种语言的人,并且如果您在一个平台上拥有非常好的源代码并希望在另一个平台上使用它而无需手动更改它。

我知道现有的作品与此类似,但我需要创建自己的作品(也是出于练习目的),我不确定如何开始。我考虑过制作一个C#项目,该项目将调用一个.Java源代码,并逐行浏览并将文本转换为C#的样子。示例:public class Car extends Vehicle {}更改为公共类Car:Vehicle {}并继续更改两种语言之间的差异。

这是正确的方法还有其他方法吗?

*注意:我已经找到了关于它的文章,我看到AST和Parsing出现了很多,以及几个解析器,如NRefactory。任何人都可以解释这些术语与我的问题有什么关系,解析器(NRefactory)如何工作?这些定义给了我一个概述,但我仍然不确定我是否理解这个概念。

1 个答案:

答案 0 :(得分:3)

Java具有C#中不存在的功能,而C#具有Java中不存在的功能,因此无法进行简单的一对一对应转换。

看看here,看看你会遇到什么问题。

解析器是正确转换另一种语言中不存在的一种语言的语法所必需的,因此您基本上需要构建一个interpreter,这不是一个简单的项目。

编译器和解释器一样基于语法分析器。您可以通过谷歌搜索在线找到许多有关编译器构造的优秀教程和资源。例如,here是一个很好的。