IDENTIFICATION DIVISION.
PROGRAM-ID. FOO.
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO2.
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO2.
READ-STATEMENTS-1.
READ A
READ A
END-READ.
TIME-TO-EXIT.
EXIT.
LONEPARAGRAPH.
EXIT.
05 SW-KEY
PIC S9
COMP-3.
88 NO-KEY-PASSED
VALUE ZERO.
88 CONTRACT-KEY-ONLY
VALUE +1.
88 PLAN-KEY-ONLY
VALUE +2.
88 BOTH-KEYS-PASSED
VALUE +3.
05 SW-LOOP
PIC S9
COMP-3.
88 BEGIN-LOOP
VALUE +0.
88 LOOP-FINISHED
VALUE +1.
05 SW-CONTRIB-TYPE
PIC S9
COMP-3.
88 CONTRIB-TYPE-NOT-FOUND
VALUE +0.
88 CONTRIB-TYPE-FOUND
VALUE +1.
05 SW-CONTRIB-ID
PIC S9
COMP-3.
88 CONTRIB-ID-NOT-FOUND
VALUE +0.
88 CONTRIB-ID-FOUND
VALUE +1.
BEGIN-LOOP IS NOT NEGATIVE
NOT BEGIN-LOOP
NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
NOT BEGIN-LOOP
A NOT BEGIN-LOOP
A IS NOT BEGIN-LOOP
NOT LOOP-FINISHED
* Check for END-EVALUATE on EVALUATE.
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
WHEN OTHER
ADD 16
TO ZERO
GIVING RETURN-CODE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
WHEN OTHER
ADD 1016
TO ZERO
GIVING RETURN-CODE
END-EVALUATE
IF BEGIN-LOOP IS NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
Suggest replacing:
ADD 24
TO +987654321011
GIVING A
with:
ADD 24
TO +987654321011
GIVING A
END-ADD
Suggest replacing:
ADD 4.6
TO .5
GIVING A
with:
ADD 4.6
TO .5
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO 0
GIVING A
with:
ADD 1
TO 0
GIVING A
END-ADD
Suggest replacing:
ADD 98765432101
TO 0
GIVING A
with:
ADD 98765432101
TO 0
GIVING A
END-ADD
Suggest replacing:
ADD 1.0
TO 0.0
GIVING A
with:
ADD 1.0
TO 0.0
GIVING A
END-ADD
Suggest replacing:
ADD -1.0
TO -0.0
GIVING A
with:
ADD -1.0
TO -0.0
GIVING A
END-ADD
Suggest replacing:
ADD -23424
TO -987654321011
GIVING A
with:
ADD -23424
TO -987654321011
GIVING A
END-ADD
Suggest replacing:
ADD +224
TO +1
GIVING A
with:
ADD +224
TO +1
GIVING A
END-ADD
Suggest replacing:
ADD +0
TO -9.6
GIVING A
with:
ADD +0
TO -9.6
GIVING A
END-ADD
Suggest replacing:
READ A
with:
READ A
END-READ
Suggest replacing:
READ A NEXT RECORD
with:
READ A NEXT RECORD
END-READ
Suggest replacing:
READ A INTO B
with:
READ A INTO B
END-READ
Suggest replacing:
READ A NEXT RECORD INTO B
with:
READ A NEXT RECORD INTO B
END-READ
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD 16
TO ZERO
GIVING RETURN-CODE
with:
ADD 16
TO ZERO
GIVING RETURN-CODE
END-ADD
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD 1016
TO ZERO
GIVING RETURN-CODE
with:
ADD 1016
TO ZERO
GIVING RETURN-CODE
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
with:
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
TIME-TO-EXIT.
EXIT.
LONEPARAGRAPH.
EXIT.
Suggest replacing:
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
with:
EVALUATE TRUE
WHEN NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
WHEN OTHER
CONTINUE
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
WHEN OTHER
ADD 1016
TO ZERO
GIVING RETURN-CODE
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF BEGIN-LOOP IS NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
READ A
READ A
END-READ
READ A NEXT RECORD
READ A NEXT RECORD
END-READ
READ A INTO B
READ A INTO B
END-READ
READ A NEXT RECORD INTO B
READ A NEXT RECORD INTO B
END-READ
24
+987654321011
4.6
.5
98765432101
-1.0
-23424
-987654321011
+224
-9.6
16
1016
10
10
10
10
10
10
10
10
10
10
T4
T1
T3
T2
SIM-TITLE
CONTRIB-TYPE-FOUND
CONTRIB-TYPE-NOT-FOUND
SW-CONTRIB-TYPE
PLAN-KEY-ONLY
NO-KEY-PASSED
CONTRACT-KEY-ONLY
BOTH-KEYS-PASSED
SW-KEY
CONTRIB-ID-NOT-FOUND
CONTRIB-ID-FOUND
SW-CONTRIB-ID
SW-LOOP
SWITCHES
WORK-AREAS
SIM-COPYRIGHT
End of COBOL Style Checker Report for file C:/users/lakers/styletest.cob
--------------------------------------------------------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO.
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO2.
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO2.
ARDB-PROC SECTION.
USE FOR DEBUGGING ON
ALL PROCEDURES.
READ-STATEMENTS-3.
...
LITTLE SECTION.
IF BEGIN-LOOP IS NEGATIVE
ADD 1
TO A
...
READ-STATEMENTS-4 SECTION.
READ-STATEMENTS-3.
EXIT.
READ-STATEMENTS-3.
READ A.
ARDB-STEP-1.
READ-STATEMENTS-4.
IF READY-TRACE
THEN
DISPLAY DEBUG-NAME.
READ-STATEMENTS-3.
READ A INTO B.
READ-STATEMENTS-4.
READ A INTO B
END-READ.
READ-STATEMENTS-5.
READ A NEXT RECORD INTO B.
READ-STATEMENTS-5.
READ A NEXT RECORD INTO B
END-READ.
TIME-TO-EXIT.
EXIT.
READ-STATEMENTS-3.
EXIT.
05 SW-KEY
PIC S9
COMP-3.
88 NO-KEY-PASSED
VALUE ZERO.
88 CONTRACT-KEY-ONLY
VALUE +1.
88 PLAN-KEY-ONLY
VALUE +2.
88 BOTH-KEYS-PASSED
VALUE +3.
05 SW-LOOP
PIC S9
COMP-3.
88 BEGIN-LOOP
VALUE +0.
88 LOOP-FINISHED
VALUE +1.
05 SW-CONTRIB-TYPE
PIC S9
COMP-3.
88 CONTRIB-TYPE-NOT-FOUND
VALUE +0.
88 CONTRIB-TYPE-FOUND
VALUE +1.
05 SW-CONTRIB-ID
PIC S9
COMP-3.
88 CONTRIB-ID-NOT-FOUND
VALUE +0.
88 CONTRIB-ID-FOUND
VALUE +1.
BEGIN-LOOP IS NOT NEGATIVE
NOT BEGIN-LOOP
NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
NOT BEGIN-LOOP
A NOT BEGIN-LOOP
A IS NOT BEGIN-LOOP
NOT LOOP-FINISHED
IF READY-TRACE
THEN
DISPLAY DEBUG-NAME
* PERFORM 88-VARIABLE-TESTS.
* PERFORM EVALUATE-STATEMENTS 5 TIMES.
PERFORM NEXT-PERFORMS THROUGH READ-STATEMENTS-1
PERFORM READ-STATEMENTS-3 THRU READ-STATEMENTS-5
* Check for END-EVALUATE on EVALUATE.
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
WHEN OTHER
ADD 16
TO ZERO
GIVING RETURN-CODE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
WHEN OTHER
ADD 1016
TO ZERO
GIVING RETURN-CODE
END-EVALUATE
IF BEGIN-LOOP IS NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
Suggest replacing:
READ A
with:
READ A
END-READ
Suggest replacing:
READ A
with:
READ A
END-READ
Suggest replacing:
ADD 24
TO +987654321011
GIVING A
with:
ADD 24
TO +987654321011
GIVING A
END-ADD
Suggest replacing:
ADD 4.6
TO .5
GIVING A
with:
ADD 4.6
TO .5
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO 0
GIVING A
with:
ADD 1
TO 0
GIVING A
END-ADD
Suggest replacing:
ADD 98765432101
TO 0
GIVING A
with:
ADD 98765432101
TO 0
GIVING A
END-ADD
Suggest replacing:
ADD 1.0
TO 0.0
GIVING A
with:
ADD 1.0
TO 0.0
GIVING A
END-ADD
Suggest replacing:
ADD -1.0
TO -0.0
GIVING A
with:
ADD -1.0
TO -0.0
GIVING A
END-ADD
Suggest replacing:
ADD -23424
TO -987654321011
GIVING A
with:
ADD -23424
TO -987654321011
GIVING A
END-ADD
Suggest replacing:
ADD +224
TO +1
GIVING A
with:
ADD +224
TO +1
GIVING A
END-ADD
Suggest replacing:
ADD +0
TO -9.6
GIVING A
with:
ADD +0
TO -9.6
GIVING A
END-ADD
Suggest replacing:
READ A
with:
READ A
END-READ
Suggest replacing:
READ A NEXT RECORD
with:
READ A NEXT RECORD
END-READ
Suggest replacing:
READ A INTO B
with:
READ A INTO B
END-READ
Suggest replacing:
READ A NEXT RECORD INTO B
with:
READ A NEXT RECORD INTO B
END-READ
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD 16
TO ZERO
GIVING RETURN-CODE
with:
ADD 16
TO ZERO
GIVING RETURN-CODE
END-ADD
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD B
TO A
GIVING B
with:
ADD B
TO A
GIVING B
END-ADD
Suggest replacing:
ADD 1016
TO ZERO
GIVING RETURN-CODE
with:
ADD 1016
TO ZERO
GIVING RETURN-CODE
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
with:
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
with:
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
ADD 1
TO A
GIVING A
with:
ADD 1
TO A
GIVING A
END-ADD
Suggest replacing:
READ A
with:
READ A
END-READ
Suggest replacing:
* PERFORM 88-VARIABLE-TESTS.
* PERFORM EVALUATE-STATEMENTS 5 TIMES.
PERFORM NEXT-PERFORMS THROUGH READ-STATEMENTS-1
with:
Suggest replacing:
PERFORM READ-STATEMENTS-3 THRU READ-STATEMENTS-5
with:
TIME-TO-EXIT.
EXIT.
READ-STATEMENTS-3.
EXIT.
Suggest replacing:
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
with:
EVALUATE TRUE
WHEN BEGIN-LOOP
WHEN LOOP-FINISHED
ADD 1
TO A
GIVING A
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
with:
EVALUATE TRUE
WHEN NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
WHEN OTHER
CONTINUE
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
WHEN OTHER
ADD 1016
TO ZERO
GIVING RETURN-CODE
END-EVALUATE
EVALUATE A IS > B
WHEN TRUE
ADD B
TO A
GIVING B
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF READY-TRACE
THEN
DISPLAY DEBUG-NAME
IF BEGIN-LOOP IS NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT NEGATIVE
ADD 1
TO A
GIVING A
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUALS A
ADD 1
TO A
GIVING A
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
+ 1 NOT EQUAL A
ADD 1
TO A
GIVING A
ADD 1
TO LOOP-FINISHED
GIVING LOOP-FINISHED
EVALUATE A > B
WHEN BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE A > B
WHEN NOT BEGIN-LOOP
THROUGH
LOOP-FINISHED
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
EVALUATE NOT BEGIN-LOOP
WHEN TRUE
ADD 1
TO A
GIVING A
END-EVALUATE
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF A IS BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF A IS NOT BEGIN-LOOP
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT > 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT < 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF ROO-LOOP IS NOT EQUAL 10
ADD 1
TO A
GIVING A
END-IF
IF BEGIN-LOOP
OR LOOP-FINISHED
ADD 1
TO A
GIVING A
END-IF
IF NOT LOOP-FINISHED
AND A < B
ADD 1
TO A
GIVING A
END-IF
* PERFORM ARDB-PROC THRU BIG.
* PERFORM 88-VARIABLE-TESTS THROUGH LONEPARAGRAPH.
* GO TO 88-VARIABLE-TESTS.
* GO EVALUATE-STATEMENTS.
GO TO READ-STATEMENTS-1
READ-STATEMENTS-3
DEPENDING ON A
READ A
READ A
READ A
READ A
END-READ
READ A NEXT RECORD
READ A NEXT RECORD
END-READ
READ A INTO B
READ A INTO B
END-READ
READ A NEXT RECORD INTO B
READ A NEXT RECORD INTO B
END-READ
READ A
24
+987654321011
4.6
.5
98765432101
-1.0
-23424
-987654321011
+224
-9.6
16
1016
10
10
10
10
10
10
10
10
10
10
READ-STATEMENTS-5
READ-STATEMENTS-5
The identifier READ-STATEMENTS-5 is declared at both line 87 column 8
and at line 89 column 8.
READ-STATEMENTS-4
READ-STATEMENTS-4
The identifier READ-STATEMENTS-4 is declared at both line 85 column 8
and at line 161 column 8.
READ-STATEMENTS-3
READ-STATEMENTS-3
The identifier READ-STATEMENTS-3 is declared at both line 83 column 8
and at line 162 column 8.
READ-STATEMENTS-3
READ-STATEMENTS-3
The identifier READ-STATEMENTS-3 is declared at both line 83 column 8
and at line 38 column 8.
READ-STATEMENTS-4
READ-STATEMENTS-4
The identifier READ-STATEMENTS-4 is declared at both line 85 column 8
and at line 41 column 8.
T4
T1
T3
T2
SIM-TITLE
CONTRIB-TYPE-FOUND
CONTRIB-TYPE-NOT-FOUND
SW-CONTRIB-TYPE
PLAN-KEY-ONLY
NO-KEY-PASSED
CONTRACT-KEY-ONLY
BOTH-KEYS-PASSED
SW-KEY
CONTRIB-ID-NOT-FOUND
CONTRIB-ID-FOUND
SW-CONTRIB-ID
SW-LOOP
SWITCHES
WORK-AREAS
SIM-COPYRIGHT
* Read statements with NEXT RECORD
READ-STATEMENTS-2.
READ A NEXT RECORD
READ A NEXT RECORD
END-READ.
End of COBOL Style Checker Report for file C:/users/lakers/styletest2.cob
--------------------------------------------------------------------------------
* What is this comment about?
REMARKS.
SECT2 SECTION.
USE AFTER LABEL
PROCEDURE ON INPUT.
SECT3 SECTION.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
...
SECTION.
USE AFTER ERROR
PROCEDURE ON INPUT.
SKIP3
SECTION.
USE AFTER ERROR
PROCEDURE ON INPUT.
...
SECTION 23.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECTION 24.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
...
SECT27 SECTION 27.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECT28 SECTION 28.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
...
SECT4 SECTION.
USE AFTER ERROR
PROCEDURE ON INPUT.
PROG-EXIT1.
...
SECTION 25.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT26 SECTION 26.
SECT29 SECTION 29.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECTION 30.
SECTION.
PROG-EXIT1.
EXIT.
PROG-EXIT2.
EXIT.
BOGUSPARA.
.
EXIT.
PROG-EXIT1.
EXIT.
COMMIT
Suggest deleting:
77 CC-RND-CALC
PIC 9(4)
VALUE 'CALC'.
Suggest deleting:
77 CC-RND-INIT
PIC X(4)
VALUE 'INIT'.
Suggest deleting:
* 77 comment
77 CC-DISHONOUR
PIC X(9)
VALUE 'DISHONOUR'.
Suggest deleting:
77 CC-MORE-DISHONOUR
PIC 9(9).
Suggest inserting:
01 COLLECTED-77-DECLS.
05 CC-RND-CALC
PIC 9(4)
VALUE 'CALC'.
05 CC-RND-INIT
PIC X(4)
VALUE 'INIT'.
05 CC-DISHONOUR
PIC X(9)
VALUE 'DISHONOUR'.
05 CC-MORE-DISHONOUR
PIC 9(9).
before:
77 CC-RND-CALC
PIC 9(4)
VALUE 'CALC'.
Gathering literal constant data declarations originally expressed as
77 level declarations in the WORKING-STORAGE section into an 01 level
declaration whose constituents are 05 declarations derived from the
77 level declarations may help with program readability and maintenance.
Suggest deleting:
77 CC-RND-CALCL
PIC 9(4)
VALUE 'CALC'.
Suggest deleting:
77 CC-RND-INITL
PIC X(4)
VALUE 'INIT'.
Suggest inserting:
01 COLLECTED-77-DECLS.
05 CC-RND-CALCL
PIC 9(4)
VALUE 'CALC'.
05 CC-RND-INITL
PIC X(4)
VALUE 'INIT'.
before:
77 CC-RND-CALCL
PIC 9(4)
VALUE 'CALC'.
Gathering literal constant data declarations originally expressed as
77 level declarations in the LOCAL-STORAGE section into an 01 level
declaration whose constituents are 05 declarations derived from the
77 level declarations may help with program readability and maintenance.
77 CC-MORE-DISHONOUR
PIC 9(9).
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF A NOT EQUAL C
D MOVE A TO B.
D MOVE C TO D
D MOVE E TO F
MOVE G TO COMMIT
ALTER PARA1 TO PROG-EXIT1
MOVE A TO B
SEARCH FOOBA
VARYING BAR
WHEN BAR EQUAL 0
NEXT SENTENCE
ELSE
MOVE K TO L
SEARCH FOOBA
VARYING BAR
WHEN BAR EQUAL 0
NEXT SENTENCE
SEARCH FOOBA
VARYING BAR
WHEN BAR EQUAL 0
MOVE K TO L
PARA1
PROG-EXIT1.
EXIT.
PROG-EXIT2.
EXIT.
.
EXIT.
PROG-EXIT1.
EXIT.
ALTER PARA1 TO PROG-EXIT1
SENTENCE
K
K
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT IZNT
IF A NOT EQUAL B
THEN
MOVE A TO B
* GO TO PROG-EXIT1 PROG-EXIT2 DEPENDING ON BITS.
* GO TO PROG-EXIT1.
* IF IZNT
END-IF
NEXT SENTENCE
SECTION 23.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECTION 24.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT27 SECTION 27.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECT28 SECTION 28.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECTION 25.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT26 SECTION 26.
SECT29 SECTION 29.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECTION 30.
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
D MOVE A TO B.
D MOVE C TO D
D MOVE E TO F
MOVE G TO COMMIT
ALTER PARA1 TO PROG-EXIT1
MOVE A TO B
MOVE A TO B
MOVE C TO C
D MOVE D TO E.
D MOVE F TO G.
D BOGUSPARA.
MOVE A TO B.
MOVE C TO D.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
SKIP2
PROGRAM-ID
SKIP1
DECLARATIVES
SKIP3
SECTION
23
24
27
28
25
26
29
30
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 60 column 10
and at line 114 column 10.
CC-RND-CALCL
CC-RND-INITL
MOVE A TO B
MOVE C TO D
MOVE E TO F
MOVE G TO COMMIT
ALTER PARA1 TO PROG-EXIT1
MOVE A TO B
MOVE A TO B
MOVE C TO C
MOVE D TO E
MOVE F TO G
BOGUSPARA.
MOVE A TO B
MOVE C TO D
End of COBOL Style Checker Report for file C:/users/lakers/styletest3.cob
--------------------------------------------------------------------------------
SECT1 SECTION.
IF NOT IZNT
THEN
GO TO PROG-EXIT1
...
PROG-EXIT2.
EXIT.
NOT IZNT
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIM
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
* IF NOT FOO:BAR:BIM
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT IZNT
THEN
GO TO PROG-EXIT1
PROG-EXIT2
DEPENDING ON A
IF IZNT
D MOVE A TO B.
D MOVE C TO D
D MOVE E TO F
MOVE G TO H
MOVE I TO J
ELSE
MOVE K TO L
* COMMENT
PROG-EXIT1.
EXIT.
PROG-EXIT1.
* COMMENT
EXIT.
PROG-EXIT1
* COMMENT
.
EXIT.
PROG-EXIT1.
* COMMENT
EXIT.
PROG-EXIT1
* COMMENT
.
EXIT.
* COMMENT
PROG-EXIT1.
EXIT.
PROG-EXIT2.
EXIT.
* COMMENT
PROG-EXIT1.
EXIT.
PROG-EXIT1.
* COMMENT
EXIT.
PROG-EXIT1
* COMMENT
.
EXIT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
* IF NOT FOO:BAR:BIM
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
* IF NOT FOO:BAR:BIM
IF NOT FOO
THEN
GO TO PROG-EXIT1
IF NOT IZNT
THEN
GO TO PROG-EXIT1
PROG-EXIT2
DEPENDING ON A
* COMMENT
SECTION 23.
USE AFTER ERROR
PROCEDURE ON INPUT.
* COMMENT
SECTION 24.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
* COMMENT
SECT27 SECTION 27.
USE AFTER ERROR
PROCEDURE ON INPUT.
* COMMENT
SECT28 SECTION 28.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECTION 23.
* COMMENT
USE AFTER ERROR
PROCEDURE ON INPUT.
SECTION 24.
* COMMENT
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT27 SECTION 27.
* COMMENT
USE AFTER ERROR
PROCEDURE ON INPUT.
SECT28 SECTION 28.
* COMMENT
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECTION
* COMMENT
23.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECTION 24
* COMMENT
.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT27
* COMMENT
SECTION 27.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECT28
* COMMENT
SECTION 28.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECTION 23
* COMMENT
.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECTION 24
* COMMENT
.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT27 SECTION
* COMMENT
27.
USE AFTER ERROR
PROCEDURE ON INPUT.
SECT28 SECTION
* COMMENT
28.
USE AFTER ERROR
PROCEDURE ON INPUT.
* IF NOT FOO:BAR:BIMBO
IF NOT FOO
THEN
GO TO PROG-EXIT1.
* COMMENT
SECTION 25.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
* COMMENT
SECT26 SECTION 26.
* COMMENT
SECT29 SECTION 29.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
* COMMENT
SECTION 30.
SECTION 25.
* COMMENT
IF NOT FOO
THEN
GO TO PROG-EXIT1.
SECT26 SECTION 26
* COMMENT
.
* COMMENT
SECT29 SECTION 29.
* COMMENT
IF NOT FOO
THEN
GO TO PROG-EXIT1.
* COMMENT
SECTION 30.
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
GO TO PROG-EXIT1
PROG-EXIT2
DEPENDING ON A
D MOVE A TO B.
D MOVE C TO D
D MOVE E TO F
MOVE G TO H
MOVE I TO J
MOVE A TO B
MOVE C TO C
D MOVE D TO E.
D MOVE F TO G.
D BOGUSPARA.
MOVE A TO B.
MOVE C TO D.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
23
24
27
28
23
24
27
28
* COMMENT
23
24
27
28
23
24
* COMMENT
27
* COMMENT
28
25
26
29
30
25
26
29
30
* COMMENT
SECT29
* COMMENT
SECT29
The identifier SECT29 is declared at both line 222 column 8
and at line 243 column 8.
* COMMENT
SECT28
SECT28
The identifier SECT28 is declared at both line 46 column 8
and at line 199 column 8.
* COMMENT
SECT28
SECT28
The identifier SECT28 is declared at both line 46 column 8
and at line 145 column 8.
* COMMENT
SECT28
SECT28
The identifier SECT28 is declared at both line 46 column 8
and at line 95 column 8.
* COMMENT
SECT3
SECT3
The identifier SECT3 is declared at both line 19 column 8
and at line 165 column 8.
* COMMENT
SECT3
SECT3
The identifier SECT3 is declared at both line 19 column 8
and at line 112 column 8.
* COMMENT
SECT3
SECT3
The identifier SECT3 is declared at both line 19 column 8
and at line 68 column 8.
* COMMENT
SECT2
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 206 column 8.
* COMMENT
SECT2
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 161 column 8.
* COMMENT
SECT2
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 152 column 8.
* COMMENT
SECT2
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 108 column 8.
* COMMENT
SECT2
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 101 column 8.
* COMMENT
SECT2
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 65 column 8.
* COMMENT
SECT2
* COMMENT
SECT2
The identifier SECT2 is declared at both line 16 column 8
and at line 52 column 8.
* COMMENT
SECT27
SECT27
The identifier SECT27 is declared at both line 43 column 8
and at line 195 column 8.
* COMMENT
SECT27
SECT27
The identifier SECT27 is declared at both line 43 column 8
and at line 141 column 8.
* COMMENT
SECT27
SECT27
The identifier SECT27 is declared at both line 43 column 8
and at line 92 column 8.
* COMMENT
SECT26
SECT26
The identifier SECT26 is declared at both line 220 column 8
and at line 239 column 8.
* COMMENT
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 60 column 10.
* COMMENT
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 57 column 10.
* COMMENT
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 104 column 10.
* COMMENT
PROG-EXIT1
* COMMENT
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 289 column 10.
* COMMENT
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 294 column 10.
* COMMENT
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 291 column 10.
* COMMENT
PARA1
PARA1
The identifier PARA1 is declared at both line 272 column 10
and at line 277 column 10.
* COMMENT
PARA1
PARA1
The identifier PARA1 is declared at both line 272 column 10
and at line 274 column 10.
* COMMENT
PROG-EXIT1
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 156 column 10.
* COMMENT
PROG-EXIT1
* COMMENT
PROG-EXIT1
The identifier PROG-EXIT1 is declared at both line 55 column 10
and at line 211 column 10.
EIGHTYEIGHTS
MOVE A TO B
MOVE C TO D
MOVE E TO F
MOVE G TO H
MOVE I TO J
MOVE A TO B
MOVE C TO C
MOVE D TO E
MOVE F TO G
BOGUSPARA.
MOVE A TO B
MOVE C TO D
End of COBOL Style Checker Report for file C:/users/lakers/styletest3a.cob
--------------------------------------------------------------------------------
REMARKS.
SKIP1
* conditional_if_copy_statement_no_else
IF X EQUAL 0
THEN
MOVE X TO Y
COPY FOOBA.
* conditional_if_then_statement_no_else_1
IF FOO EQUAL 0
MOVE A TO B
IF FOO EQUAL 0
NEXT SENTENCE
EVALUATE FALSE
WHEN FOO2 EQUAL 0
MOVE BAR TO FOO
EVALUATE FALSE
WHEN FOO2 EQUAL 0
MOVE BAR TO FOO2
WHEN ANY
MOVE FOO3 TO BAR
WHEN OTHER
MOVE FOO2 TO BAR
SEARCH FOOBA
VARYING BAR
WHEN BAR EQUAL 0
NEXT SENTENCE
ADD A4
TO B
ON SIZE ERROR
MOVE C TO D
CALL FOOFN3
ON OVERFLOW
MOVE C TO D
DELETE A
INVALID KEY
MOVE C TO D
DIVIDE A6
INTO B
GIVING C
ON SIZE ERROR
MOVE C TO D
DIVIDE A6
BY B
GIVING C
ON SIZE ERROR
MOVE C TO D
DIVIDE A4
INTO B
GIVING C
REMAINDER D
ON SIZE ERROR
MOVE C TO D
DIVIDE A5
BY B
GIVING C
REMAINDER D
ON SIZE ERROR
MOVE C TO D
EVALUATE FALSE
WHEN A EQUAL B
MOVE C TO D
EVALUATE FALSE
WHEN A EQUAL B
MOVE C TO D
WHEN OTHER
MOVE E TO F
MULTIPLY A2
BY B
ON SIZE ERROR
MOVE C TO D
MULTIPLY A3
BY B
GIVING E
ON SIZE ERROR
MOVE C TO D
READ A3
AT END
MOVE C TO D
READ A5 INTO B
INVALID KEY
MOVE C TO D
READ A6 RECORD INTO B
INVALID KEY
MOVE C TO D
READ A7 RECORD
KEY IS E
INVALID KEY
MOVE C TO D
READ A8 RECORD INTO B
KEY IS E
INVALID KEY
MOVE C TO D
RETURN A3
AT END
MOVE C TO D
RETURN A4
INTO B
AT END
MOVE C TO D
REWRITE A3
INVALID KEY
MOVE C TO D
SEARCH A1
WHEN A EQUAL B
MOVE E TO F
SEARCH A2
AT END
MOVE C TO D
WHEN A EQUAL B
MOVE E TO F
SEARCH A3
VARYING I
WHEN A EQUAL B
MOVE E TO F
SEARCH A4
VARYING I
AT END
MOVE C TO D
WHEN A EQUAL B
MOVE E TO F
SEARCH ALL A5
WHEN A EQUAL B
MOVE E TO F
SEARCH ALL A6
AT END
MOVE C TO D
WHEN A EQUAL B
MOVE E TO F
START A3
INVALID KEY
MOVE C TO D
START A2
KEY GREATER THAN B
INVALID KEY
MOVE C TO D
STRING A3
DELIMITED BY SIZE
INTO B
WITH POINTER C
ON OVERFLOW
MOVE C TO D
SUBTRACT A2
FROM B
ON SIZE ERROR
MOVE C TO D
SUBTRACT A4
FROM B
GIVING C
ON SIZE ERROR
MOVE C TO D
SUBTRACT CORRESPONDING
A6
FROM B
ON SIZE ERROR
MOVE C TO D
UNSTRING A3
INTO B
ON OVERFLOW
MOVE C TO D
UNSTRING A4
INTO B
TALLYING C
ON OVERFLOW
MOVE C TO D
UNSTRING A5
DELIMITED BY
D
INTO B
ON OVERFLOW
MOVE C TO D
UNSTRING A6
DELIMITED BY
D
INTO B
TALLYING C
ON OVERFLOW
MOVE C TO D
WRITE A5
INVALID KEY
MOVE C TO D
WRITE A6
FROM B
INVALID KEY
MOVE C TO D
WRITE A7
AT EOP
MOVE C TO D
WRITE A8
BEFORE ADVANCING PAGE
AT EOP
MOVE C TO D
WRITE A9
FROM B
AT EOP
MOVE C TO D
WRITE A10
FROM B
BEFORE ADVANCING PAGE
AT EOP
MOVE C TO D
XML GENERATE A3
FROM B
COUNT IN C
ON EXCEPTION
MOVE C TO D
XML GENERATE A4
FROM B
ON EXCEPTION
MOVE C TO D
XML PARSE A1
PROCESSING PROCEDURE BAR
ON EXCEPTION
MOVE C TO D
* conditional_if_then_statement_no_else_2
IF BAR EQUAL 0
THEN
IF BAZ EQUAL 0
MOVE B TO A
IF BAZ EQUAL 0
MOVE B TO A
Suggest replacing:
******************** 81 Missing END forms ******************
* and there are five other IF forms and 4 EVALUATE forms elsewhere
ADD A1
TO B
with:
******************** 81 Missing END forms ******************
* and there are five other IF forms and 4 EVALUATE forms elsewhere
ADD A1
TO B
END-ADD
Suggest replacing:
ADD A2
T0
B
GIVING C
with:
ADD A2
T0
B
GIVING C
END-ADD
Suggest replacing:
ADD CORRESPONDING
A3
TO B
with:
ADD CORRESPONDING
A3
TO B
END-ADD
Suggest replacing:
CALL FOOFN
with:
CALL FOOFN
END-CALL
Suggest replacing:
CALL FOOFN2
WITH BAR LINKAGE
with:
CALL FOOFN2
WITH BAR LINKAGE
END-CALL
Suggest replacing:
COMPUTE A
B
C
EQUAL 12
with:
COMPUTE A
B
C
EQUAL 12
END-COMPUTE
Suggest replacing:
DELETE A RECORD
with:
DELETE A RECORD
END-DELETE
Suggest replacing:
DIVIDE A1
INTO B
C
D
with:
DIVIDE A1
INTO B
C
D
END-DIVIDE
Suggest replacing:
DIVIDE A2
INTO B
GIVING C
with:
DIVIDE A2
INTO B
GIVING C
END-DIVIDE
Suggest replacing:
DIVIDE A3
BY B
GIVING C
with:
DIVIDE A3
BY B
GIVING C
END-DIVIDE
Suggest replacing:
DIVIDE A4
INTO B
GIVING C
REMAINDER D
with:
DIVIDE A4
INTO B
GIVING C
REMAINDER D
END-DIVIDE
Suggest replacing:
DIVIDE A5
BY B
GIVING C
REMAINDER D
with:
DIVIDE A5
BY B
GIVING C
REMAINDER D
END-DIVIDE
Suggest replacing:
MULTIPLY A1
BY B
with:
MULTIPLY A1
BY B
END-MULTIPLY
Suggest replacing:
MULTIPLY A3
BY B
GIVING C
with:
MULTIPLY A3
BY B
GIVING C
END-MULTIPLY
Suggest replacing:
READ A1
with:
READ A1
END-READ
Suggest replacing:
READ A2 NEXT RECORD INTO B
with:
READ A2 NEXT RECORD INTO B
END-READ
Suggest replacing:
READ A4 INTO B
KEY IS C
with:
READ A4 INTO B
KEY IS C
END-READ
Suggest replacing:
RETURN A1 RECORD
with:
RETURN A1 RECORD END-RETURN
Suggest replacing:
RETURN A2
INTO B
with:
RETURN A2
INTO B
END-RETURN
Suggest replacing:
REWRITE A1
with:
REWRITE A1
END-REWRITE
Suggest replacing:
REWRITE A2 FROM B
with:
REWRITE A2 FROM B
END-REWRITE
Suggest replacing:
START A1
with:
START A1
END-START
Suggest replacing:
START A2
KEY GREATER THAN B
with:
START A2
KEY GREATER THAN B
END-START
Suggest replacing:
STRING A1
DELIMITED BY SIZE
INTO B
with:
STRING A1
DELIMITED BY SIZE
INTO B
END-STRING
Suggest replacing:
STRING A2
DELIMITED BY SIZE
INTO B
WITH POINTER C
with:
STRING A2
DELIMITED BY SIZE
INTO B
WITH POINTER C
END-STRING
Suggest replacing:
SUBTRACT A1
FROM B
with:
SUBTRACT A1
FROM B
END-SUBTRACT
Suggest replacing:
SUBTRACT A3
FROM B
GIVING C
with:
SUBTRACT A3
FROM B
GIVING C
END-SUBTRACT
Suggest replacing:
SUBTRACT CORRESPONDING
A5
FROM B
with:
SUBTRACT CORRESPONDING
A5
FROM B
END-SUBTRACT
Suggest replacing:
UNSTRING A1
INTO B
with:
UNSTRING A1
INTO B
END-UNSTRING
Suggest replacing:
UNSTRING A2
INTO B
TALLYING C
with:
UNSTRING A2
INTO B
TALLYING C
END-UNSTRING
Suggest replacing:
WRITE A1
with:
WRITE A1
END-WRITE
Suggest replacing:
WRITE A2
FROM B
with:
WRITE A2
FROM B
END-WRITE
Suggest replacing:
WRITE A3
BEFORE ADVANCING PAGE
with:
WRITE A3
BEFORE ADVANCING PAGE
END-WRITE
Suggest replacing:
WRITE A4
FROM B
BEFORE ADVANCING PAGE
with:
WRITE A4
FROM B
BEFORE ADVANCING PAGE
END-WRITE
Suggest replacing:
XML GENERATE A1
FROM B
COUNT IN C
with:
XML GENERATE A1
FROM B
COUNT IN C
END-XML
Suggest replacing:
XML GENERATE A2
FROM B
with:
XML GENERATE A2
FROM B
END-XML
Suggest replacing:
XML PARSE A1
PROCESSING PROCEDURE BAR
with:
XML PARSE A1
PROCESSING PROCEDURE BAR
END-XML
Suggest replacing:
EVALUATE FALSE
WHEN FOO1 EQUAL 0
MOVE BAR TO FOO
END-EVALUATE
with:
EVALUATE TRUE
WHEN NOT FOO1 EQUAL 0
MOVE BAR TO FOO
END-EVALUATE
Suggest replacing:
EVALUATE FALSE
WHEN FOO2 EQUAL 0
MOVE BAR TO FOO
with:
EVALUATE TRUE
WHEN NOT FOO2 EQUAL 0
MOVE BAR TO FOO
Suggest replacing:
EVALUATE FALSE
WHEN FOO1 EQUAL 0
MOVE BAR TO FOO
WHEN OTHER
MOVE FOO TO BAR
END-EVALUATE
with:
EVALUATE TRUE
WHEN NOT FOO1 EQUAL 0
MOVE BAR TO FOO
WHEN OTHER
MOVE FOO TO BAR
END-EVALUATE
Suggest replacing:
EVALUATE FALSE
WHEN FOO2 EQUAL 0
MOVE BAR TO FOO2
WHEN ANY
MOVE FOO3 TO BAR
WHEN OTHER
MOVE FOO2 TO BAR
with:
EVALUATE TRUE
WHEN NOT FOO2 EQUAL 0
MOVE BAR TO FOO2
WHEN ANY
MOVE FOO3 TO BAR
WHEN OTHER
MOVE FOO2 TO BAR
EVALUATE FALSE
ALSO FOO
ALSO BAR
WHEN FOO1
ALSO F1
ALSO BAR1 EQUAL 0
MOVE BAR1 TO FOO
WHEN FOO1
ALSO ANY
ALSO BAR2 EQUAL 0
MOVE BAR2 TO FOO
END-EVALUATE
The style checker does not currently propose alternatives for this diagnostic with multiple-test
EVALUATE statements.
EVALUATE FOO
ALSO BAR
ALSO FALSE
WHEN FOO1
ALSO F1
ALSO BAR1 EQUAL 0
MOVE BAR1 TO FOO
WHEN FOO1
ALSO ANY
ALSO BAR2 EQUAL 0
MOVE BAR2 TO FOO
END-EVALUATE
The style checker does not currently propose alternatives for this diagnostic with multiple-test
EVALUATE statements.
EVALUATE FOO
ALSO FALSE
ALSO BAR
WHEN FOO1
ALSO F1
ALSO BAR1 EQUAL 0
MOVE BAR1 TO FOO
WHEN FOO1
ALSO ANY
ALSO BAR2 EQUAL 0
MOVE BAR2 TO FOO
END-EVALUATE
The style checker does not currently propose alternatives for this diagnostic with multiple-test
EVALUATE statements.
Suggest replacing:
EVALUATE FALSE
WHEN A EQUAL B
MOVE C TO D
with:
EVALUATE TRUE
WHEN NOT A EQUAL B
MOVE C TO D
Suggest replacing:
EVALUATE FALSE
WHEN A EQUAL B
MOVE C TO D
WHEN OTHER
MOVE E TO F
with:
EVALUATE TRUE
WHEN NOT A EQUAL B
MOVE C TO D
WHEN OTHER
MOVE E TO F
EVALUATE FALSE
WHEN FOO1 EQUAL 0
MOVE BAR TO FOO
END-EVALUATE
EVALUATE FALSE
WHEN FOO2 EQUAL 0
MOVE BAR TO FOO
EVALUATE FALSE
ALSO FOO
ALSO BAR
WHEN FOO1
ALSO F1
ALSO BAR1 EQUAL 0
MOVE BAR1 TO FOO
WHEN FOO1
ALSO ANY
ALSO BAR2 EQUAL 0
MOVE BAR2 TO FOO
END-EVALUATE
EVALUATE FOO
ALSO BAR
ALSO FALSE
WHEN FOO1
ALSO F1
ALSO BAR1 EQUAL 0
MOVE BAR1 TO FOO
WHEN FOO1
ALSO ANY
ALSO BAR2 EQUAL 0
MOVE BAR2 TO FOO
END-EVALUATE
EVALUATE FOO
ALSO FALSE
ALSO BAR
WHEN FOO1
ALSO F1
ALSO BAR1 EQUAL 0
MOVE BAR1 TO FOO
WHEN FOO1
ALSO ANY
ALSO BAR2 EQUAL 0
MOVE BAR2 TO FOO
END-EVALUATE
EVALUATE FALSE
WHEN A EQUAL B
MOVE C TO D
SKIP1
* conditional_if_copy_statement_no_else
IF X EQUAL 0
THEN
MOVE X TO Y
COPY FOOBA.
* conditional_if_then_statement_no_else_1
IF FOO EQUAL 0
MOVE A TO B
IF BAR EQUAL 0
THEN
NEXT SENTENCE
END-IF
IF FOO EQUAL 0
NEXT SENTENCE
* conditional_if_then_statement_no_else_2
IF BAR EQUAL 0
THEN
IF BAZ EQUAL 0
MOVE B TO A
IF BAZ EQUAL 0
MOVE B TO A
* imperative_if_statement_no_else
IF X EQUAL 0
THEN
MOVE A TO B
END-IF
NEXT SENTENCE
NEXT SENTENCE
NEXT SENTENCE
READ A1
READ A2 NEXT RECORD INTO B
READ A3
AT END
MOVE C TO D
READ A4 INTO B
KEY IS C
READ A5 INTO B
INVALID KEY
MOVE C TO D
READ A6 RECORD INTO B
INVALID KEY
MOVE C TO D
READ A7 RECORD
KEY IS E
INVALID KEY
MOVE C TO D
READ A8 RECORD INTO B
KEY IS E
INVALID KEY
MOVE C TO D
WRITE A1
WRITE A2
FROM B
WRITE A3
BEFORE ADVANCING PAGE
WRITE A4
FROM B
BEFORE ADVANCING PAGE
WRITE A5
INVALID KEY
MOVE C TO D
WRITE A6
FROM B
INVALID KEY
MOVE C TO D
WRITE A7
AT EOP
MOVE C TO D
WRITE A8
BEFORE ADVANCING PAGE
AT EOP
MOVE C TO D
WRITE A9
FROM B
AT EOP
MOVE C TO D
WRITE A10
FROM B
BEFORE ADVANCING PAGE
AT EOP
MOVE C TO D
SKIP2
/
EJECT
PROGRAM-ID
EJECT
SKIP3
AUTHOR
EJECT
SKIP2
DATA
SKIP1
* conditional_if_copy_statement_no_else
IF
SKIP2
/
EJECT
PROGRAM-ID
SKIP2
/
EJECT
PROGRAM-ID
EJECT
SKIP3
AUTHOR
EJECT
SKIP2
DATA
/
WORKING-STORAGE
12
MOVE C TO D
End of COBOL Style Checker Report for file C:/users/lakers/styletest4.cob
--------------------------------------------------------------------------------
The file "C:/users/lakers/woeri.weo" could not be found.
See STANDARD-OUTPUT trace for details
Subsequent style checks could not be performed on this file.
End of COBOL Style Checker Report for file C:/users/lakers/woeri.weo
--------------------------------------------------------------------------------
* Remember to do REPLACING
02 :ABC:-FOO1
VALUE :ABC:-10.
02 :ABC:-10-FOO2
...
End of COBOL Style Checker Report for file C:/users/lakers/styletest5.cpy
--------------------------------------------------------------------------------
IF NOT FOO:BAR:BIMBO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
PROG-EXIT1
* COMMENT
.
EXIT.
IF NOT FOO:BAR:BIMBO
THEN
GO TO PROG-EXIT1
IF NOT FOO
THEN
GO TO PROG-EXIT1
* COMMENT
SECTION 25.
IF NOT FOO
THEN
GO TO PROG-EXIT1.
PROG-EXIT1
* COMMENT
.
EXIT.
GO TO PROG-EXIT1
GO TO PROG-EXIT1
EXEC SQL
INCLUDE SQLCA
END-EXEC.
25
PROCESS DBCS
* Program has code that triggers a name resolver trust failure.
* Tests whether style checker handles this gracefully.
IDENTIFICATION DIVISION.
...
Invalid program, name and type resolution could not be performed.
NameResolution:GetSymbolScopeOfName -> There is no root symbol name.
See STANDARD-OUTPUT trace for details
Subsequent style checks could not be performed on this file.
End of COBOL Style Checker Report for file C:/users/lakers/styletest6.cob
--------------------------------------------------------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO
IDENTIFICATION DIVISION.
PROGRAM-ID. FOO
Suggest replacing:
IF A < 10
AND A > 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A-INDEX < 10
OR A-INDEX > 0
ADD 1
TO A-INDEX
GIVING A-INDEX
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A-INDEX < 10
WHEN A-INDEX > 0
ADD 1
TO A-INDEX
GIVING A-INDEX
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
ADD FOOBA
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
ADD FOOBA
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
OR A > 0
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN A > 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
OR A > 0
OR B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
OR A > 0
OR B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
OR A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
OR B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A > 0
OR B EQUAL 10
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
AND (A > 0
OR B EQUAL 10)
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF (A > 0
OR B EQUAL 10)
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
EVALUATE TRUE
WHEN A < 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
OR B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A > 0
OR B EQUAL 10
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
AND (A > 0
OR B EQUAL 10)
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF (A > 0
OR B EQUAL 10)
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
EVALUATE TRUE
WHEN A < 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF (A < 10
OR B < 10)
AND (A > 0
OR B EQUAL 10)
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN B < 10
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
OR B < 10
AND ((A > 0
OR B < 10)
AND B > 0)
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN B < 10
AND ((A > 0
OR B < 10)
AND B > 0)
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
OR B < 10
AND (A > 0
OR B < 10)
AND B > 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN B < 10
AND (A > 0
OR B < 10)
AND B > 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF (A < 10
OR B < 10)
AND (A > 0
OR B EQUAL 10)
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN B < 10
EVALUATE TRUE
WHEN A > 0
WHEN B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
OR B < 10
AND ((A > 0
OR B < 10)
AND B > 0)
ADD 1
TO A
GIVING A
END-ADD
ELSE
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-IF
with:
EVALUATE TRUE
WHEN A < 10
WHEN B < 10
AND ((A > 0
OR B < 10)
AND B > 0)
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
SUBTRACT 1
FROM A
GIVING A
END-SUBTRACT
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
IF A = 10
OR A < 5
ADD 1
TO A
GIVING A
END-ADD
END-IF
ADD 1
TO A
GIVING A
END-ADD
ELSE
IF A > 10
OR A = 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
EVALUATE TRUE
WHEN A = 10
WHEN A < 5
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
EVALUATE TRUE
WHEN A > 10
WHEN A = 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
END-EVALUATE
Suggest replacing:
IF A = 10
OR A < 5
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A = 10
WHEN A < 5
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A > 10
OR A = 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
with:
EVALUATE TRUE
WHEN A > 10
WHEN A = 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF A < 10
AND A > 0
EVALUATE TRUE
WHEN A = 10
WHEN A < 5
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
ADD 1
TO A
GIVING A
END-ADD
ELSE
EVALUATE TRUE
WHEN A > 10
WHEN A = 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
END-IF
with:
EVALUATE TRUE
WHEN A < 10
AND A > 0
EVALUATE TRUE
WHEN A = 10
WHEN A < 5
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
EVALUATE TRUE
WHEN A > 10
WHEN A = 0
ADD 1
TO A
GIVING A
END-ADD
WHEN OTHER
CONTINUE
END-EVALUATE
END-EVALUATE
IF A < 10
AND A > 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A-INDEX < 10
OR A-INDEX > 0
ADD 1
TO A-INDEX
GIVING A-INDEX
END-ADD
END-IF
IF A < 10
AND A > 0
AND B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A < 10
OR A > 0
OR B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A < 10
AND A > 0
OR B EQUAL 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A > 0
OR B EQUAL 10
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A < 10
AND (A > 0
OR B EQUAL 10)
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF (A > 0
OR B EQUAL 10)
AND A < 10
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF (A < 10
OR B < 10)
AND (A > 0
OR B EQUAL 10)
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A < 10
OR B < 10
AND ((A > 0
OR B < 10)
AND B > 0)
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A < 10
OR B < 10
AND (A > 0
OR B < 10)
AND B > 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A = 10
OR A < 5
ADD 1
TO A
GIVING A
END-ADD
END-IF
IF A > 10
OR A = 0
ADD 1
TO A
GIVING A
END-ADD
END-IF
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
5
10
10
10
5
10
A-INDEX
A-INDEX
A-INDEX
A-INDEX
A-INDEX
The identifier A-INDEX is used in the following locations:
Line 7 Column 11 File C:/users/lakers/styletest7.cob
Line 16 Column 15 File C:/users/lakers/styletest7.cob
Line 16 Column 31 File C:/users/lakers/styletest7.cob
Line 17 Column 23 File C:/users/lakers/styletest7.cob
Line 17 Column 38 File C:/users/lakers/styletest7.cob
FOOBA
FOOBA
The identifier FOOBA is used in the following locations:
Line 11 Column 27 File C:/users/lakers/styletest7.cob
Line 20 Column 18 File C:/users/lakers/styletest7.cob
COPYN
SIM-COPY
End of COBOL Style Checker Report for file C:/users/lakers/styletest7.cob
--------------------------------------------------------------------------------
SKIP3
REMARKS.
not much
FOO SECTION.
MOVE T1 TO T22
SKIP2
*****************************************************************
...
FOO.
MOVE T1 TO SIM-COPY (5)
MOVE T1 TO SIM-TITLE2 (ALL)
T22 (ALL)
...
05 SW-KEY
PIC S9
COMP-3.
88 NO-KEY-PASSED
VALUE ZERO.
88 CONTRACT-KEY-ONLY
VALUE +1.
88 PLAN-KEY-ONLY
VALUE +2.
88 BOTH-KEYS-PASSED
VALUE +3.
05 SW-LOOP
PIC S9
COMP-3.
88 BEGIN-LOOP
VALUE +0.
88 LOOP-FINISHED
VALUE +1.
05 SW-CONTRIB-TYPE
PIC S9
COMP-3.
88 CONTRIB-TYPE-NOT-FOUND
VALUE +0.
88 CONTRIB-TYPE-FOUND
VALUE +1.
05 SW-CONTRIB-ID
PIC S9
COMP-3.
88 CONTRIB-ID-NOT-FOUND
VALUE +0.
88 CONTRIB-ID-NOT-FOUND
VALUE +1.
Suggest replacing:
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO T1
with:
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO T1
END-STRING
Suggest replacing:
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO WORK-AREAS
with:
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO WORK-AREAS
END-STRING
Suggest replacing:
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO BEGIN-LOOP
with:
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO BEGIN-LOOP
END-STRING
SKIP2
*****************************************************************
PROGRAM-ID
SKIP3
REMARKS
SKIP2
*****************************************************************
DATA
SKIP2
*****************************************************************
WORKING-STORAGE
*****************************************************************
* Data-structure for Title and Copyright...
*****************************************************************
SKIP2
*****************************************************************
01
SKIP2
*****************************************************************
* SW-KEY is a signed numeric with associated 88 variables
MOVE
10
5
3
5
3
5
3
5
3
5
3
5
3
5
10
10
* SW-CONTRIB-TYPE is numeric
MOVE 'MOOVA' TO SW-CONTRIB-TYPE
MOVE NULL TO SW-CONTRIB-TYPE
MOVE LENGTH OF SW-CONTRIB-TYPE TO T111
MOVE FUNCTION RANDOM () TO T111
MOVE FUNCTION T111 TO T111
MOVE 1 TO T111
MOVE SW-KEY TO T111
SW-CONTRIB-TYPE
* T24 is alphanumeric
MOVE T111 TO SW-KEY
T24
MOVE CORRESPONDING
SIM-SUBTITLE6 TO SIM-SUBTITLE4
* SIM-TITLE2 is a group, T22 is alphanumeric, SIM-COPY is a group
* multiply defined T2 is alphanumeric multiply defined, SIM-TITLE
* is a group
MOVE T1 TO SIM-TITLE2
T22
SIM-COPY
T2
SIM-TITLE
SW-KEY
* SIM-TITLE2 is a group, T22 is alphanumeric, SIM-COPY is a group
* multiply defined T2 is alphanumeric multiply defined, SIM-TITLE
* is a group
MOVE T1 TO SIM-TITLE2
T22
SIM-COPY
T2
SIM-TITLE
SW-KEY
* WORK-AREAS is a group
MOVE 1 TO SWITCHES
T1
WORK-AREAS
* WORK-AREAS is a group
MOVE 1 TO SWITCHES
T1
WORK-AREAS
MOVE T1 TO SIM-TITLE2 (ALL)
T22 (ALL)
SIM-COPY (ALL)
T2 (ALL)
SIM-TITLE (ALL)
SW-KEY (ALL)
MOVE T1 TO SIM-TITLE2 (ALL)
T22 (ALL)
SIM-COPY (ALL)
T2 (ALL)
SIM-TITLE (ALL)
SW-KEY (ALL)
MOVE T1 TO SIM-TITLE2 (3 : 5)
T22 (3 : 5)
SIM-COPY (ALL) (3 : 5)
T2 (3 : 5)
SIM-TITLE (3 : 5)
SW-KEY (ALL) (3 : 5)
MOVE T1 TO SIM-TITLE2 (3 : 5)
T22 (3 : 5)
SIM-COPY (ALL) (3 : 5)
T2 (3 : 5)
SIM-TITLE (3 : 5)
SW-KEY (ALL) (3 : 5)
MOVE CORRESPONDING
SIM-SUBTITLE TO SIM-SUBTITLE3
MOVE CORRESPONDING
GROUP1 TO GROUP2
SIM-TITLE2 (3 : 5)
SIM-TITLE (3 : 5)
STRING ' '
DELIMITED BY SIZE
PDU-NAME (SUB-1)
DELIMITED BY ' '
INTO WORK-AREAS
SIM-COPY
SIM-COPY
The identifier SIM-COPY is declared at both line 47 column 12
and at line 49 column 12.
CONTRIB-ID-NOT-FOUND
CONTRIB-ID-NOT-FOUND
The identifier CONTRIB-ID-NOT-FOUND is declared at both line 30 column 24
and at line 31 column 24.
FOO
FOO
The identifier FOO is declared at both line 5 column 20
and at line 80 column 20.
T3
T3
The identifier T3 is declared at both line 40 column 16
and at line 45 column 16.
COPYN
COPYN
The identifier COPYN is declared at both line 48 column 16
and at line 50 column 16.
T1
T1
The identifier T1 is declared at both line 38 column 16
and at line 53 column 16.
T2
T2
The identifier T2 is declared at both line 39 column 16
and at line 54 column 16.
T21
T21
The identifier T21 is declared at both line 43 column 16
and at line 56 column 16.
T22
T22
The identifier T22 is declared at both line 44 column 16
and at line 57 column 16.
SIM-SUBTITLE
SIM-SUBTITLE
The identifier SIM-SUBTITLE is declared at both line 52 column 12
and at line 59 column 12.
SIM-SUBTITLE2
SIM-SUBTITLE2
The identifier SIM-SUBTITLE2 is declared at both line 55 column 12
and at line 62 column 12.
T1
T1
The identifier T1 is declared at both line 38 column 16
and at line 60 column 16.
T2
T2
The identifier T2 is declared at both line 39 column 16
and at line 61 column 16.
T21
T21
The identifier T21 is declared at both line 43 column 16
and at line 63 column 16.
T22
T22
The identifier T22 is declared at both line 44 column 16
and at line 64 column 16.
T1
T1
The identifier T1 is declared at both line 38 column 16
and at line 66 column 16.
T1
T1
The identifier T1 is declared at both line 38 column 16
and at line 70 column 16.
T2
T2
The identifier T2 is declared at both line 39 column 16
and at line 71 column 16.
ID-NOT-FOUND
ID-NOT-FOUND
The identifier ID-NOT-FOUND is declared at both line 68 column 24
and at line 75 column 24.
ID-FOUND
ID-FOUND
The identifier ID-FOUND is declared at both line 67 column 24
and at line 74 column 24.
T1
T1
The identifier T1 is declared at both line 38 column 16
and at line 77 column 16.
T2
T2
The identifier T2 is declared at both line 39 column 16
and at line 78 column 16.
FOO
FOO
The identifier FOO is declared at both line 5 column 20
and at line 94 column 20.
End of COBOL Style Checker Report for file C:/users/lakers/styletest8.cob
--------------------------------------------------------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. CBLBITC1.
AUTHOR.
SIMOTIME ENTERPRISES.
Suggest deleting:
COPY PASSBITS.
Suggest deleting:
*****************************************************************
* BTS-PASS-REQUEST values when calling SIMOBITS.
* ------------------------------------------------------------
77 REQUEST-4-EXPAND
PIC X(8)
VALUE 'EXPAND '.
Suggest deleting:
77 REQUEST-4-COMPRESS
PIC X(8)
VALUE 'COMPRESS'.
Suggest deleting:
77 ZERO-VALUE
PIC 9
VALUE 0.
Suggest deleting:
77 MINUS-ONE
PIC S9
VALUE -1.
Suggest deleting:
77 ALPHABET-UPPER
PIC X(26)
VALUE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
Suggest inserting:
01 COLLECTED-77-DECLS.
COPY PASSBITS.
05 REQUEST-4-EXPAND
PIC X(8)
VALUE 'EXPAND '.
05 REQUEST-4-COMPRESS
PIC X(8)
VALUE 'COMPRESS'.
05 ZERO-VALUE
PIC 9
VALUE 0.
05 MINUS-ONE
PIC S9
VALUE -1.
05 ALPHABET-UPPER
PIC X(26)
VALUE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
before:
COPY PASSBITS.
Gathering literal constant data declarations originally expressed as
77 level declarations in the WORKING-STORAGE section into an 01 level
declaration whose constituents are 05 declarations derived from the
77 level declarations may help with program readability and maintenance.
COPY PASSBITS.
PERFORM Z-POST-COPYRIGHT
PERFORM BYTES-TO-BITS-COMPRESS
PERFORM BITS-TO-BYTES-EXPAND
PERFORM ALPHABET-DUMP
PERFORM COBOL-UNPACK
PERFORM Z-THANK-YOU
PERFORM Z-POST-MESSAGE
PERFORM Z-POST-MESSAGE
PERFORM Z-POST-MESSAGE
PERFORM DISPLAY-BYTES
PERFORM DISPLAY-BYTES
PERFORM DISPLAY-BYTES
PERFORM DISPLAY-BYTES
PERFORM Z-POST-MESSAGE
PERFORM DISPLAY-BYTES
PERFORM DISPLAY-BYTES
PERFORM DISPLAY-BYTES
PERFORM DISPLAY-BYTES
PERFORM Z-POST-MESSAGE
PERFORM COBOL-UNPACK-UNITS
PERFORM Z-POST-MESSAGE
PERFORM Z-POST-MESSAGE
Suggest replacing:
ADD 1
TO ZERO
GIVING IX-1
with:
ADD 1
TO ZERO
GIVING IX-1
END-ADD
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
ADD 1
TO IX-1
with:
ADD 1
TO IX-1
END-ADD
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
*! Do the UNPACK the easy way...
ADD PACK-03
TO ZERO
GIVING UNPACKED-5
with:
*! Do the UNPACK the easy way...
ADD PACK-03
TO ZERO
GIVING UNPACKED-5
END-ADD
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
ADD 1
TO ZERO
GIVING IX-1
with:
ADD 1
TO ZERO
GIVING IX-1
END-ADD
Suggest replacing:
ADD 1
TO ZERO
GIVING IX-2
with:
ADD 1
TO ZERO
GIVING IX-2
END-ADD
Suggest replacing:
ADD 3
TO ZERO
GIVING IX-3
with:
ADD 3
TO ZERO
GIVING IX-3
END-ADD
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
ADD 1
TO IX-2
with:
ADD 1
TO IX-2
END-ADD
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
SUBTRACT 1
FROM IX-3
with:
SUBTRACT 1
FROM IX-3
END-SUBTRACT
Suggest replacing:
ADD 1
TO IX-2
with:
ADD 1
TO IX-2
END-ADD
Suggest replacing:
ADD 1
TO IX-1
with:
ADD 1
TO IX-1
END-ADD
Suggest replacing:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
Suggest replacing:
* move EIGHT-BYTES(5:4) to BTS-PASS-BYTES(1:4)
CALL 'SIMOBITS'
USING BTS-PASS-AREA
with:
* move EIGHT-BYTES(5:4) to BTS-PASS-BYTES(1:4)
CALL 'SIMOBITS'
USING BTS-PASS-AREA
END-CALL
26
10
03
17
4
40
4
5
4
45
4
5
4
3
4
5
4
5
4
5
4
4
5
4
16
4
17
4
21
5
4
22
4
MOVE IX-1 TO MESSAGE-TEXT (10 : 03)
MOVE ZERO-VALUE TO BTS-PASS-BITS
MOVE '00000000' TO BTS-PASS-BYTES
MOVE '11111111' TO BTS-PASS-BYTES
MOVE '01010101' TO BTS-PASS-BYTES
MOVE '10101010' TO BTS-PASS-BYTES
MOVE POSITIVE-BIT-VALUE TO BTS-PASS-BYTES
MOVE EIGHT-BYTES (1 : 4) TO BTS-PASS-BYTES (5 : 4)
MOVE EIGHT-BYTES (5 : 4) TO BTS-PASS-BYTES (5 : 4)
MOVE NEGATIVE-BIT-VALUE TO BTS-PASS-BYTES
MOVE POSITIVE-BIT-VALUE TO BTS-PASS-BYTES
MOVE EIGHT-BYTES (1 : 4) TO BTS-PASS-BYTES (5 : 4)
BTS-PASS-BYTES (1 : 4)
BTS-PASS-BYTES (5 : 4)
BTS-PASS-BYTES (5 : 4)
BTS-PASS-BYTES (5 : 4)
BTS-PASS-BYTES (5 : 4)
BTS-PASS-BYTES (1 : 4)
BTS-PASS-BYTES (5 : 4)
C4
C4
The identifier C4 is declared at both line 156 column 16
and at line 162 column 16.
C1
C1
The identifier C1 is declared at both line 153 column 16
and at line 159 column 16.
C3
C3
The identifier C3 is declared at both line 155 column 16
and at line 161 column 16.
C2
C2
The identifier C2 is declared at both line 154 column 16
and at line 160 column 16.
C4
C4
The identifier C4 is declared at both line 156 column 16
and at line 168 column 16.
C1
C1
The identifier C1 is declared at both line 153 column 16
and at line 165 column 16.
C3
C3
The identifier C3 is declared at both line 155 column 16
and at line 167 column 16.
C2
C2
The identifier C2 is declared at both line 154 column 16
and at line 166 column 16.
TWO-BYTES
End of COBOL Style Checker Report for file C:/users/lakers/cblbit77.cbl
--------------------------------------------------------------------------------
* a program with bizarre copylib use that splits statements
* across file boundaries
* also with non-XML control characters in a legal COBOL string
IDENTIFICATION DIVISION.
...
INHERE.
MOVE
COPY STYLETEST10A.
TO SCRATCH.
...
03 TCB-LONG-ACTIVITY-N
PIC S9(04)
COMP.
* 05 TCB-LONG-ACTIVITY-N.
10 TCB1
PIC X(2).
10 TCB2
PIC X(2).
05 TCB-LONG-ACTIVITY
REDEFINES TCB-LONG-ACTIVITY-N.
10 TCV
PIC X(4).
05 TCB-LONG-ACTIVITY-N2
REDEFINES TCB-LONG-ACTIVITY-N.
10 TCV
PIC X(6).
Suggest replacing:
ADD 10
TO A
COPY STYLETEST10C.
with:
ADD 10
TO A
COPY STYLETEST10C.
END-ADD
Suggest replacing:
ADD 20
TO B
OUTTAHERE
with:
ADD 20
TO B
OUTTAHERE
END-ADD
GO TO OUTTAHERE
10
20
MOVE CA-LONG-PEM-END-PROG
COPY STYLETEST10B.
MOVE CA-LONG-PEM-END-PROG TO TCB-LONG-ACTIVITY-N
MOVE CA-LONG-PEM-END-PROG TO TCB-LONG-ACTIVITY-N2
MOVE "Q<S" TO SCRATCH
MOVE CA-LONG-PEM-END-PROG TO TCB-LONG-ACTIVITY
MOVE
COPY STYLETEST10A.
TO SCRATCH
TCV
TCV
The identifier TCV is declared at both line 16 column 18
and at line 18 column 18.
TCB2
TCB2
The identifier TCB2 is declared at both line 14 column 18
and at line 21 column 18.
TCB1
TCB1
The identifier TCB1 is declared at both line 13 column 18
and at line 20 column 18.
TCB-ACTIVITY
INHERE.
MOVE
COPY STYLETEST10A.
TO SCRATCH.
ADD 10
TO A
COPY STYLETEST10C.
ADD 20
TO B
OUTTAHERE.
EXIT.
End of COBOL Style Checker Report for file C:/users/lakers/styletest10.cob
--------------------------------------------------------------------------------
End of COBOL Style Checker Report for file C:/users/lakers/styletest11.cob
--------------------------------------------------------------------------------
.
FOO.
SECTION.
REPLACE==DIVISION DATADIVISION
...
11 Syntax Errors
See STANDARD-OUTPUT trace for details
Subsequent style checks could not be performed on this file.
End of COBOL Style Checker Report for file C:/users/lakers/styletest12.cob
--------------------------------------------------------------------------------
PERFORM SOME-ACTION
PERFORM A-LITTLE-ACTION
PERFORM A-LITTLE-ACTION THROUGH MORE-ACTION
PERFORM SOME-ACTION
Suggest replacing:
PERFORM A-LITTLE-ACTION THROUGH MORE-ACTION
with:
* Called via GO TO -- oops. EXIT flagged, as Michael suggested.
PROG-EXIT1.
EXIT.
GO TO PROG-EXIT1
UNUSED-01
UNUSED-10-2
UNUSED-10-1
UNUSED-STRUCT
* Never called statement -- OK
MOVE "WXYZ" TO TBC
* Never called paragraph -- the statements are flagged
DEADZONE.
ADD WHY-BOTHER
TO SHAVE
GIVING MORNING-SHADOW
END-ADD.
ADD MORNING-SHADOW
TO MORNING-SHADOW
GIVING WHY-BOTHER
END-ADD.
* Never called section -- the statement is flagged
NO-ACTION SECTION.
SUBTRACT 0
FROM NINES
GIVING NINES
END-SUBTRACT.
* Another Never called paragraph
FINI.
* Another Never called statement
MOVE "FINI" TO TBC.
EXIT.
End of COBOL Style Checker Report for file C:/users/lakers/styletest13.cob
--------------------------------------------------------------------------------
SYSIN
Suggest deleting:
77 CC-PHASE-NAME
PIC X(8)
VALUE 'P49750'.
Suggest inserting:
01 COLLECTED-77-DECLS.
05 CC-PHASE-NAME
PIC X(8)
VALUE 'P49750'.
before:
77 CC-PHASE-NAME
PIC X(8)
VALUE 'P49750'.
Gathering literal constant data declarations originally expressed as
77 level declarations in the WORKING-STORAGE section into an 01 level
declaration whose constituents are 05 declarations derived from the
77 level declarations may help with program readability and maintenance.
10 PK-LENGTH
PIC S9(4)
COMP.
10 PC-LENGTH
PIC S9(4)
COMP.
10 PN-LENGTH
PIC S9(4)
COMP.
10 PI-LENGTH
PIC S9(4)
COMP.
10 CA-RESP
PIC S9(9)
COMP.
10 CA-RESP2
PIC S9(9)
COMP.
05 MSG02-RESP
PIC Z9(5).
05 MSG02-RESP2
PIC Z9(5).
05 MSG04-RESP
PIC Z9(5).
05 MSG04-RESP2
PIC Z9(5).
10 RT-RESP
PIC S9(9)
COMP.
10 RT2-RESP
PIC S9(9)
COMP.
05 EXEC-RESP
PIC 9(8)
COMP.
05 EXEC-RESP2
PIC 9(8)
COMP.
05 EXEC-MSG-LEN
PIC 9(8)
COMP.
PERFORM SOME-ACTION
PERFORM A-LITTLE-ACTION
PERFORM A-LITTLE-ACTION THROUGH MORE-ACTION
PERFORM SOME-ACTION
Suggest replacing:
* ***********************************************************
* * Get parm data *
* ***********************************************************
UNSTRING PARM-AREA
DELIMITED BY
','
OR LOW-VALUES
INTO PARM-CICS-NAME
COUNT IN PK-LENGTH
PARM-COMMAND
COUNT IN PC-LENGTH
PARM-NAME
COUNT IN PN-LENGTH
PARM-ICONNECT
COUNT IN PI-LENGTH
with:
* ***********************************************************
* * Get parm data *
* ***********************************************************
UNSTRING PARM-AREA
DELIMITED BY
','
OR LOW-VALUES
INTO PARM-CICS-NAME
COUNT IN PK-LENGTH
PARM-COMMAND
COUNT IN PC-LENGTH
PARM-NAME
COUNT IN PN-LENGTH
PARM-ICONNECT
COUNT IN PI-LENGTH
END-UNSTRING
Suggest replacing:
WRITE OUTPUT-RECORD
FROM MSG01
with:
WRITE OUTPUT-RECORD
FROM MSG01
END-WRITE
Suggest replacing:
UNSTRING INPUT-RECORD
DELIMITED BY
SPACE
INTO CA-COMMAND (CA-IDX)
CA-NAME (CA-IDX)
with:
UNSTRING INPUT-RECORD
DELIMITED BY
SPACE
INTO CA-COMMAND (CA-IDX)
CA-NAME (CA-IDX)
END-UNSTRING
Suggest replacing:
WRITE OUTPUT-RECORD
FROM MSG02
with:
WRITE OUTPUT-RECORD
FROM MSG02
END-WRITE
Suggest replacing:
WRITE OUTPUT-RECORD
FROM MSG05
with:
WRITE OUTPUT-RECORD
FROM MSG05
END-WRITE
Suggest replacing:
WRITE OUTPUT-RECORD
FROM MSG03
with:
WRITE OUTPUT-RECORD
FROM MSG03
END-WRITE
Suggest replacing:
WRITE OUTPUT-RECORD
FROM MSG03
with:
WRITE OUTPUT-RECORD
FROM MSG03
END-WRITE
Suggest replacing:
WRITE OUTPUT-RECORD
FROM MSG04
with:
WRITE OUTPUT-RECORD
FROM MSG04
END-WRITE
Suggest replacing:
* ***********************************************************
* * EOJ *
* ***********************************************************
WRITE OUTPUT-RECORD
FROM MSG03
with:
* ***********************************************************
* * EOJ *
* ***********************************************************
WRITE OUTPUT-RECORD
FROM MSG03
END-WRITE
Suggest replacing:
PERFORM A-LITTLE-ACTION THROUGH MORE-ACTION
with:
* Called via GO TO -- oops. EXIT flagged, as Michael suggested.
PROG-EXIT1.
EXIT.
Suggest replacing:
* ***********************************************************
* * Conditionally read sysin for commands *
* ***********************************************************
IF PC-LENGTH = ZERO
OR PN-LENGTH = ZERO
PERFORM
OPEN INPUT REQUEST
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
PERFORM
VARYING CA-IDX
FROM 1
BY 1
UNTIL CA-IDX GREATER THAN 100
OR EOF-ON-INPUT
UNSTRING INPUT-RECORD
DELIMITED BY
SPACE
INTO CA-COMMAND (CA-IDX)
CA-NAME (CA-IDX)
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
END-PERFORM
CLOSE REQUEST
END-PERFORM
END-IF
with:
EVALUATE TRUE
WHEN PC-LENGTH = ZERO
WHEN PN-LENGTH = ZERO
PERFORM
OPEN INPUT REQUEST
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
PERFORM
VARYING CA-IDX
FROM 1
BY 1
UNTIL CA-IDX GREATER THAN 100
OR EOF-ON-INPUT
UNSTRING INPUT-RECORD
DELIMITED BY
SPACE
INTO CA-COMMAND (CA-IDX)
CA-NAME (CA-IDX)
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
END-PERFORM
CLOSE REQUEST
END-PERFORM
WHEN OTHER
CONTINUE
END-EVALUATE
Suggest replacing:
IF EXEC-RESP = 88
AND EXEC-RESP2 = 203
AND PARM-ICONNECT = 'I'
MOVE 04 TO RETURN-CODE
WRITE OUTPUT-RECORD
FROM MSG03
CLOSE PRINTER
GOBACK
END-IF
with:
EVALUATE TRUE
WHEN EXEC-RESP = 88
AND EXEC-RESP2 = 203
AND PARM-ICONNECT = 'I'
MOVE 04 TO RETURN-CODE
WRITE OUTPUT-RECORD
FROM MSG03
CLOSE PRINTER
GOBACK
WHEN OTHER
CONTINUE
END-EVALUATE
* ***********************************************************
* * Conditionally read sysin for commands *
* ***********************************************************
IF PC-LENGTH = ZERO
OR PN-LENGTH = ZERO
PERFORM
OPEN INPUT REQUEST
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
PERFORM
VARYING CA-IDX
FROM 1
BY 1
UNTIL CA-IDX GREATER THAN 100
OR EOF-ON-INPUT
UNSTRING INPUT-RECORD
DELIMITED BY
SPACE
INTO CA-COMMAND (CA-IDX)
CA-NAME (CA-IDX)
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
END-PERFORM
CLOSE REQUEST
END-PERFORM
END-IF
IF EXEC-RESP NOT EQUAL ZERO
PERFORM
SEARCH ALL RESP-TABLE
AT END
MOVE 'RESP value not in table' TO MSG02-RESP-TEXT
WHEN RT-RESP (RT-IDX) = EXEC-RESP
MOVE RT-TEXT (RT-IDX) TO MSG02-RESP-TEXT
END-SEARCH
SEARCH ALL RESP2-TABLE
AT END
MOVE 'RESP2 value not in table' TO MSG02-RESP2-TEXT
WHEN RT2-RESP (RT2-IDX) = EXEC-RESP2
MOVE RT2-TEXT (RT2-IDX) TO MSG02-RESP2-TEXT
END-SEARCH
END-PERFORM
END-IF
IF EXEC-MSG-PTR IS NOT EQUAL TO NULLS
THEN
SET ADDRESS OF EXEC-MSG
TO EXEC-MSG-PTR
MOVE SPACES TO MSG05-TEXT
PERFORM
TEST BEFORE
VARYING TALLY
FROM 1
BY 1
UNTIL TALLY > EXEC-MSG-LEN
MOVE EM-BYTE (TALLY) TO MSG05-BYTE (TALLY)
END-PERFORM
WRITE OUTPUT-RECORD
FROM MSG05
END-IF
IF EXEC-RESP = 88
AND EXEC-RESP2 = 203
AND PARM-ICONNECT = 'I'
MOVE 04 TO RETURN-CODE
WRITE OUTPUT-RECORD
FROM MSG03
CLOSE PRINTER
GOBACK
END-IF
IF EXEC-RESP GREATER THAN 4
MOVE 12 TO RETURN-CODE
WRITE OUTPUT-RECORD
FROM MSG03
CLOSE PRINTER
GOBACK
END-IF
IF CA-RESP (CA-IDX) GREATER THAN 0
MOVE 8 TO RETURN-CODE
END-IF
GO TO PROG-EXIT1
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
READ REQUEST
AT END
SET EOF-ON-INPUT
TO TRUE
END-READ
WRITE OUTPUT-RECORD
FROM MSG01
WRITE OUTPUT-RECORD
FROM MSG02
WRITE OUTPUT-RECORD
FROM MSG05
WRITE OUTPUT-RECORD
FROM MSG03
WRITE OUTPUT-RECORD
FROM MSG03
WRITE OUTPUT-RECORD
FROM MSG04
* ***********************************************************
* * EOJ *
* ***********************************************************
WRITE OUTPUT-RECORD
FROM MSG03
* ***********************************************************
* * Have commands executed in CICS *
* ***********************************************************
EXEC CICS
...
100
88
203
04
4
12
100
8
* ***********************************************************
* * Initialize *
* ***********************************************************
MOVE SPACES TO PARM-DATA
FLAGS
* ***********************************************************
* * Initialize *
* ***********************************************************
MOVE SPACES TO PARM-DATA
FLAGS
MOVE SPACES TO MSG05-TEXT
CC-PHASE-NAME
CORE-RESIDENT-COPYRIGHT
* Abuse the UNUSED-STRUCT
* MOVE "AB" to UNUSED-10-1.
* MOVE "AB" to UNUSED-STRUCT.
* Never called statement -- OK
MOVE "WXYZ" TO TBC
* Never called paragraph -- the statements are flagged
DEADZONE.
ADD WHY-BOTHER
TO SHAVE
GIVING MORNING-SHADOW
END-ADD.
ADD MORNING-SHADOW
TO MORNING-SHADOW
GIVING WHY-BOTHER
END-ADD.
* Never called section -- the statement is flagged
NO-ACTION SECTION.
SUBTRACT 0
FROM NINES
GIVING NINES
END-SUBTRACT.
* Another Never called paragraph
FINI.
* Another Never called statement
MOVE "FINI" TO TBC.
EXIT.
End of COBOL Style Checker Report for file C:/users/lakers/styletest14.cob
--------------------------------------------------------------------------------
05 SW-CONTRIB-TYPE
PIC S9
COMP-3.
88 CONTRIB-TYPE-NOT-FOUND
VALUE +0.
88 CONTRIB-TYPE-FOUND
VALUE +1.
PERFORM SOME-ACTION
PERFORM A-LITTLE-ACTION
PERFORM A-LITTLE-ACTION THROUGH MORE-ACTION
PERFORM SOME-ACTION
Suggest replacing:
PERFORM A-LITTLE-ACTION THROUGH MORE-ACTION
with:
* Called via GO TO -- oops. EXIT flagged, as Michael suggested.
PROG-EXIT1.
EXIT.
GO TO PROG-EXIT1
-1
UNUSED-01
SWITCHES
UNUSED-10-2
UNUSED-05-2
UNUSED-05-1
UNUSED-STRUCT
* Abuse the SWITCHES
* IF CONTRIB-TYPE-FOUND GO TO PROG-EXIT2.
MOVE -1 TO SW-CONTRIB-TYPE
* Abuse the UNUSED-STRUCT
* MOVE "AB" to UNUSED-05-1.
MOVE "AB" TO UNUSED-10-1
* MOVE "ABCD" to UNUSED-STRUCT.
* Never called statement -- OK
MOVE "WXYZ" TO TBC
* Never called paragraph -- the statements are flagged
DEADZONE.
ADD WHY-BOTHER
TO SHAVE
GIVING MORNING-SHADOW
END-ADD.
ADD MORNING-SHADOW
TO MORNING-SHADOW
GIVING WHY-BOTHER
END-ADD.
* Never called section -- the statement is flagged
NO-ACTION SECTION.
SUBTRACT 0
FROM NINES
GIVING NINES
END-SUBTRACT.
* Another Never called paragraph
FINI.
* Another Never called statement
MOVE "FINI" TO TBC.
EXIT.
End of COBOL Style Checker Report for file C:/users/lakers/styletest15.cob
--------------------------------------------------------------------------------