Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-16 Thread Kevin Grittner
Tom Lane t...@sss.pgh.pa.us wrote: One problem that wasn't obvious when I started is that if you are trying to use a reentrant lexer, Bison insists on including its YYSTYPE union in the call signature of the lexer. Of course, YYSTYPE means different things to the core grammar and plpgsql's

Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-16 Thread Tom Lane
Kevin Grittner kevin.gritt...@wicourts.gov writes: ... We were able to get to much cleaner code by rewriting the parser to have a dumb phase to get the overall structure into an AST, and then use a tree-walker phase to do all the lookups and type resolution after we had the rough structure,

[HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-15 Thread Tom Lane
I've spent the past several days working on the project I suggested here: http://archives.postgresql.org/message-id/18653.1239741...@sss.pgh.pa.us of getting rid of plpgsql's private lexer and having it use the core lexer instead. I've run out of time for that and need to go focus on commitfest

Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-15 Thread Alvaro Herrera
Tom Lane wrote: Another pretty serious issue is that the current plpgsql lexer treats various sorts of qualified names as single tokens. I had thought this could be worked around in the interface layer by doing more lookahead. You can do that, and it mostly works, but it's mighty tedious.

Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-15 Thread Tom Lane
Alvaro Herrera alvhe...@commandprompt.com writes: Tom Lane wrote: ... I spent a fair amount of time trying to work around that by eliminating uses of yytext in plpgsql, and mostly succeeded, but there are still some left. (Some of the remaining regression failures are error messages that