bug-gnucobol
[Top][All Lists]
Advanced

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

Re: [open-cobol-list] How do I report bugs?


From: John Culleton
Subject: Re: [open-cobol-list] How do I report bugs?
Date: Sun, 11 Apr 2010 09:42:34 -0400
User-agent: KMail/1.11.4 (Linux/2.6.29.6-smp; KDE/4.2.4; i686; ; )

On Sunday 11 April 2010 09:23:12 Dave Stratford wrote:
> On 11 Apr, Vince Coen <address@hidden> wrote:
> > 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.
>
> Loads. Well. A number anyway. To my knowledge the DWP still use them, as
> do the Inland Revenue and Customs and Excise. The Patent Office, at
> least two water companies, at least one bank and at least two building
> societies. They're called NOVA's now btw.
>
> > > 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.
>
> Not just ICL, also by a number of other compilers, including BULL and
> Microfocus. It is in a copy of the standard I have, even if that
> standard is a few years old now. Haven't used Microfocus since 1997 so
> they could have changed since I suppose.
>
> > > 2) OC only allows a single word in the SOURCE-COMPUTER and
> > > OBJECT-COMPUTE 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.
>
> Definately nope. The number of times I have seen something like "ICL
> 2988", or "SERIES 39 LEVEL 80" or other similar is amazing. I personally
> always use "ICL VME". Interestingly the Microfocus manual I have here
> does say 1 cobol word but allowed more than 1 through, but I know that
> at least one IBM compiler has, if not still does, allowed more than 1
> word.
>
> > 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.
>
> It compiles okay in VME, but I wasn't sure where the fault lay here. I
> suspect then that the C2 compiler is technically at fault as it allowed
> an incorrect noise word through.
>
> Dave

The X/open  CAE document dated in the 1990's recognizes INITIALIZE but not 
INITIALISE. And I believe this document is of British origin. 

Variant but invalid usages should be avoided. I remember taking a test 
program from an IBM 370 to a Hewlett-Packard 3000. We had great difficulty 
getting it to compile until we spotted an IBMism: the IDENTIFICATION 
DIVISION had been shortened to ID DIVISION. IBM allowed this, but no 
standard has ever recognized it. Stick to the standard is my advice. 
-- 
John Culleton
"Create Book Covers with Scribus"
Printable E-book 38 pages $5.95
http://www.scribd.com/doc/24676863/
http://www.booklocker.com/books/4055.html


reply via email to

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