void desembarque(Pilha* p){ Fila* f = getfila(); while(!pilha_vazia(p)){ Mala* m = pilha_pop(p); fila_insere(f,m); } imprime_fila(f); pilha_libera(p); fila_libera(f); printf("\nDesembarque Realizado com Sucesso!\n"); }
int reduccion(char X, char a){ int f = getfila(X); int c = getcolumna(a); if (f==-1) { printf("Se esperaba: %c\n",X); return 0; } if (c==-1) { printf("Caracter inválido: %c\n",a); return 0; } int r = tabla[f][c]; if (r==-1) { printf("Operador no esperado: %c\n",a); return 0; } pop(); int i; char * rder = reglas[r][1]; if (!strcmp(rder,"l")) return 1; for (i=strlen(rder)-1;i>=0;i--) push(rder[i]); return 1; }