From: LX-i on
Frank Swarbrick wrote:
>>>> On 9/20/2007 at 8:31 PM, in message
> <YaidncS6RurpsG7bnZ2dnUVZ_j6dnZ2d(a)comcast.com>, LX-i<lxi0007(a)netscape.net>
> wrote:
>>
>> PICTURE was introduced in 68, if memory serves - is it obsolete too?
>> Just because something is old doesn't make it obsolete; sometimes its
>> age is a testament to its usefulness. :)
>
> It's somewhat obsolete. Modern Cobol compilers have things such as USAGE
> BINARY-SHORT and BINARY-LONG instead of PICTURE S9(4) COMP and PICTURE S9(9)
> COMP.
>
> Just pointing it out...

Yeah - I thought of that a few posts back. :) I was going to use
PERFORM, but then I remembered that Robert had actually advocated
getting rid of PERFORM in favor of CALL (at least I think that was him)...

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ / \/ _ o ~ Live from Albuquerque, NM! ~
~ _ /\ | ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ Business E-mail ~ daniel @ "Business Website" below ~
~ Business Website ~ http://www.djs-consulting.com ~
~ Tech Blog ~ http://www.djs-consulting.com/linux/blog ~
~ Personal E-mail ~ "Personal Blog" as e-mail address ~
~ Personal Blog ~ http://daniel.summershome.org ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GEEKCODE 3.12 GCS/IT d s-:+ a C++ L++ E--- W++ N++ o? K- w$ !O M--
V PS+ PE++ Y? !PGP t+ 5? X+ R* tv b+ DI++ D+ G- e h---- r+++ z++++

"Who is more irrational? A man who believes in a God he doesn't see,
or a man who's offended by a God he doesn't believe in?" - Brad Stine
From: Robert on
On Sat, 22 Sep 2007 04:31:24 GMT, "William M. Klein" <wmklein(a)nospam.netcom.com> wrote:

>
>"Robert" <no(a)e.mail> wrote in message
>news:j629f39red8n9ov4j9cqsidpc3ugmichbj(a)4ax.com...
>> On Fri, 21 Sep 2007 11:09:16 GMT, "William M. Klein"
>> <wmklein(a)nospam.netcom.com> wrote:
>>
>>>"Robert" <no(a)e.mail> wrote in message
>>>news:i3j6f3pa7ucignv34t4oklno0ht8jh2c5p(a)4ax.com...
>>>> On Fri, 21 Sep 2007 04:21:35 GMT, "William M. Klein"
>>>> <wmklein(a)nospam.netcom.com> wrote:
>>>>
>>><snip>
>>>> I and Richard posted facts showing speed is the same. We have not seen facts
>>>> from
>>>> mainframe-land,except a five year old study. Just post some facts and skip
>>>> the
>>>> ad homina.
>>>
>>>I do NOT have personal access to an Enterprise V3.4 COBOL compiler - and I do
>>>believe what IBM says about its performance (and don't believe that you know
>>>how
>>>they implement all their syntax -> machine code). HOWEVER,
>>>
>>>If you create a source program that you think tests subscripts vs indexes
>>>(whether it is comprehensive or not), then I think some CLC person might
>>>compile
>>>and run it for you.
>>>
>>>Therefore, please create and post a sample program that cleanly compiles with
>>>the Micro Focus directives:
>>> NOMF DIALECT(ENTCOBOL) FLAGAS(S)
>>>
>>>If you are not using a current-enough version of Server Express to include
>>>support for the DIALECT directive, then use:
>>> NOMF ENTCOBOL FLAG(ENTCOBOL) FLAGAS(S) ARITHMETIC(ENTCOBOL)
>>>PERFORM-TYPE(ENTCOBOL)
>>
>> That's not necessary. The code I posted is Standard-compliant except for
>> comp-5, which we
>> all know IBM can handle.
>>
>
>Robert,
> Are you talking about the code with "EXIT PERFORM CYCLE" in it - or did you
>poas a later sample? If that is the one that you are talking about, please do
>try compiling it with the directives listed above and see what happens.
>
>If there was a later version that conforms to the '85 Standard (not parts of the
>'02 Standard), then can you re-post it - as I don't seem to have it in my
>"saved" notes.

Oh yeah, THAT problem. As I explained once, EXIT PERFORM CYCLE is inside all the loops
because without it the 'null loop' measure of timer overhead was being optimized out. The
empty loop took almost zero time. The code needs SOMEthing that will make it go around the
loop repeat-factor times. I couldn't think of an '85 Standard-compliant way to write that.
I tried CONTINUE, which made no difference.
From: Robert on
On Sat, 22 Sep 2007 04:40:21 GMT, "William M. Klein" <wmklein(a)nospam.netcom.com> wrote:

>"Robert" <no(a)e.mail> wrote in message
>news:gh29f3pge2r8ndkp9plkbtjdc1qib8avfq(a)4ax.com...
>> On Fri, 21 Sep 2007 00:29:49 -0700, Richard <riplin(a)Azonic.co.nz> wrote:
><snip>
>>>Because indexes are tied to the occurs by the 'indexed by' you can't
>>>get the order of the subscripts wrong: x(a c b) will give an error if
>>>the correct order is x(a b c). Subscripts won't do that.
>>
>> Unless 'liberals' convince the compiler company to allow it, as they have.
>>
>
>Robert,
> Do you know of any compiler that does allow for index-names to be coded in the
>"incorrect" order? I don't. (I know of some that allow then to be used for
>other tables with identical structures - but not any that allow
> x (a c b) where
> x(a b c) would be correct.
>
>If you know of such a compiler, can you post a listing?

