gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] Re: Problem with nested Evaluates since OC 0.32


From: Roger While
Subject: [open-cobol-list] Re: Problem with nested Evaluates since OC 0.32
Date: Thu Jun 9 04:26:46 2005

Yes, indeed.
To retain the 88 level check, I have had to add a stack
to do this.
Have just updated CVS. Should be OK now.

Roger


At 09:47 09.06.2005 +0200, you wrote:
Hi Roger,

The following program runs with open-cobol-0.31 but not with open-cobol-0.32.
The new version seems to have problems with nested EVALUATES.

Regards Franklin

Test with open-cobol-0.31:
---------------------------
/home/fa0018>cobc hallo.cbl
/home/fa0018>./hallo
TEST 1
LNK-ABS-ISSUE


Compile with open-cobol-0.32:
---------------------------
/home/fa0018>cobc hallo.cbl
hallo.cbl: In section 'MAIN':
hallo.cbl:40: Error: 88 level invalid here

The program hallo.cbl:
---------------------------

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HALLO.

       DATA DIVISION.

       WORKING-STORAGE SECTION.
       01 FUNKTION    PIC X(32) VALUE 'TEST 1'.
       01 ABS-STATUS  PIC X(5)  VALUE 'ISSUE'.
       01 TMP-PTR USAGE IS POINTER VALUE NULL.

       LINKAGE SECTION.

       01 LNK-FUNKTION             PIC X(32).
       01 LNK-ABS-STATUS                   PIC X(05).
          88 LNK-ABS-ISSUE                   VALUE 'ISSUE'.
          88 LNK-ABS-RECEIVE                 VALUE 'RECEI'.
          88 LNK-ABS-SEND                    VALUE 'SEND '.

       PROCEDURE DIVISION.
       MAIN SECTION.

           SET TMP-PTR TO ADDRESS OF FUNKTION
           SET ADDRESS OF LNK-FUNKTION TO TMP-PTR

           SET TMP-PTR TO ADDRESS OF ABS-STATUS
           SET ADDRESS OF LNK-ABS-STATUS TO TMP-PTR

           DISPLAY LNK-FUNKTION

           EVALUATE TRUE
           WHEN LNK-ABS-RECEIVE

             EVALUATE LNK-FUNKTION
             WHEN 'INIT-KIDDATA'
                  DISPLAY 'INIT-KIDDATA'
             WHEN OTHER
                  DISPLAY 'OTHER 1'
             END-EVALUATE

           WHEN  LNK-ABS-ISSUE
                DISPLAY 'LNK-ABS-ISSUE'

           WHEN  OTHER
                DISPLAY 'OTHER 2'
           END-EVALUATE

           GOBACK.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]