fbpx
维基百科

GnuCOBOL

GnuCOBOL (曾称OpenCOBOLGNU Cobol )是COBOL程式语言的免费版本,最初由Keisuke Nishida设计,由Roger While负责領導開發,最近的版本是由Simon Sobisch,Sergey Kashyrin,Ron Norman,Edward Hart和其他许多人领导。[2]

GnuCOBOL
原作者Keisuke Nishida, Roger While
開發者Edward Hart, Sergey Kashyrin, Ron Norman, Simon Sobisch and many others.
首次发布2002年1月25日,​21年前​(2002-01-25
当前版本
  • 3.2 (2023年7月28日;穩定版本)[1]
源代码库
  • sourceforge.net/p/gnucobol/code/HEAD/tree/
编程语言C,有使用 C++ 的分支版本
文件大小1 MB
语言英語、德語、義大利語、日語、西班牙語
类型程式語言
许可协议GPL with runtime libraries under LGPL
网站gnucobol.sourceforge.io/ 

历史 编辑

在Tiny COBOL上与Rildo Pragana合作时,Keisuke决定尝试建立相容於GNU編譯器套裝的COBOL 语言编译器,很快便成立了OpenCOBOL。 Keisuke担任首席开发人员到2005年和版本0.31為止,接著由Roger While領導,并于2007年12月27日发布了OpenCOBOL 1.0。 OpenCOBOL 1.1预先發表版本的工作一直持续到2009年2月。 2012年5月,开发转移到SourceForge ,將2009年2月的预先發表版本标记为发行版本。 [3] 2013年9月下旬,OpenCOBOL 语言被接受为GNU项目 ,更名为GNU Cobol,最后于2014年9月更名为GnuCOBOL。 [4] Ron Norman添加了一个Report Writer模块作为GnuCobol 2.0的一个分支,Sergey Kashyrin开发了一个使用C ++(而非C語言)作为中介的版本 。 [5]

目前最新的版本是2017年9月7日发布的v2.2 Final。

2015年6月17日,將GnuCOBOL 语言源代码(包括具有GNU Cobol和OpenCOBOL拼写的版本)的版权转让给自由软件基金会[6]

開發原則 编辑

開發者力求与COBOL语言标准保持一致,符合当前的COBOL 2014规范,并包含现有编译器中常见的功能,但並不保證其標準一致性的程度。 [7] 即便如此,2.2最终版本通过了NIST COBOL 85测试套件中,9708個測試中的9,688個(99.79%),删除了20个。 [8]

GnuCOBOL将COBOL 语言程序(原始码)转换为C語言,然後將C語言程式碼编译成電腦使用的機器語言代码(目标码),或其他程序可以呼叫(链接到)的库。 在UNIX和类似的操作系统(例如Linux )下,使用GNU C编译器;在微軟Windows系統 ,Microsoft的Visual Studio Express提供了C编译器。 两階段的编译通常可以由单个命令执行,但是使用者也可以選擇只編譯到C語言程式碼即可。 [9]

文件 编辑

2002年至2012年开发团队的官方主页是opencobol.org网站,也是上游开发資料的最佳来源。 [10] 但是最近的开发工作都在SourceForge项目空间 (页面存档备份,存于互联网档案馆)内进行,其中也包含最新的GnuCOBOL 语言文件和信息。

由Gary Cutler撰写的OpenCOBOL程式設計指南是根据GNU自由文档许可证发布的[9]已更新並包含GnuCOBOL 语言和Report Writer,并列在GnuCOBOL文件概述页面中。 [11]

範例程式 编辑

傳統寫法 编辑

000100* HELLO.COB GnuCOBOL example 000200 IDENTIFICATION DIVISION. 000300 PROGRAM-ID. hello. 000400 PROCEDURE DIVISION. 000500 DISPLAY "Hello, world!". 000600 STOP RUN. 

编译和执行:

$ cobc -x HELLO.COB $ ./HELLO Hello, world! 

现代,免费格式寫法 编辑

*> GnuCOBOL Hello World example identification division. program-id. hello. procedure division. display "Hello, world!"  end-display. goback. 

编译和执行:

$ cobc -x -free hello.cob $ ./hello Hello, world! 

最短寫法 编辑

使用GnuCOBOL 2.0中的寬鬆语法选项,最短的有效COBOL程式是一个空白文件。 编译和执行如下:

$ cobc -x -frelax-syntax ./empty.cob ./empty.cob: 1: Warning: PROGRAM-ID header missing - assumed $ ./empty $ 

对于早期版本和寬鬆的语法:

display"Hello, world!". 

编译和执行:

$ cobc -x -frelax-syntax -free hello.cob hello.cob: 1: Warning: PROGRAM-ID header missing - assumed hello.cob: 1: Warning: PROCEDURE DIVISION header missing - assumed $ ./hello Hello, world! 

任何版本的GnuCOBOL,GNU Cobol或OpenCOBOL,没有宽松的语法。 (注意,有7个前导空格,以符合FIXED布局COBOL源(FIXED layout COBOL source)):

 program-id.h.procedure division.display "Hello, world!". 

编译没有错误:

$ cobc -x smallest.cob $ ./smallest Hello, world! 

请注意,这些小程式並不是良好的COBOL語言程式碼; COBOL 语言設計目標是成为一种可读的英语编程语言。

實作 编辑

解析器和词法扫描器使用BisonFlexGPL许可编译器和LGPL许可的运行时库是用C语言编写的,并使用C ABI进行外部程序链接。

构建包装使用GNU Build System 。 使用make check进行标准测试使用需要指定 Autoconf ,通过make test运行的ANSI85测试套件使用Perl脚本。

设置GnuCOBOL编译的configure脚本具有以下选项:

  • 选择C编译器及其后期翻译编译选项
  • 用于ISAM支持的数据库管理系统
  • 包含iconv

可用版本 编辑

  • SourceForge发布1.0版。 [12]
  • 1.1版,由SourceForge发布[13]
  • SourceForge的2.0开发版本[14]
  • open-cobol Debian包。 [15]
  • 2.2最终,2017年9月7日从SourceForge发布[16]
  • 2.2源自SourceForge代码树的2017年9月发布的文档。

参考 编辑

  1. ^ "Release of GnuCOBOL 3.2"; 作者姓名字符串: Simon Sobisch; 作品或名稱的語言: 英語; 出版日期: 2023年7月28日; 检索日期: 2023年7月29日.
  2. ^ Tiffin, Brian. OpenCOBOL FAQ. 2013-10-19 [2013-12-13]. (原始内容于2020-11-26). 
  3. ^ Tiffin, Brian. OpenCOBOL FAQ. 2013-10-19 [2013-12-13]. (原始内容于2020-11-26). 
  4. ^ Tiffin, Brian. GNU Cobol is now a real thing. [2013-10-01]. (原始内容于2013-10-05). 
  5. ^ Sobisch, Simon. Work in Progress. 2013-11-06 [2019-08-10]. (原始内容于2020-05-10). 
  6. ^ Tiffin, Brian. State of the Project. [2015-07-23]. (原始内容于2016-03-07). 
  7. ^ OpenCOBOL FAQ. 2013-10-17 [2014-06-07]. (原始内容于2020-11-26). While OpenCOBOL can be held to a high standard of quality and robustness, the authors DO NOT claim it to be a “Standard Conforming” implementation of COBOL. 
  8. ^ OpenCOBOL FAQ. [2013-10-09]. (原始内容于2020-11-26). 
  9. ^ 9.0 9.1 Cutler, Gary. OpenCOBOL Programmer's Guide (PDF). Opencobol.addltocobol.com. [2012-11-20]. (原始内容 (PDF)于2019-09-27).  引用错误:带有name属性“ProgGuide”的<ref>标签用不同内容定义了多次
  10. ^ An open-source COBOL compiler. OpenCOBOL. [2012-11-20]. (原始内容于2015-09-11). 
  11. ^ Cutler, Gary. GnuCOBOL Guides. Opencobol.addltocobol.com. [2015-07-22]. (原始内容于2019-09-27). 
  12. ^ GnuCOBOL - Browse Files at. Sourceforge.net. 2007-12-27 [2015-10-28]. (原始内容于2019-08-10). 
  13. ^ GnuCOBOL downloads at SourceForge
  14. ^ GnuCOBOL downloads at SourceForge
  15. ^ Debian package details. [2019-08-10]. (原始内容于2019-08-10). 
  16. ^ GnuCOBOL downloads at SourceForge

外部链接 编辑

gnucobol, 此條目翻譯品質不佳, 2019年8月11日, 翻譯者可能不熟悉中文或原文語言, 也可能使用了機器翻譯, 請協助翻譯本條目或重新編寫, 并注意避免翻译腔的问题, 明顯拙劣的翻譯請改掛, href, template, html, class, redirect, title, template, href, wikipedia, html, class, redirect, title, wikipedia, 提交刪除, 曾称opencobol, cobol, 是cobol程式语言的免费版本, 最. 此條目翻譯品質不佳 2019年8月11日 翻譯者可能不熟悉中文或原文語言 也可能使用了機器翻譯 請協助翻譯本條目或重新編寫 并注意避免翻译腔的问题 明顯拙劣的翻譯請改掛 a href Template D html class mw redirect title Template D d a a href Wikipedia CSD html G13 class mw redirect title Wikipedia CSD G13 a 提交刪除 GnuCOBOL 曾称OpenCOBOL GNU Cobol 是COBOL程式语言的免费版本 最初由Keisuke Nishida设计 由Roger While负责領導開發 最近的版本是由Simon Sobisch Sergey Kashyrin Ron Norman Edward Hart和其他许多人领导 2 GnuCOBOL原作者Keisuke Nishida Roger While開發者Edward Hart Sergey Kashyrin Ron Norman Simon Sobisch and many others 首次发布2002年1月25日 21年前 2002 01 25 当前版本3 2 2023年7月28日 穩定版本 1 源代码库sourceforge wbr net wbr p wbr gnucobol wbr code wbr HEAD wbr tree wbr 编程语言C 有使用 C 的分支版本文件大小1 MB语言英語 德語 義大利語 日語 西班牙語类型程式語言许可协议GPL with runtime libraries under LGPL网站gnucobol wbr sourceforge wbr io Free and open source software主题 目录 1 历史 2 開發原則 3 文件 4 範例程式 4 1 傳統寫法 4 2 现代 免费格式寫法 4 3 最短寫法 5 實作 6 可用版本 7 参考 8 外部链接历史 编辑在Tiny COBOL上与Rildo Pragana合作时 Keisuke决定尝试建立相容於GNU編譯器套裝的COBOL 语言编译器 很快便成立了OpenCOBOL Keisuke担任首席开发人员到2005年和版本0 31為止 接著由Roger While領導 并于2007年12月27日发布了OpenCOBOL 1 0 OpenCOBOL 1 1预先發表版本的工作一直持续到2009年2月 2012年5月 开发转移到SourceForge 將2009年2月的预先發表版本标记为发行版本 3 2013年9月下旬 OpenCOBOL 语言被接受为GNU项目 更名为GNU Cobol 最后于2014年9月更名为GnuCOBOL 4 Ron Norman添加了一个Report Writer模块作为GnuCobol 2 0的一个分支 Sergey Kashyrin开发了一个使用C 而非C語言 作为中介的版本 5 目前最新的版本是2017年9月7日发布的v2 2 Final 2015年6月17日 將GnuCOBOL 语言源代码 包括具有GNU Cobol和OpenCOBOL拼写的版本 的版权转让给自由软件基金会 6 開發原則 编辑開發者力求与COBOL语言标准保持一致 符合当前的COBOL 2014规范 并包含现有编译器中常见的功能 但並不保證其標準一致性的程度 7 即便如此 2 2最终版本通过了NIST COBOL 85测试套件中 9708個測試中的9 688個 99 79 删除了20个 8 GnuCOBOL将COBOL 语言程序 原始码 转换为C語言 然後將C語言程式碼编译成電腦使用的機器語言代码 目标码 或其他程序可以呼叫 链接到 的库 在UNIX和类似的操作系统 例如Linux 下 使用GNU C编译器 在微軟Windows系統 Microsoft的Visual Studio Express提供了C编译器 两階段的编译通常可以由单个命令执行 但是使用者也可以選擇只編譯到C語言程式碼即可 9 文件 编辑2002年至2012年开发团队的官方主页是opencobol org网站 也是上游开发資料的最佳来源 10 但是最近的开发工作都在SourceForge项目空间 页面存档备份 存于互联网档案馆 内进行 其中也包含最新的GnuCOBOL 语言文件和信息 由Gary Cutler撰写的OpenCOBOL程式設計指南是根据GNU自由文档许可证发布的 9 已更新並包含GnuCOBOL 语言和Report Writer 并列在GnuCOBOL文件概述页面中 11 範例程式 编辑傳統寫法 编辑 000100 HELLO COB GnuCOBOL example 000200 IDENTIFICATION DIVISION 000300 PROGRAM ID hello 000400 PROCEDURE DIVISION 000500 DISPLAY Hello world 000600 STOP RUN 编译和执行 cobc x HELLO COB HELLO Hello world 现代 免费格式寫法 编辑 gt GnuCOBOL Hello World example identification division program id hello procedure division display Hello world end display goback 编译和执行 cobc x free hello cob hello Hello world 最短寫法 编辑使用GnuCOBOL 2 0中的寬鬆语法选项 最短的有效COBOL程式是一个空白文件 编译和执行如下 cobc x frelax syntax empty cob empty cob 1 Warning PROGRAM ID header missing assumed empty 对于早期版本和寬鬆的语法 display Hello world 编译和执行 cobc x frelax syntax free hello cob hello cob 1 Warning PROGRAM ID header missing assumed hello cob 1 Warning PROCEDURE DIVISION header missing assumed hello Hello world 任何版本的GnuCOBOL GNU Cobol或OpenCOBOL 没有宽松的语法 注意 有7个前导空格 以符合FIXED布局COBOL源 FIXED layout COBOL source pr ogram id h procedure division display Hello world 编译没有错误 cobc x smallest cob smallest Hello world 请注意 这些小程式並不是良好的COBOL語言程式碼 COBOL 语言設計目標是成为一种可读的英语编程语言 實作 编辑解析器和词法扫描器使用Bison和Flex GPL许可编译器和LGPL许可的运行时库是用C语言编写的 并使用C ABI进行外部程序链接 构建包装使用GNU Build System 使用make check进行标准测试使用需要指定 Autoconf 通过make test运行的ANSI85测试套件使用Perl脚本 设置GnuCOBOL编译的configure脚本具有以下选项 选择C编译器及其后期翻译编译选项 用于ISAM支持的数据库管理系统 包含iconv可用版本 编辑SourceForge发布1 0版 12 1 1版 由SourceForge发布 13 SourceForge的2 0开发版本 14 open cobol Debian包 15 2 2最终 2017年9月7日从SourceForge发布 16 2 2源自SourceForge代码树的2017年9月发布的文档 参考 编辑 Release of GnuCOBOL 3 2 作者姓名字符串 Simon Sobisch 作品或名稱的語言 英語 出版日期 2023年7月28日 检索日期 2023年7月29日 Tiffin Brian OpenCOBOL FAQ 2013 10 19 2013 12 13 原始内容存档于2020 11 26 Tiffin Brian OpenCOBOL FAQ 2013 10 19 2013 12 13 原始内容存档于2020 11 26 Tiffin Brian GNU Cobol is now a real thing 2013 10 01 原始内容存档于2013 10 05 Sobisch Simon Work in Progress 2013 11 06 2019 08 10 原始内容存档于2020 05 10 Tiffin Brian State of the Project 2015 07 23 原始内容存档于2016 03 07 OpenCOBOL FAQ 2013 10 17 2014 06 07 原始内容存档于2020 11 26 While OpenCOBOL can be held to a high standard of quality and robustness the authors DO NOT claim it to be a Standard Conforming implementation of COBOL OpenCOBOL FAQ 2013 10 09 原始内容存档于2020 11 26 9 0 9 1 Cutler Gary OpenCOBOL Programmer s Guide PDF Opencobol addltocobol com 2012 11 20 原始内容存档 PDF 于2019 09 27 引用错误 带有name属性 ProgGuide 的 lt ref gt 标签用不同内容定义了多次 An open source COBOL compiler OpenCOBOL 2012 11 20 原始内容存档于2015 09 11 Cutler Gary GnuCOBOL Guides Opencobol addltocobol com 2015 07 22 原始内容存档于2019 09 27 GnuCOBOL Browse Files at Sourceforge net 2007 12 27 2015 10 28 原始内容存档于2019 08 10 GnuCOBOL downloads at SourceForge GnuCOBOL downloads at SourceForge Debian package details 2019 08 10 原始内容存档于2019 08 10 GnuCOBOL downloads at SourceForge外部链接 编辑GNU站点 GnuCOBOL的官方发行版 页面存档备份 存于互联网档案馆 SourceForge net上的GnuCOBOL 日本开源COBOL联盟 页面存档备份 存于互联网档案馆 GnuCOBOL常见问题 页面存档备份 存于互联网档案馆 添加1ToCOBOL开源Cobol和OpenCOBOL宣传网站 页面存档备份 存于互联网档案馆 SourceForge net上的tiny cobol 新的COBOL 语言用户组 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title GnuCOBOL amp oldid 64136732, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。