Article View: comp.lang.misc
Article #464Re: What I'd really like to see in an if-statement...
From: Preston Briggs
Date: Sat, 12 Aug 1989 16:58
Date: Sat, 12 Aug 1989 16:58
35 lines
1961 bytes
1961 bytes
In article <561@halley.UUCP> rrt@halley.UUCP (Robert Teisberg) writes:
>In article <545@brazos.Rice.edu> preston@titan.rice.edu (Preston Briggs) writes:
>>In Pascal, < doesn't associate. You can't write a<b<c.
>
>True, you usually can't, but associativity (or lack thereof) is not the
>reason. In Pascal, the expression parses as:
>
>(a<b)<c
>
>where (a<b) is an expression with a boolean value. If c is also
>boolean, this is a legitimate (though weird) expression. If c is not
>boolean, the compiler should complain of a type clash.
Wait. Check the BNF or railroad tracks. (Pause while I try
to find a reference!) In "Algorithms+Data Structures" (all I
can find right away), an Expression is defined:
Expression ::= SimpleExpression [relation SimpleExpression]
where [x] denotes an optional "x". So, an expression is a
SimpleExpression, optional followed by a Relation and another
SimpleExpression. There can't be more than one relation.
Contrast this with the definition of SimpleExpression:
SimpleExpression ::= [`+'|`-'] Term {AddOp Term}
where {x} denotes 0 or more x's. Here we see an optional
leading + or -, followed by a Term, followed by a sequence
of AddOp's and Term's.
It's possible that some standard has changed this definition in the past
few years; I haven't kept up. Try it on your favorite compiler!
Preston
Technical Details
Message-ID:
<549@brazos.Rice.edu>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!husc6!rice!titan!prestonReferences:
<8577@batcomputer.tn.cornell.edu> <14251@haddock.ima.isc.com> <516@brazos.Rice.edu> <8606@batcomputer.tn.cornell.edu> <545@brazos.Rice.edu> <561@halley.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!husc6!rice!titan!preston From: preston@titan.rice.edu (Preston Briggs) Newsgroups: comp.lang.misc Subject: Re: What I'd really like to see in an if-statement... Message-ID: <549@brazos.Rice.edu> Date: 12 Aug 89 16:58:43 GMT References: <8577@batcomputer.tn.cornell.edu> <14251@haddock.ima.isc.com> <516@brazos.Rice.edu> <8606@batcomputer.tn.cornell.edu> <545@brazos.Rice.edu> <561@halley.UUCP> Sender: root@rice.edu Reply-To: preston@titan.rice.edu (Preston Briggs) Organization: Rice University, Houston Lines: 35