Yes, exactly. I know that you have been saying this from the word go, and
this adds to the chorus.
The check is pretty simple - if the previous token was not a value or right
parenthesis, then it's a unary, not binary, minus. Of course, we would have
to expand 'value' to mean constant or column name. Is there anything else
that defines the binary minus that I've left out? We would, I suppose, also
have to check that the minus isn't part of a user-defined operator. What is
the BNF for our operators? In fact, do we have a BNF diagram for our
flavour of SQL? Perhaps that is where the problem lies. I must admit, I
have hardly been into the compiler.
MikeA
>> -----Original Message-----
>> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
>> Sent: Thursday, September 23, 1999 5:03 PM
>> To: Ansley, Michael
>> Subject: Re: [HACKERS] Lexxing and yaccing...
>>
>>
>> "Ansley, Michael" <Michael.Ansley@intec.co.za> writes:
>> > However, the most interesting part that I noticed is on
>> the second page,
>> > under the 'Other Titles' section. It's called 'Operator-Precedence
>> > Parsing'. I haven't yet managed to get to it, because the
>> web server (or my
>> > browser, I'm not sure yet) keeps hooching over the page,
>> however, I'll put
>> > money on the fact that it will provide us with some
>> insight into solving the
>> > current operator problem(s?) that we have (see previous
>> postings titled
>> > 'Status Report: long query string changes' and "Postgres' lexer").
>>
>> I doubt it. Operator precedence is a grammar-level technique; it
>> doesn't have anything to do with lexical analysis...
>>
>> regards, tom lane
>>