Cobol 中可以添加内嵌注释吗

问题描述 投票:0回答:5

大多数现代编程语言都提供了添加“内联注释”的方法,通常使用换行符来指示注释的结束,并使用任意分隔符或标记序列来指示注释的开始,同时让开始该行是解释指令。 在 COBOL 中,虽然注释整行已有详细记录(可以通过在第 7 列中放置星号符号 (

*

) 来完成),但查找有关是否可以从任意位置开始注释行的其余部分的文档位置比较难。


问题是:你能在 COBOL 中注释从任意位置开始的一行的其余部分吗?

想象

#

是此类评论的特殊字符,以下是所寻求内容的虚构示例:


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


comments cobol
5个回答
11
投票

在 Cobol 2002 *> 中引入。请参阅

Cobol 2002

并搜索内嵌注释,其中给出了以下示例: 05 Field-X Pic XX *> Used in calculating the current THINGY ... MOVE ABC to XYZ *> Current-XYZ LMN *> Saved XYZ

还有其他一些例外情况

    Exec Sql - End-Exec
  • 中。对于某些 SQL 供应商(例如 Oracle),您可以使用内联注释 (/* */)。但这不是真正的 Cobol,而是一种嵌入式语言,通常通过预编译器实现。其他 Exec End-exec 语句也可能允许内嵌注释。 可能还有其他允许行内注释的 Cobols 实现
  • 默认情况下,许多 Cobol 20002 之前的编译器仅查看第 7 至 72 列。因此,
  • 第 1 至 6 列
  • 以及第 71 列之后的任何内容都可以保存注释。

6
投票
COBOL V5.1

将支持内联注释 摘自

发布亮点

引入浮动评论指示器以在任何地方创建评论 在程序文本区域 Enterprise COBOL for z/OS,V5.1 引入 浮动评论指示器('*>')。

您可以在任意位置指定它 程序文本区域,指示一行中的后续文本是 注释行或内嵌注释。

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


6
投票

例如。

SOME COBOL CODE -- DOUBLE DASH INDICATES COMMENT TO END OF LINE

然后编写一个程序来查找双破折号并让它删除 -- 和文本。
然后在编译 jcl 中,将源代码输入到程序中,并将输出输入到编译器中。简单的。使用 INSPECT 语句。

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

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


4
投票

    http://opencobol.add1tocobol.com/
  • OpenCOBOL 常见问题解答和操作方法。
  • http://opencobol.add1tocobol.com/OpenCOBOL%20Programmers%20Guide.pdf
  • (太棒了)
  • 在有限的时间内,它仍然是草案并开放征求意见

    http://www.cobolstandard.info/j4/files/std.zip
  • 当 COBOL 20xx 草案成为批准的 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 中,则您也对调试行混合了 FIXED 和 FREE 源文本支持。


0
投票

>>SOURCE [FORMAT IS] FREE | FIXED

...这对于那些当您想尝试另一种格式时假定一种格式的(在线)编译器可能很有用。代码...

>>SOURCE FORMAT IS FIXED

...当您想在默认为自由格式的在线编译器中尝试或测试固定格式代码时,作为程序的第一行,例如 
jdoodle

tutorialspoint 哪里...

IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. * comment DISPLAY 'Hello, world'. STOP RUN.

...以自由格式在第 7 列 * 处生成错误,添加编译器指令使编译器满意。

>>source format is fixed IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. * comment DISPLAY 'Hello, world'. STOP RUN.

而且,如果你真的想发起一场格式战争......

IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. >>source format is fixed * comment >>source format is free DISPLAY 'Hello, world'. STOP RUN.

© www.soinside.com 2019 - 2024. All rights reserved.