Compiladores/Aula Prática 13: Difference between revisions

From Wiki**3

< Compiladores
(Redirected page to ist:Compiladores/Aula Prática 13)
 
Line 1: Line 1:
{{TOCright}}
#REDIRECT [[ist:Compiladores/Aula Prática 13]]
== Tópicos ==
Processamento semântico e geração de código Postfix. Optimização.
 
== Exercício 1 ==
Considere a seguinte função em C:
 
<c>
int find(int tab[], int max, int val) {
  int i;
  for (i = 0; i < max; i++)
    if (tab[i] == val)
      break;
  return i;
}
</c>
 
# Traduza para código Postfix '''não optimizado''' a função acima.
# Identifique os blocos básicos.
# Identifique as optimizações independentes da máquina que são possíveis.
 
== Exercício 2 ==
 
Escreva em código Postfix '''não optimizado''' uma função que recebe os valores dos três coeficientes de uma equação de 2º grau ''(ax² + bx + c)'' e devolve o número de raizes. Que optimizações poderia fazer a nível do código Postfix?
 
== Exercício 3 ==
 
Considere a seguinte função em C:
 
<c>
int main() {
  int a[10], i = 1;
  a[0] = 0;
  while (i < 10) a[i++] = a[i-1] + 2 * i - 1;
  return 0;
}
</c>
 
# Traduza-a para código Postfix '''não optimizado''' a função acima.
# Identifique os blocos básicos.
# Que optimizações poderiam ser efectuadas?
 
== Resolução ==
 
[[category:Compiladores]]
[[category:Ensino]]

Latest revision as of 19:19, 6 December 2018