Construção de um compilador estático de código CIL usando uma abordagem incremental

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
id UFPE_9ca65b8598e7af0f40ff896d9ad88a89
oai_identifier_str oai:repositorio.ufpe.br:123456789/2320
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling Rodrigues Caetano da Silva, MarceloLuís de Medeiros Santos, Andre 2014-06-12T15:56:43Z2014-06-12T15:56:43Z2010-01-31Rodrigues Caetano da Silva, Marcelo; Luís de Medeiros Santos, Andre. Construção de um compilador estático de código CIL usando uma abordagem incremental. 2010. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2010.https://repositorio.ufpe.br/handle/123456789/2320A 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 desenvolvimentoporUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessCompiladorRepresentação IntermediáriaCommon Intermediate LanguageConstrução de um compilador estático de código CIL usando uma abordagem incrementalinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALarquivo2966_1.pdfapplication/pdf1666666https://repositorio.ufpe.br/bitstream/123456789/2320/1/arquivo2966_1.pdf973dda346a6f1998a4dcfea9706b94a5MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2320/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo2966_1.pdf.txtarquivo2966_1.pdf.txtExtracted texttext/plain134688https://repositorio.ufpe.br/bitstream/123456789/2320/3/arquivo2966_1.pdf.txt4767277f6c89eae44f73f02b530e2351MD53THUMBNAILarquivo2966_1.pdf.jpgarquivo2966_1.pdf.jpgGenerated Thumbnailimage/jpeg1374https://repositorio.ufpe.br/bitstream/123456789/2320/4/arquivo2966_1.pdf.jpg51d8dce6d3de598c886897b436a7d126MD54123456789/23202019-10-25 02:49:09.289oai:repositorio.ufpe.br:123456789/2320Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T05:49:09Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Construção de um compilador estático de código CIL usando uma abordagem incremental
title Construção de um compilador estático de código CIL usando uma abordagem incremental
spellingShingle Construção de um compilador estático de código CIL usando uma abordagem incremental
Rodrigues Caetano da Silva, Marcelo
Compilador
Representação Intermediária
Common Intermediate Language
title_short Construção de um compilador estático de código CIL usando uma abordagem incremental
title_full Construção de um compilador estático de código CIL usando uma abordagem incremental
title_fullStr Construção de um compilador estático de código CIL usando uma abordagem incremental
title_full_unstemmed Construção de um compilador estático de código CIL usando uma abordagem incremental
title_sort Construção de um compilador estático de código CIL usando uma abordagem incremental
author Rodrigues Caetano da Silva, Marcelo
author_facet Rodrigues Caetano da Silva, Marcelo
author_role author
dc.contributor.author.fl_str_mv Rodrigues Caetano da Silva, Marcelo
dc.contributor.advisor1.fl_str_mv Luís de Medeiros Santos, Andre
contributor_str_mv Luís de Medeiros Santos, Andre
dc.subject.por.fl_str_mv Compilador
Representação Intermediária
Common Intermediate Language
topic Compilador
Representação Intermediária
Common Intermediate Language
description 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
publishDate 2010
dc.date.issued.fl_str_mv 2010-01-31
dc.date.accessioned.fl_str_mv 2014-06-12T15:56:43Z
dc.date.available.fl_str_mv 2014-06-12T15:56:43Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv Rodrigues Caetano da Silva, Marcelo; Luís de Medeiros Santos, Andre. Construção de um compilador estático de código CIL usando uma abordagem incremental. 2010. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2010.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/2320
identifier_str_mv Rodrigues Caetano da Silva, Marcelo; Luís de Medeiros Santos, Andre. Construção de um compilador estático de código CIL usando uma abordagem incremental. 2010. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2010.
url https://repositorio.ufpe.br/handle/123456789/2320
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/2320/1/arquivo2966_1.pdf
https://repositorio.ufpe.br/bitstream/123456789/2320/2/license.txt
https://repositorio.ufpe.br/bitstream/123456789/2320/3/arquivo2966_1.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/2320/4/arquivo2966_1.pdf.jpg
bitstream.checksum.fl_str_mv 973dda346a6f1998a4dcfea9706b94a5
8a4605be74aa9ea9d79846c1fba20a33
4767277f6c89eae44f73f02b530e2351
51d8dce6d3de598c886897b436a7d126
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1862741775577251840