我正在研究将COBOL代码迁移到.NET运行时的解决方案。我在网上找到的两个最有前途的解决方案是NetCOBOL和Micro Focus Visual COBOL。
NetCOBOL直接编译到MSIL并具有Visual Studio集成。通过“直接编译”,我的意思是发出的MSIL代表COBOL代码中的实际调用。这与一种方法形成对比,MSIL代码将对COBOL代码执行词法分析,然后解释/执行它。
Micro Focus Visual COBOL肯定有Visual Studio集成,但我无法在网站上找到关于COBOL代码是直接编译到MSIL还是由解释器处理的明确答案。
我不确定我在这里使用的语义是否100%准确,但我愿意接受如何更清楚地表达“直接编译”的发出代码与发出的代码之间的区别的建议这是“解释”。
答案 0 :(得分:5)
您应该进行更好的互联网搜索,并将范围限制为microfocus.com,
然后你可以看到
ilgen指令编译为CIL
本文还说明了Visual COBOL如何为JVM工作。
答案 1 :(得分:0)
从未真正使用过COBOL。我想他们都可以使用DLR将它们编译成CIL。因此,请密切注意您正在分发的系统,如果它是.NET紧凑型安装,它将不支持DLR。
我真的用更现代的语言重写它,因为你可能不得不改变代码才能在.NET框架上正常工作,因为你没有标准的库。除非这些编译器中的任何一个实现标准库包装器。
C#非常容易理解,如果你开始使用动态类型,你可以使用IronPython或IronRuby。
如果您已开始使用COBOL,我确信这两个编译器都编译为CIL,否则它们是技术上的解释器或字节码编译器。我怀疑有人会编译一个编译成CIL的字节码编译器/解释器。