0

我正在审查将 COBOL 代码迁移到 .NET 运行时的解决方案。我在网上找到的两个最有前途的解决方案是NetCOBOLMicro Focus Visual COBOL

NetCOBOL 直接编译为 MSIL 并具有 Visual Studio 集成。通过“直接编译”,我的意思是发出的 MSIL 代表 COBOL 代码中的实际调用。这与 MSIL 代码将对 COBOL 代码执行词法分析然后解释/执行它的方法形成对比。

Micro Focus Visual COBOL 肯定有 Visual Studio 集成,但我无法在网站上找到关于 COBOL 代码是直接编译为 MSIL 还是由解释器处理的明确答案。

我不确定我在这里使用的语义是否 100% 准确,但是对于如何更清楚地表达“直接编译”的发出代码和“解释”的发出代码之间的区别,我持开放态度。

4

2 回答 2

5

你应该做一个更好的互联网搜索,并将范围限制在 microfocus.com,

http://community.microfocus.com/microfocus/cobol/visual_cobol/w/wiki/470.managed-cobol-an-overview.aspx

然后你可以明显看到

ilgen 指令编译为 CIL

本文还说明 Visual COBOL 如何为 JVM 工作。

于 2012-09-17T06:22:55.067 回答
0

从来没有真正将 COBOL 用于任何事情。我想他们都会将它们编译为 CIL,可能使用 DLR。因此,也许要密切注意您分发的系统,如果它是 .NET 紧凑型安装,它将不支持 DLR。

老实说,我会用更现代的语言重写它,因为您可能必须更改代码才能在 .NET 框架上正常工作,因为您没有标准库。除非这些编译器中的任何一个都实现了标准库包装器。

C# 很容易理解,如果您使用动态类型,您可以使用 IronPython 或 IronRuby。

如果您打算使用 COBOL,我相信这两个编译器都会编译为 CIL,否则它们在技术上就是解释器或字节码编译器。我怀疑有人会制作编译为 CIL 的字节码编译器/解释器。

于 2012-09-17T02:00:49.467 回答