On Tuesday 17 May 2005 02:15, Mark Mitchell wrote:
Steven Bosscher wrote:
That's orthogonal. There's no reason you can't write a great front end
using trees.
But it is hard to write a great back end using trees when at least one
front end has its own set of rules about using trees.
No, that's not true either. It's hard to write a great back end when
you try to interleave the front end and the back end. If the front end
works for a while, stops, and hands some well-defined data structures to
the back end in the format the back end wants, there's no problem.
You forget that we drag around all the language specific extensions to
trees as well. Things lang_identifier, lang_decl, and lang_type are a
major pain. Do you have any idea how large a simple scalar temporary
is in the tree optimizers for G++? Our struct tree_decl is already not
exactly a fine example of lean and mean, but lang_decl and (especially)
lang_identifier make it a real pain. (I'm aware that making DECL_*NAME
strings would fix this, it's a major project we should list somewhere).