UNIVERSIDADE FEDERAL DE VIÇOSA       CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS            DEPARTAMENTO DE INFORMÁTICAConstr...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Linguagens de prog...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ambientes de ediçã...
Introdução – Recursos – Objetivo XText – Spoofax – Resultados Trabalhos Futuros – Dúvidas – Bibliografia• Coloração da sin...
Introdução – Recursos – Objetivo XText – Spoofax – Resultados Trabalhos Futuros – Dúvidas – Bibliografia• Validação (Synta...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia                    ...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Conhecer e estudar...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ferramenta de códi...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ainda não possui d...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ferramenta de códi...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Já possui definiçõ...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Spoofax foi o meta...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Implementação do A...
Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia
Introdução – Recursos – Objetivo     XText – Spoofax – Resultados     Trabalhos Futuros – Dúvidas – Bibliografia•   Di Ior...
Upcoming SlideShare
Loading in...5
×

Ferramentas para Construção de IDE

858

Published on

Ferramentas para construção de Ambientes de Desenvolvimento de programas de computadores usando Spoofax/IMP ou XText.
Tools for IDE development using Spoofax/IMP or XText.
Outillage pour le développement de Environnement de Programmation en utilisant Spoofax/IMP ou XText

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
858
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ferramentas para Construção de IDE

  1. 1. UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICAConstrução de Ambiente para Edição de Programasbolsista: Giorgio Prímola Ferreira G. Torresorientador: Vladimir Oliveira Di Iorio VIÇOSA, OUTUBRO/2011
  2. 2. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Linguagens de programação – Linguagens de domínio específico (DSL’s) • Gramáticas pequenas – Linguagens de propósito geral (GPL) • Gramáticas muito grandes• Plataformas de programação – Linguagem de programação + Bibliotecas
  3. 3. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ambientes de edição de programas (IDE) – Oferecem recursos de programação para linguagens – Aceleram o processo de desenvolvimento – Java: Eclipse e NetBeans.
  4. 4. Introdução – Recursos – Objetivo XText – Spoofax – Resultados Trabalhos Futuros – Dúvidas – Bibliografia• Coloração da sintaxe (Syntax Highlighting)public class Point { public class Point { private int x; private int x; private int y; private int y; private String name = “P1”; private String name = “P1”; public void setX(int X) public void setX(int X) { this.x = X; } { this.x = X; } public void setY(int Y) public void setY(int Y) { this.y = Y; } { this.y = Y; }} }
  5. 5. Introdução – Recursos – Objetivo XText – Spoofax – Resultados Trabalhos Futuros – Dúvidas – Bibliografia• Validação (Syntax Validation)package com.exemplo; CompilationUnit ->import java.util.List; Packagepublic class SomeClass { Imports* private String name = “P1”; ClassDef public String getName() ClassDef -> { return name; } Modif? “class” ID public void setName(String N) (Extends)? { this.name = N; } (Implements)? “{” ClassBody “}”}
  6. 6. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia Resolução de Referência Balão de Ajuda Verificação de erros Ocultação de código Vista de destaques Auto-completar
  7. 7. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Conhecer e estudar duas ferramentas meta-ambientes para a IDE Eclipse, para futuramente implementar um ambiente que ofereça recursos para a linguagem XAJ
  8. 8. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ferramenta de código aberto criada pela empresa Itemis• Foco: linguagens de domínio específico (DSL’s)• Oferece suporte a todos os recursos de ambiente de desenvolvimento de programas• Utiliza analisador sintático (parser) gerado pela ferramenta ANTLR
  9. 9. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ainda não possui definições de gramáticas de linguagens de propósito geral como Java, C++, AspectJ, etc• Não possui mecanismo para extensão de GPL
  10. 10. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Ferramenta de código aberto que reúne outras ferramentas poderosas de transformação de código: Stratego, IMP e SDF• Oferece suporte a todos os recursos de ambientes de edição de programas (IMP)• Como Spoofax utiliza a SDF suporta linguagens grandes
  11. 11. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Já possui definições de Java, AspectJ e outras GPL’s• Possui mecanismo para extensão de linguagens• Poderoso mecanismo de definição modular de sintaxe
  12. 12. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Spoofax foi o meta-ambiente escolhido para construir o ambiente de XAJ• Teste de comparação de desempenho entre os analisadores sintáticos Rats! e JSGLR.• Seção “Comparação com Trabalhos Similares” do artigo “Definição Modular da Gramática de AspectJ usando Parsing Expressin Grammar” que foi submetido ao Workshop Latino-Americano em Desenvolvimento de Software com Orientação a Aspectos de 2011(LA-WASP 2011), e foi um dos 7 trabalhos aprovados, dos 19 submetidos ao simpósio.
  13. 13. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia• Implementação do Ambiente de Desenvolvimento para a linguagem XAJ• Trabalhos sobre definição modular de gramáticas extensíveis
  14. 14. Introdução – Recursos – ObjetivoXText – Spoofax – ResultadosTrabalhos Futuros – Dúvidas – Bibliografia
  15. 15. Introdução – Recursos – Objetivo XText – Spoofax – Resultados Trabalhos Futuros – Dúvidas – Bibliografia• Di Iorio, V. O.; Reis, L. V. d. S.; Bigonha, R. d. S. & Bigonha, M. A. d. S. (2009). A proposal for extensible AspectJ. In DSAL 09: Proceedings of the 4th workshop on Domain-specific aspect languages, pp. 2124, New York, NY, USA. ACM.• Reis, L. V. d. S.; Di Iorio, V. O.; Bigonha, R. d. S.; Bigonha, M. A. d. S. & Ladeira, R. d. C. (2009). XAJ: An extensible aspect-oriented language. In Proceedings of the III Latin American Workshop on Aspect-Oriented Software Development, pp. 57-62. Federal University of Ceará.• XTEXT. Versão: 2.0. [S.l.]: Itemis, 2008. Disponível em: <http://xtext.itemis.com/xtext/language=en/36553/downloads>. Acesso em: 24 de julho de 2011.• Lennart C. L. Kats, Eelco Visser. The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs. In Martin Rinard, editor, Proceedings of the 25th Annual ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA 2010), ACM, 2010.• SDF Syntax Definition Formalism. Versão: n/a. [S.l.]: ProgramTransformationOrg, 2000. Disponível em: <http://www.syntax-definition.org/>. Acesso em: 25 de julho de 2011.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×