This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Great example of why "everything is a tree" sucks


On Wed, Nov 13, 2013 at 5:37 AM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:

> Really the best place to start IMHO would be to evict 'tree' from the
> front ends. That would really be a step towards making the front ends
> independent of the rest of the compiler, and it would simplify changes
> towards static 'tree' types.

Each FE will be free to choose their own data structure for their
ASTs.  In the case of the C based FEs, their AST *is* tree.  Once the
FEs don't need to emit symbols and types using 'tree', they will be
able to use the more streamlined gimple variants.

I don't know what the gimple variants for symbols and types will look
like.  They will need to have enough attributes to describe the needs
of debug info, but they will not need anything related to semantic
analysis and codegen for the source language.  So, there will be
shared attributes, but they will be on completely separate modules and
type systems.  That orthogonality will allow the FEs to add more
features without impacting the rest of the compiler.


Diego.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]