Concepção, especificação e implementação de processadores de linguagens visuais - Pereira, Maria João (1997)
Com o estudo aqui relatado - realizado no âmbito do projecto SARA - pretendeu-se avaliar a adequabilidade dos métodos e técnicas usadas no desenvolvimento de compiladores tradicionais à construção de processadores para linguagens visuais. Defendemos a ideia pragmática de que o processador final pode ser criado pelo acréscimo de um editor gráfico, especializado para uma linguagem visual, no topo de um compilador textual, desenvolvido com base numa gramática de atributos. Para especificar o processador visual faz, ainda, parte da nossa abordagem recorrer a um formalismo modular - MASOVILA - desenvolvido pelo nosso grupo e que aqui iremos também apresentar. Mostraremos a viabilidade das ideias, aplicando-as a um caso prático - surgido no contexto do projecto LEPAForM - que tem como objectivo a criação e a especificação de uma linguagem visual para descrição de diagramas de estados temporizados, Timed State Charts (TSC), e a construção de um tradutor dessa mesma linguagem para axiomas em Real Time Logic (RTL). Esse ambiente permite concretizar o princípio da aplicação pragmática de métodos formais na descrição do comportamento de sistemas reactivos. Do ponto de vista do utilizador, a linguagem visual TSCvl substitui a linguagem textual TSC, permitindo manipular directamente os diagramas de tansição de estados temporizados. A linguagem visual foi formalmente definida, em termos sintácticos e semânticos, no formalismo MASOViLa; o compilador, baseado no princípio da tradução orientada pela semântica, foi produzido automaticamente pelo gerador Eli.