Repository logo
 
Loading...
Profile Picture

Search Results

Now showing 1 - 2 of 2
  • XAGra - an XML dialect for attribute grammars
    Publication . Oliveira, Nuno; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João
    Attribute Grammars (AG) are a powerful and well-known formalism used to create language processors. The meta-language used to write an AG (to specify a language and its processor) depends on the compiler generator tool chosen. This fact can be an handicap when it is necessary to share or transfer information between language-based systems; this is, we face an interchangeability problem, if we want to reuse the same language specification (the AG) on another development environment. To overcome this interoperability flaw, we present in this paper XAGra - an XML dialect to describe attribute grammars. XAGra was precisely conceived aiming at adapting the output of a visual attribute grammar editor (named VisualLISA) to any compiler generator tool. Based on the formal definition of Attribute Grammar and on the usual requirements for the generation of a language processor, XAGra schema is divided into five main fragments: symbol declarations, attribute declarations, semantic productions (including attribute evaluation rules, contextual conditions, and translation rules), import, and auxiliary functions definitions. In the paper we present those components, but the focus will be on the systematic way we followed to design the XML schema based on the formal definition of AG. To strength the usefulness of XAGra as a universal AG specification, we show at a glance XAGraAl, a tool taking as input an AG written in XAGra, is a Grammar Analyzer and Transformation system that computes dependencies among symbols, various metrics, slices and rebuilds the grammar.
  • Concepção, especificação e implementação de processadores de linguagens visuais
    Publication . Pereira, Maria João; Rocha, Jorge; Henriques, Pedro Rangel
    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.