dc.contributor.author | Souza, André Cassulino Araújo | |
dc.date.accessioned | 2018-02-19T15:50:26Z | |
dc.date.available | 2018-02-19T15:50:26Z | |
dc.date.issued | 2017-12-01 | |
dc.identifier.citation | SOUZA, André Cassulino Araújo. Codegs: um tipo especial de metaobjetos em Cyan. 2017. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, Sorocaba, 2017. Disponível em: https://repositorio.ufscar.br/handle/ufscar/9440. | * |
dc.identifier.uri | https://repositorio.ufscar.br/handle/ufscar/9440 | |
dc.description.abstract | Metaprogramming is widely supported by several programming languages. There exist metaprogramming at time of editing, compilation, and execution. In many languages metaprogramming is defined by a protocol that determines in what time and what can be done. Metaprogramming allows a programmer to "participate" in the build process. One of the ways to do this is through meta-objects built by ordinary users that are loaded by the compiler. Meta-objects can make conferences, modifications, and code generation either in the source code or in the Abstract Syntax Tree. However, to use metaprogramming it is necessary to have an in-depth knowledge of the programming language, thus making it tedious and costly to use. On the other hand, we have the visual generation of code. For example, several IDEs support code generation for GUI (Graphical User Interface) in several programming languages although they do not interact directly with the compiler. In this work, we present a plugin for the Eclipse IDE and a Codegs library. Codegs are a special type of compile-time metaobject in Cyan supported by the plugin to the Eclipse IDE, providing visual resources at edit time. The plugin communicates with the compiler through the of Cyan Metaobject Protocol. | eng |
dc.description.sponsorship | Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) | por |
dc.language.iso | por | por |
dc.publisher | Universidade Federal de São Carlos | por |
dc.rights.uri | Acesso aberto | por |
dc.subject | Metaprogramação | por |
dc.subject | Ferramentas visuais de geração de código | por |
dc.subject | Integração metaprogramação e ferramentas visuais | por |
dc.subject | Metaprogramming | eng |
dc.subject | Visual code generation tools | eng |
dc.subject | Metaprogramming integration with visual tools | eng |
dc.title | Codegs: um tipo especial de metaobjetos em Cyan | por |
dc.title.alternative | Codegs: a special type of metaobjects in Cyan | por |
dc.type | Dissertação | por |
dc.contributor.advisor1 | Guimarães, José de Oliveira | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/1861719424612392 | por |
dc.description.resumo | Metaprogramação é amplamente suportada por diversas linguagens de programação. Existe metaprogramação em tempo de edição, compilação e execução. Em muitas linguagens de programação a metaprogramação é definida por um protocolo de metaobjetos que determinam em qual tempo e o que poderá ser feito. A metaprogramação permite ao programador ``participar'' do processo de compilação. Uma das maneiras de se fazer isto é através de metaobjetos construídos por usuários comuns e que são carregados pelo compilador. Os metaobjetos podem fazer conferências, modificações e geração de código tanto no código-fonte como na Árvore de Sintaxe Abstrata. No entanto, para usar a metaprogramação é necessário ter um conhecimento aprofundado em relação à linguagem tornando tedioso e custoso o seu uso. Por outro lado temos as ferramentas visuais de geração de código. Por exemplo, vários IDEs dão suporte à geração de código para GUI (Graphical User Interface) em várias linguagens de programação, embora não interagindo com o compilador. Neste trabalho é apresentado um plugin para o IDE Eclipse e uma biblioteca de Codegs. Codeg é um tipo especial de metaobjetos de tempo de compilação de Cyan suportado pelo IDE Eclipse, fornecendo recursos de visuais em tempo de edição. O plugin se comunica com o compilador através do Protocolo de Metaobjetos de Cyan. | por |
dc.publisher.initials | UFSCar | por |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação - PPGCC-So | por |
dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO | por |
dc.description.sponsorshipId | 2014/01817-3 | por |
dc.ufscar.embargo | Online | por |
dc.publisher.address | Câmpus Sorocaba | por |
dc.contributor.authorlattes | http://lattes.cnpq.br/5311148625876803 | por |