Related articles |
---|
[6 earlier articles] |
Re: Overloaded logic operators mike@mike-austin.com (Mike Austin) (2008-11-25) |
Re: Overloaded logic operators mike@mike-austin.com (Mike Austin) (2008-11-25) |
Re: Overloaded logic operators lkrupp@pssw.com (Louis Krupp) (2008-11-25) |
Re: Overloaded logic operators mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2008-11-25) |
Re: Overloaded logic operators m.helvensteijn@gmail.com (2008-11-25) |
Re: Overloaded logic operators bc@freeuk.com (Bartc) (2008-11-25) |
Re: Overloaded logic operators cdodd@acm.org (Chris Dodd) (2008-11-25) |
Re: Overloaded logic operators torbenm@pc-003.diku.dk (2008-11-26) |
Re: Overloaded logic operators fswarbrick@gmail.com (Frank Swarbrick) (2008-11-27) |
Re: Overloaded logic operators dot@dotat.at (Tony Finch) (2008-12-01) |
Re: Overloaded logic operators alexc@TheWorld.com (Alex Colvin) (2008-12-03) |
Re: Overloaded logic operators haberg_20080406@math.su.se (Hans Aberg) (2008-12-04) |
From: | Chris Dodd <cdodd@acm.org> |
Newsgroups: | comp.compilers |
Date: | Tue, 25 Nov 2008 22:43:43 -0600 |
Organization: | Compilers Central |
References: | 08-11-110 08-11-114 08-11-123 |
Keywords: | syntax |
Posted-Date: | 27 Nov 2008 11:59:16 EST |
Louis Krupp <lkrupp@pssw.com> wrote in news:08-11-123@comp.compilers:
><snip>
>> [The A < B < C syntax has been part of Cobol for many decades. It seems
>> to work fine there. -John]
>
> Are you sure that's in COBOL? It doesn't sound familiar, and I don't
> have a COBOL manual handy.
My recollection is that A < B < C syntax comes from ICON and possibly
something earlier (SNOBOL?) as well.
In ICON, there is no boolean type; instead there is a special FAIL value. In
tests, FAIL is false and everything else is true. So A < B returns B if both
A and B are numeric values and A < B, and FAIL otherwise. So A < B < C is
just parsed as (A < B) < C and ends up doing the expected mathematical test.
ICON also allow you to write things like A < (B | C) which is equivalent to
A < B or A < C
Chris Dodd
cdodd@acm.org
Return to the
comp.compilers page.
Search the
comp.compilers archives again.