Convert the core lexer and parser into fully reentrant code, by making use

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 91e71929ba38c2cd212435982c95ccb7c19b4174
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2009-07-13T02:02:20Z
Releases: 9.0.0
Convert the core lexer and parser into fully reentrant code, by making use
of features added to flex and bison since this code was originally written.
This change doesn't in itself offer any new capability, but it's needed
infrastructure for planned improvements in plpgsql.

Another feature now available in flex is the ability to make it use palloc
instead of malloc, so do that to avoid possible memory leaks.  (We should
at some point change the other lexers likewise, but this commit doesn't
touch them.)

Files

PathChange+/−
src/backend/nls.mk modified +2 −2
src/backend/parser/gram.y modified +132 −97
src/backend/parser/parser.c modified +50 −48
src/backend/parser/scan.l modified +244 −172
src/include/parser/gramparse.h modified +75 −9