Dissertação

PyonR: A Python Implementation for Racket EVALUATED

A linguagem de programação Python tem ganho popularidade em várias áreas, sobretudo entre programadores principiantes, devido à sua sintaxe particularmente legível e bibliotecas diversas. Por outro lado, a linguagem Racket e o ambiente de desenvolvimento DrRacket têm a tradição de serem usados para introduzir conceitos de Informática a alunos. Além disso, a plataforma Racket oferece a possibilidade de ser alargada com outras linguagens de programação. Ambas as comunidades beneficiariam duma implementação de Python para Racket, pois, desta forma, os programadores de Racket poderiam usar bibliotecas produzidas pela enorme comunidade de Python e os programadores de Python poderiam aceder às bibliotecas e ferramentas pedagógicas do Racket, tais como o DrRacket. Esta tese propõe o PyonR, uma implementação da linguagem Python para a plataforma Racket. O PyonR consiste num compilador source-to-source de Python para Racket e um ambiente de runtime desenvolvido em Racket, que implementa os elementos da linguagem Python e a funcionalidade incluída na linguagem e garante a interoperabilidade com os tipos de dados de Racket. Com esta abordagem, conseguimos implementar a semântica da linguagem Python com uma performance muito razoável (na mesma ordem de grandeza que outras implementações do estado da arte), acesso total às bibliotecas de Python, uma interoperabilidade nativa entre Racket e Python e uma boa integração com as capacidades do DrRacket para a programação em Python.
Racket, Python, Interoperabilidade, Compiladores, Ambientes de Runtime

Novembro 10, 2014, 9:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

António Paulo Teles de Menezes Correia Leitão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar