Semântica denotacional escalável de linguagens imperativas
Carregando...
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Fernando Magno Quintao Pereira
Andre Luís de Medeiros Santos
Andre Luís de Medeiros Santos
Resumo
Este trabalho de dissertação aborda uma nova solução para o problema de escalabilidade da Semântica Denotacional, intitulada Semântica Denotacional Baseada em Componentes. Essa técnica utiliza uma biblioteca de componentes de semântica denotacionalque encapsulam conceitos fundamentais e recorrentes de linguagens de programação imperativas. Uma das principais funções da biblioteca é remover das equações semânticas a dependência aparente de contexto das construções. Dessa forma, as definições semânticassão definidas pelo mapeamento direto entre as construções da sintaxe abstrata de uma linguagem e as combinações de componentes que modelam sua semântica. O fluxo de informações de contexto é encapsulado pelos componentes. Como principais contribuições do trabalho, podem-se citar: definição de uma nova metodologia baseada em componentes para obtenção de escalabilidade e reúso em definições de semântica denotacional; a implementação de um ambiente de desenvolvimento para a metodologia, o qual permite a escrita de protótipos de interpretadores para linguagens definidas; identificação e organização dos conceitos fundamentais e recorrentesdas linguagens de programação imperativas em uma biblioteca de componentes de definição semântica; abstração do contexto em equações semânticas denotacionais.
Abstract
This dissertation presents a new methodology for the scalability problem in Denotational Semantics, named Component Based Denotational Semantics. This work uses a library of denotational semantics components, which encapsulate fundamental and recurring concepts of imperative programming languages. One of the main objectives of the library is to remove the apparent dependency on the context of constructs in the composition of their denotations. Thus, semantic definitions map the constructs of the abstract syntax of a language directly to the combination of components which model its semantics. The components encapsulate the flow of context information.The main contributions of this work are: the definition of a new methodology based on components for the writing of scalable definitions of denotational semantics that promote reuse; the implementation of a development environment for applying the methodology, which generates interpreter prototypes for a language; organization of the fundamental and recurring concepts of imperative programming languages in a library of semantic definition components; abstraction of context in denotational semantics equations.
Assunto
Semântica, Linguagens de programação (Computadores), Computação
Palavras-chave
Ciência da Computação