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

RE: IBM Compilers (was RE: gnubol: How do we parse thislanguage,anyway?



Concerning IBM "downward compatibility" (I won't quote the full question),

(For the mainframe) VS COBOL II R3.0 and following compilers (releases AND
versions) support two compiler options "CMPR2" and NOCMPR2.  The literal
meaning of CMPR2 is "compile-like release 2".  Release 2 of VS COBOL II was
(basically) an ANS'74 compiler.  It was NOT, however, fully compatible with
the OS/VS COBOL (or DOS/VS COBOL) compilers that were STRICTLY '68/'74
compilers (depending on the LANGLVL compiler option).  When VS COBOL II R1
was first introduce (and was enhanced with R1.1 and R2.0) although they were
BASICALLY '74 Standard compilers they did introduce several "extensions" from
the THEN DRAFT '85 Standard.  This included the EVALUATE statement, scope
terminators and several others. (I don't recall them all.) Therefore, the
"newer" compilers that have a CMPR2 compiler option are emulating this '74
Standard *plus* extensions from '85 - minus extensions that used to be valid
in OS/VS COBOL.

Not having (or at least not easily) a copy of the VS COBOL II, R2 LRM - I
can't remember for positive whether NOT conditionals were or were not
allowed.  My *vague* memory is that they were not, but I am not positive.  I
am ABSOLUTELY positive that OS/VS COBOL did NOT support either scope
terminators or NOT-conditionals.

FYI,  the OS/VS COBOL LANGLVL compiler option worked significantly
differently than CMPR2/NOCMPR2.  With LANGLVL(1) you got ALL of the '68
Standard *plus* all of the '74 Standard - except where they conflicted (a
list of 10 items).  Similarly LANGLVL(2) got ALL of the '74 plus all of the
'68 - except for that same list of 10 items.  (The two that are "real
killers" to compilers trying to emulate this option are the COPY statement
differences between '68 and '74 - and the NOT with combined abbreviated
conditionals. Unfortunately, especially for VSE CICS users, LANGLVL(1) is
STILL in medium-frequent use.)

Bill Klein
  wmklein <at> ix.netcom.com



--
This message was sent through the gnu-cobol mailing list.  To remove yourself
from this mailing list, send a message to majordomo@lusars.net with the
words "unsubscribe gnu-cobol" in the message body.  For more information on
the GNU COBOL project, send mail to gnu-cobol-owner@lusars.net.