[fpc-devel] Debug compiler
lazarus at kluug.net
Mon Nov 9 00:06:53 CET 2015
I see that Sven refactored the compiler and added texprflags. Thanks
Sven! I uploaded a new patch that takes advantage of texprflags.
On 31.10.2015 12:06, Jonas Maebe wrote:
> * don't use the "is" operator unless there is absolutely no other way
> to achieve the same effect. In the compiler, every node has a
> "nodetype" field that can be used to determine the kind instead (which
> is much faster than "is"
Fixed with "enumeratorn" nodetype.
> * I'm not sure such a "virtual node" is the best approach. I don't
> think we have that anywhere else in the compiler, so unless there is
> no cleaner way, we shouldn't introduce this concept (if some nodes are
> used differently from other nodes --other than the special error
> node--, then maintenance and reasoning becomes harder)
Nothing changed in this respect. I still use tenumeratornode.
> * don't add extra (semi-)global variables such as the
> tscannerfile.inforin field unless there is absolutely no other way to
> achieve the same effect. It's usually a quick hack, and there are way
> too many of those in the compiler already (I've removed a number of
> them over the years, but there are plenty left)
Fixed with texprflags and forin parameter.
> * like for all other node types, create a "tenumeratornodeclass =
> tclass of tenumeratornode" type, a "cenumeratornode:
> tenumeratornodeclass = tenumerator;" global variable and always use
> cenumeratornode.create() (so that the node class can be overridden by
> an architecture-specific class if necessary)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the fpc-devel