Compilação de semântica denotacional modular
=== Programming language semantics and syntax can be defined without ambiguities using formal definitions. Denotational Semantics is an approach which allows formal description of language semantics. However, uses of Denotational Semantics face scalability issues. Formal specification of large scal...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | Portuguese |
Published: |
Universidade Federal de Minas Gerais
2007
|
Online Access: | http://hdl.handle.net/1843/RVMR-7AAP79 |
id |
ndltd-IBICT-oai-bibliotecadigital.ufmg.br-MTD2BR-RVMR-7AAP79 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-IBICT-oai-bibliotecadigital.ufmg.br-MTD2BR-RVMR-7AAP792019-01-21T18:02:35Z Compilação de semântica denotacional modular Tays Cristina do Amaral Pales Soares Roberto da Silva Bigonha Mariza Andrade da Silva Bigonha Mariza Andrade da Silva Bigonha Lucilia Camarão de Figueiredo Marcelo de Almeida Maia Programming language semantics and syntax can be defined without ambiguities using formal definitions. Denotational Semantics is an approach which allows formal description of language semantics. However, uses of Denotational Semantics face scalability issues. Formal specification of large scale languages is inherently complex, requiring a model capable of decomposing semantics descriptions in such a way that it is possible to manage its complexity. Multidimensional Semantics proposes a new methodology for development of modular denotational semantic definitions. The functional, domain specific, language Notus implements the model proposed by this new approach. This work presents a compiler implementation for Notus, which is a language that allows writing syntactic, lexical and semantic definitions incrementally. The modularity is based on the desired language's abstract syntax. A module is made for each semantically relevant syntactic construct. This improves the reusability and extensibility in denotational semantics specifications. The Notus compiler produces interpreters for specified languages. Compilation of modular specification poses issues that are also solved in the Notus compiler. A semântica e a sintaxe de linguagens de programação podem ser descritas de forma precisa por meio de definições formais. Semântica Denotacional é uma abordagem que permite a descrição formal de linguagens de programação. Essa abordagem apresenta, entretanto, problemas de modularidade. De fato, a especificação formal de linguagens de grande porte é inerentemente complexa, surgindo a necessidade de um modelo capaz de decompor uma descrição em módulos de maneira que a complexidade possa ser controlada. Uma nova metodologia, denominada Semântica Multidimensional, permite que definições em semântica denotacional sejam escritas modularmente. A linguagem funcional de domínio específico Notus segue o modelo proposto por esta nova abordagem. Este trabalho apresenta a implementação de um compilador para a linguagem Notus, que permite a escrita incremental de especificações léxica e sintática de linguagens, usando gramáticas livres de contexto, e da especificação semântica, em semântica denotacional. A modularidade é guiada pela sintaxe abstrata da linguagem que se deseja definir. Para cada construção sintática semanticamente relevante, define-se um módulo. Isto facilita a obtenção de reusabilidade e extensibilidade em especificações em semântica denotacional. O compilador de Notus gera interpretadores para linguagens especificadas. Apresentam-se ainda, neste texto, os problemas decorrentes da compilação incremental de definições modulares, e as soluções para esses problemas implementadas no compilador Notus. O compilador desenvolvido foi testado com especificações modulares em semântica denotacional para linguagens de teste, escritas incrementalmente. 2007-04-13 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://hdl.handle.net/1843/RVMR-7AAP79 por info:eu-repo/semantics/openAccess text/html Universidade Federal de Minas Gerais 32001010004P6 - CIÊNCIA DA COMPUTAÇÃO UFMG BR reponame:Biblioteca Digital de Teses e Dissertações da UFMG instname:Universidade Federal de Minas Gerais instacron:UFMG |
collection |
NDLTD |
language |
Portuguese |
format |
Others
|
sources |
NDLTD |
description |
=== Programming language semantics and syntax can be defined without ambiguities using formal definitions. Denotational Semantics is an approach which allows formal description of language semantics. However, uses of Denotational Semantics face scalability issues. Formal specification of large scale languages
is inherently complex, requiring a model capable of decomposing semantics descriptions in such a way that it is possible to manage its complexity. Multidimensional Semantics proposes a new methodology for development of modular denotational semantic definitions. The functional, domain specific, language
Notus implements the model proposed by this new approach. This work presents a compiler implementation for Notus, which is a language that allows writing syntactic, lexical and semantic definitions incrementally. The modularity is based on the desired language's abstract syntax. A module
is made for each semantically relevant syntactic construct. This improves the reusability and extensibility in denotational semantics specifications. The Notus compiler produces interpreters for specified languages. Compilation of modular specification poses issues that are also solved in the Notus compiler. === A semântica e a sintaxe de linguagens de programação podem ser descritas de forma precisa por meio de definições formais. Semântica Denotacional é uma abordagem que permite a descrição formal de linguagens de programação. Essa abordagem apresenta, entretanto, problemas de modularidade. De fato, a especificação formal de linguagens de grande porte é inerentemente complexa, surgindo a necessidade de um modelo capaz de decompor uma descrição em módulos de maneira que a complexidade possa ser controlada. Uma nova metodologia, denominada Semântica Multidimensional, permite que definições em semântica denotacional sejam escritas modularmente. A linguagem funcional de domínio específico Notus segue o modelo proposto por esta nova abordagem.
Este trabalho apresenta a implementação de um compilador para a linguagem Notus, que permite a escrita incremental de especificações léxica e sintática de linguagens, usando gramáticas livres de contexto, e da especificação semântica, em semântica denotacional. A modularidade é guiada pela sintaxe abstrata da linguagem que se deseja definir. Para cada construção sintática semanticamente relevante, define-se um módulo. Isto facilita a obtenção de reusabilidade e extensibilidade em especificações em semântica denotacional. O compilador de Notus gera interpretadores para linguagens especificadas. Apresentam-se ainda, neste texto, os problemas decorrentes da compilação incremental de definições modulares, e as soluções para esses problemas implementadas no compilador Notus. O compilador desenvolvido foi testado com especificações modulares em semântica denotacional para linguagens de teste, escritas incrementalmente. |
author2 |
Roberto da Silva Bigonha |
author_facet |
Roberto da Silva Bigonha Tays Cristina do Amaral Pales Soares |
author |
Tays Cristina do Amaral Pales Soares |
spellingShingle |
Tays Cristina do Amaral Pales Soares Compilação de semântica denotacional modular |
author_sort |
Tays Cristina do Amaral Pales Soares |
title |
Compilação de semântica denotacional modular |
title_short |
Compilação de semântica denotacional modular |
title_full |
Compilação de semântica denotacional modular |
title_fullStr |
Compilação de semântica denotacional modular |
title_full_unstemmed |
Compilação de semântica denotacional modular |
title_sort |
compilação de semântica denotacional modular |
publisher |
Universidade Federal de Minas Gerais |
publishDate |
2007 |
url |
http://hdl.handle.net/1843/RVMR-7AAP79 |
work_keys_str_mv |
AT tayscristinadoamaralpalessoares compilacaodesemanticadenotacionalmodular |
_version_ |
1718846116066230272 |