Dúvida sobre a pilha de execução

Dúvida sobre a pilha de execução

por João Henrique Luciano -
Número de respostas: 1

Olá, pessoal!

Fiquei meio confuso na interpretação da função eval, então não custa perguntar:  por acaso, a pilha de execução é a fila da notação posfixa e a cabeça seria o topo?

Em resposta à João Henrique Luciano

Re: Dúvida sobre a pilha de execução

por José Coelho de Pina -

Oi João,

Já conversamos hoje na aula, mas aqui vai a respostas.
Por favor, s evocê puderem completem ou tornem a resposta mais precisa

A pilha de execução deve ser representada através de uma lista ligada com cabeça (como fizemos na aula da semana passa) em que cada elemento e do tipo CelUtil.

Assim, a função eval() deverá percorre a fila iniPosfixa que contem a expressão posfixa e:

  • se a célula é da classe FLOAT, então ela (a célula) deverá ser empilha;
  • se a célula contém um operador binário, duas célula deverão ser desempilhadas da pilha de execução, a operação deverá ser executada, e uma célula com o valor calculado deverá ser empilhado.
  • se a célula contém um operador unário, uma célula deverá ser desempilhada . . .

A função deve retornat um ponteiro para a célula no topo da pilha (não para a cabeça).