Class dependency graph for Prefix expression evaluator. An evaluation of a Prefixlist returns a Numberlist. Example = List(Prefix). Prefix : Number | Compound. ;multiple inheritance threat *SIG* *VIRTUAL* eval() *RETURNS* Number. Compound = "(" Op List(Prefix) ")". *SIG* eval() *RETURNS* Number Op : Mulsym | Addsym *sig* *virtual* apply_op(List(Number)) *returns* Number. Mulsym = "*" *sig* apply_op(List(Number)) *returns* Number. Addsym = "+" *sig* apply_op(List(Number)) *returns* Number. List(S) ~ S {S}. *instance* List(Prefix) *sig* eval() *returns* List(Number). *instance* List(Number) *sig* apply_times() *returns* Number, apply_plus() *returns* Number. Prefix_list_it is an abbreviation for Prefix_list_iterator Example Prefix Op \ ^ ^ \ | | \ | | V| | Prefix_list_it<---------Prefix_list<-------Compound Number ^ | | | Number_list_it<---------Number_list <----- Mulsym ^ \ \ \ Addsym