2013-07-12 35 views
2

大多数现代编程语言提供一个方法来添加inline comments,通常那些使用换行符表示注释的结束,以及任意分隔符或令牌序列来表示开始的评论,同时让该行的开始部分为解释性指令。是否有可能加入联注释用Cobol

在COBOL中,虽然对整行进行评论有充分的文档记录(可以通过在第7列中加星号符号(*)来完成),找到关于是否可以评论行的其余部分任意位置更难。

的问题是:你可以发表评论在COBOL的任意位置开始的行的休息吗?

想象#是对这种评论的特殊字符,这里是什么seeked一个虚构的例子:

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

我使用描述性名称和相互排成一行。即使我能想到一个内联评论的理由,也不会有空间。评论没有被编译。如果你想要“有效值”,做为88级,并使用该级别进行实际验证和/或准确的评论,将是我的建议。为什么“最现代的编程语言”?你有没有关于这方面的文件,或者有什么真正的理由来写它? –

+0

[有没有办法在现代Cobol中写评论?](http://stackoverflow.com/questions/29111670/is-there-a-way-to-write-comments-in-modern-cobol) –

回答

3

前的Cobol 2002否

2002年Cobol语言*>进行了介绍。看到Cobol 2002和搜索在线评论,这给这个例子:

05 Field-X Pic XX *> Used in calculating the current THINGY 
... 
MOVE ABC to XYZ *> Current-XYZ 
      LMN *> Saved XYZ 

还有其他一些例外

  • EXEC SQL - 最终Exec的。你可以使用一段SQL商贩(例如甲骨文)的行注释(/ * * /)。这不是真正的Cobol,而是一种嵌入式语言,通常通过预编译器来实现。 Othere Exec End-exec语句也可以允许在线评论。
  • 的可能Cobols实现,使管线评论
  • 默认情况下,许多前期20002的Cobol编译器进行的列仅看7〜72所以列1至6列任何71可容纳的意见。
2

企业COBOL V5.1将支持在线评论

Release Highlights

推出浮动注释指示符在程序文本区域企业COBOL针对z/OS,V5随时随地 创建注释0.1介绍 浮动注释指示符(“*>”)。

您可以在程序文本区域的任意位置指定它,以表明随后的文本在一行上是 注释行或行内注释。

一个浮动注释指示符 表示注释行,如果它是在 程序文本区中的第一字符串(区域A加B区,柱8 - 72),或表示 内部注释如果是后一个或多个字符串在 程序文本区域。

+2

企业COBOL只是COBOL的一个供应商实现。 V5.1只是将IBM Enterprise COBOL带入COBOL 2002标准。最好说内联评论是作为COBOL 2002标准的一部分引入的,并且任何实现该标准的供应商(例如Microfocus)都将支持内联评论。之前的COBOL标准不支持内嵌评论。 – NealB

2

不,但您可以编写一个程序,以便在将代码提交给编译器时“写”代码。我们在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:), 

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

1

COBOL文档。开放,免费。

而且在有限的时间,而它仍然是草案,并公开征求意见

这最后一个环节几乎可以保证在到期COBOL 20xx草案成为已批准的ISO标准,除了来自ISO PL22 WG4来源之外,并非真正用于再分发。

COBOL支持FIXED和FREE源代码格式。 FIXED年龄较大,基于80列卡片,序列号为1至6,指令为7,程序文本为8至72。

第7列中的星号是COIXOL注释行的FIXED形式。

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这两个更大thans,你已经混合不动和用于调试行免费源文本支持。

相关问题