Attribute Grammars: a Declarative Functional Language - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 1995

Attribute Grammars: a Declarative Functional Language

Didier Parigot
Gilles Roussel
Étienne Duris
  • Function : Author
Martin Jourdan
  • Function : Author


Although Attribute Grammars were introduced thirty years ago, their lack of expressiveness has resulted in limited use outside the domain of static language processing. In this paper we show that it is possible to extend this expressiveness. We claim that Attribute Grammars can be used to describe computations on structures that are not just trees, but also on abstractions allowing for infinite structures. To gain this expressiveness, we introduce two new notions: {\em scheme productions\/} and {\em conditional productions}. The result is a language that is comparable in power to most first-order functional languages, with a distinctive declarative character. Our extensions deal with a different part of the Attribute Grammars formalism than what is used in most works on Attribute Grammars including global analysis and evaluator generation. Hence, most existing results are directly applicable to our extended Attribute Grammars including efficient implementation (in our case, using the FNC-2 system The major contribution of this approach is to restore and re-emphasize the intrinsic power of Attribute Grammars. Furthermore, our extensions call for new studies on applying to functional programming the analysis and implementation techniques developed for Attribute Grammars.
Fichier principal
Vignette du fichier
RR-2662.pdf (264.14 Ko) Télécharger le fichier

Dates and versions

inria-00074027 , version 1 (24-05-2006)


  • HAL Id : inria-00074027 , version 1


Didier Parigot, Gilles Roussel, Étienne Duris, Martin Jourdan. Attribute Grammars: a Declarative Functional Language. [Research Report] RR-2662, INRIA. 1995. ⟨inria-00074027⟩
157 View
193 Download


Gmail Facebook Twitter LinkedIn More