COBOL 指令末尾的点有什么影响

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

当我使用 SECTION 时,指令 COBOL 末尾的点有什么影响。看来终点很重要

有什么区别:

SELECT SECTION.
    MOVE xxx TO Bbb
    MOVE ccc TO HHHH
END-SELECT.
    EXIT.

并且

SELECT SECTION.
    MOVE xxx TO Bbb.
    MOVE ccc TO HHHH.
END-SELECT.
    EXIT.
cobol mainframe sections
1个回答
0
投票

句点 (

.
) 的位置会影响编译器如何解释代码并影响执行范围。区别在于 COBOL 编译器如何处理语句及其在使用句点时的终止。

  • COBOL 中的句号终止句子,即 COBOL 中的句子由一个或多个语句组成,后跟一个句点。

  • 在语句末尾省略句点意味着下一行被视为同一句子的一部分,直到遇到句点。

根据您的示例:

案例1:个人报表中没有句号

SELECT SECTION.
    MOVE xxx TO Bbb
    MOVE ccc TO HHHH
END-SELECT.
    EXIT.
  • 行为

    • 两个
      MOVE
      语句都被视为
      SELECT
      块内单个逻辑单元或句子的一部分。
    • 整个句子以
      END-SELECT.
      之后的句号结束。
    • 如果
      MOVE
      语句之一发生错误,编译器可能会拒绝整个句子(取决于错误)。
  • 范围

    • END-SELECT.
      之后的句点表示
      SELECT
      部分的终止,并且其之前的所有内容都分组在该块下。

案例2:个人陈述后有句点

SELECT SECTION.
    MOVE xxx TO Bbb.
    MOVE ccc TO HHHH.
END-SELECT.
    EXIT.
  • 行为

    • 每个
      MOVE
      语句都被视为一个单独的句子,因为每个语句都以句点结尾。
    • 一个
      MOVE
      语句中的错误不会影响后续语句(假设逻辑独立)。
    • 这提供了更精细的控制,并且在出现问题时可以更轻松地调试特定语句。
  • 范围

    • 每个语句都作为自己的逻辑单元独立执行,即使在
      SELECT
      部分内也是如此。
© www.soinside.com 2019 - 2024. All rights reserved.