You are ALMOST correct. The two structures must have the same 'reach', which would seem
impossible for a reversal of b and c. HOWEVER, it would work if both dimensions said
OCCURS 1. :)
From: William M. Klein on
Have you tried it with "1". I don't think that either IBM or MF will compile
that cleans (but I could be mistaken).

--
Bill Klein
wmklein <at> ix.netcom.com
"Robert" <no(a)e.mail> wrote in message
news:f9c9f3d5imujaafvgos0nl66tdn2p8rd18(a)4ax.com...
> On Sat, 22 Sep 2007 04:40:21 GMT, "William M. Klein"
> <wmklein(a)nospam.netcom.com> wrote:
>
>>"Robert" <no(a)e.mail> wrote in message
>>news:gh29f3pge2r8ndkp9plkbtjdc1qib8avfq(a)4ax.com...
>>> On Fri, 21 Sep 2007 00:29:49 -0700, Richard <riplin(a)Azonic.co.nz> wrote:
>><snip>
>>>>Because indexes are tied to the occurs by the 'indexed by' you can't
>>>>get the order of the subscripts wrong: x(a c b) will give an error if
>>>>the correct order is x(a b c). Subscripts won't do that.
>>>
>>> Unless 'liberals' convince the compiler company to allow it, as they have.
>>>
>>
>>Robert,
>> Do you know of any compiler that does allow for index-names to be coded in
>> the
>>"incorrect" order? I don't. (I know of some that allow then to be used for
>>other tables with identical structures - but not any that allow
>> x (a c b) where
>> x(a b c) would be correct.
>>
>>If you know of such a compiler, can you post a listing?
>
> You are ALMOST correct. The two structures must have the same 'reach', which
> would seem
> impossible for a reversal of b and c. HOWEVER, it would work if both
> dimensions said
> OCCURS 1. :)


From: William M. Klein on
As I say, you come up with a set of source code that tests that you THINK should
be tested and that compiles cleanly with NOMF DIALECT(ENTCOBOL) FLAGAS(S), then
I'll find someone to compile it and run it (if no one volunteers here).

I didn't originally say that you need to RUN it, but given your fear for
"optimizing out" the test, I would suggest that you run it just to make certain
that it actually tests what you want tested. (No guarantee that the IBM
mainframe compiler won't optimize OTHER things, but at least this give a "fair
chance".)

--
Bill Klein
wmklein <at> ix.netcom.com
"Robert" <no(a)e.mail> wrote in message
news:rpa9f39h9c5risaks7vjoud9q8e9dqa6j3(a)4ax.com...
> On Sat, 22 Sep 2007 04:31:24 GMT, "William M. Klein"
> <wmklein(a)nospam.netcom.com> wrote:
>
>>
>>"Robert" <no(a)e.mail> wrote in message
>>news:j629f39red8n9ov4j9cqsidpc3ugmichbj(a)4ax.com...
>>> On Fri, 21 Sep 2007 11:09:16 GMT, "William M. Klein"
>>> <wmklein(a)nospam.netcom.com> wrote:
>>>
>>>>"Robert" <no(a)e.mail> wrote in message
>>>>news:i3j6f3pa7ucignv34t4oklno0ht8jh2c5p(a)4ax.com...
>>>>> On Fri, 21 Sep 2007 04:21:35 GMT, "William M. Klein"
>>>>> <wmklein(a)nospam.netcom.com> wrote:
>>>>>
>>>><snip>
>>>>> I and Richard posted facts showing speed is the same. We have not seen
>>>>> facts
>>>>> from
>>>>> mainframe-land,except a five year old study. Just post some facts and skip
>>>>> the
>>>>> ad homina.
>>>>
>>>>I do NOT have personal access to an Enterprise V3.4 COBOL compiler - and I
>>>>do
>>>>believe what IBM says about its performance (and don't believe that you know
>>>>how
>>>>they implement all their syntax -> machine code). HOWEVER,
>>>>
>>>>If you create a source program that you think tests subscripts vs indexes
>>>>(whether it is comprehensive or not), then I think some CLC person might
>>>>compile
>>>>and run it for you.
>>>>
>>>>Therefore, please create and post a sample program that cleanly compiles
>>>>with
>>>>the Micro Focus directives:
>>>> NOMF DIALECT(ENTCOBOL) FLAGAS(S)
>>>>
>>>>If you are not using a current-enough version of Server Express to include
>>>>support for the DIALECT directive, then use:
>>>> NOMF ENTCOBOL FLAG(ENTCOBOL) FLAGAS(S) ARITHMETIC(ENTCOBOL)
>>>>PERFORM-TYPE(ENTCOBOL)
>>>
>>> That's not necessary. The code I posted is Standard-compliant except for
>>> comp-5, which we
>>> all know IBM can handle.
>>>
>>
>>Robert,
>> Are you talking about the code with "EXIT PERFORM CYCLE" in it - or did you
>>poas a later sample? If that is the one that you are talking about, please do
>>try compiling it with the directives listed above and see what happens.
>>
>>If there was a later version that conforms to the '85 Standard (not parts of
>>the
>>'02 Standard), then can you re-post it - as I don't seem to have it in my
>>"saved" notes.
>
> Oh yeah, THAT problem. As I explained once, EXIT PERFORM CYCLE is inside all
> the loops
> because without it the 'null loop' measure of timer overhead was being
> optimized out. The
> empty loop took almost zero time. The code needs SOMEthing that will make it
> go around the
> loop repeat-factor times. I couldn't think of an '85 Standard-compliant way to
> write that.
> I tried CONTINUE, which made no difference.