Re: Parser Cruft in gram.y
Peter Eisentraut <peter_e@gmx.net>
From: Peter Eisentraut <peter_e@gmx.net>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Dimitri Fontaine <dimitri@2ndquadrant.fr>, Tom Lane <tgl@sss.pgh.pa.us>, Kevin Grittner <kgrittn@mail.com>, pgsql-hackers@postgresql.org
Date: 2012-12-18T22:24:31Z
Lists: pgsql-hackers
On 12/18/12 5:10 PM, Robert Haas wrote: > I can't help but suspect that the way we handle keywords today is > monumentally inefficient. The unreserved_keyword products, et al, > just seem somehow badly wrong-headed. We take the trouble to > distinguish all of those cases so that we an turn around and not > distinguish them. I feel like there ought to be some way to use lexer > states to handle this - if we're in a context where an unreserved > keyword will be treated as an IDENT, then have the lexer return IDENT > when it sees an unreserved keyword. The problem would be the lookahead. You need to know the next token before you can decide what context the current one is in.