Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRaíssa Celeste Alterado mais de 10 anos atrás
1
Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação
2
Motivação Porquê uma IDE? Uma IDE é um componente fundamental do toolchain de uma linguagem. Influencia bastante a productividade do programador. Porquê o Eclipse? Muita infra-estructura e funcionalidades disponiveis, trabalho poupado. Integração com outras ferramentas de desenvolvimento.
3
IDE Features Code editor. Syntax highlighting. File/project explorer. Program builder. Outline. Debugger. Code completion. Code formatting. Refactoring.
4
Eclipse Platform Extendido através de plug-ins. Cada plug-in implementa um conjunto de extensões a extension points pré-definidos. O próprio Eclipse é composto por plug-ins. Uma IDE do Eclipse: Separada em components como o Core, User Interface, Debug, Build, etc., cada uma correspondendo a uma plug-in.
5
Core Component Project Description Descreve os ficheiros e directórios do projecto, opções de compilador, condicionais, etc. Project Builder Invoca o compilador, constrói o projecto. Parser & Language Model Cria uma representação estruturada do código. Project Nature Associa o projecto à IDE.
6
Basic IDE Architecture
7
UI Component Consiste em vários elementos como: Editor Views Outline Dialogs Wizards Preferences Actions (buttons e menus) Em geral simples de implementar, o editor e a text framework é que são um pouco mais complicados.
8
UI Component
9
Text Framework Source ViewerDocument Editor
10
UI Component Editor Source ViewerDocument Eclipse Workbench Document Provider Source Viewer Configuration Text Framework StyledText
11
Advanced Concepts AST Conter toda a informação relevante ao utilizador. Arvore heterogénea com bom mecanismos de navegação. Advanced Parser Functionality Permitir recuperação de erros. Parsing parcial (de um sub-elemento da unidade de compilação). Entity References Mecanismo para poder navegar de um elemento- referência da AST, para o elemento-definição.
12
Advanced Concepts DOM AST Estruturar a AST como o DOM de XML/HTML. É um mecanismo mais rico para manipular a AST (bom para refactoring). Model scalability Permitir que a UI continue usável (responsive) em projectos muito grandes. Criar um modelo mais simples e mais lightweight que a AST, para a estrutura de nomes do programa. Gerir os elementos desse modelo através duma cache.
13
Advanced Concepts Model updating Definir como actualizar o modelo após mudanças textuais do código. Solução ideal: actualizar numa background thread, 2 a 5 vezes por segundo. Refactoring A ultimate feature duma IDE, tanto em utilidade como complexidade. Eclipse oferece algum suporte através do LTK ( Language Toolkit). Mas cabe ao developer implementar a lógica de cada operação.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.