大多数现代编程语言都提供了添加“内联注释”的方法,通常使用换行符来指示注释的结束,并使用任意分隔符或标记序列来指示注释的开始,同时让开始该行是解释指令。 在 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 *> 中引入。请参阅
Cobol 2002 并搜索内嵌注释,其中给出了以下示例:
05 Field-X Pic XX *> Used in calculating the current THINGY
...
MOVE ABC to XYZ *> Current-XYZ
LMN *> Saved XYZ
还有其他一些例外情况
在
例如。
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 支持固定和免费源代码格式。 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 源文本支持。
>>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.