A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação.

Apresentações semelhantes


Apresentação em tema: "Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação."— Transcrição da apresentação:

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.


Carregar ppt "Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação."

Apresentações semelhantes


Anúncios Google