[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [open-cobol-list] How do I report bugs?
From: |
Vince Coen |
Subject: |
Re: [open-cobol-list] How do I report bugs? |
Date: |
Sun, 11 Apr 2010 02:09:00 +0100 |
User-agent: |
KMail/1.12.4 (Linux/2.6.31.12-desktop-3mnb; KDE/4.3.5; i686; ; ) |
Hi Dave,
On Saturday 10 Apr 2010, Dave Stratford wrote:
> Hi Folks,
>
> I've been running a number of VME C2 cobol sources through the open cobol
> compiler and found two, possibly three minor bugs in the 1.1 release.
> Fortunately they are all minor, but would prevent anyone from just lifting
> the code from the VME mainframe and dropping it directly into open cobol
> without having to go through and check, and most likely change, every
> single source.
Did not know that any ICL m/f's were still around.
>
> 1) According to the cobol standard, INITIALISE is a valid alternative
> spelling for INITIALIZE, OC doesn't allow it when technically it should.
Nope, the standard is INITIALIZE the change from Z to S was strictly by ICL
on their 2900/3900 series cobol compilers as a deviation from the standard.
It also used to apply to very early Micro Focus Cobol compilers eg, Cis Cobol
but is not present after, ie, from Workbench v3.
> 2) OC only allows a single word in the SOURCE-COMPUTER and OBJECT-COMPUTER
> sentences for the computer name. I realise that this is purely documentary
> but the computer name should allow more than 1 word.
From the Standards manual (ISO/IEC 1989:20xx CD 1.1 (E)):
12.3.4.1 General format
12.3.4.2 Syntax rules
1) If computer-name-1 is not specified, the second period in the general format
may be omitted.
12.3.4.3 General rules
1) All clauses of the SOURCE-COMPUTER paragraph apply to the source unit in
which they are explicitly or
implicitly specified and to any source unit contained within that source unit.
2) When the SOURCE-COMPUTER paragraph is not specified and the source unit is
not contained within a source
unit including a SOURCE-COMPUTER paragraph, the computer on which the source
unit is being compiled is
the source computer.
3) When the SOURCE-COMPUTER paragraph is specified, but computer-name-1 is not
specified, the computer
upon which the source unit is being compiled is the source computer.
In the Open Cobol manual it states for object-computer. paragraph:
The value specified for computer-name-2 is irrelevant, provided it is a valid
COBOL word that does not match any OpenCOBOL reserved word.
And looking at an old IBM manual it also is one word and memory is telling me
ICL as also one word both for ICL 1900 as well as all new range.
That is not to say that additional elements to the paragraph could not exist
eg, segment-limit etc. Not that many compilers use 'em.
> 3) The following STRING statement failed on the "IS". It compiled quite
> happily on C2 cobol on VME as the "IS" is just a noise word anyway. I'm
> not sure whether this is an error in OC, or in C2 cobol which perhaps
> shouldn't have let it through.
>
> STRING WH-SPAN-O DELIMITED BY SIZE
> WM-WORD-2 DELIMITED BY SPACES
> WH-SPAN-C DELIMITED BY SIZE
> WM-WORD-3 DELIMITED BY SPACES
> " " DELIMITED BY SIZE
> WM-WORD-4 DELIMITED BY SPACES
> " " DELIMITED BY SIZE
> WM-WORD-5 DELIMITED BY SPACES
> " " DELIMITED BY SIZE
> WM-REMAINDER DELIMITED BY SIZE
> INTO F03-REC-200
> POINTER IS WM-SPACE-COUNT
'pointer is' is NOT a valid combination eg ;is' noise word is not accetable in
both the standard nor OC.
Vince
Programming in Cobol sometimes, since 1963.