Menu

#445 Repeated SECTION labels give syntax error.

unclassified
open
nobody
SECTION (1)
5 - default
2023-09-14
2023-09-13
Bill Fahle
No

Repeated unambiguous naming of section/paragraph combinations is not allowed. The following code produces the output after it on zOS COBOL 6.4. In GNU it gets syntax errors.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SECTST.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
          77 X PIC 99.
          77 Y PIC 99.
          77 Z PIC 99.
       PROCEDURE DIVISION.
       FIRSTY SECTION.
           MOVE 10 TO  X.
       PARA1.
           MOVE 25 TO Y.
           DISPLAY 'EVALUATE'
           EVALUATE X 
             WHEN 10 DISPLAY 'TEN'
             WHEN 25 DISPLAY 'TWENTYFIVE'
             WHEN OTHER DISPLAY 'OTHER'
           END-EVALUATE.
           DISPLAY 'END-EVALUATE'.
       SECOND SECTION.
       PARA1.
           ADD X Y GIVING Z.
       PARA2.
           ADD X Y GIVING Z.
       FIRSTY SECTION.
       PARA2.
           COMPUTE X = X + 4.
       PARA3.
           DISPLAY "X + Y = " Z.
           IF X IS EQUAL TO 14
              COMPUTE X = X + 1.
           PERFORM PARA1.
           PERFORM PARA1 IN FIRSTY.
           PERFORM PARA2.
           PERFORM PARA2 IN SECOND.
           DISPLAY "X " X.
           DISPLAY "Z " Z.
           STOP RUN.

Output:

EVALUATE
TEN
END-EVALUATE
X + Y = 35
EVALUATE
OTHER
END-EVALUATE
EVALUATE
OTHER
END-EVALUATE
X 19
Z 44

Discussion


Log in to post a comment.