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: scheme
productions\/ and 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 Grammar 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 http://www-rocq.inria.fr/oscar/www/fnc2/
for more information.)
%0 Report
%1 Parigot95a
%A Parigot, Didier
%A Duris, Etienne
%A Roussel, Gilles
%A Jourdan, Martin
%D 1995
%K Functional ML extensions.DAG programing vari.FP
%N 2662
%T Attribute Grammars: a Declarative Functional Language
%U ftp://ftp.inria.fr/INRIA/publication/RR/RR-2662.ps.gz
%X 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: scheme
productions\/ and 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 Grammar 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 http://www-rocq.inria.fr/oscar/www/fnc2/
for more information.)
@techreport{Parigot95a,
abstract = {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 Grammar 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 http://www-rocq.inria.fr/oscar/www/fnc2/
for more information.)},
added-at = {2009-05-10T18:36:57.000+0200},
author = {Parigot, Didier and Duris, Etienne and Roussel, Gilles and Jourdan, Martin},
biburl = {https://www.bibsonomy.org/bibtex/235370e6c49a4edf76a759faafd496110/dparigot},
description = {Attribute Grammar},
institution = {INRIA},
interhash = {540598176568a5f922d62efb91ce7285},
intrahash = {35370e6c49a4edf76a759faafd496110},
keywords = {Functional ML extensions.DAG programing vari.FP},
month = {October},
number = 2662,
postscript = {publications/RR-2662.ps.gz},
timestamp = {2009-05-10T18:37:07.000+0200},
title = {Attribute Grammars: a Declarative Functional Language},
type = {Rapport de Recherche},
url = {ftp://ftp.inria.fr/INRIA/publication/RR/RR-2662.ps.gz},
year = 1995
}