Reconstruction of paradigm shifts

There are many extensions of the basic attribute grammar formalism intended to improve its pragmatics, e.g. certain modularity concepts, remote access, object-orientation, templates, rule models and higher-order features. In the paper, a generic and formal approach to an effective and orthogonal reconstruction of the concepts underlying some extensions is described. The reconstruction is effective in the sense that the reconstructed concepts are presented as executable meta-programs. The approach to reconstruction is formal in the sense that the derived meta-programs modelling certain concepts can be analysed based on properties of the meta-programs, e.g. preservation properties. It is a generic approach because the meta-programming framework can be instantiated not only for attribute grammars but also for several other representatives of the declarative paradigm, e.g. natural semantics and algebraic specification. Thereby, concepts can be imported from and exported to other frameworks. Finally, the reconstructions are derived orthogonally in the sense that potential roles are first unbundled and then particular combinations of the roles can be investigated. The described meta-programming framework has been implemented in the specification framework of Λ∆Λ and it is used for reusable formal language definition based on attribute grammars and operational semantics.

[1]  Ralf Lämmel,et al.  Functional meta-programs towards reusability in the declarative paradigm , 1998 .

[2]  Jacques Chazarain,et al.  Functional Evaluation of Strongly Non Circular Typol Specifications , 1990, WAGA.

[3]  Gilles Roussel,et al.  Generic Programming by Program Composition (position paper) , 1998 .

[4]  Viljem Zumer,et al.  Incremental language design , 1998, IEE Proc. Softw..

[5]  Ralf Lämmel,et al.  Declarative Aspect-Oriented Programming , 1999, PEPM.

[6]  Arun Lakhotia,et al.  A workbench for developing logic programs by stepwise enhancement , 1990 .

[7]  Boaz Patt-Shamir,et al.  A New Approach to Compiling Adaptive Programs , 1996, ESOP.

[8]  Didier Parigot,et al.  Specification and Implementation of Grammar Couplings using Attribute Grammars , 1993, PLILP.

[9]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[10]  Carole Le Bellec La généricité et les grammaires attribuées , 1993 .

[11]  Leon Sterling,et al.  A methodology for program construction by stepwise structural enhancement , 1994 .

[12]  Ralf Lämmel,et al.  The Language Development Laboratory , 1997 .

[13]  Martin Jourdan,et al.  Attribute Grammars and Folds : Generic Control Operators , 1996 .

[14]  John Boyland,et al.  Descriptional Composition of Compiler Components , 1996 .

[15]  Leon Sterling,et al.  Skeletons and techniques as a normative approach to program development in logic-based languages , 1996 .

[16]  Kai Koskimies Compiler construction : 7th International Conference, CC '98, held as part of the Joint European Conferences on the Theory and Practice of Software, ETAPS '98, Lisbon, Portugal, March 28-April 4, 1998 : proceedings , 1998 .

[17]  J. Lindskov Knudsen Object-oriented environments : the Mjølner approach , 1993 .

[18]  Viljem Zumer,et al.  Automatic implementation of programming languages using object oriented approach , 1997, J. Syst. Archit..

[19]  Görel Hedin,et al.  An Object-Oriented Notation for Attribute Grammars , 1989, European Conference on Object-Oriented Programming.

[20]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[21]  Pascal Fradet,et al.  AOP: towards a generic framework using program transformation and analysis , 2000 .

[22]  Henk Alblas,et al.  Attribute Grammars, Applications and Systems , 1991, Lecture Notes in Computer Science.

[23]  J. Brunekreef,et al.  TransLog, an interactive tool for transformation of logic programs , 1995 .

[24]  Didier Parigot,et al.  Internals and Externals of the FNC-2 Attribute Grammar System , 1991, Attribute Grammars, Applications and Systems.

[25]  David A. Watt,et al.  Modular Description of Programming Languages , 1991, Computer/law journal.

[26]  GSrel Hedin Incremental Static-Semantic Analysis for Object-Oriented Languages Using Door Attribute Grammars , 1991, Attribute Grammars, Applications and Systems.

[27]  Mehmet Aksit,et al.  ECOOP'97 - Object-Oriented Programming : 11th European Conference Jyväskylä, Finland, June 9–13, 1997 : Proceedings , 1997 .

[28]  L. Naish Multi-paradigm Logic Programming Higher-order Logic Programming in Prolog , 1995 .

[29]  Bernard Lorho Semantic attributes processing in the system DELTA , 1975, Methods of Algorithmic Language Implementation.

[30]  Khaled Bsaïes,et al.  Spes: A System for Logic Program Transformation , 1992, LPAR.

[31]  Didier Parigot,et al.  Structure-directed Genericity in Functional Programming and Attribute Grammars , 1997 .

[32]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software , 1995 .

[33]  Gordon V. Cormack,et al.  Modular Attribute Grammars , 1990, Comput. J..

[34]  S. Doaitse Swierstra,et al.  Higher order attribute grammars , 1989, PLDI '89.

[35]  Kai Koskimies Object-Orientation in Attribute Grammars , 1991, Attribute Grammars, Applications and Systems.

[36]  Didier Parigot,et al.  Dynamic Attribute Grammars , 1996, PLILP.

[37]  Nigel P. Chapman On Extended Attribute Grammars , 1992, Bull. EATCS.

[38]  Uwe Kastens Attribute Grammars in a Compiler Construction Environment , 1991, Attribute Grammars, Applications and Systems.