- Global_translator *global_l =
- dynamic_cast<Global_translator*> (daddy_trans_l_->ancestor_l (100)); // ugh 100.
-
+ Translator *t = this;
+ Global_translator *global_l =0;
+ do
+ {
+ t = t->daddy_trans_l_ ;
+ global_l = dynamic_cast<Global_translator*> (t);
+ }
+ while (!global_l);