Uma das fases de um compilador é a geração de código. A resp...

Próximas questões
Com base no mesmo assunto
Q3336173 Engenharia de Software

Uma das fases de um compilador é a geração de código. A respeito dessa fase considere as afirmativas abaixo:



I - Um gerador de código é composto por três tarefas principais, a saber: seleção de instrução, alocação e atribuição de registrador e escalonamento de instruções.


II - A seleção de instruções compreende a escolha de instruções apropriadas da arquitetura alvo para implementar os comandos da representação intermediária. Uma solução para esse problema é realizar a seleção de instruções por reescrita de árvore.


III - O escalonamento de instruções envolve a decisão a respeito da ordem em que a execução das instruções deve ser escalonada. Uma abordagem para resolver esse problema é o uso do algoritmo Sethi–Ullman.


IV - A alocação e atribuição de registrador decidem quais valores devem ser mantidos em registradores e quais registradores usar. Para resolver esse problema pode-se adotar estratégias de alocação de registradores por coloração de grafos.



Assinale a alternativa que apresenta apenas afirmações corretas:

Alternativas