with text_io; use text_io; with gpilas; with simbolos1; use simbolos1; procedure evaluar is package pilaSimb is new gpilas(simbolo); use pilaSimb; p:pila; s,o1,o2,r:simbolo; package mis_ent_io is new integer_io(integer); use mis_ent_io; begin crearVacia(p); siguienteSimbolo(s); while s.clase /= final loop if s.clase = esOperando then apilar(p,s); else o2:=cima(p); desapilar(p); o1:=cima(p); desapilar(p); r:=(esOperando,operar(o1.elOperando,o2.elOperando,s.elOperador)); apilar(p,r); end if; siguienteSimbolo(s); end loop; new_line; put("resultado: "); put(cima(p).elOperando); desapilar(p); end evaluar;