Uma biblioteca de componentes semânticos para especificação de linguagens de programação
Autor(a) principal: | |
---|---|
Data de Publicação: | 2003 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFPE |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/2510 |
Resumo: | Semântica de ações, um formalismo para especificação de linguagens de programação, define um conjunto padrão de operadores que descrevem conceitos comuns encontrados em linguagens de programação. Estes operadores facilitam a especificação de linguagens de programação porque eles liberam o projetista de linguagens da manipulação de definições complexas usadas para descrevê-las. Entretanto, as especificações em semântica de ações não foram projetadas para serem reusadas ou estendidas. De fato, copiar/colar especificações é o único caminho para reutilizar semânticas de linguagens de programação, ou seja, é extremamente ineficiente e perigosa, no sentido de não produzir uma especificação totalmente confiável, seja por funções semânticas extremamente restritas à linguagem, seja por diferenças sintáticas mínimas que impedem uma integração adequada. Também devemos considerar o fato de que a maioria das linguagens existentes apresentam uma grande semelhança conceitual do ponto de vista semântico, uma vez que o desenvolvimento de novas linguagens de programação geralmente é influenciado por linguagens previamente existente. Portanto, o objetivo deste trabalho é, através do uso da semântica de ações baseada em componentes, uma técnica que permite melhorar a reutilização de especificações em semântica de ações, definir componentes semânticos para estruturas sintáticas abstratas, capazes de representar conceitos de linguagens de programação separados pelos diversos paradigmas de linguagens de programação existentes, e organizados de forma hierárquica garantindo assim um alto grau de reutilização semântica. Como resultados, produzimos uma biblioteca de componentes semânticos, formada pelo agrupamento de componentes semânticos capazes de representar conceitos de linguagens de expressões, imperativas, funcionais e orientada a objetos; e projetamos uma linguagem multiparadigma denominada EIFOO, formada pelo agrupamento dos componentes semânticos especificados em cada um dos paradigmas abordados neste trabalho |
id |
UFPE_f619a5059c0604fc5e3de62fb0385b9e |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/2510 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
Travassos Sarinho, VictorPerrelli de Moura, Hermano 2014-06-12T15:58:53Z2014-06-12T15:58:53Z2003Travassos Sarinho, Victor; Perrelli de Moura, Hermano. Uma biblioteca de componentes semânticos para especificação de linguagens de programação. 2003. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2003.https://repositorio.ufpe.br/handle/123456789/2510Semântica de ações, um formalismo para especificação de linguagens de programação, define um conjunto padrão de operadores que descrevem conceitos comuns encontrados em linguagens de programação. Estes operadores facilitam a especificação de linguagens de programação porque eles liberam o projetista de linguagens da manipulação de definições complexas usadas para descrevê-las. Entretanto, as especificações em semântica de ações não foram projetadas para serem reusadas ou estendidas. De fato, copiar/colar especificações é o único caminho para reutilizar semânticas de linguagens de programação, ou seja, é extremamente ineficiente e perigosa, no sentido de não produzir uma especificação totalmente confiável, seja por funções semânticas extremamente restritas à linguagem, seja por diferenças sintáticas mínimas que impedem uma integração adequada. Também devemos considerar o fato de que a maioria das linguagens existentes apresentam uma grande semelhança conceitual do ponto de vista semântico, uma vez que o desenvolvimento de novas linguagens de programação geralmente é influenciado por linguagens previamente existente. Portanto, o objetivo deste trabalho é, através do uso da semântica de ações baseada em componentes, uma técnica que permite melhorar a reutilização de especificações em semântica de ações, definir componentes semânticos para estruturas sintáticas abstratas, capazes de representar conceitos de linguagens de programação separados pelos diversos paradigmas de linguagens de programação existentes, e organizados de forma hierárquica garantindo assim um alto grau de reutilização semântica. Como resultados, produzimos uma biblioteca de componentes semânticos, formada pelo agrupamento de componentes semânticos capazes de representar conceitos de linguagens de expressões, imperativas, funcionais e orientada a objetos; e projetamos uma linguagem multiparadigma denominada EIFOO, formada pelo agrupamento dos componentes semânticos especificados em cada um dos paradigmas abordados neste trabalhoporUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessSemântica de AçõesParadigmas de Linguagens de ProgramaçãoComponentes SemânticosReusabilidade SemânticaUma biblioteca de componentes semânticos para especificação de linguagens de programaçãoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILarquivo4739_1.pdf.jpgarquivo4739_1.pdf.jpgGenerated Thumbnailimage/jpeg1320https://repositorio.ufpe.br/bitstream/123456789/2510/4/arquivo4739_1.pdf.jpg9d32aa4624051437d7efefdd72d571e0MD54ORIGINALarquivo4739_1.pdfapplication/pdf546621https://repositorio.ufpe.br/bitstream/123456789/2510/1/arquivo4739_1.pdf436ff68296454e12baa513372b9a2fe8MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2510/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo4739_1.pdf.txtarquivo4739_1.pdf.txtExtracted texttext/plain251594https://repositorio.ufpe.br/bitstream/123456789/2510/3/arquivo4739_1.pdf.txt3fa70e6fd6904cf4eb5426ca5bec2d1cMD53123456789/25102019-10-25 12:31:46.268oai:repositorio.ufpe.br:123456789/2510Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T15:31:46Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
title |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
spellingShingle |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação Travassos Sarinho, Victor Semântica de Ações Paradigmas de Linguagens de Programação Componentes Semânticos Reusabilidade Semântica |
title_short |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
title_full |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
title_fullStr |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
title_full_unstemmed |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
title_sort |
Uma biblioteca de componentes semânticos para especificação de linguagens de programação |
author |
Travassos Sarinho, Victor |
author_facet |
Travassos Sarinho, Victor |
author_role |
author |
dc.contributor.author.fl_str_mv |
Travassos Sarinho, Victor |
dc.contributor.advisor1.fl_str_mv |
Perrelli de Moura, Hermano |
contributor_str_mv |
Perrelli de Moura, Hermano |
dc.subject.por.fl_str_mv |
Semântica de Ações Paradigmas de Linguagens de Programação Componentes Semânticos Reusabilidade Semântica |
topic |
Semântica de Ações Paradigmas de Linguagens de Programação Componentes Semânticos Reusabilidade Semântica |
description |
Semântica de ações, um formalismo para especificação de linguagens de programação, define um conjunto padrão de operadores que descrevem conceitos comuns encontrados em linguagens de programação. Estes operadores facilitam a especificação de linguagens de programação porque eles liberam o projetista de linguagens da manipulação de definições complexas usadas para descrevê-las. Entretanto, as especificações em semântica de ações não foram projetadas para serem reusadas ou estendidas. De fato, copiar/colar especificações é o único caminho para reutilizar semânticas de linguagens de programação, ou seja, é extremamente ineficiente e perigosa, no sentido de não produzir uma especificação totalmente confiável, seja por funções semânticas extremamente restritas à linguagem, seja por diferenças sintáticas mínimas que impedem uma integração adequada. Também devemos considerar o fato de que a maioria das linguagens existentes apresentam uma grande semelhança conceitual do ponto de vista semântico, uma vez que o desenvolvimento de novas linguagens de programação geralmente é influenciado por linguagens previamente existente. Portanto, o objetivo deste trabalho é, através do uso da semântica de ações baseada em componentes, uma técnica que permite melhorar a reutilização de especificações em semântica de ações, definir componentes semânticos para estruturas sintáticas abstratas, capazes de representar conceitos de linguagens de programação separados pelos diversos paradigmas de linguagens de programação existentes, e organizados de forma hierárquica garantindo assim um alto grau de reutilização semântica. Como resultados, produzimos uma biblioteca de componentes semânticos, formada pelo agrupamento de componentes semânticos capazes de representar conceitos de linguagens de expressões, imperativas, funcionais e orientada a objetos; e projetamos uma linguagem multiparadigma denominada EIFOO, formada pelo agrupamento dos componentes semânticos especificados em cada um dos paradigmas abordados neste trabalho |
publishDate |
2003 |
dc.date.issued.fl_str_mv |
2003 |
dc.date.accessioned.fl_str_mv |
2014-06-12T15:58:53Z |
dc.date.available.fl_str_mv |
2014-06-12T15:58:53Z |
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.citation.fl_str_mv |
Travassos Sarinho, Victor; Perrelli de Moura, Hermano. Uma biblioteca de componentes semânticos para especificação de linguagens de programação. 2003. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2003. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/2510 |
identifier_str_mv |
Travassos Sarinho, Victor; Perrelli de Moura, Hermano. Uma biblioteca de componentes semânticos para especificação de linguagens de programação. 2003. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2003. |
url |
https://repositorio.ufpe.br/handle/123456789/2510 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/2510/4/arquivo4739_1.pdf.jpg https://repositorio.ufpe.br/bitstream/123456789/2510/1/arquivo4739_1.pdf https://repositorio.ufpe.br/bitstream/123456789/2510/2/license.txt https://repositorio.ufpe.br/bitstream/123456789/2510/3/arquivo4739_1.pdf.txt |
bitstream.checksum.fl_str_mv |
9d32aa4624051437d7efefdd72d571e0 436ff68296454e12baa513372b9a2fe8 8a4605be74aa9ea9d79846c1fba20a33 3fa70e6fd6904cf4eb5426ca5bec2d1c |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1802310785231224832 |