[Lazarus] Less global variables
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Sat Oct 9 08:28:26 CEST 2010
In this new approach I moved some global variables into classes,
omitting variables that require to many consequential changes to the
remaining compiler code - see patch #17584. This patch will allow for
easier implementation of parallel processing in the compiler, or for
multiple front-ends.
The variables have been replaced by (getter) functions, with some added
procedures for updating their values - this is where getter/setter pairs
are inapplicable for structured types, or require too many consequential
changes for using pointers instead of plain variables. If somebody can
suggest a less intrusive solution, more global variables can be moved.
Now I hope that this patch will be applied to the trunk soon. It's a
very big one, including some previously supplied patches. These
mandatory patches already have been included, because I found it not so
easy to merge these together. Maybe my fault...
As already mentioned, I'll try to implement further front-ends now. This
work will be based on this patch, and result in changes to almost all
parser units. This time I'll try to implement the required changes in
just another front-end, so that both the old and new parser can be
tested and compared easily. If there is common interest in this project,
I can open another branch for it, where I (hopefully) can avoid the
problems with my preceding branches.
DoDi
More information about the Lazarus
mailing list