语言之间的转换(思想)
语言的转换就如同机器翻译一样,如果想从风格上做翻译,机器得理解这个程序。不过,感觉理解程序可能比理解自然语言还是要容易一些的,毕竟词法和语法分析是死的,可能的算法和数据结构也非常有限。
我觉得,可能的思路:
我觉得,可能的思路:
- 首先当然是需要把源语言的代码进行预处理,比如编程ast之类的
- 第二步就是一些高级的模式识别工作:对象的识别,算法的识别,模块及其接口的识别等等,需要支持多层次、可组合、适应微小变化的鲁棒识别。这一步是最难的,有可能很多模式识别不出来(想象一下有些人写的程序没人能看懂的话,机器更看不懂)
- 经过识别,源代码已经被表示成更加高层的结构形式,下面只要把这个形式用目标语言 render 出来就好
其实本质就是说把每一条语句的意义用另一种语言表述出来