你們老師太牛了吧 這都行,是不是 你理解錯了,可能這個語言轉換是 簡體中文--->繁體中文--->英文

解决方案 »

  1.   

    让机器将C++转换为Java是绝对做不到的,必须精通2种语言的人手工转换,里面很多方法必须变通着转。
    C#和F#转换是完全没问题的,只要是.NET语言,VB.NET、C++.NET、C#、F#都可以互相转换。
      

  2.   

    老师给了我们一个代码,那个有点变态,不管输什么进去,都是输出hello world。老师叫我们改代码,实现简单的转化。有大神帮忙做么,我可以把代码发给你。
      

  3.   


    就这种程度还是可以的作的。
    打开源文件,把c++代码全替换成java,然后调用java编译器,然后执行。
      

  4.   

    如:将C++转换为Java
    这例子你你们老师举的还是你自己举的?只能是C#转VB.NET这种的吧
      

  5.   

    如果你学过编译原理,可以利用antlr这个工具,在语法文件里定义转换规则,然后用antlr生成代码。楼上有人说了,c++自动转成java是不可能的,因为数据类型很多不匹配。老师的要求可能也只是针对一些简单的数据类型匹配的情况。下面简述一下思路,以C#转Java为例:首先下载C#的语法文件,开头几行改为:grammar cs;options {
        memoize=true;
    //output=AST;  缺省是生成抽象语法树,需要改成template,具体参考antlr的手册
    output=template;
    rewrite=true;//加上这一句,直接生成转换后的代码
        language=CSharp2;
    }下面是很多语法规则,举一条为例:
    namespace_declaration:
    'namespace'   qualified_identifier   namespace_block   ';'? ;
    改成:
    namespace_declaration
    @init
    {
       StringBuilder sb = new StringBuilder();
    }:
    'namespace'   qualified_identifier   namespace_block   (t=';')? 
            { sb.Append("package " + $qualified_identifier.text + $namespace_block.text + $t.text);}
    -> template(s={sb.ToString()}) "<s>" ;这样,一句C#的namespace声明语句就会被自动翻译成java的package语句(当然,C#的命名空间和java的命名完全不同,这里只是说明大致思路)
    antlr用来做语言自动翻译和代码静态分析工具很合适,花上几个星期研究一下,将受益匪浅。
      

  6.   

    public static void SaySomething()
    {
      Console.WriteLine("请告诉我一些事情:");
      string text = Console.ReadLine()
      // 你们老师昨晚一定是被女友蹬掉了
      Console.WriteLine("你刚才说的是:hello world");
    }
      

  7.   

    同意楼上的一些人的观点,你们老师的脑袋肯定被驴踢了……实现转换真的是很难很难,我倒是很期望你们老师怎么做的,给我们也学习一下,上面这个代码,你想想吧,不管输进去什么,我都不管,我就输出个hello world 就是了……你们老师绝对是在忽悠你们啊,小子,赶快转专业
      

  8.   

    对,可以入手的路子是利用antlr,yacc这类词法分析工具,解出语法树,然后根据语法树做对应转换问题在c#和c++是两个不同语义的东西,最典型的比如,指针,内存申请,释放,这类工作,你在c#里就不怎么好替换了。所以,ls说如果你们老师真是这么要求滴,那么说脑袋被驴踢了我是同意滴
      

  9.   

    实际上我到时认为你们老师可能就是让你们学习一下有关词法分析,编译原理,BNF范式这类玩意如果真去做,那是非常困难滴。要知道即使SWIG,haxe这两个被经常提到的玩意,在经过这么多年的发展以后,然后只能算马马虎虎,聊胜于无!象征意义大于实用意义的东西
      

  10.   

    我现在也要写一个类似的代码,能不能把你之前写的代码发我一份。thank [email protected]