如何在计算机上编译COBOL85程序

如何在计算机上编译COBOL85程序,cobol,Cobol,所以问题就出在这里:最近有人买了一台新的服务器PC来取代1985年以前的旧PC(我想知道从那时起每天工作是怎么可能的)。 他想把旧的COBOL软件放在那里,但他不愿意以任何方式把它重写成更好的东西 那么1985年cobol有编译器吗?对于现在的红帽linux?谷歌搜索发现opencobol和其他少数几个,但都将代码转换为c。。。似乎对我来说太过分了。 按要求更新 AIX是旧系统,一家名为make A cobol compiler for Windows的公司,但我可以向您保证,它一点也不便宜 一

所以问题就出在这里:
最近有人买了一台新的服务器PC来取代1985年以前的旧PC(我想知道从那时起每天工作是怎么可能的)。 他想把旧的COBOL软件放在那里,但他不愿意以任何方式把它重写成更好的东西

那么1985年cobol有编译器吗?对于现在的红帽linux?谷歌搜索发现opencobol和其他少数几个,但都将代码转换为c。。。似乎对我来说太过分了。
按要求更新

AIX是旧系统,一家名为make A cobol compiler for Windows的公司,但我可以向您保证,它一点也不便宜

一家名为make A cobol compiler for Windows的公司,但我可以向您保证,它一点也不便宜

将COBOL转换为C然后编译有什么问题?只要有效。早期C++环境以相同的方式实现:它们将C++转换成C,然后调用C编译器。 将COBOL转换为C允许他们使用高级抽象来实现C中的COBOL等价物。他们可以利用标准C库,还可以将COBOL数据访问代码转换为对广泛可用的数据库(如MySQL)的调用。最后,转换为C然后编译利用了代码生成过程中的大量开发工作。如果他们试图直接编译到目标代码,他们必须生成GNU编译器子系统所期望的中间代码,或者他们必须直接编译到目标代码。其中任何一个都比转换为C要复杂得多,这意味着COBOL编译器中出现错误的可能性要高得多

从我的角度来看,OpenCOBOL是值得研究的。请注意,他们说他们实现了“COBOL85和COBOL2002标准的大部分”。您可能希望确保他们实现了您需要的部分


我还建议您研究一下。

将COBOL转换为C然后编译有什么问题?只要有效。早期C++环境以相同的方式实现:它们将C++转换成C,然后调用C编译器。 将COBOL转换为C允许他们使用高级抽象来实现C中的COBOL等价物。他们可以利用标准C库,还可以将COBOL数据访问代码转换为对广泛可用的数据库(如MySQL)的调用。最后,转换为C然后编译利用了代码生成过程中的大量开发工作。如果他们试图直接编译到目标代码,他们必须生成GNU编译器子系统所期望的中间代码,或者他们必须直接编译到目标代码。其中任何一个都比转换为C要复杂得多,这意味着COBOL编译器中出现错误的可能性要高得多

从我的角度来看,OpenCOBOL是值得研究的。请注意,他们说他们实现了“COBOL85和COBOL2002标准的大部分”。您可能希望确保他们实现了您需要的部分


我还建议您研究一下。

您没有提到应用程序或AIX上次更新的时间。如果这些是在过去几年中更新的,则可以移植应用程序,而无需重新编译。您应该检查一下最初使用的是什么COBOL编译器,例如IBM、RM/COBOL、AcuCOBOL等。您可以购买一个仅运行时版本(将执行,但不编译),这比购买编译器便宜。

您没有提到应用程序或AIX上次更新的时间。如果这些是在过去几年中更新的,则可以移植应用程序,而无需重新编译。您应该检查一下最初使用的是什么COBOL编译器,例如IBM、RM/COBOL、ACUCOBL等。您可以购买一个仅运行时版本(将执行,但不编译),这比购买编译器更便宜。

实现这一点的标准方法称为迁移,包括将源文件转换为文本文件格式或与目标计算机兼容的文件类型,使用经批准的转换为文件并使用相位编码的兼容记录方法写入磁带的方法,或可能以ASN.xx模式写入磁盘或其他数据介质,传输到新计算机,然后读取文件(通过ASN.yy),并以本机或导入文件格式存储,然后,使用实用程序将其转换为sourcefile格式,或者通过运行程序开发环境访问本机文本文件或导入文件并将内容另存为本机sourcefile。对源代码或脚本代码执行手动检查和修改,然后编译程序并重复更改,直到获得工作版本。在新计算机上创建测试数据文件,并创建新的作业文件或宏以在开发环境中运行作业。经过全面测试后,程序可以使用从旧系统迁移过来的数据文件、实时宏或作业文件或新创建的作业文件实时运行,其方式与使用源代码大致相同。重要的一点是,在需要结构化数据文件的情况下,在发生任何新事务之前,必须将实时数据读入专门的数据采集或加载程序,以实现填充的数据库。当从AIX或其他版本的Unix移动到完全不同的操作系统时,如果文件格式转换器或导出器实用程序不处理行尾、换行符和记录结束符,则可能需要进行特定的转换。

执行此操作的标准方法称为迁移,包括以下步骤使用经批准的文件转换和写入方法,将源文件转换为与目标计算机兼容的文本文件格式或文件类型