JavaCO – uma variante do Java com um sistema de tipos baseado em covariância
Contribuinte(s) |
Dias, Artur Miguel Andrade Vieira |
---|---|
Data(s) |
14/12/2010
14/12/2010
2010
|
Resumo |
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para obtenção do grau de Mestre em Engenharia Informática Quando se compara a linguagem Eiffel com a linguagem Java, a diferença com mais impacto no estilo de programação é o facto de a primeira permitir métodos com argumentos covariantes, isto é, permitir a especialização do tipo dos argumentos à medida que se desce na hierarquia. Esta possibilidade é uma vantagem porque permite modelar determinados aspectos do mundo real de forma mais directa e intuitiva. Mas também há uma desvantagem que justifica a raridade desta opção na generalidade das linguagens modernas: o facto de criar complicações ao nível da tipificação estática dos programas. O objectivo deste trabalho é criar uma variante do Java, chamada JavaCO, cujo sistema de tipos será baseado em covariância, à imagem do sistema de tipos da linguagem Eiffel. A introdução de um novo tipo genérico “This”, servirá para aumentar a utilidade prática do mecanismo de covariância. Espera-se assim proporcionar uma experiência de programação similar à da linguagem Eiffel, mas num ambiente de programação Java, usando as ferramentas e bibliotecas do Java. A nova linguagem será implementada através da tradução para Java puro. A implementação seguirá as linhas da definição semântica e consistirá num tradutor escrito usando a ferramenta SableCC. O tradutor fará alguma análise estática dos programas de entrada; contudo, os aspectos mais essenciais da nova linguagem serão implementados por recurso a tipificação dinâmica (na mesma linha do Eiffel “clássico”). |
Identificador | |
Idioma(s) |
por |
Publicador |
Faculdade de Ciências e Tecnologia |
Direitos |
openAccess |
Palavras-Chave | #Linguagens de programação #Sistema de tipos #Covariância #Compilação |
Tipo |
masterThesis |