Tópicos
Processamento semântico e geração de código Postfix (não optimizado).
Exercício 1
Traduza para Postfix (não optimizado) a seguinte função:
int *click ( int *x, int dim ) {
int *res, i;
for (i = dim -2, res = x+dim -1; i >= 0; i-- )
if (x [i ] > *res ) res = &x [i ];
return res;
}
Exercício 2
Traduza para Postfix (não optimizado) a seguinte função:
int main ( ) {
extern void printd ( double );
double d, e;
d = e = 3.3e-2;
printd (d + e );
return 0;
}
Exercício 3
Traduza para Postfix (não optimizado) a seguinte função:
void isort(int a[], int length) {
for (int i = 0; i < length; i++) {
int v = a[i];
for (int j = i - 1; j >= 0; j--) {
if (a[j] <= v) break;
a[j + 1] = a[j];
}
a[j + 1] = v;
}
}
Resoluções
As soluções para estes exercícios podem ser encontradas no wiki da disciplina.