Compiladores/Aula Prática 11: Difference between revisions

From Wiki**3

< Compiladores
(Redirected page to ist:Compiladores/Aula Prática 11)
 
Line 1: Line 1:
{{TOCright}}
#REDIRECT [[ist:Compiladores/Aula Prática 11]]
== Tópicos ==
Processamento semântico e geração de código Postfix (não optimizado).
 
== Exercício 1 ==
Considere em C uma variável declarada '''static''' no corpo de uma função:
 
# Indique justificadamente qual a área de memória de dados a que pertence.
# Comente justificadamente se o valor desta variável pode ser modificado a partir de outra função.
# Caso a função que contém a variável '''static''' seja invocada recursivamente, quantas instâncias da variável existem e, caso existam múltiplas, os valores são iguais ou distintos? Justifique.
# Indique justificamente se uma função pode devolver o endereço de uma variável declarada static sem criar ''dangling references''.
 
== Exercício 2 ==
Discuta as diferenças, se existirem, entre as variáveis '''x''' e '''y''', declaradas como se segue, na linguagem C:
 
<c>
char *x = "cadeia de caracteres";
char y[] = "cadeia de caracteres";
</c>
 
== Exercício 3 ==
Indique justificadamente se a linguagem C possui algum tipo de polimorfismo. Em caso afirmativo, apresente exemplos.
 
== Exercício 4 ==
Considere a tabela de símbolos fornecida com a CDK. Que modificações seriam necessárias se fosse necessário permitir a definição de espaços de nomes distintos para variáveis, funções e constantes?
 
== Exercício 5 ==
Escreva a sequência de instruções Postfix que calcula o número de raízes de uma equação de 2º grau ''(ax²+bx+c)'' com base nos factores dessa equação.
 
Utilize apenas variáveis globais.
 
== Resoluções ==
* Ver: [[Code Generation]]. Procurar resolver sem consultar.
 
[[category:Compiladores]]
[[category:Ensino]]

Latest revision as of 19:18, 6 December 2018