Compilação de semântica denotacional modular

Detalhes bibliográficos
Autor(a) principal: Tays Cristina do Amaral Pales Soares
Data de Publicação: 2007
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/RVMR-7AAP79
Resumo: 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.
id UFMG_5f3ef99438078b3774d9f12f3c80d489
oai_identifier_str oai:repositorio.ufmg.br:1843/RVMR-7AAP79
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Roberto da Silva BigonhaMariza Andrade da Silva BigonhaLucilia Camarão de FigueiredoMarcelo de Almeida MaiaTays Cristina do Amaral Pales Soares2019-08-12T19:18:03Z2019-08-12T19:18:03Z2007-04-13http://hdl.handle.net/1843/RVMR-7AAP79A 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.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 languagesis 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, languageNotus 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 moduleis 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.Universidade Federal de Minas GeraisUFMGLinguagem de programação (Computadores) SintaxeComputaçãoLinguagem formalLinguagem de programação (Computadores) SemanticaCompiladores (Programas de computador)semântica denotacionalCompilação de semântica denotacional modularinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALtayscristinaamaralpalessoares.pdfapplication/pdf2043873https://repositorio.ufmg.br/bitstream/1843/RVMR-7AAP79/1/tayscristinaamaralpalessoares.pdf49db5d6a4c71bede703a3ba3285fe84aMD51TEXTtayscristinaamaralpalessoares.pdf.txttayscristinaamaralpalessoares.pdf.txtExtracted texttext/plain522648https://repositorio.ufmg.br/bitstream/1843/RVMR-7AAP79/2/tayscristinaamaralpalessoares.pdf.txt732320877ecb33bd7de4661e13889418MD521843/RVMR-7AAP792019-11-14 19:37:39.586oai:repositorio.ufmg.br:1843/RVMR-7AAP79Repositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T22:37:39Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Compilação de semântica denotacional modular
title Compilação de semântica denotacional modular
spellingShingle Compilação de semântica denotacional modular
Tays Cristina do Amaral Pales Soares
semântica denotacional
Linguagem de programação (Computadores) Sintaxe
Computação
Linguagem formal
Linguagem de programação (Computadores) Semantica
Compiladores (Programas de computador)
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
author Tays Cristina do Amaral Pales Soares
author_facet Tays Cristina do Amaral Pales Soares
author_role author
dc.contributor.advisor1.fl_str_mv Roberto da Silva Bigonha
dc.contributor.advisor-co1.fl_str_mv Mariza Andrade da Silva Bigonha
dc.contributor.referee1.fl_str_mv Lucilia Camarão de Figueiredo
dc.contributor.referee2.fl_str_mv Marcelo de Almeida Maia
dc.contributor.author.fl_str_mv Tays Cristina do Amaral Pales Soares
contributor_str_mv Roberto da Silva Bigonha
Mariza Andrade da Silva Bigonha
Lucilia Camarão de Figueiredo
Marcelo de Almeida Maia
dc.subject.por.fl_str_mv semântica denotacional
topic semântica denotacional
Linguagem de programação (Computadores) Sintaxe
Computação
Linguagem formal
Linguagem de programação (Computadores) Semantica
Compiladores (Programas de computador)
dc.subject.other.pt_BR.fl_str_mv Linguagem de programação (Computadores) Sintaxe
Computação
Linguagem formal
Linguagem de programação (Computadores) Semantica
Compiladores (Programas de computador)
description 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.
publishDate 2007
dc.date.issued.fl_str_mv 2007-04-13
dc.date.accessioned.fl_str_mv 2019-08-12T19:18:03Z
dc.date.available.fl_str_mv 2019-08-12T19:18:03Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1843/RVMR-7AAP79
url http://hdl.handle.net/1843/RVMR-7AAP79
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.initials.fl_str_mv UFMG
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/RVMR-7AAP79/1/tayscristinaamaralpalessoares.pdf
https://repositorio.ufmg.br/bitstream/1843/RVMR-7AAP79/2/tayscristinaamaralpalessoares.pdf.txt
bitstream.checksum.fl_str_mv 49db5d6a4c71bede703a3ba3285fe84a
732320877ecb33bd7de4661e13889418
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589178637680640