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

RE: gnubol: How do we parse this language, anyway?



> -----Original Message-----> From: owner-gnu-cobol@wallace.lusars.net
  <snip>
>
> I hope you will agree that at least some further comment on other compilers
> might be useful as perspective on  the code base issue. And I hope you can
> see my sense that keeping the discussion open goes beyond mere
> reject/extend
> preferences. This is a significant design issue for the grammar rules.
> Aggressive parser, mere associativity, and bland statement-list blocks I
> think will not cut it. But anyway we are nearing workable
> grammars. So this
> chatter ends soon.
>

 Ye "crux" of the problem.  <G>

I thought that this had already been "resolved".  IBM causes an error (but
can recover) - true of both old ('74) and new ('85) compilers. Fujitsu,
AcuCOBOL. and RM get errors. Micro Focus and Wang accept (at least Micro
Focus flags as an extension - don't know about Wang).  I think I saw a note
indicating that Dec also rejects this (but that might have been in
comp.lang.cobol - not GNU). I am almost positive that Tandem, ICL, Siemans,
and Unisys (both flavors of Unisys) all reject it.

This is why I am confused by the thought that this is still an "open issue".
I do not know how much Wang code there is that uses this extension, I am
fairly confident in saying that there is SOME but not lots of Micro Focus
using it.  As far as I know (and I haven't heard anything from anyone else
saying otherwise) NO other vendor ('74 or '85 Standard) allows this or has a
code-base with this type of code.

NOTE WELL:
  What I am saying is true for *ALL* unterminated conditional statements
where the Standard ('74 or '85) requires an imperative statement.  It doesn't
matter if it is "like" statements (e.g. arithmetic) or "like" conditional
phrases (e.g. ON OVERFLOW for CALL and UNSTRING - or WHEN with EVALUATE and
SEARCH) or TOTALLY diverse conditional phrases (such as a nested conditional
CALL in a conditional arithmetic expression).  The rule that is (almost -
i.e. except Micro Focus and Wang) ENFORCED is

   THOU SHALT NOT USE A CONDITIONAL STATEMENT
      WHERE THE STANDARD REQUIRES AN IMPERATIVE STATEMENT!

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.