Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software.
Transcript of Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software.
Niteroi, 19 de Março de 2004 1
I Workshop do Projeto VASI Workshop do Projeto VAS
Verificação de Arquiteturas de SoftwareVerificação de Arquiteturas de Software
Niteroi, 19 de Março de 2004 2
eMaudeeMaude
Um plugin Eclipse para a linguagem MaudeUm plugin Eclipse para a linguagem Maude
Matheus Mansur
Niteroi, 19 de Março de 2004 3
1.1. A Plataforma EclipseA Plataforma Eclipse
O que é.Como funciona.
– Pontos de Extensão (manifest.xml)– Framework de classes em Java para
implemetação
Niteroi, 19 de Março de 2004 4
1.1. A Plataforma EclipseA Plataforma Eclipse
Como nos pode ser útil.– Extension Point
• Editors*• Perspectives• Preference Pages• New Wizards
– Editors Extension Point• Add-ons
Niteroi, 19 de Março de 2004 5
Niteroi, 19 de Março de 2004 6
Niteroi, 19 de Março de 2004 7
Exemplos de Add-ons
Niteroi, 19 de Março de 2004 8
2.2. A Primeira AbordagemA Primeira Abordagem
Verificar como era estruturado os editores existentes– Modelo IDocument– Partições não sobrepostas– DocumentProvider
Niteroi, 19 de Março de 2004 9
2.2. A Primeira Abordagem A Primeira Abordagem
Niteroi, 19 de Março de 2004 10
2.2. A Primeira Abordagem A Primeira Abordagem
Partições não sobrepostas– Possibilidade de aplicar diferentes Add-ons a
cada uma delas.– Com isso posso utilizar um assistente de
conteúdo diferente para cada parte do código Maude.
– Ex.: Dentro de um módulo funcional não há necessidade de se exibir comandos do sistema.
Niteroi, 19 de Março de 2004 11
2.2. A Primeira Abordagem A Primeira Abordagem
A estrutura do syntax highlight– Definido a partir de um conjunto de regras
• Regras de Padrões.– EndOfLineRule("***", aToken);
– MultiLineRule(“[“,”]”,aToken);
• Regras de Palavras– WordRule(“begin”,aToken);
Niteroi, 19 de Março de 2004 12
Niteroi, 19 de Março de 2004 13
3.3. A Segunda Abordagem A Segunda Abordagem
Maude não possuir palavras reservadas. Como é muito comum em outras linguagens.
Isso permite falhas no syntax highlight.
Niteroi, 19 de Março de 2004 14
Niteroi, 19 de Março de 2004 15
3.3. A Segunda AbordagemA Segunda Abordagem
O modelo padrão do eclipse para a funcionalidade do syntax highlight não atende as necessidades do Maude.
Criar uma estrutura de árvore para armazenar a gramática BNF do Maude, e consultá-la para verificar se algo deve ser colorido ou não.
Com isso não analisaremos apenas a palavra, mas também o local da palavra.
Niteroi, 19 de Março de 2004 16
I Workshop do Projeto VASI Workshop do Projeto VAS
eMaudeeMaude
Um plugin Eclipse para a linguagem MaudeUm plugin Eclipse para a linguagem Maude
Matheus Mansur
www.ic.uff.br/~mmansur