Detalhes bibliográficos
Ano de defesa: |
2010 |
Autor(a) principal: |
Rodrigues Caetano da Silva, Marcelo |
Orientador(a): |
Luís de Medeiros Santos, Andre |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de Pernambuco
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufpe.br/handle/123456789/2320
|
Resumo: |
A Common Intermediate Language (CIL), linguagem intermediária definida pelo padrão ECMA-335, provou ser uma representação alvo eficiente para muitas linguagens de alto nível, permitindo a portabilidade de programas para diversas plataformas. Entretanto, os compiladores de linguagem CIL disponíveis nas implementações existentes do padrão ECMA-335 não são adequados para o desenvolvimento de sistemas que executem diretamente sobre o hardware, como sistemas em tempo real, sistemas embarcados e novos sistemas operacionais específicos, porque exigem o suporte de uma máquina virtual (VES Virtual Execution System) para o funcionamento dos programas compilados. Este fato confina a seleção de linguagens às tradicionais C e C++ como opções para o desenvolvimento de tais sistemas. Face a esse confinamento, apresentamos a construção de um compilador estático de código CIL chamado CILCompiler, que transforma um subconjunto da linguagem em uma imagem executável que funciona com acesso direto ao hardware, sem a necessidade de uma máquina virtual. No intuito de tornar didático o compilador, facilitando a construção, compreensão e extensão do mesmo, foi adotada a abordagem incremental para a construção de compiladores, que sugere a utilização de pequenos passos incrementais para obter um compilador funcional logo nos estágios primitivos de desenvolvimento |