大多数现代编程语言都提供了添加内联注释的方法,通常是那些使用换行符表示注释结束的注释,以及用于指示注释开头的任意分隔符或标记序列,同时让行开头是一种解释性指令.
在COBOL中,虽然对整行进行注释已有详细记录(可以通过*
在第7列中添加星号符号()来完成),但是找到关于是否可以从任意位置开始注释其余行的文档更难.
问题是:你能否在COBOL的任意位置开始评论一行的其余部分?
想象一下这#
是这种评论的特殊性,这里是一个虚构的例子:
*--- This structure is a dummy example
01 MY-STRUCTURE.
05 MY-VARIABLE PIC X VALUE '-'. # Valid values are in {-, a, b}
Run Code Online (Sandbox Code Playgroud)
Pre Cobol 2002 No
在Cobol 2002*中被引入.参见Cobol 2002并搜索在线评论,这个例子如下:
05 Field-X Pic XX *> Used in calculating the current THINGY
...
MOVE ABC to XYZ *> Current-XYZ
LMN *> Saved XYZ
Run Code Online (Sandbox Code Playgroud)
还有一些例外
Enterprise COBOL V5.1将支持内联注释
来自发布亮点
引入浮动注释指示符以在程序文本区域的任何位置创建注释 Enterprise COBOL for z/OS,V5.1 引入了浮动注释指示符 ('*>')。
您可以在程序文本区域的任何位置指定它,以指示行上的后续文本是注释行还是内嵌注释。
浮动注释指示符表示注释行,如果它是程序文本区域中的第一个字符串(区域 A 加区域 B,第 8 - 72 列),或者如果它在程序文本中的一个或多个字符串之后,则表示行内注释。程序文本区。
不,但是当您将代码提交给编译器时,您可以编写一个程序来"WRAP"您的代码.我们20年前这样做了.
例如.
SOME COBOL CODE -- DOUBLE DASH INDICATES COMMENT TO END OF LINE
Run Code Online (Sandbox Code Playgroud)
然后编写一个程序,查找双破折号并删除 - 和文本.然后在编译jcl中,将源代码输入到程序中,并将输出输出到编译器.简单.使用INSPECT语句.
INSPECT LINE, TALLYING CHARACTERS BEFORE INITIAL "--".
MOVE SPACES TO LINE(TALLY:),
Run Code Online (Sandbox Code Playgroud)
就是这样.删除注释并发送给编译器.