Comments 可以在Cobol中添加内联注释吗

Comments 可以在Cobol中添加内联注释吗,comments,cobol,Comments,Cobol,大多数现代编程语言都提供了一种添加方式,通常使用换行符来表示注释的结束,使用任意分隔符或标记序列来表示注释的开始,同时让行的开始成为解释指令 在COBOL中,虽然注释整行是有很好的文档记录的(可以通过在第7列中添加星号(*)来完成),但是查找关于是否可以注释从任意位置开始的行的其余部分的文档是很困难的 问题是:您能否在COBOL中注释从任意位置开始的行的其余部分 假设#是此类注释的特殊字符,下面是一个虚构的示例: *--- This structure is a dummy example

大多数现代编程语言都提供了一种添加方式,通常使用换行符来表示注释的结束,使用任意分隔符或标记序列来表示注释的开始,同时让行的开始成为解释指令

在COBOL中,虽然注释整行是有很好的文档记录的(可以通过在第7列中添加星号(
*
)来完成),但是查找关于是否可以注释从任意位置开始的行的其余部分的文档是很困难的

问题是:您能否在COBOL中注释从任意位置开始的行的其余部分

假设
#
是此类注释的特殊字符,下面是一个虚构的示例:

   *--- This structure is a dummy example
    01 MY-STRUCTURE.
        05 MY-VARIABLE PIC X VALUE '-'. # Valid values are in {-, a, b}
前Cobol 2002号

2002年,引入了Cobol*>。请参阅并搜索在线注释,其中给出了以下示例:

05 Field-X Pic XX *> Used in calculating the current THINGY
...
MOVE ABC to XYZ  *> Current-XYZ
             LMN *> Saved XYZ
还有其他一些例外

  • 在执行Sql-End Exec中。您可以对某些SQL供应商(例如Oracle)使用在线注释(/**/)。但这不是真正的Cobol,而是一种嵌入式语言,通常通过预编译器实现。Othere Exec End Exec语句也可能允许行内注释
  • 可能还有其他允许行内注释的COBOL实现
  • 默认情况下,许多COBOL2002之前的编译器只查看第7列到第72列。因此第1列到第6列以及第71列之后的任何内容都可以包含注释
    • 企业将支持内联注释

      引入浮动注释指示符以在任意位置创建注释 在程序文本区域enterprisecobolforz/OS中,V5.1引入了 浮动注释指示符('*>')

      您可以在中的任何位置指定它 程序文本区,用于指示行上的后续文本是 注释行或内联注释

      浮动注释指示符 指示注释行(如果它是注释行中的第一个字符串) 程序文本区域(区域A加区域B,第8-72列),或指示 内联注释,如果它位于 程序文本区


      不需要,但是当您将代码提交给编译器时,您可以编写一个程序来“包装”代码。我们20年前就这样做了

      比如说

         SOME COBOL CODE  -- DOUBLE DASH INDICATES COMMENT TO END OF LINE
      
      然后编写一个程序,查找双破折号,并让它删除-,以及文本。 然后在编译jcl中,将源代码输入程序,并将输出输入编译器。简单。使用INSPECT语句

       INSPECT LINE, TALLYING CHARACTERS BEFORE INITIAL "--".
       MOVE SPACES TO LINE(TALLY:),
      

      就这样。删除注释并发送到编译器

      COBOL文档。开放,免费

      • OpenCOBOL常见问题解答和操作指南
      • (棒极了)
      在有限的时间内,虽然它仍然是草案,并开放征求意见

      当COBOL20xx草案成为一个已批准的ISO标准时,最后一个链接几乎肯定会过期,并且除了来自ISO PL22 WG4源之外,实际上不需要重新分发

      COBOL支持固定和自由的源代码格式。FIXED较旧,基于80列卡片,第1列至第6列表示序列号,第7列表示指令,第8列至第72列表示程序文本

      第7列中的星号是固定格式的COBOL注释行

      OCOBOL* Sequence number field "OCOBOL" in this case, it can be anything
            * and comment line indicator
      
            *> inline comment, can be used for FREE format COBOL, as well as FIXED.
      
      有一个技巧;在第7列中放置星号,在第8列中放置大于符号,您就有了一个注释行,它可以在固定格式和自由格式COBOL中工作

      适用于遵循20xx草案和

      >>
      
      指令,还有另一个技巧可以帮助实现固定/免费源代码编译支持

      123456
          >>D free format debug line directives
      

      如果D在第7列,在第5和第6列中有两个大于,那么对调试行的固定源代码和自由源代码文本支持也是混合的。

      Enterprise COBOL只是COBOL的一个供应商实现。V5.1只是使IBMEnterpriseCobol更接近COBOL2002标准。最好说内联注释是作为COBOL2002标准的一部分引入的,任何实现该标准的供应商(如Microfocus)都将支持内联注释。以前的COBOL标准不支持内联注释。我使用描述性名称并将内容相互对齐。即使我能想出一个内联评论的理由,也没有空间。注释不会被编译。如果您想要“有效值”,请将其作为88级,并使用该级别进行实际验证和/或准确注释,这将是我的建议。为什么是“最现代的编程语言”?您是否有相关文件,或者您觉得有任何真正的理由来写它?可能是