Tue, 25 Nov 2008 22:43:43 -0600

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

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.