Make UNCOL cool again

DSpace Repository

A- A A+

Make UNCOL cool again

Show simple item record

dc.contributor Universidade Federal de Santa Catarina pt_BR
dc.contributor.advisor Jahier, Erwan
dc.contributor.author Sant'Anna, Gabriel Baiocchi de
dc.date.accessioned 2022-08-04T14:10:34Z
dc.date.available 2022-08-04T14:10:34Z
dc.date.issued 2022-07-11
dc.identifier.uri https://repositorio.ufsc.br/handle/123456789/237811
dc.description TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Ciências da Computação. pt_BR
dc.description.abstract Criar e manter um compilador otimizador requer grandes esforços de desenvolvimento. Ao mesmo tempo, o número de compiladores necessários para traduzir cada linguagem de alto nível para várias arquiteturas de hardware cresce de forma multiplicativa. Uma possível abordagem para resolver esse problema envolve adotar uma representação intermediária comum, também conhecida como Universal Computer Oriented Language (UNCOL). Embora tal solução tenha sido proposta pela primeira vez em 1958, a tecnologia de compiladores e a teoria de linguagens de programação muito evoluíram desde então. No contexto destes avanços, o presente trabalho tem como objetivo reavaliar a ideia de uma representação intermediária universal; começando por um estudo da literatura e do estado da arte de linguagens de programação, de forma a elicitar requisitos e identificar princípios de criação para uma UNCOL moderna. Esses requisitos são a base de uma análise de algumas das representações intermediárias utilizadas em compiladores existentes. Além disso, os princípios extraídos da revisão sistemática motivaram a criação de uma nova representação intermediária, que combina técnicas de compilação originárias de diversas fontes na literatura. A nova representação intermediária é descrita em múltiplos aspectos, incluindo uma definição formal da sua estrutura em multigrafo e uma correspondência informal de sua semântica em termos de um modelo computacional já existente. Por fim, este trabalho descreve alguns algoritmos de análise e transformação de código customizados para a nova representação. Entre estes consta uma formulação de eliminação de código morto (uma otimização global) através de um algoritmo de coleção de lixo. pt_BR
dc.description.abstract Developing and maintaining an optimizing compiler requires great amounts of effort. At the same time, the number of compilers needed in order to translate many high-level languages to every other target architecture grows multiplicatively. One possible approach to solve this problem is the adoption of a shared intermediate representation, also known as Universal Computer Oriented Language (UNCOL). While the UNCOL solution was first proposed in 1958, there have been many developments in compiler technology and programming language theory since then. This work aims to re-evaluate the idea of a universal intermediate representation in light of these advances, beginning by surveying the programming language literature and state of the art in order to identify requirements and design principles for a modern version of UNCOL. Then, these requirements are used to analyze program representations in existing compiler infrastructures. Furthermore, the set of principles extracted from the systematic review has motivated the design of a new intermediate representation, which combines compilation techniques from various sources in the literature. Multiple aspects of the new intermediate representation are described, encompassing a formal definition of its multigraph structure, an informal explanation of its semantics in terms of the join calculus, and a few custom optimization algorithms, including a formulation of global Dead Code Elimination as a garbage collection process. pt_BR
dc.format.extent 120 f. pt_BR
dc.language.iso en pt_BR
dc.publisher Florianópolis, SC pt_BR
dc.rights Open Access
dc.subject Linguagens-de-Programação pt_BR
dc.subject Compiladores pt_BR
dc.subject Representação-Intermediária pt_BR
dc.subject Portabilidade pt_BR
dc.subject Programming-Languages pt_BR
dc.subject Compilers pt_BR
dc.subject Intermediate-Representation pt_BR
dc.subject Portability pt_BR
dc.title Make UNCOL cool again pt_BR
dc.type TCCgrad pt_BR
dc.contributor.advisor-co Marchi, Jerusa


Files in this item

Files Size Format View Description
TCC.pdf 9.404Mb PDF View/Open TCC

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Browse

My Account

Statistics

Compartilhar