Results 1 -
8 of
8
Aspect-Oriented Compilers
, 1999
"... . Aspect-oriented programming provides the programmer with means to cross-cut conventional program structures, in particular the class hierarchies of object-oriented programming. This paper studies the use of aspect orientation in structuring syntax directed compilers implemented as attribute gr ..."
Abstract
-
Cited by 17 (2 self)
- Add to MetaCart
. Aspect-oriented programming provides the programmer with means to cross-cut conventional program structures, in particular the class hierarchies of object-oriented programming. This paper studies the use of aspect orientation in structuring syntax directed compilers implemented as attribute grammars. Specifically, it describes a method for specifying definitions of related attributes as `aspects' and treating them as first-class objects, that can be stored, manipulated and combined. It is hoped that this embedding of an aspect-oriented programming style in Haskell provides a stepping stone towards a more general study of the semantics of aspect-oriented programming. 1 Introduction Compilers are often structured by recursion over the abstract syntax of the source language. For each production in the abstract syntax, one defines a function that specifies how a construct is to be translated. The method of structuring compilers in this syntax--directed manner underlies the for...
Programming Language Specification and Prototyping Using the MAX System
- Programming Language Implementation and Logic Programming
, 1993
"... The paper describes the MAX system, a tool for specification and prototyping of language processors. The MAX system is based on a first--order framework generalizing attribute grammar like frameworks. It allows to refer to syntax tree nodes and "distant" attribute occurrences. Attributes may have ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
The paper describes the MAX system, a tool for specification and prototyping of language processors. The MAX system is based on a first--order framework generalizing attribute grammar like frameworks. It allows to refer to syntax tree nodes and "distant" attribute occurrences. Attributes may have tree nodes as values, so that global relations between distant tree nodes can be expressed. This enables more compact and readable specifications for a wide class of complex problems. Within the presented framework, context conditions can be globally formulated by first--order predicate formulae. The paper explains the fundamental semantical concepts of the system, shows its application to a small name analysis problem, and describes the main implementation issues. In particular, we present a powerful attribute evaluation algorithm that can handle attribute dependencies arising during evaluation time. Finally, we report on the experiences made by the system and compare it to other s...
Deriving Incremental Implementations from Algebraic Specifications
, 1992
"... We present a technique for deriving incremental implementations for a subclass of algebraic specifications, namely, conditional well-presented primitive recursive schemes. We use concepts of the translation of well-presented primitive recursive schemes to strongly noncircular attribute grammars, ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We present a technique for deriving incremental implementations for a subclass of algebraic specifications, namely, conditional well-presented primitive recursive schemes. We use concepts of the translation of well-presented primitive recursive schemes to strongly noncircular attribute grammars, storing results of function applications and their parameters as attributes in an abstract syntax tree of the first argument of the function in question. An attribute dependency graph is used to guide incremental evaluation. The evaluation technique is based on a leftmost innermost rewrite strategy. The technique is extended to conditional well-presented primitive recursive schemes. Whereas in the non-conditional case attribute dependency graphs are static and can be constructed before evaluating a term, when working with conditional equations the the attribute dependency graph is adapted upon evaluation. The class of well-presented primitive recursive schemes is a very natural one fo...
Integrating Natural Semantics and Attribute Grammars: the Minotaur System
- Tech. Rep. 2339, INRIA Sophia Antipolis
, 1994
"... : This paper describes the principles and the functionalities of the Minotaur system. Minotaur is a generic interactive environment based on the integration of the Centaur system and the FNC-2 system, two systems widely used to specify syntax and semantics of programming languages and generate effic ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
: This paper describes the principles and the functionalities of the Minotaur system. Minotaur is a generic interactive environment based on the integration of the Centaur system and the FNC-2 system, two systems widely used to specify syntax and semantics of programming languages and generate efficient semantic tools from these specifications. We show how Attribute Grammars techniques can be adequate for evaluation of a quite large subclass of Natural Semantics specifications, including specifications of an arithmetic calculator, a tree transformation, a type-checker for an Algol-like language, ... For this subclass of Natural Semantics specifications, the Minotaur system automatically generates an incremental and efficient (in time and memory) evaluator which gives to Natural Semantics an industrial strength implementation. Key-words: Specifications, Natural Semantics, Attribute Grammars, Programming Environments (R'esum'e : tsvp) Isabelle.Attali@sophia.inria.fr Didier.Parigot@in...
Functional Evaluation Of Natural Semantics Specifications
"... Typol is a language to implement Natural Semantics inside the Centaur Programming Environment. We explain why Natural Semantics can be considered as a generalization of the Attribute Grammars formalism. This relationship suggests introducing in the Typol setting some concepts from the Attribute Gram ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Typol is a language to implement Natural Semantics inside the Centaur Programming Environment. We explain why Natural Semantics can be considered as a generalization of the Attribute Grammars formalism. This relationship suggests introducing in the Typol setting some concepts from the Attribute Grammars framework. With these concepts, we can provide specialized evaluators to some classes of Typol programs, instead of the general Prolog machine currently used to execute such programs. More precisely, we prove that under acceptable conditions, the unification process is no longer required and can be replaced by a simple pattern-matching mechanism. From this proof method, we deduce a functional implementation of Typol programs. We also propose a language construct called CondMatch, that makes it easier to automatically translate a Typol program into a Lisp function.
The term processor generator kimwitu
- In Tools and Algorithms for the Construction and Analysis of Systems, TACAS '97
, 1997
"... The Kimwitu system is a meta-tool that supports the construction of programs (tools) that operate on trees or terms. The system supports open multi-paradigm programming, in that it allows to express each part of an implementation in the most appropriate language. Terms can be implemented in a tool a ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The Kimwitu system is a meta-tool that supports the construction of programs (tools) that operate on trees or terms. The system supports open multi-paradigm programming, in that it allows to express each part of an implementation in the most appropriate language. Terms can be implemented in a tool as well as exchanged between tools. In this way tool integration is facilitated. Experience has demonstrated that Kimwitu drastically speeds up development time, facilitates tool integration and generates production quality programs. 1
ISSN 0249-6399 ISRN INRIA/RR--6315--FR+ENGYet Another Implementation of Attribute Evaluation
"... apport de recherche ..."
Attribute Evaluators
"... ter verkrijging van de graad van doctor aan de Universiteit Twente, op gezag van de rector magnificus, prof. dr. F. A. van Vught, volgens besluit van het College voor Promoties in het openbaar te verdedigen op vrijdag 1 maart 2002 te 16.45 uur door luitenant ter zee van de elektrotechnische dienst d ..."
Abstract
- Add to MetaCart
ter verkrijging van de graad van doctor aan de Universiteit Twente, op gezag van de rector magnificus, prof. dr. F. A. van Vught, volgens besluit van het College voor Promoties in het openbaar te verdedigen op vrijdag 1 maart 2002 te 16.45 uur door luitenant ter zee van de elektrotechnische dienst der tweede klasse der Koninklijke Marine-reserve ingenieur

