Codegs: um tipo especial de metaobjetos em Cyan
Ano de defesa: | 2017 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de São Carlos
Câmpus Sorocaba |
Programa de Pós-Graduação: |
Programa de Pós-Graduação em Ciência da Computação - PPGCC-So
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Palavras-chave em Inglês: | |
Área do conhecimento CNPq: | |
Link de acesso: | https://repositorio.ufscar.br/handle/ufscar/9440 |
Resumo: | 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. |