On Wed, Nov 13, 2013 at 5:37 AM, Steven Bosscher <stevenb....@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.