%        INRIA projet OSCAR Copyright (c) 1996 author: Didier Parigot
%
%	"AGall.bib     1.66    05/07/99 FNC-2"
%
% converted from tib format by refer-to-bibtex 0.9.2 -- 14:09,
% r2b -tib -reverse-author
%
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Didier Parigot",
%%%     version         = "1.66",
%%%     date            = "05/07/99",
%%%     filename        = "AGall.bib",
%%%     address         = "INRIA Rocquencourt France",
%%%     telephone       = "+33 (0)",
%%%     FAX             = "+33 (0)",
%%%     checksum        = " XXXX ",
%%%     email           = "Didier.Parigot at  inria.fr",
%%%     url             = "http://www-rocq.inria.fr/\~parigot/",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "attribute grammars",
%%%     supported       = "yes",
%%%     docstring       = "This is a complete bibliography on Attribute Grammars.",
%%%  }
%%%  ====================================================================

@String{LNCS =   "Lect. Notes in Comp. Sci."}

@String{Cambridge = "Cambridge University Press"}

@String{ACM =    "ACM Press"}

@String{SPRINGER = "Springer-Verlag"}

@String{j-IEEE-SOFTWARE = "IEEE Software"}

@Book{Lorho84,
  editor =       "Bernard Lorho",
  title =        "Methods and Tools for Compiler Construction",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "survey",
  note =         "INRIA-CEC Course held in Rocquencourt.",
}

@Book{Riedewald84,
  editor =       "G{\"u}nter Riedewald",
  title =        "Vortr{\"a}ge des Problemseminar ``Attributierte Grammatiken und ihre Anwendungen''",
  publisher =    "Sektion Informatik, W.-Pieck University",
  address =      "Rostock",
  month =        oct,
  year =         "1984",
  keywords =     "survey",
}

@Book{Boulicaut86,
  editor =       "Jean-Fran{\c c}ois Boulicaut",
  title =        "{BULLET}",
  publisher =    "D{\'e}pt. M.S.I., Ecole Centrale de Lyon",
  address =      "{\'E}cully",
  month =        jan,
  year =         "1986",
  keywords =     "divers.affix",
  mynote =       "sur let et starlet (pd)",
  note =         "This is a local journal. Complete address is: BP 163, F-69131 {\'E}cully Cedex (France).",
}

@Book{Jones80,
  editor =       "Neil D. Jones",
  title =        "Semantics-directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "survey",
}

@TechReport{Abouzaid81,
  author =       "M. F. Abouza{\"i}d",
  title =        "Proc{\'e}dures d'utilisation des grammaires d'attributs",
  institution =  "University de Bordeaux~I",
  type =         "th{\`e}se de 3{\`e}me cycle",
  month =        jun,
  year =         "1981",
  keywords =     "eval",
}

@InCollection{Abramson84,
  author =       "H. Abramson",
  title =        "Definite Clause Translation Grammars",
  booktitle =    "IEEE Symp. on Logic Programming",
  pages =        "233--248",
  address =      "Atlantic City",
  year =         "1984",
  keywords =     "vari.LP vari.DCG",
  mynote =       "DCG (prolog) et GA (pd)",
  abstract =     "The author introduces definite clause translation grammars, a new class of logic grammars which
                 generalizes definite clause grammars and which may be thought of as a logical implementation of
                 attribute grammars. Definite clause translation grammars permit the specification of the syntax and
                 semantic rules in the form of Horn clauses attached to each node of the parse tree (automatically
                 created during syntactic analysis), and which control traversal(s) of the parse tree and computation of
                 attributes of each node. The semantic rules attached to a node constitute, therefore, a local database
                 for the node. the separation of syntactic and sematic rules is intended to promote modularity,
                 simplicity, clarity of definition, and ease of modification.",
}

@Article{Adorni84,
  author =       "G. Adorni and A. Boccalatte and M. {Di Manzo}",
  title =        "Top-down Semantic Analysis",
  journal =      "The Computer Journal",
  volume =       "27",
  number =       "3",
  pages =        "233--237",
  month =        aug,
  year =         "1984",
  keywords =     "eval",
}

@InCollection{Agafonov76,
  author =       "V. N. Agafonov",
  editor =       "A. Mazurkiewicz",
  title =        "On Attribute Grammars",
  booktitle =    "Mathematical Foundations of Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "45",
  pages =        "169--172",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1976",
  keywords =     "sema",
  note =         "Gdansk",
}

@Book{Aho86,
  author =       "Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman",
  title =        "Compilers: Principles, Techniques and Tools",
  publisher =    "Addison Wesley",
  address =      "Reading, MA",
  year =         "1986",
  keywords =     "survey applic.MC applic.GC book",
  mynote =       "Bouquin sur la compilation bien connu. Le chapitre 5 est un petit tutoriel et survey sur les GA
                 (qu'ils appellent ``syntax-directed definitions'', allez savoir pourquoi!). Les chapitres suivants
                 utilisent les GA pour specifier des parties de compilateurs. (mj)",
}

@Book{Aho73,
  author =       "Alfred V. Aho and Jeffrey D. Ullman",
  title =        "The Theory of Parsing, Translation and Compiling",
  publisher =    "Prentice-Hall",
  address =      "Englewood Cliffs, NJ",
  year =         "1973",
  keywords =     "divers.lang book",
  note =         "I and II",
}

@TechReport{Akker86,
  author =       "Rieks op den Akker",
  title =        "Deterministic Parsing of Attribute Grammars, part {I}: Top-down Strategies",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  number =       "INF-86-19",
  year =         "1986",
  keywords =     "eval",
}

@TechReport{Akker88,
  author =       "Rieks op den Akker",
  title =        "Deterministic Parsing of Attribute Grammars, part {II}: Left-corner Strategies",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  number =       "INF-88-67",
  year =         "1988",
  keywords =     "eval",
}

@PhdThesis{Akker88a,
  author =       "Rieks op den Akker",
  title =        "Parsing Attribute Grammars",
  school =       "Onderafdeling der Informatica, Tech. Hogeschool Twente 1988",
  type =         "Ph.{D}. Thesis",
  keywords =     "eval",
}

@TechReport{Alblas83,
  author =       "Henk Alblas",
  title =        "An Algorithm to Find Minimal Sequences of Pass Directions for Attribute Grammars",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  number =       "INF-83-6",
  month =        aug,
  year =         "1983",
  keywords =     "eval",
}

@TechReport{Alblas88,
  author =       "Henk Alblas",
  title =        "Attributed Tree Transformations with Delayed and Smart Reevaluation",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  number =       "INF-88-45",
  year =         "1988",
  keywords =     "tat",
}

@TechReport{Alblas89,
  author =       "Henk Alblas",
  title =        "Attribute Evaluation Methods",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  number =       "INF-89-20",
  year =         "1989",
  keywords =     "survey",
}

@Article{Alblas81,
  author =       "Henk Alblas",
  title =        "A Characterization of Attribute Evaluation in Passes",
  journal =      "Acta Informatica",
  volume =       "16",
  number =       "4",
  pages =        "427--464",
  year =         "1981",
  keywords =     "class eval",
  note =         "See also: memorandum 315, Onderafdeling der Informatica, Tech. Hogeschool Twente (September 1980).",
}

@Article{Alblas85,
  author =       "Henk Alblas",
  title =        "Finding Minimal Pass Sequences for Attribute Grammars",
  journal =      "SIAM Journal on Computing",
  volume =       "14",
  number =       "4",
  pages =        "889--914",
  month =        nov,
  year =         "1985",
  keywords =     "eval",
}

@InProceedings{Alblas86,
  author =       "Henk Alblas",
  title =        "Incremental Simple Multi-pass Attribute Evaluation",
  booktitle =    "Procs. NGI/SION Symp. 1986",
  pages =        "319--342",
  year =         "1986",
  keywords =     "incr",
  note =         "See also: memorandum INF-86-27, Onderafdeling der Informatica, Tech. Hogeschool Twente (August
                 1986).",
}

@TechReport{Alblas87,
  author =       "Henk Alblas",
  title =        "Iteration of Transformation Passes over Attributed Program Trees",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  number =       "INF-87-28",
  month =        sep,
  year =         "1987",
  keywords =     "tat",
}

@TechReport{Alblas79,
  author =       "Henk Alblas",
  title =        "The Limitations of Attribute-Evaluation in Passes",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "memorandum",
  year =         "1979",
  keywords =     "eval",
}

@Article{Alblas87a,
  author =       "Henk Alblas",
  title =        "One-pass Transformations of Attributed Program Trees",
  journal =      "Acta Informatica",
  volume =       "24",
  number =       "3",
  pages =        "299--352",
  month =        jun,
  year =         "1987",
  keywords =     "tat",
  mynote =       "Determine des conditions suffisantes qui assurent qu'on n'a pas besoin de faire une reevaluation
                 incrementale des attributs entre deux transformations d'arbres dans la meme passe. (mj)",
  note =         "See also: memorandum INF-86-30, Onderafdeling der Informatica, Tech. Hogeschool Twente (October
                 1986).",
}

@PhdThesis{Alblas87b,
  author =       "Henk Alblas",
  title =        "Pass-oriented Attribute Evaluation and Attributed Tree Transformations",
  school =       "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "Ph.{D}. Thesis",
  month =        oct,
  year =         "1987",
  keywords =     "eval tat",
  mynote =       "recueil de divers papiers de Henk. (mj)",
}

@TechReport{Alblas84,
  author =       "Henk Alblas",
  title =        "Transformations of Attributed Program Trees",
  institution =  "Tartan Labs.",
  type =         "report",
  number =       "TL-TR-EXT-84-30",
  address =      "Pittsburgh, PA",
  month =        jul,
  year =         "1984",
  keywords =     "tat",
}

@TechReport{Alpern87,
  author =       "Bowen Alpern and Alan Carle and Barry Rosen and Peter Sweeney and F. Kenneth Zadeck",
  title =        "Incremental Evaluation of Attributed Graphs",
  institution =  "IBM T.J. Watson Research Center",
  type =         "research report RC",
  number =       "13205",
  address =      "Yorktown Heights, NY",
  month =        oct,
  year =         "1987",
  keywords =     "incr applic.edit",
  mynote =       "Un nouveau modele d'evaluation incrementale sur des graphes qui ne sont pas decrits par une GG, mais
                 par une specif ressemblant a un LOO, tres imagee. Methode dynamique interessante. Papier tres bien
                 ecrit. (mj)",
  note =         "Also published as Technical Report CS-87-29, Department of Comp. Sc., Brown University, Providence,
                 RI",
}

@InCollection{Alpern88,
  author =       "Bowen Alpern and Alan Carle and Barry Rosen and Peter Sweeney and F. Kenneth Zadeck",
  editor =       "Peter Henderson",
  title =        "Graph Attribution as a Specification Paradigm",
  booktitle =    "ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments",
  publisher =    "ACM press",
  pages =        "121--129",
  address =      "Boston, MA",
  month =        nov,
  year =         "1988",
  keywords =     "vari.GG applic.edit",
  abstract =     "An interactive software development environment can be viewed as a structure-based editor, provided
                 that structure is broadly interpreted. The user sees and manipulates complex objects at various levels
                 of detail. To help provide these services in a uniform way that can readily respond to changes in the
                 programming language(s) supported or in the preferences of individual users, some programming
                 environments use attribute grammars. The attributed graph specifications (AGSs) defined are inspired by
                 attribute grammars but are free of their restriction to structures expressible by parse trees generated
                 by context-free grammars. An AGS deals with whatever structure is appropriate in a given application.
                 The graph concept is not tied to any decision about pictorial representation. The AGS formalism is a
                 uniform paradigm for specifying the desired relations among many and varied chunks of information, some
                 of which are changed by the user. The benefits of the original attribute grammar formalism were
                 confined to parse trees and severely restricted manipulations of parse trees. The AGS paradigm extends
                 those benefits to software development on a larger scale.",
  note =         "Joint issue with ACM SIGPLAN Notices 24, 2 (February 1989)Published as SIGSOFT Software Eng. Notes,
                 volume 13, number 5",
}

@TechReport{Alpern88a,
  author =       "Bowen Alpern and Roger Hoover and Barry Rosen and Peter Sweeney and F. Kenneth Zadeck",
  title =        "Maintaining Solutions to Changing Interdependent Equations",
  institution =  "Department of Comp. Sc., Brown University",
  type =         "Technical Report",
  number =       "CS-88-13",
  address =      "Providence, RI",
  month =        nov,
  year =         "1988",
  keywords =     "incr",
}

@TechReport{Amirchahy74,
  author =       "Michaneh Amirchahy and Monique Mazaud",
  title =        "Projet {DELTA}: optimisation de code g{\'e}n{\'e}r{\'e} par attributs",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "59",
  address =      "Rocquencourt",
  month =        feb,
  year =         "1974",
  keywords =     "applic.GC",
}

@TechReport{Amirchahy76,
  author =       "Michaneh Amirchahy and Dani{\`e}le N{\'e}el",
  title =        "{L}'optimisation de code pourra-t-elle s'affirmer gr{\^a}ce aux attributs?",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "162",
  address =      "Rocquencourt",
  month =        mar,
  year =         "1976",
  keywords =     "applic.GC",
}

@InProceedings{Anderson84,
  author =       "D. P. Anderson and L. H. Landweber",
  editor =       "Y. Yemini and R. Strom and S. Yemini",
  title =        "Protocol Specification by Real-time Attribute Grammars",
  booktitle =    "4th Internat. Workshop on Protocol Specification, Testing, and Verification",
  pages =        "457--465",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1984",
  keywords =     "applic.prog applic.protocol",
  note =         "Skytop Lodge, PA",
}

@Article{Arbab86,
  author =       "Bijan Arbab",
  title =        "Compiling Circular Attribute Grammars into Prolog",
  journal =      "International Business Machines Corporation. Journal of Research and Development",
  volume =       "30",
  number =       "3",
  pages =        "294--309",
  month =        may,
  year =         "1986",
  keywords =     "eval prolog vari.LP",
  note =         "Also published as a report, IBM Los Angeles Scientific Center (July 1985).",
}

@PhdThesis{Asbrock79,
  author =       "Brigitte Asbrock",
  title =        "Attribut-Implementierung und -Optimierung f{\"u}r Attributierte Grammatiken",
  school =       "University Karslruhe",
  type =         "Diploma Thesis",
  month =        jul,
  year =         "1979",
  keywords =     "alloc",
}

@TechReport{Asbrock81,
  author =       "Brigitte Asbrock and Uwe Kastens and Erich Zimmermann",
  title =        "Generating an Efficient Compiler Front-End",
  institution =  "Institut f{\"u}r Informatik~II, University Karlsruhe",
  type =         "Bericht",
  number =       "17/81",
  year =         "1981",
  keywords =     "applic.MC",
}

@TechReport{Asp80,
  author =       "J. Asp",
  title =        "Description of the Syntax and Static Semantics of Pascal-{HB} using the Compiler Writing System
                 {HLP}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1980-77",
  year =         "1980",
  keywords =     "exem.PASCAL",
  note =         "(in Finnish)",
}

@InCollection{Attali88,
  author =       "Isabelle Attali",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  title =        "Compiling Typol with Attribute Grammars",
  booktitle =    "Programming Languages Implementation and Logic Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "348",
  pages =        "252--272",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        may,
  year =         "1988",
  keywords =     "vari.LP",
  note =         "Orl{\'e}ans",
}

@InCollection{Attali88a,
  author =       "Isabelle Attali and Paul Franchi-Zannettacci",
  title =        "Unification-Free Execution of Typol Programs by Semantic Attribute Evaluation",
  booktitle =    "Actes du S{\'e}minaire Franco-Sovi{\'e}tique Informatika 88",
  pages =        "9--26",
  publisher =    "INRIA",
  address =      "Nice",
  month =        feb,
  year =         "1988",
  keywords =     "vari.LP",
  mynote =       "Prolog et GA (pd)",
  note =         "See also: rapport RR-864, INRIA, Rocquencourt (July 1988)",
}

@TechReport{Ayrault87,
  author =       "Christine Ayrault",
  title =        "Implantation en {C} des structures de donn{\'e}es du langage {OLGA}",
  institution =  "University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1987",
  keywords =     "syst.FNC2",
}

@TechReport{Babich77,
  author =       "W. A. Babich",
  title =        "High Level Data Flow Analysis using a Parse Tree Representation of the Program",
  institution =  "Department of Comp. Sc., University of North Carolina",
  type =         "report TR",
  number =       "77-006",
  address =      "Chapel Hill, NC",
  month =        may,
  year =         "1977",
  keywords =     "applic.DFA",
}

@Article{Babich78,
  author =       "W. A. Babich and Mehdi Jazayeri",
  title =        "The Method of Attributes for Data Flow Analysis",
  journal =      "Acta Informatica",
  volume =       "10",
  number =       "3",
  pages =        "245--272",
  month =        oct,
  year =         "1978",
  keywords =     "applic.DFA",
  note =         "part 1: Exhaustive Analysis, part 2: Demand Analysis",
}

@TechReport{Barbar87,
  author =       "Kablan Barbar",
  title =        "Attributed Context-free Tree Grammars",
  institution =  "D{\'e}pt. d'Informatique, University de Bordeaux~I",
  type =         "rapport",
  number =       "I-8716",
  month =        apr,
  year =         "1987",
  keywords =     "vari.GG",
}

@TechReport{Barbar84,
  author =       "Kablan Barbar",
  title =        "Classification des grammaires d'attributs ordonn{\'e}es",
  institution =  "University de Bordeaux~I",
  type =         "rapport",
  number =       "8412",
  month =        apr,
  year =         "1984",
  keywords =     "class",
}

@TechReport{Barbar82,
  author =       "Kablan Barbar",
  title =        "{\'E}tude comparative de diff{\'e}rentes classes de grammaires d'attributs ordonn{\'e}es",
  institution =  "University de Bordeaux~I",
  type =         "th{\`e}se de 3{\`e}me cycle",
  month =        jun,
  year =         "1982",
  keywords =     "class",
}

@InCollection{Barber83,
  author =       "Milton E. Barber",
  title =        "{PARSLEY}: a new Compiler-Compiler",
  booktitle =    "Software Development Tools, Techniques and Alternatives",
  pages =        "232--241",
  address =      "Arlington, VA",
  month =        jul,
  year =         "1983",
  keywords =     "syst.PARSLEY",
}

@InCollection{Barbuti83,
  author =       "R. Barbuti and M. Bellia and P. Degano and G. Levi and E. Dameri and C. Simonelli and A. Martelli",
  editor =       "D. Ferrari and M. Bolognani and J. Goguen",
  title =        "Programming Environment Generation based on Denotational Semantics",
  booktitle =    "Theory and Practice of Software Technology",
  pages =        "51--83",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1983",
  keywords =     "divers.denot",
}

@TechReport{Barford87,
  author =       "Lee Alton Barford and Bradley T. Vander Zanden",
  title =        "Attribute Grammars in Constraint-based Graphics Systems",
  institution =  "Cornell University, Computer Science Department",
  type =         "Technical Report",
  number =       "CORNELLCS//TR87-838",
  pages =        "30",
  month =        jun,
  year =         "1987",
  language =     "English",
  abstract =     "A constraint-based graphics system provides a flexible, intuitive framework for describing
                 relationships among graphical objects in applications such as document preparation, font design, and
                 solid modelling. This paper describes two constraint-based graphics systems, micro-COSM and the IDEAL
                 Synthesizer, and their implementation in terms of attribute grammars. The implementation of these two
                 systems is noteworthy since they represent the first interactive constraint-based graphics systems that
                 are implemented using attribute grammars. Our experiences with attribute grammars suggest that they
                 provide a powerful framework for representing constraints and extracting important semantic information
                 such as the equations to be solved by the constraint solver. We discuss the advantages of using
                 attribute grammars in constraint-based graphics and from our experiences make several observations
                 about the way attribute grammars should be used.",
}

@Article{Barford89,
  author =       "Lee A. Barford and Bradley T. {Vander Zanden}",
  title =        "Attribute Grammars in Constraint-based Graphics Systems",
  journal =      "Software---Practice and Experience",
  volume =       "19",
  number =       "4",
  pages =        "309--328",
  month =        apr,
  year =         "1989",
  keywords =     "applic.edit applic.divers",
  mynote =       "Decrit deux systemes plus ou moins interactifs de construction d'objets graphiques regis par des
                 contraintes (microCOSM et le ``IDEAL Synthesizer'') dont l'implantation fait plus ou moins appel aux
                 GA. Assez interessant. (mj)",
  abstract =     "A constraint-based graphics system provides a flexible, intuitive framework for describing
                 relationships among graphical objects in applications such as document preparation, font design, and
                 solid modelling. This paper describes two constraint-based graphics systems, micro-COSM and the IDEAL
                 Synthesizer, and their implementation in terms of attribute grammars. The implementation of these two
                 systems is noteworthy since they represent the first interactive constraint-based graphics systems that
                 are implemented using attribute grammars. Our experiences with attribute grammars suggest that they
                 provide a powerful framework for representing constraints and extracting important semantic information
                 such as the equations to be solved by the constraint solver. We discuss the advantages of using
                 attribute grammars in constraint-based graphics and from our experiences make several observations
                 about the way attribute grammars should be used.",
}

@TechReport{Zanden88,
  author =       "Bradley T. Vander Zanden",
  title =        "Incremental Constraint Satisfaction and its Application to Graphical Interfaces",
  institution =  "Cornell University, Computer Science Department",
  type =         "Technical Report",
  number =       "CORNELLCS//TR88-941",
  pages =        "312",
  month =        oct,
  year =         "1988",
  copyright =    "Bradley T. Vander Zanden 1989 - All Rights Reserved",
  language =     "English",
  abstract =     "Software that emphasizes pictures, rather than text, has become increasingly popular since the
                 introduction of the Macintosh computer. Creating this software is a time-consuming task that can take
                 months or years. Researchers have attempted to speed up this process by developing constraint-based
                 tools that automate portions of the software development cycle. However, these tools are often limited
                 in the types of applications they can generate, since 1) they lack powerful editing models that can
                 manipulate complex data structures, such as lists, trees, and sets; and 2) in large applications, they
                 cannot perform constraint satisfaction quickly enough to provide instantaneous feedback to the user. We
                 present tools for overcoming each of these difficulties. First, we describe a new model, called
                 constraint grammars, that integrates aspects of both attribute grammars and constraint-based, object
                 systems to produce a powerful specification language for graphical interfaces. Constraint grammars
                 integrate important concepts such as the part-whole hierarchy, almost-hierarchical structures, and
                 multidirectional constraints. These features are augmented with a pattern-matching editing model that
                 permits a designer to manipulate complex data structures. We then present techniques for incrementally
                 resatisfying multidirectional, noncircular sets of constraints. It is shown that minimizing the number
                 of re-solved constraints is NP-complete. We therefore describe an approach that attempts to minimize
                 the amount of time spent updating the constraint solution. This technique divides constraint solving
                 into two phases-a planning phase that linearly orders the constraints and an evaluation phase that
                 solves the constraints using this linear order. Previous approaches have thrown away the linear order
                 whenever the constraint system changes. However, this is unnecessary since only a local portion of the
                 linear order is typically modified. We exploit this fact to develop an algorithm that incrementally
                 updates this order. We the augment this algorithm with a heuristic that attempts to choose a linear
                 order that minimizes the number of equations that the evaluation stage must solve. We present
                 benchmarks that show that these algorithms can significantly reduce the number of equations examined by
                 the planning phase and the number of equations solved by the evaluation phase.",
}

@Book{Barrett85,
  author =       "W. A. Barrett and R. Bates and D. Gustafson and J. Couch",
  title =        "Compiler Construction: Theory and Practice",
  edition =      "2nd",
  publisher =    "SRA Inc.",
  year =         "1985",
  keywords =     "applic.MC applic.GC book",
  mynote =       "encore un bouquin sur la compilation utilisant les GA.",
}

@TechReport{Bartha81,
  author =       "M. Bartha",
  title =        "An Algebraic Definition of Attributed Translations",
  institution =  "University of Szeged",
  type =         "report",
  address =      "Hungary",
  year =         "1981",
  keywords =     "sema",
}

@TechReport{Bartmuss81,
  author =       "G. Bartmu{\ss} and Robert Giegerich",
  title =        "Compiler Development with {MUG2}---an Introductory Example",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-8102",
  month =        apr,
  year =         "1981",
  keywords =     "syst.MUG2",
}

@TechReport{Bartmuss84,
  author =       "G. Bartmu{\ss} and Sabine Th{\"u}rmel",
  title =        "{MUG}-Einf{\"u}hrung",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "interner Bericht",
  month =        apr,
  year =         "1984",
  keywords =     "syst.MUG2",
}

@InCollection{Bayer81,
  author =       "M. Bayer and B. B{\"o}hringer and J. P. Dehottay and H. Feuerhahn and J. Jasper and Cornelius H. A.
                 Koster and U. Schmiedecke",
  editor =       "H. H{\"u}nke",
  title =        "Software Development in the {CDL2} Laboratory",
  booktitle =    "Software Engineering Environments",
  pages =        "97--118",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1981",
  keywords =     "divers.affix",
}

@TechReport{Begwani82,
  author =       "V. S. Begwani",
  title =        "New Approach for Attribute Evaluation and Error Correction in Compilers",
  institution =  "Comp. Sc. Department, University of Wisconsin-Madison",
  type =         "Technical Report",
  number =       "\#483",
  year =         "1982",
  keywords =     "eval",
}

@TechReport{LeBellec89,
  author =       "Carole {Le Bellec}",
  title =        "Sp{\'e}cification de r{\`e}gles s{\'e}mantiques manquantes",
  institution =  "D{\'e}pt. d'Informatique, University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1989",
  keywords =     "syst.FNC2",
  mynote =       "Une adaptation des travaux de Tiemann (``Removing Redundancy...'') pour Olga. (mj)",
}

@TechReport{Belmonte88,
  author =       "Matthew Belmonte",
  title =        "A Practical Attribute Grammar Circularity Test",
  institution =  "Department of Comp. Sc., Cornell University",
  type =         "Technical Report",
  number =       "TR~88-920",
  address =      "Ithaca, NY",
  month =        jun,
  year =         "1988",
  keywords =     "circ",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR88-920",
}

@InCollection{Benary88,
  author =       "J. Benary",
  editor =       "O. M. Tammepuu",
  title =        "Attributed Grammars and Two-dimensional Formula Languages",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "7--15",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "applic.edit",
}

@TechReport{Beney85,
  author =       "Jean Beney and Jean-Fran{\c c}ois Boulicaut",
  title =        "Des sp{\'e}cifications grammaticales {\`a} la programmation logique: le compromis {STARLET}",
  institution =  "Laboratoire d'Informatique, INSA",
  type =         "rapport de recherche",
  address =      "Villeurbanne",
  month =        jun,
  year =         "1985",
  keywords =     "vari.pract",
}

@InCollection{Berg85,
  author =       "A. Berg and D. A. Bocking and D. R. Peachey and P. G. Sorenson and J. P. Tremblay and J. A. Wald",
  title =        "{VATS}---the Visible Attributed Translation System",
  booktitle =    "1985 ACM SIGSMALL Symp. on Small Systems",
  publisher =    "ACM press",
  pages =        "70--81",
  address =      "Danvers",
  month =        may,
  year =         "1985",
  keywords =     "syst.VATS",
  mynote =       "Description de VATS, un petit systeme qui accepte des L-ATGs (Attributed Translation Grammars), dont
                 la principale caracteristique est d'avoir un mode ``visible'' sur ecran. (mj)",
  note =         "See also: report 84-19, Dept. of Computational Science, University of Saskatchewan, Saskatoon, Canada
                 (1984).",
}

@TechReport{Berry73,
  author =       "D. M. Berry",
  title =        "On the Design and Specification of the Programming Language {OREGANO}",
  institution =  "Comp. Sc. Department, University of California",
  type =         "report",
  number =       "UCLA-ENG-7388",
  address =      "Los Angeles, CA",
  year =         "1973",
  keywords =     "applic.MC",
}

@InCollection{Beshers85,
  author =       "George M. Beshers and Roy H. Campbell",
  title =        "Maintained and Constructor Attributes",
  booktitle =    "ACM SIGPLAN '85 Symp. on Language Issues in Programming Environments",
  publisher =    "ACM press",
  pages =        "34--42",
  address =      "Seattle, WA",
  month =        jun,
  year =         "1985",
  keywords =     "applic.edit incr",
  mynote =       "Propose une methode pour utiliser dans l'evaluation incrementale de GAs (e.g. editeurs) des structures
                 de donnees destructives, donc efficaces. Ces structures de donnees sont attachees a des n{\oe}uds
                 particuliers et mises a jour au cours de l'evaluation. L'idee est de declarer des attributs speciaux
                 {"}tenus a jour{"} et des attributs {"}constructeurs{"}. L'evaluation des attributs constructeurs
                 entraine la mise jour des attributs maintenus. Pour l'evaluation incrementale, chaque constructeur doit
                 avoir une fonction inverse. Chaque structure de donnees tenue a jour contient aussi la liste des
                 attributs constructeurs qui la concerne. Parait utilisable assez facilement en pratique. (mj)",
  note =         "Published as ACM SIGPLAN Notices, volume 20, number 7",
}

@TechReport{Bircsak84,
  author =       "J. A. Bircsak",
  title =        "Incorporating Conditional Semantic Rules in the {CIS} Compiler Generator",
  institution =  "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Senior thesis",
  address =      "Philadelphia, PA",
  month =        may,
  year =         "1984",
  keywords =     "syst.CIS",
}

@InCollection{Biryukov79,
  author =       "A. N. Biryukov and V. M. Kurochkin and Vladimir A. Serebryakov",
  title =        "A Compiler-Construction System based on the Homogeneous and Universal Approach",
  booktitle =    "Abstracts for the First All-Union Conf. on Programming Technology",
  address =      "Kiev",
  year =         "1979",
  keywords =     "syst.SUPER",
  note =         "(in Russian)",
}

@Article{Biryukov80,
  author =       "A. N. Biryukov and V. M. Kurochkin and Vladimir A. Serebryakov",
  title =        "Global Attributes and their Use for the Definition of a Programming Language",
  journal =      "Akademiya Nauk SSSR. Zhurnal Vychislitel'no\u \i \ Matematiki i Matematichesko\u \i \ Fiziki",
  volume =       "20",
  number =       "5",
  pages =        "1284--1293",
  year =         "1980",
  keywords =     "eval applic.MC",
  note =         "(in Russian). Also published in: Symbolic Data Processing 5, Computing Center, Academy of Sciences of
                 the USSR, Moscow (1979).",
}

@Article{Biryukov81,
  author =       "A. N. Biryukov and V. M. Kurochkin and Vladimir A. Serebryakov",
  title =        "Structural Attributes and their Implementation in the Translator Writing System {SUPER}",
  journal =      "Akademiya Nauk SSSR. Programmirovanie",
  volume =       "2",
  pages =        "52--?",
  year =         "1981",
  keywords =     "syst.SUPER",
  note =         "(in Russian)",
}

@InCollection{Bjorner77,
  author =       "Dines Bj{\"o}rner",
  editor =       "E. Morlet and D. Ribbons",
  title =        "Programming Languages: Formal Development of Programming Languages and Compilers",
  booktitle =    "Int. Computing Symp.",
  pages =        "1--21",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        apr,
  year =         "1977",
  keywords =     "divers.divers",
  note =         "See also: report ID673, Department of Comp. Sc., Tech. University of Denmark, Lyngby (1977).",
}

@TechReport{Blaizot73,
  author =       "F. Blaizot and Pierre Boullier",
  title =        "Projet {DELTA}: description d'un langage algorithmique {\`a} structure de blocs",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "35",
  address =      "Rocquencourt",
  month =        oct,
  year =         "1973",
  keywords =     "syst.DELTA applic.MC",
}

@TechReport{Blaizot73a,
  author =       "L. Blaizot",
  title =        "{DELTA}: syst{\`e}me de description de langages et de traducteurs par attributs",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "20",
  address =      "Rocquencourt",
  month =        jun,
  year =         "1973",
  keywords =     "syst.DELTA",
}

@InCollection{Blaizot73b,
  author =       "L. Blaizot",
  editor =       "M. Kronental and Bernard Lorho",
  title =        "Introduction {\`a} la notion d'attributs s{\'e}mantiques",
  booktitle =    "S{\'e}minaires Structure et Programmation des Calculateurs 1973",
  pages =        "253--273",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  year =         "1973",
  keywords =     "survey",
}

@InCollection{Blattner79,
  author =       "M. Blattner and J. Ramanathan",
  title =        "Attributed Metaforms for Top-down Design and Analysis of Programs",
  booktitle =    "1979 Conf. on Information Sciences and Systems",
  pages =        "200--206",
  address =      "John Hopkins University, Baltimore, MD",
  month =        mar,
  year =         "1979",
  keywords =     "applic.prog",
}

@Article{Boccalatte80,
  author =       "A. Boccalatte and M. {Di Manzo}",
  title =        "An Approach to the Detection of Semantic Errors",
  journal =      "The Computer Journal",
  volume =       "23",
  number =       "4",
  pages =        "317--323",
  year =         "1980",
  keywords =     "applic.MC",
}

@Article{Boccalatte82,
  author =       "A. Boccalatte and M. {Di Manzo} and D. Sciarra",
  title =        "Error Recovery with Attribute Grammars",
  journal =      "The Computer Journal",
  volume =       "25",
  number =       "3",
  pages =        "331--336",
  month =        aug,
  year =         "1982",
  keywords =     "applic.divers",
}

@TechReport{Bochmann74,
  author =       "Gregor V. Bochmann",
  title =        "Attribute Grammars and Compilation: Program Evaluation in Several Phases",
  institution =  "D{\'e}pt. d'Informatique, University de Montr{\'e}al",
  type =         "document de travail",
  number =       "54",
  month =        aug,
  year =         "1974",
  keywords =     "eval",
}

@TechReport{Bochmann75,
  author =       "Gregor V. Bochmann",
  title =        "Semantic Attributes for Grammars with Regular Expressions",
  institution =  "D{\'e}pt. d'Informatique, University de Montr{\'e}al",
  type =         "publication",
  number =       "195",
  year =         "1975",
  keywords =     "class",
}

@TechReport{Bochmann75a,
  author =       "Gregor V. Bochmann",
  title =        "Semantic Equivalence of Covering Attribute Grammars",
  institution =  "D{\'e}pt. d'Informatique, University de Montr{\'e}al",
  type =         "publication",
  number =       "218",
  month =        dec,
  year =         "1975",
  keywords =     "sema",
}

@TechReport{Bochmann73,
  author =       "Gregor V. Bochmann",
  title =        "Semantic Equivalence of Syntactically Related Attribute Grammars",
  institution =  "D{\'e}pt. d'Informatique, University de Montr{\'e}al",
  type =         "publication",
  number =       "148",
  month =        nov,
  year =         "1973",
  keywords =     "sema",
}

@Article{Bochmann76,
  author =       "Gregor V. Bochmann",
  title =        "Semantic Evaluation from Left to Right",
  journal =      "Communications of the Association for Computing Machinery",
  volume =       "19",
  number =       "2",
  pages =        "55--62",
  month =        feb,
  year =         "1976",
  keywords =     "eval class",
}

@TechReport{Bochmann73a,
  author =       "Gregor V. Bochmann and Olivier Lecarme",
  title =        "Un syst{\`e}me d'{\'e}criture de compilateurs. Manuel d'utilisation",
  institution =  "D{\'e}pt. d'Informatique, University de Montr{\'e}al",
  type =         "document de travail",
  number =       "44",
  year =         "1973",
  keywords =     "syst.CWS",
}

@Article{Bochmann78,
  author =       "Gregor V. Bochmann and P. Ward",
  title =        "Compiler Writing System for Attribute Grammars",
  journal =      "The Computer Journal",
  volume =       "21",
  number =       "2",
  pages =        "144--148",
  month =        may,
  year =         "1978",
  keywords =     "syst.CWS",
  note =         "See also: publication 199, D{\'e}pt. d'Informatique, University de Montr{\'e}al (July 1975).",
}

@InCollection{Bodwin82,
  author =       "J. Bodwin and L. Bradley and K. Kanda and D. Litle and Uwe Pleban",
  title =        "Experience with an Experimental Compiler Generator based on Denotational Semantics",
  booktitle =    "ACM SIGPLAN '82 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "216--229",
  address =      "Boston, MA",
  month =        jun,
  year =         "1982",
  keywords =     "divers.denot",
  note =         "Published as ACM SIGPLAN Notices, volume 17, number 6",
}

@InCollection{Bohm87,
  author =       "Hans-J{\"u}rgen B{\"o}hm and Willy Zwanepoel",
  editor =       "Radin Popescu-Zeletin and G{\'e}rard {Le Lann} and Kane H. Kim",
  title =        "Parallel Attribute Grammar Evaluation",
  booktitle =    "7th Int. Conf. on Distributed Computing Systems",
  pages =        "347--354",
  address =      "Berlin",
  month =        sep,
  year =         "1987",
  keywords =     "eval",
  mynote =       "Evaluation de GAs sur un reseau de machines. La methode d'evaluation combine les sequences de visites
                 statiques et l'ordonnancement dynamique. (mj)",
}

@TechReport{Bonnet86,
  author =       "Jo{\"e}l Bonnet",
  title =        "{\'E}tude des principaux langages de description de grammaires attribu{\'e}es et sp{\'e}cification
                 d'un nouveau langage bas{\'e} sur des grammaires abstraites",
  institution =  "University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1986",
  keywords =     "none",
}

@TechReport{Bormann74,
  author =       "J. Bormann and J. L{\"o}tzsch",
  title =        "Definition und Realisierung von Fachsprachen mit {DEPOT}",
  institution =  "Sektion Mathematik, Tech. University Dresden",
  type =         "Dissertation",
  year =         "1974",
  keywords =     "syst.DEPOT",
}

@InCollection{Borowiec77,
  author =       "Jan Borowiec",
  editor =       "A. Ershov and Cornelius H. A. Koster",
  title =        "Pragmatics in a Compiler Production System",
  booktitle =    "Methods of Algorithmic Language Implementation",
  series =       "Lecture Notes in Computer Science",
  volume =       "47",
  pages =        "314--340",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1977",
  keywords =     "syst.COPS",
  note =         "Also published in Russian in: Procs. of the All-Union Symp. on Methods of Implementing New Algorithmic
                 Languages, Part 2, Novossibirsk, pp. 210-? (1975).",
}

@InCollection{Borowiec78,
  author =       "Jan Borowiec",
  editor =       "W. Henhapl",
  title =        "Metalanguages of the Compiler Production System {COPS}",
  booktitle =    "GI Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "122--159",
  publisher =    "Fachbereich Informatik, Tech. Hochschule Darmstadt",
  address =      "Berlin",
  year =         "1978",
  keywords =     "syst.COPS",
}

@InCollection{Bouchenez73,
  author =       "Jean-Louis Bouchenez",
  editor =       "M. Kronental and Bernard Lorho",
  title =        "Syst{\`e}me de description de langages et de traducteurs par attributs. Pr{\'e}sentation du
                 syst{\`e}me",
  booktitle =    "S{\'e}minaires Structure et Programmation des Calculateurs 1973",
  pages =        "317--328",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  year =         "1973",
  keywords =     "syst.DELTA",
}

@TechReport{Bouckaert73,
  author =       "M. Bouckaert and A. Pirotte and M. Snelling",
  title =        "{SOFT}: a Tool for Writing Sofware",
  institution =  "MBLE Research Lab.",
  type =         "report",
  number =       "R212",
  address =      "Brussels",
  month =        jan,
  year =         "1973",
  keywords =     "applic.prog",
}

@InCollection{Bouckaert73a,
  author =       "M. Bouckaert and A. Pirotte and M. Snelling",
  editor =       "M. Kronental and Bernard Lorho",
  title =        "Utilisation des Attributs dans un Syst{\`e}me d'{\'E}criture de Software",
  booktitle =    "S{\'e}minaires Structure et Programmation des Calculateurs 1973",
  pages =        "291--315",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  year =         "1973",
  keywords =     "applic.prog",
}

@InCollection{Boullier84,
  author =       "Pierre Boullier and Philippe Deschamp and Martin Jourdan",
  title =        "Application d'outils de haut niveau {\`a} la r{\'e}alisation d'un traducteur automatique Pascal-Ada",
  booktitle =    "2{\`e}me Coll. AFCET de G{\'e}nie Logiciel",
  pages =        "375--385",
  address =      "Nice",
  month =        jun,
  year =         "1984",
  keywords =     "exem.PASCAL",
}

@InCollection{Boullier83,
  author =       "Pierre Boullier and Philippe Deschamp and Martin Jourdan",
  editor =       "Jacques Andr{\'e} and A. Strohmeier",
  title =        "Sp{\'e}cification et r{\'e}alisation d'un traducteur Pascal-Ada",
  booktitle =    "Journ{\'e}es ADA de l'AFCET",
  pages =        "9--29",
  address =      "Lausanne",
  month =        dec,
  year =         "1983",
  keywords =     "exem.PASCAL",
}

@InCollection{Boullier81,
  author =       "Pierre Boullier and Knut Ripken",
  title =        "Building an {ADA} Compiler following Meta-Compilation Methods",
  booktitle =    "S{\'e}minaires Langages et Traducteurs 1978-1981",
  pages =        "99--140",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  year =         "1981",
  keywords =     "applic.MC",
}

@PhdThesis{Brosgol74,
  author =       "B. M. Brosgol",
  title =        "Deterministic Translation Grammars",
  school =       "Harvard University",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 3-74",
  address =      "Cambridge, MA",
  year =         "1974",
  keywords =     "eval",
}

@Article{Brown84,
  author =       "Cynthia A. Brown and Paul W. Purdom",
  title =        "A Methodology and Notation for Compiler Front-end Design",
  journal =      "Software---Practice and Experience",
  volume =       "14",
  number =       "4",
  pages =        "335--346",
  month =        apr,
  year =         "1984",
  keywords =     "applic.MC",
  mynote =       "Notation pour decrire les front-ends de compilo, inspiree des GAs. (mj)",
}

@TechReport{Brown81,
  author =       "Cynthia A. Brown and Paul W. Purdom",
  title =        "Specifying One-pass Bottom-up Compilers",
  institution =  "Comp. Sc. Department, University of Indiana",
  type =         "report",
  address =      "Bloomington",
  month =        jul,
  year =         "1981",
  keywords =     "applic.MC",
}

@TechReport{Bruno70,
  author =       "J. Bruno and W. A. Burkhard",
  title =        "A Circularity Test for Interpreted Grammmars",
  institution =  "Comp. Sc. Lab., Department of Elec. Eng., Princeton University",
  type =         "Technical Report",
  number =       "88",
  year =         "1970",
  keywords =     "circ",
}

@TechReport{Campbell81,
  author =       "Roy H. Campbell and P. G. Richards",
  title =        "{SAGA}: a System to Automate the Management of Software Production",
  institution =  "Department of Comp. Sc., University of Illinois at Urbana-Champaign",
  type =         "Technical Report",
  number =       "UIUCDCS-R-81-1048",
  month =        jan,
  year =         "1981",
  keywords =     "applic.prog",
  note =         "Extended Abstract: 1981 National Computer Conf., Chicago, IL, pp. 231-234 (May 1981).",
}

@InCollection{Carroll88,
  author =       "M. D. Carroll and Barbara G. Ryder",
  title =        "Incremental Data Flow Analysis via Dominator and Attribute Updates",
  booktitle =    "15th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "274--284",
  address =      "San Diego, CA",
  month =        jan,
  year =         "1988",
  keywords =     "applic.DFA",
}

@InCollection{Chabrier88,
  author =       "Bruno Chabrier and Vincent Lextrait and Paul Franchi-Zannettacci",
  title =        "{GIGAS}: a Graphical Interface Generator from Attribute Specifications",
  booktitle =    "Actes des Journ{\'e}es Int. ``Le G{\'e}nie Logiciel et ses Applications''",
  pages =        "1265--1283",
  publisher =    "EC2",
  address =      "Paris",
  month =        dec,
  year =         "1988",
  keywords =     "applic.edit",
  mynote =       "Description de GIGAS et de son implantation. (mj)",
  note =         "Toulouse",
}

@Article{Chapman89,
  author =       "Nigel P. Chapman",
  title =        "Regular Attribute Grammars and Finite State Machine",
  journal =      "ACM SIGPLAN Notices",
  volume =       "24",
  number =       "6",
  pages =        "97--105",
  month =        jun,
  year =         "1989",
  keywords =     "class eval",
  note =         "See also: report RN/88/9, Department of Comp. Sc., University College London (March 1988)",
}

@Article{Chebotar79,
  author =       "K. S. Chebotar",
  title =        "Order of Calculation of Semantic Attributes",
  journal =      "Progr. and Computer Software",
  volume =       "5",
  number =       "2",
  pages =        "113--117",
  month =        mar,
  year =         "1979",
  keywords =     "eval",
}

@Article{Chebotar81,
  author =       "K. S. Chebotar",
  title =        "Some Modifications of Knuth's Algorithm for Verifying Cyclicity of Attribute Grammars",
  journal =      "Progr. and Computer Software",
  volume =       "7",
  number =       "1",
  pages =        "58--61",
  month =        jan,
  year =         "1981",
  keywords =     "circ",
}

@PhdThesis{Chirica76,
  author =       "Laurian M. Chirica",
  title =        "Contributions to Compiler Correctness",
  school =       "Comp. Sc. Department, University of California",
  type =         "Ph.{D}. Thesis",
  number =       "report UCLA-ENG-7697",
  address =      "Los Angeles, CA",
  month =        oct,
  year =         "1976",
  keywords =     "valid",
}

@InCollection{Chirica76a,
  author =       "Laurian M. Chirica and David F. Martin",
  title =        "An Algebraic Formulation of Knuthian Semantics",
  booktitle =    "17th IEEE Conf. on Foundations of Comput. Sc.",
  pages =        "127--136",
  address =      "Houston, TX",
  month =        oct,
  year =         "1976",
  keywords =     "sema",
}

@Article{Chirica79,
  author =       "Laurian M. Chirica and David F. Martin",
  title =        "An Order-Algebraic Definition of {K}nuthian Semantics",
  journal =      "Mathematical Systems Theory",
  volume =       "13",
  number =       "1",
  pages =        "1--27",
  year =         "1979",
  keywords =     "sema",
  note =         "See also: report TRCS78-2, Dept. of Elec. Eng. and Computer Science, University of California, Santa
                 Barbara, CA (October 1978).",
}

@Article{Chirica86,
  author =       "Laurian M. Chirica and David F. Martin",
  title =        "Toward Compiler Implementation Correctness Proofs",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "8",
  number =       "2",
  pages =        "185--214",
  month =        apr,
  year =         "1986",
  keywords =     "divers.denot valid",
  mynote =       "Je ne sais pas trop si ce papier a sa place dans {"}valid{"} car il ne parle pas de preuves de GAs
                 mais de preuves de compilateurs en une passe par rapport a une semantique denotationelle obtenue a
                 partie d'une GA. (mj)",
}

@InCollection{Christiansen88,
  author =       "Henning Christiansen",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  title =        "Structure Sharing in Attribute Grammars",
  booktitle =    "Programming Languages Implementation and Logic Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "348",
  pages =        "180--200",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        may,
  year =         "1988",
  keywords =     "none",
  note =         "Orl{\'e}ans",
}

@InCollection{Christiansen83,
  author =       "Henning Christiansen and Neil D. Jones",
  editor =       "Dines Bj{\"o}rner",
  title =        "Control Flow Treatment in a Simple Semantics-Directed Compiler Generator",
  booktitle =    "Formal Description of Programming Concepts~II",
  pages =        "73--97",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1983",
  keywords =     "divers.denot",
}

@InCollection{Christ-Neumann87,
  author =       "M.-L. Christ-Neumann and H.-W. Schmidt",
  title =        "{ASDL}---an Object-oriented Specification Language for Syntax-Directed Environments",
  booktitle =    "European Software Eng. Conf. (ESEC '87)",
  pages =        "77--85",
  address =      "Strasbourg",
  month =        sep,
  year =         "1987",
  keywords =     "applic.edit vari.00",
  mynote =       "Syntaxe abstraite vue comme des objets (avec heritage) + translation schemes avec attributs en une
                 passe. (mj)",
}

@InCollection{Cohen79,
  author =       "R. Cohen and E. Harry",
  title =        "Automatic Generation of Near-Optimal Linear-Time Translators for Non-Circular Attribute Grammars",
  booktitle =    "6th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "121--134",
  address =      "San Antonio, TX",
  month =        jan,
  year =         "1979",
  keywords =     "eval",
}

@Article{Coleman81,
  author =       "Derek Coleman and Jane W. Hugues and Malcolm S. Powell",
  title =        "A Method for the Syntax-directed Design of Multiprograms",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-7",
  number =       "2",
  pages =        "189--196",
  year =         "1981",
  keywords =     "divers.divers",
}

@TechReport{Corbett85,
  author =       "R. P. Corbett",
  title =        "Static Semantics and Compiler Error Recovery",
  institution =  "Comp. Sc. Department, University of California",
  type =         "report",
  number =       "UCB-CSD-85-251",
  address =      "Berkeley",
  year =         "1985",
  keywords =     "applic.MC",
}

@InCollection{Courcelle84,
  author =       "Bruno Courcelle",
  editor =       "Bernard Lorho",
  title =        "Attribute Grammars: Definitions, Analysis of Dependencies, Proof Methods",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "81--102",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "sema survey valid vari.PRS",
}

@InCollection{Courcelle81,
  author =       "Bruno Courcelle",
  editor =       "J. Diaz and I. Ramos",
  title =        "Attribute Grammars: Theory and Applications",
  booktitle =    "Int. Coll. on Formalization of Programming Concepts",
  series =       "Lecture Notes in Computer Science",
  volume =       "107",
  pages =        "75--95",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        apr,
  year =         "1981",
  keywords =     "survey",
  note =         "See also: rapport 8103, University de Bordeaux~I (February 1981).",
}

@Article{Courcelle88,
  author =       "Bruno Courcelle and Pierre Deransart",
  title =        "Proofs of Partial Correctness for Attribute Grammars with Application to Recursive Procedures and
                 Logic Programming",
  journal =      "Information and Computation",
  volume =       "78",
  number =       "1",
  pages =        "1--55",
  month =        jul,
  year =         "1988",
  keywords =     "vari.FP vari.LP valid sema, PRS",
  mynote =       "remarquable travail bien connu. (pd)",
}

@Article{Courcelle82,
  author =       "Bruno Courcelle and Paul Franchi-Zannettacci",
  title =        "Attribute Grammars and Recursive Program Schemes",
  journal =      "Theoretical Computer Science",
  volume =       "17",
  number =       "2 and 3",
  pages =        "163--191 and 235--257",
  year =         "1982",
  keywords =     "sema eval, PRS",
  note =         "part I and II See also: rapport 8008, University de Bordeaux~I (April 1980).",
}

@TechReport{Courcelle80,
  author =       "Bruno Courcelle and Paul Franchi-Zannettacci",
  title =        "On the Equivalence Problem for Attribute Systems",
  institution =  "University de Bordeaux~I",
  type =         "rapport",
  number =       "8026",
  year =         "1980",
  keywords =     "sema, vari.PRS",
}

@InCollection{Courcelle80a,
  author =       "Bruno Courcelle and Paul Franchi-Zannettacci",
  title =        "On the Expressive Power of Attribute Grammars",
  booktitle =    "21st IEEE Conf. on Foudations of Comput. Sc.",
  pages =        "161--172",
  address =      "Syracuse, NY",
  month =        oct,
  year =         "1980",
  keywords =     "sema",
}

@TechReport{Culik69,
  author =       "Karel {Culik, II}",
  title =        "Attributed Grammars and Languages",
  institution =  "D{\'e}pt. d'Informatique, University de Montr{\'e}al",
  type =         "publication",
  number =       "3",
  month =        may,
  year =         "1969",
  keywords =     "sema",
}

@TechReport{Dehottay76,
  author =       "J. P. Dehottay and H. Feuerhahn and Cornelius H. A. Koster and H. M. Stahl",
  title =        "Syntaktische Beschreibung von {CDL2}",
  institution =  "Forschungsgruppe PC 2, FB 20, Tech. University Berlin",
  type =         "Bericht",
  month =        sep,
  year =         "1976",
  keywords =     "divers.affix",
}

@InCollection{Dembinski78,
  author =       "P. Dembinski and Jan Maluszynski",
  editor =       "J. Winkowski",
  title =        "Attribute Grammars and Two-level Grammars: a Unifying Approach",
  booktitle =    "Mathematical Foundations of Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "64",
  pages =        "143--154",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1978",
  keywords =     "vari.WG",
  note =         "Zakopane",
}

@InCollection{Demers81,
  author =       "Alan Demers and Thomas Reps and Tim Teitelbaum",
  title =        "Incremental Evaluation for Attribute Grammars with Application to Syntax-directed Editors",
  booktitle =    "8th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "105--116",
  address =      "Williamsburg, VA",
  month =        jan,
  year =         "1981",
  keywords =     "incr",
}

@InCollection{Demers85,
  author =       "Alan Demers and Anne Rogers and F. Kenneth Zadeck",
  title =        "Attribute Propagation by Message Passing",
  booktitle =    "ACM SIGPLAN '85 Symp. on Language Issues in Programming Environments",
  publisher =    "ACM press",
  pages =        "43--59",
  address =      "Seattle, Wa",
  month =        jun,
  year =         "1985",
  keywords =     "incr applic.edit",
  mynote =       "Le titre est explicite, mais ca me semble TRES complique pour pas grand chose. Meme les exemples sont
                 difficiles a comprendre! De plus les rapports avec les GAs sont loin d'etre clairs. (mj)",
  note =         "See also: report RC11109, IBM T.J. Watson Research Center, Yorktown Heights, NY (1985).Published as
                 ACM SIGPLAN Notices, volume 20, number 6",
}

@TechReport{Dencker86,
  author =       "Peter Dencker",
  title =        "Generative Attributierte Grammatiken",
  institution =  "GMD",
  type =         "thesis, Bericht",
  number =       "158",
  address =      "Sankt Augustin",
  year =         "1986",
  keywords =     "tag",
  mynote =       "gros travail sur composition des GA a la mode de Karlsruhe. (pd) Ne serait-ce pas plutot a la mode de
                 Dortmund? (mj) Apres lecture approfondie, il s'avere que c'est lui l'inventeur des ``higher-order
                 attribute grammars''. (mj)",
}

@TechReport{Deransart77,
  author =       "Pierre Deransart",
  title =        "{D}{\'e}finition de Lisp {\`a} l'aide d'un compilateur",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "224",
  address =      "Rocquencourt",
  month =        mar,
  year =         "1977",
  keywords =     "exem.LISP",
}

@TechReport{Deransart77a,
  author =       "Pierre Deransart",
  title =        "Description par attributs s{\'e}mantiques de Lisp pur et preuve de l'{\'e}quivalence de la
                 d{\'e}finition traductive et de l'{\'e}valuateur",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "220",
  address =      "Rocquencourt",
  month =        mar,
  year =         "1977",
  keywords =     "valid exem.LISP",
}

@InCollection{Deransart78,
  author =       "Pierre Deransart",
  title =        "Preuve et g{\'e}n{\'e}ration d'attributs s{\'e}mantiques",
  booktitle =    "Coll. AFCET ``Th{\'e}orie et Techniques de l'Informatique'', Vol. 1",
  pages =        "412--422",
  address =      "Gif-sur-Yvette",
  month =        nov,
  year =         "1978",
  keywords =     "valid",
  note =         "See also: rapport de recherche 302, IRIA-Laboria, Rocquencourt (May 1978).",
}

@TechReport{Deransart78a,
  author =       "Pierre Deransart",
  title =        "Proof and Synthesis of Semantic Attributes in Compiler Definition",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "333",
  address =      "Rocquencourt",
  month =        dec,
  year =         "1978",
  keywords =     "valid",
}

@Article{Deransart79,
  author =       "Pierre Deransart",
  title =        "Proof by Semantic Attributes of a Lisp Compiler",
  journal =      "The Computer Journal",
  volume =       "22",
  number =       "3",
  pages =        "240--245",
  month =        aug,
  year =         "1979",
  keywords =     "valid exem.LISP",
}

@InCollection{Deransart79a,
  author =       "Pierre Deransart",
  title =        "Synth{\`e}se automatique de traductions d{\'e}finies par attributs s{\'e}mantiques",
  booktitle =    "2{\`e}me Congr{\`e}s AFCET-INRIA ``Reconnaissance des Formes et Intelligence Artificielle'', Vol. 1",
  pages =        "111--120",
  address =      "Toulouse",
  month =        sep,
  year =         "1979",
  keywords =     "valid",
}

@TechReport{Deransart78b,
  author =       "Pierre Deransart",
  title =        "Technique de preuve par attributs appliqu{\'e}e {\`a} un compilateur Lisp",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "271",
  address =      "Rocquencourt",
  month =        jan,
  year =         "1978",
  keywords =     "valid exem.LISP",
}

@TechReport{Deransart84,
  author =       "Pierre Deransart",
  title =        "Validation des grammaires d'attributs",
  institution =  "University de Bordeaux~I",
  type =         "th{\`e}se d'{\'E}tat",
  month =        oct,
  year =         "1984",
  keywords =     "valid",
}

@InCollection{Deransart77b,
  author =       "Pierre Deransart",
  editor =       "Jacques Andr{\'e} and Jean-Pierre Ban\^atre",
  title =        "Definition and Implementation of a Lisp System using Semantic Attributes",
  booktitle =    "5th Annual III Conf.",
  pages =        "25--39",
  address =      "Guidel",
  month =        may,
  year =         "1977",
  keywords =     "exem.LISP",
}

@InCollection{Deransart83,
  author =       "Pierre Deransart",
  editor =       "R. E. A. Mason",
  title =        "Logical Attribute Grammars",
  booktitle =    "Information Processing '83",
  pages =        "463--469",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        sep,
  year =         "1983",
  keywords =     "valid",
  note =         "Paris",
}

@Book{Deransart88,
  author =       "Pierre Deransart and Martin Jourdan and Bernard Lorho",
  title =        "Attribute Grammars: Definitions, Systems and Bibliography",
  series =       LNCS,
  volume =       "323",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        aug,
  year =         "1988",
  keywords =     "survey",
  mynote =       "L'oeuvre du siecle.",
}

@Article{Deransart84a,
  author =       "Pierre Deransart and Martin Jourdan and Bernard Lorho",
  title =        "Speeding up Circularity Tests for Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "21",
  pages =        "375--391",
  month =        dec,
  year =         "1984",
  keywords =     "circ",
  note =         "See also: rapport RR 211, INRIA, Rocquencourt (May 1983).",
}

@TechReport{Deransart84b,
  author =       "Pierre Deransart and Jan Maluszynski",
  title =        "Modelling Data Dependencies in Logic Programs by Attribute Schemata",
  institution =  "INRIA",
  type =         "rapport RR",
  number =       "323",
  address =      "Rocquencourt",
  month =        jul,
  year =         "1984",
  keywords =     "vari.LP applic.prog",
  note =         "Also published as a report, Link{\"o}ping Institute of Technology (October 1984).",
}

@Article{Deransart85,
  author =       "Pierre Deransart and Jan Maluszynski",
  title =        "Relating Logic Programs and Attribute Grammars",
  journal =      "Journal of Logic Programming",
  volume =       "2",
  number =       "2",
  pages =        "119--155",
  year =         "1985",
  keywords =     "vari.LP, logic program",
  note =         "Also published as a report, Link{\"o}ping Institute of Technology (October 1984), and as rapport RR
                 393, INRIA, Rocquencourt (1985).",
}

@TechReport{Deransart85a,
  author =       "Pierre Deransart and Jan Maluszynski",
  title =        "Relating logic programs and attribute grammars",
  institution =  "Institut National de Recherche en Informatique et en Automatique (INRIA)",
  type =         "Rapport de recherche",
  number =       "393",
  year =         "1985",
  keywords =     "vari.LP applic.DFA Attribute dependency scheme Data flow analysis Logic programming AI10",
}

@InCollection{Deransart88a,
  author =       "Pierre Deransart and Jan Maluszynski",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  title =        "A Grammatical View of Logic Programming",
  booktitle =    "Programming Languages Implementation and Logic Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "348",
  pages =        "219--251",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        may,
  year =         "1988",
  keywords =     "vari.LP, logic program",
  note =         "Orl{\'e}ans",
}

@InCollection{Deschamp82,
  author =       "Philippe Deschamp",
  editor =       "M. Dezani-Ciancaglini and U. Montanari",
  title =        "Perluette: a Compilers Producing System using Abstract Data Types",
  booktitle =    "5th Int. Symp. on Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "137",
  pages =        "63--77",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        apr,
  year =         "1982",
  keywords =     "syst.PERLU",
  note =         "Torino",
}

@Article{Dill89,
  author =       "Jens M. Dill",
  title =        "A Counter-example for ``{A} Simpler Construction for Showing the Intrinsically Exponential Complexity
                 of the Circularity Problem for Attribute Grammars''",
  journal =      "J. ACM",
  volume =       "36",
  number =       "1",
  pages =        "92--96",
  month =        jan,
  year =         "1989",
  keywords =     "circ",
  mynote =       "Titre explicite. La construction de Jazayeri s'ecroule, mais celle de [JOR 75] reste valide et, en
                 outre, plus parlante. (mj)",
}

@PhdThesis{Dobeling78,
  author =       "K. D{\"o}beling",
  title =        "Festlegung Zweier Sprachklassen mit Hilfe Attributierter Grammatiken",
  school =       "Tech. University Hannover",
  type =         "Diploma Thesis",
  year =         "1978",
  keywords =     "sema",
}

@MastersThesis{Dreisbach72,
  author =       "T. A. Dreisbach",
  title =        "A Declarative Semantic Definition of {PL360}",
  school =       "Comp. Sc. Department, University of California",
  type =         "Master's Thesis",
  number =       "report UCLA-ENG-7289",
  address =      "Los Angeles, CA",
  month =        oct,
  year =         "1972",
  keywords =     "exem.PL1",
}

@InCollection{Drossopoulos82,
  author =       "S. Drossopoulos and J. Uhl and G. Persch and G. Goos and M. Dausmann and G. Winterstein",
  title =        "An Attribute Grammar for {ADA}",
  booktitle =    "ACM SIGPLAN '82 Conf. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "334--349",
  address =      "Boston, MA",
  month =        jun,
  year =         "1982",
  keywords =     "exem.ADA",
  note =         "Published as ACM SIGPLAN Notices, volume 17, number 6",
}

@Article{Dueck90,
  author =       "Gerald D. P. Dueck and Gordon V. Cormack",
  title =        "Modular Attribute Grammars",
  journal =      "The Computer Journal",
  volume =       "33",
  pages =        "164--172",
  year =         "1990",
  keywords =     "none",
  mynote =       "Meme motivation que [Tie87], avec en plus le fait qu'un ensemble de modeles peut etre groupe dans un
                 {"}module{"}. Pas mal d'exemples. Assez complet mais assez difficile a lire. Je pense que la
                 combinaison d'Olga et du travail de Carole est meilleure. (mj)",
  abstract =     "Attribute grammars provide a formal declarative notation for describing the semantics and translation
                 of programming languages. Describing any real programming language is a significant software
                 engineering challenge. From a software engineering viewpoint, current notations for attribute grammars
                 have two flaws: tedious repetition of essentially the same attribute computations is inevitable, and
                 the various components of the description cannt be decomposed into modules -- they must be merged (and
                 hence closely coupled) with the syntax specification. This paper describes a tool that generated
                 attribute grammars from pattern oriented specifications. These specifications can be grouped according
                 to the separation of concerns arising from individual aspects of the compilation process.
                 Implementation and use of the attribute grammar generator MAGGIE is described.",
  note =         "See also: research report CS-88-19, University of Waterloo (May 1988)",
}

@InCollection{Duncan81,
  author =       "A. G. Duncan and J. S. Hutchison",
  title =        "Using Attribute Grammars to test Designs and Implementations",
  booktitle =    "5th Int. Conf. on Software Engineering",
  pages =        "170--178",
  address =      "San Diego, CA",
  month =        mar,
  year =         "1981",
  keywords =     "applic.prog",
}

@TechReport{Durin89,
  author =       "Olivier Durin",
  title =        "{G}{\'e}n{\'e}ration en Le{\_}Lisp d'{\'e}valuateurs d'attributs sp{\'e}cifi{\'e}s en Olga",
  institution =  "{\'E}cole Normale Sup{\'e}rieure",
  type =         "rapport de Magist{\`e}re",
  address =      "Paris",
  month =        sep,
  year =         "1989",
  keywords =     "syst.FNC2 vari.FP",
  mynote =       "Traduction d'Olga en Lisp, avec une section sur le pattern-matching. (mj)",
}

@TechReport{Durin88,
  author =       "Olivier Durin",
  title =        "Traduction en {OLGA} d'une grammaire attribu{\'e}e {\'e}crite en Lisp",
  institution =  "{\'E}cole Polytechnique",
  type =         "rapport de stage d'option",
  address =      "Palaiseau",
  month =        jul,
  year =         "1988",
  keywords =     "syst.FNC2 vari.FP",
}

@Article{Duske77,
  author =       "J. Duske and R. Parchmann and M. Sedello and J. Specht",
  title =        "{IO}-Macrolanguages and Attributed Translations",
  journal =      "Information and Control",
  volume =       "35",
  number =       "2",
  pages =        "87--105",
  month =        oct,
  year =         "1977",
  keywords =     "vari.AT",
}

@TechReport{Edelstein86,
  author =       "O. Edelstein and S. Sagiv",
  title =        "Machine Independent Optimizations via Attribute Grammars",
  institution =  "IBM Israel Scientific Center",
  type =         "Technical Report",
  number =       "TR88.187",
  address =      "Haifa",
  year =         "1986",
  keywords =     "applic.DFA",
}

@TechReport{Eloranta87,
  author =       "J. Eloranta and K. Tarpila",
  title =        "The Implementation of an Estelle-Pascal Preprocessor",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1987-22",
  year =         "1987",
  keywords =     "exem.ESTELLE",
}

@TechReport{Engelfriet82,
  author =       "Joost Engelfriet",
  title =        "Automata for Attribute Grammars",
  type =         "private communication",
  month =        nov,
  year =         "1982",
  keywords =     "vari.AT",
}

@Article{Engelfriet86,
  author =       "Joost Engelfriet",
  title =        "The Complexity of Languages Generated by Attribute Grammars",
  journal =      "SIAM Journal on Computing",
  volume =       "15",
  number =       "1",
  pages =        "70--86",
  month =        feb,
  year =         "1986",
  keywords =     "sema",
  note =         "See also: memorandum INF-82-13, Onderafdeling der Informatica, Tech. Hogeschool Twente (November
                 1982).",
}

@TechReport{Engelfriet86a,
  author =       "Joost Engelfriet",
  title =        "Context-Free Grammars with Storage",
  institution =  "Vakgroep Informatica, Rijksuniversiteit Leiden",
  type =         "report",
  number =       "86-11",
  month =        jul,
  year =         "1986",
  keywords =     "vari.AT vari.TT",
  mynote =       "GA avec 1 attribut herite. Il semble qu'on puisse faire beaucoup de choses avec !! (pd)",
}

@InCollection{Engelfriet82a,
  author =       "Joost Engelfriet",
  title =        "Tree Transducers and Syntax-directed Semantics",
  booktitle =    "7th Coll. on Trees in Algebra and Programming (CAAP '82)",
  pages =        "82--107",
  address =      "Lille",
  month =        mar,
  year =         "1982",
  keywords =     "vari.AT vari.TT",
  note =         "See also: memorandum 363, Onderafdeling der Informatica, Tech. Hogeschool Twente (1981).",
}

@InCollection{Engelfriet84,
  author =       "Joost Engelfriet",
  editor =       "Bernard Lorho",
  title =        "Attribute Grammars: Attribute Evaluation Methods",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "103--138",
  publisher =    "Cambridge University Press",
  address =      "New York",
  year =         "1984",
  keywords =     "eval survey",
}

@Article{Engelfriet81,
  author =       "Joost Engelfriet and Gilberto Fil{\'e}",
  title =        "The Formal Power of One-Visit Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "16",
  number =       "3",
  pages =        "275--302",
  year =         "1981",
  keywords =     "sema",
}

@Article{Engelfriet81a,
  author =       "Joost Engelfriet and Gilberto Fil{\'e}",
  title =        "Passes and Paths of Attribute Grammars",
  journal =      "Information and Control",
  volume =       "49",
  number =       "2",
  pages =        "125--169",
  month =        may,
  year =         "1981",
  keywords =     "class",
  note =         "See also: memorandum 323, Onderafdeling der Informatica, Tech. Hogeschool Twente (1980).",
}

@Article{Engelfriet82b,
  author =       "Joost Engelfriet and Gilberto Fil{\'e}",
  title =        "Simple Multi-Visit Attribute Grammars",
  journal =      "Journal of Computer and System Sciences",
  volume =       "24",
  number =       "3",
  pages =        "283--314",
  month =        jun,
  year =         "1982",
  keywords =     "class",
  note =         "See also: memorandum 314, Onderafdeling der Informatica, Tech. Hogeschool Twente (August 1980).",
}

@InCollection{Engelfriet80,
  author =       "Joost Engelfriet and Gilberto Fil{\'e}",
  editor =       "J. de Bakker and J. van Leeuwen",
  title =        "Formal Properties of One-Visit and Multi-Pass Attribute Grammars",
  booktitle =    "7th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "85",
  pages =        "182--194",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1980",
  keywords =     "sema",
  note =         "Noordwijkerhout",
}

@InCollection{Engelfriet81b,
  author =       "Joost Engelfriet and Gilberto Fil{\'e}",
  editor =       "S. Even and O. Kariv",
  title =        "Passes, Sweeps and Visits",
  booktitle =    "8th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "115",
  pages =        "193--207",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1981",
  keywords =     "class",
  note =         "Revised version: memorandum INF-82-6, Onderafdeling der Informatica, Tech. Hogeschool Twente (August
                 1982).",
}

@Article{Engelfriet90,
  author =       "Joost Engelfriet and Willem de Jong",
  title =        "Attribute Storage Optimization by Stacks",
  journal =      "Acta Informatica",
  volume =       "27",
  pages =        "567--581",
  year =         "1990",
  keywords =     "alloc",
  mynote =       "Etend le stockage en piles/variables de Kastens aux attributs non temporaires. Mais nous faisons sinon
                 mieux, du moins plus simple! (mj)",
  note =         "Preliminary version: rapport 88-30, Vakgroep Informatica, Rijksuniv. te Leiden (December 1988).",
}

@TechReport{Engelfriet87,
  author =       "Joost Engelfriet and G. Leith and Grzegorz Rozenberg",
  title =        "Apex Graph Grammars and Attribute Grammars",
  institution =  "Vakgroep Informatica, Rijksuniversiteit Leiden",
  type =         "report",
  number =       "87-04",
  month =        mar,
  year =         "1987",
  keywords =     "vari.GG",
}

@Article{Engelfriet88,
  author =       "Joost Engelfriet and George Leih and Grzegorz Rozenberg",
  title =        "Apex Graph-Grammars and Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "25",
  pages =        "537--571",
  year =         "1988",
}

@TechReport{Eulenstein85,
  author =       "Michael Eulenstein",
  title =        "{POCO}---Compiler Generator User Manual",
  institution =  "University des Saarlandes",
  type =         "tech. Bericht",
  number =       "A2/85",
  address =      "Saarbr{\"u}cken",
  year =         "1985",
  keywords =     "syst.POCO",
}

@Book{Eulenstein88,
  author =       "Michael Eulenstein",
  title =        "{POCO}---Ein portables System zur Generierung portabler Compiler",
  series =       "Inf. Fachb.",
  volume =       "164",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1988",
  keywords =     "syst.POCO",
  mynote =       "scanner: REs (LR-like construction). parser: LL(1) or LALR(1). Attr.eval: in parallel with parsing.
                 AG-class: 1L-AGs. AG-language: based on Pascal. CG: nothing special. Impl: Pascal modulaire, P-code. La
                 transformation de la grammaire pour l'analyse bottom-up est faite automatiquement, mais rien ne dit que
                 le resultat soit LALR(1). MUG-1 en plus portable. (mj)",
  note =         "Reprint of Diplomarbeit, University des Saarlandes, Saarbr{\"u}cken (December 1983).",
}

@PhdThesis{Fang72,
  author =       "Isu Fang",
  title =        "{FOLDS}, a Declarative Formal Language Definition System",
  school =       "Comp. Sc. Department, Stanford University",
  type =         "Ph.{D}. Thesis",
  number =       "report STAN-CS-72-329",
  month =        dec,
  year =         "1972",
  keywords =     "syst.FOLDS",
  note =         "Abstract in: t S{\'e}minaires Structure et Programmation des Calculateurs 1973, ed. M. Kronental and
                 Bernard Lorho, INRIA, Rocquencourt, pp. 275-290 (1973).",
}

@PhdThesis{Farrow77,
  author =       "Rodney Farrow",
  title =        "Attributed Grammar Models for Data Flow Analysis",
  school =       "Rice University",
  type =         "Ph.{D}. Thesis",
  address =      "Houston, TX",
  month =        may,
  year =         "1977",
  keywords =     "applic.DFA",
}

@InCollection{Farrow83,
  author =       "Rodney Farrow",
  title =        "Attribute Grammars and Data-Flow Languages",
  booktitle =    "ACM SIGPLAN '83 Symp. on Programming Languages Issues in Software Systems",
  publisher =    "ACM press",
  pages =        "28--40",
  address =      "San Francisco, CA",
  month =        jun,
  year =         "1983",
  keywords =     "vari.LAU",
  note =         "Published as ACM SIGPLAN Notices, volume 18, number 6",
}

@TechReport{Farrow85,
  author =       "Rodney Farrow",
  title =        "Attribute Grammars and Single-Assignment Languages",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  number =       "CUCS-158-85",
  address =      "New York, NY",
  month =        mar,
  year =         "1985",
  keywords =     "vari.LAU",
}

@InCollection{Farrow86,
  author =       "Rodney Farrow",
  title =        "Automatic Generation of Fixed-point-finding Evaluators for Circular, but Well-defined, Attribute
                 Grammars",
  booktitle =    "ACM SIGPLAN '86 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "85--98",
  address =      "Palo Alto, CA",
  month =        jun,
  year =         "1986",
  keywords =     "eval",
  mynote =       "Propose une methode pour evaluer des GAs comportant certains attributs definis circulairement mais
                 tels que leurs valeurs puissent etre calculees par iteration (point fixe). Construit statiquement un
                 evaluateur ``deterministe'', sauf au niveau des points fixes. (mj)",
  note =         "Published as ACM SIGPLAN Notices, volume 21, number 7",
}

@TechReport{Farrow83a,
  author =       "Rodney Farrow",
  title =        "Covers of Attribute Grammars and Sub-Protocol Attribute Evaluators",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  address =      "New York, NY",
  month =        sep,
  year =         "1983",
  keywords =     "eval",
}

@InCollection{Farrow82,
  author =       "Rodney Farrow",
  title =        "Experience with an Attribute Grammar based Compiler",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "95--107",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "syst.LINGUIST",
}

@TechReport{Farrow84,
  author =       "Rodney Farrow",
  title =        "Experience with a Production Compiler Automatically Generated from an Attribute Grammar",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  address =      "New York, NY",
  month =        mar,
  year =         "1984",
  keywords =     "applic.MC",
}

@Article{Farrow84a,
  author =       "Rodney Farrow",
  title =        "Generating a Production Compiler from an Attribute Grammar",
  journal =      "IEEE Software",
  volume =       "1",
  number =       "4",
  pages =        "77--93",
  month =        oct,
  year =         "1984",
  keywords =     "syst.LINGUIST",
  mynote =       "Presentation, a l'usage du grand public, des GAs, de LINGUIST-86 et d'un compilo Pascal pour 8086
                 fabrique automatiquement. (mj)",
}

@InCollection{Farrow82a,
  author =       "Rodney Farrow",
  title =        "{LINGUIST}-86 Yet Another Translator Writing System based on Attribute Grammars",
  booktitle =    "ACM SIGPLAN '82 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "160--171",
  address =      "Boston, MA",
  month =        jun,
  year =         "1982",
  keywords =     "syst.LINGUIST",
  note =         "Published as ACM SIGPLAN Notices, volume 17, number 6",
  abstract =     "LINGUIST-86 is a commercially-developed translator-writing-system based on attribute
                 grammars~\cite{Knuth:mst:1968,Knuth:mst:1971}. From an input attribute grammar it generates a set of
                 high-level language source modules that form an alternating pass attribute grammar
                 evaluator~\cite{Jazayeri:Walter:1975}. LINGUIST-86 generates attribute evaluators efficient enough to
                 run on a microcomputer at speeds competitive with other translators on the system. The Attributed
                 Program Tree is kept on secondary storage rather than in randomly-accessed memory, thus allowing
                 non-trivial inputs to be evaluated on a microcomputer system. LINGUIST-86 also applies an optimization
                 called static subsumption that eliminates many copy-rules from the generated evaluators. LINGUIST-86 is
                 itself written as an 1800 line attribute grammar and is self generating.",
}

@Book{Farrow89,
  author =       "Rodney Farrow",
  title =        "The Linguist Translator-writing System---User's Manual",
  publisher =    "Declarative Systems Inc.",
  address =      "Palo Alto, CA",
  month =        jun,
  year =         "1989",
  keywords =     "syst.LINGUIST",
  note =         "version 6.25",
}

@InCollection{Farrow84b,
  author =       "Rodney Farrow",
  title =        "Sub-Protocol-Evaluators for Attribute Grammars",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "70--80",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "eval",
  note =         "Published as ACM SIGPLAN Notices, volume 19, number 6",
  abstract =     "This paper presents a new strategy for evaluating attribute grammars, {\em sub-protocol attribute
                 evaluation}, and gives an algorithm for constructing sub-protocol-evaluators. Sub-protocol-evaluators
                 can be built for any non-circular attribute grammar; this paper describes how to construct them for
                 absolutely non-circular grammars~\cite{Kennedy:Warren:acm:popl:1976}. Sub-protocol-evaluators are most
                 easily understood as a simple optimisation of another evaluator we call the {\em protocol-evaluator}.
                 The protocol-evaluator has elements in common with the {\em tree-walk evaluator} of
                 Kennedy-Warren~\cite{Kennedy:Warren:acm:popl:1976} and with Nielson's {\em direct
                 evaluator}~\cite{Nielson:1981}; it can be viewed as a refinement of each of these. Furthermore, the
                 {\em uniform} AGs, proposed by Warren~\cite{Warren:phd:1976}, and the {\em ordered} AGs, proposed by
                 Kastens~\cite{Kastens:acta:1980}, are both subclasses of grammars for which especially efficient
                 protocol-evaluators can be built.",
}

@InCollection{Farrow89a,
  author =       "Rodney Farrow and Alec G. Stanculescu",
  title =        "A {VHDL} Compiler based on Attribute Grammar Methodology",
  booktitle =    "ACM SIGPLAN '89 Conf. on Progr. Languages Design and Implementation",
  publisher =    "ACM press",
  pages =        "120--130",
  address =      "Portland, OR",
  month =        jul,
  year =         "1989",
  keywords =     "applic.MC syst.LINGUIST",
  note =         "Published as ACM SIGPLAN Notices, volume 24, number 7",
}

@Article{Farrow86a,
  author =       "Rodney Farrow and Daniel M. Yellin",
  title =        "A Comparison of Storage Optimizations in Automatically-Generated Attribute Evaluators",
  journal =      "Acta Informatica",
  volume =       "23",
  number =       "4",
  pages =        "393--427",
  year =         "1986",
  keywords =     "alloc",
  mynote =       "Tres bonne comparaison des optimisations en place effectuees par GAG et LINGUIST-86. Les auteurs en
                 deduisent quelques idees pour les ameliorer tous les deux. Valable pour FNC-2. A lire. (mj)",
  note =         "See also: Technical Report, Department of Comp. Sc., Columbia University, New York, NY (January
                 1985).",
}

@TechReport{Farrow87,
  author =       "Rodney Farrow and Daniel M. Yellin",
  title =        "Generalized Inversion of Translation Specifications",
  institution =  "IBM T.J. Watson Research Center",
  type =         "report RC",
  number =       "12925",
  address =      "Yorktown Heights, NY",
  month =        jul,
  year =         "1987",
  keywords =     "tag",
}

@InCollection{Feng87,
  author =       "An Feng and Yuji Sugiyama and Mamoru Fujii and Koji Torii",
  title =        "Generating Practical Prolog Programs from Attribute Grammars",
  booktitle =    "IEEE COMPSAC '87",
  pages =        "605--612",
  address =      "Tokyo",
  month =        oct,
  year =         "1987",
  keywords =     "eval",
  mynote =       "Compilation de L-AGs en Prolog avec variables globales (common attributes) et optimisations. Pas
                 terrible. (mj)",
}

@TechReport{Feng87a,
  author =       "An Feng and Yuji Sugiyama and Mamoru Fujii and Koji Torii",
  title =        "Optimizations in a Processor of Attribute Grammars",
  institution =  "IPS Japan",
  type =         "Papers of Tech. Group",
  number =       "SF20-5",
  year =         "1987",
  keywords =     "eval",
  mynote =       "pas lu, mais d'apres l'autre papier des memes ca semblerait parler de la detection d'occurrences
                 d'attributs qui sont toujours egales, et qu'on pourrait donc ecrire de facon plus efficace. (mj)",
  note =         "(in Japanese)",
}

@Article{File83,
  author =       "Gilberto Fil{\'e}",
  title =        "Interpretation and Reduction of Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "19",
  pages =        "115--150",
  year =         "1983",
  keywords =     "tag",
  note =         "See also: memorandum 359, Onderafdeling der Informatica, Tech. Hogeschool Twente (1981).",
}

@Article{File86,
  author =       "Gilberto Fil{\'e}",
  title =        "Machines for Attribute Grammars",
  journal =      "Information and Control",
  volume =       "69",
  number =       "1-3",
  pages =        "41--124",
  year =         "1986",
  keywords =     "vari.AT",
  mynote =       "Bien compliques, ces automates d'arbres a pile et a registres permanents ou temporaires. Exercice
                 interessant sur le plan formel, mais je ne crois pas que ca apporte grand chose a la pratique, sauf
                 peut-etre un eclairage interessant sur le concept d'interpretation de CF-grammaires et ses
                 applications. (mj)",
  note =         "See also: memorandum INF-83-2, Onderafdeling der Informatica, Tech. Hogeschool Twente (January
                 1983).",
}

@TechReport{File83a,
  author =       "Gilberto Fil{\'e}",
  title =        "Theory of Attribute Grammars",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "dissertation",
  year =         "1983",
  keywords =     "sema",
}

@InCollection{File86a,
  author =       "Gilberto Fil{\'e}",
  editor =       "Paul Franchi-Zannettacci",
  title =        "Classical and Incremental Attribute Evaluation by Means of Recursive Procedures",
  booktitle =    "11th Coll. on Trees in Algebra and Programming (CAAP '86)",
  series =       "Lecture Notes in Computer Science",
  volume =       "214",
  pages =        "112--126",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        mar,
  year =         "1986",
  keywords =     "eval incr",
  note =         "Nice",
}

@Article{File87,
  author =       "Gilberto Fil{\'e}",
  title =        "Classical and Incremental Attribute Evaluation by Means of Recursive Procedures",
  journal =      "Theoretical Computer Science",
  volume =       "53",
  number =       "1",
  pages =        "25--65",
  month =        jan,
  year =         "1987",
  keywords =     "eval incr",
  mynote =       "Version tre`s e'tendue du papier avec le me^me titre a CAAP '86.",
}

@TechReport{Franchi-Zannet82,
  author =       "Paul Franchi-Zannettacci",
  title =        "Attributs s{\'e}mantiques et sch{\'e}mas de programmes",
  institution =  "University de Bordeaux~I",
  type =         "th{\`e}se d'{\'E}tat",
  month =        mar,
  year =         "1982",
  keywords =     "sema",
}

@InCollection{Franchi-Zannet89,
  author =       "Paul Franchi-Zannettacci",
  editor =       "G. X. Ritter",
  title =        "Attribute Specifications for Graphical Interface Generation",
  booktitle =    "Information Processing '89",
  pages =        "149--155",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        aug,
  year =         "1989",
  keywords =     "applic.edit",
  mynote =       "Description de GIGAS et de son implantation, meilleure qu'a` Toulouse. (mj)",
  note =         "San Francisco, CA",
}

@Article{Franchi-Zannet89a,
  author =       "Paul Franchi-Zannettacci and Dennis S. Arnon",
  title =        "Context-sensitive Semantics as a Basis for Processing Structured Documents",
  journal =      "BIGRE",
  volume =       "63--64",
  pages =        "135--146",
  month =        may,
  year =         "1989",
  keywords =     "applic.edit applic.divers",
  mynote =       "Comment utiliser GIGAS pour traiter des documents selon la norme ODA. (mj)",
}

@PhdThesis{Franzen83,
  author =       "H. Franzen",
  title =        "Compiler Generation from Compiler Descriptions to Efficient Compilers",
  school =       "Fachbereich Informatik, Tech. University Berlin",
  type =         "Diploma Thesis",
  number =       "83-20",
  year =         "1983",
  keywords =     "applic.MC",
}

@InProceedings{Franzen79,
  author =       "H. Franzen and Berthold Hoffmann",
  editor =       "J. H. B{\"o}hling and P. P. Spies",
  title =        "Automatic Determination of Data Flow in Extended Affix Grammars",
  booktitle =    "Fachbereich ``Compiler-Compiler'', GI 9. Jahrestagung",
  series =       "Inf. Fachb.",
  volume =       "19",
  pages =        "176--193",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1979",
  keywords =     "divers.affix",
  note =         "Bonn",
}

@InCollection{Franzen77,
  author =       "H. Franzen and Berthold Hoffmann and B. Pohl and I.-R. Schmiedecke",
  editor =       "Jacques Andr{\'e} and Jean-Pierre Ban{\^a}tre",
  title =        "The {EAGLE} Parser Generator: an Experimental Step towards a Practical Compiler-Compiler using
                 Two-level Grammars",
  booktitle =    "5th Annual III Conf.",
  pages =        "397--420",
  address =      "Guidel",
  month =        may,
  year =         "1977",
  keywords =     "divers.affix",
}

@InCollection{Franzen78,
  author =       "H. Franzen and Berthold Hoffmann and I.-R. Schmiedecke",
  editor =       "W. Henhalp",
  title =        "Using Two-level Language Descriptions for Compiler Generation",
  booktitle =    "GI Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "72--95",
  publisher =    "Fachbereich Informatik and Tech. Hochschule Darmstadt",
  address =      "Berlin",
  year =         "1978",
  keywords =     "divers.affix",
}

@InCollection{Frecon88,
  author =       "Louis Fr{\'e}con",
  title =        "Programmation Grammaticale",
  booktitle =    "Actes du S{\'e}minaire Franco-Sovi{\'e}tique Informatika 88",
  pages =        "181--198",
  publisher =    "INRIA",
  address =      "Nice",
  month =        feb,
  year =         "1988",
  keywords =     "divers.affix",
}

@Article{Frost89,
  author =       "Richard A. Frost",
  title =        "Application Programming as the Construction of Language Interpreters",
  journal =      "ACM SIGPLAN Notices",
  volume =       "24",
  number =       "9",
  pages =        "142--151",
  month =        sep,
  year =         "1989",
  keywords =     "applic.prog",
  mynote =       "De'crit comment utiliser les GAs et Miranda pour de'velopper des programmes d'application dont le
                 langage d'entre'e est relativement structure'. C'est connu depuis tre`s longtemps, mais l'auteur
                 utilise tellement de mots ronflants que j'ai eu du mal a` de'gager le peu de substance qu'il y a dans
                 le papier. Tre`s bizarre. (mj)",
}

@TechReport{Frost89a,
  author =       "Richard A. Frost",
  title =        "The Use of Attribute Grammars in Application Programming",
  institution =  "School of Comp. Sci., University of Windsor",
  type =         "Technical Report",
  number =       "89-001",
  year =         "1989",
  keywords =     "applic.prog",
  mynote =       "Sans doute une version longue de son papier dans ACM SIGPLAN Notices. (mj)",
}

@Article{Fulop81,
  author =       "Z. F{\"u}l{\"o}p",
  title =        "On Attributed Tree Transducers",
  journal =      "Acta Cybernetica",
  volume =       "5",
  pages =        "261--279",
  year =         "1981",
  keywords =     "sema vari.AT vari.TT",
}

@TechReport{Gallier83,
  author =       "Jean H. Gallier",
  title =        "An Efficient Evaluator for Attribute Grammars with Conditional Rules",
  institution =  "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Technical Report",
  address =      "Philadelphia, PA",
  month =        oct,
  year =         "1983",
  keywords =     "eval",
}

@TechReport{Gallier85,
  author =       "Jean H. Gallier and Frank J. Manion and John McEnerney",
  title =        "{CISV3}: a Compiler Generator based on Attribute Evaluation",
  institution =  "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Technical Report",
  address =      "Philadelphia, PA",
  month =        oct,
  year =         "1985",
  keywords =     "syst.CIS",
  mynote =       "(pd)",
}

@PhdThesis{Ganapathi80,
  author =       "Mahadevan Ganapathi",
  title =        "Retargetable Code Generation and Optimization using Attribute Grammars",
  school =       "Comp. Sc. Department, University of Wisconsin-Madison",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 406",
  month =        dec,
  year =         "1980",
  keywords =     "applic.GC",
}

@Article{Ganapathi85,
  author =       "Mahadevan Ganapathi and Charles N. Fischer",
  title =        "Affix Grammar Driven Code Generation",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "7",
  number =       "4",
  pages =        "560--599",
  month =        oct,
  year =         "1985",
  keywords =     "applic.GC",
}

@InCollection{Ganapathi82,
  author =       "Mahadevan Ganapathi and Charles N. Fischer",
  title =        "Description-driven Code Generation using Attribute Grammars",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "108--119",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "applic.GC",
}

@InCollection{Gansner82,
  author =       "E. Gansner and T. R. Horgan and Chandra M. R. Kintala and D. J. Moore and P. Surko",
  title =        "Semantics and Correctness of a Query Language Translation",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "289--298",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "applic.DB",
}

@TechReport{Ganzinger77,
  author =       "Harald Ganzinger",
  title =        "Deriving Proof Rules for Programming Language Constructs from Static and Dynamic Attribute
                 Structures",
  type =         "??unknown reference??",
  month =        aug,
  year =         "1977",
  keywords =     "valid",
}

@PhdThesis{Ganzinger73,
  author =       "Harald Ganzinger",
  title =        "Drei Methoden zur Beschreibung der Semantik von Programmiersprachen und Formalisierung der Semantik
                 eines Algol 68 Subset",
  school =       "Abteilung Mathematik, Tech. University M{\"u}nchen",
  type =         "Diploma Thesis",
  month =        nov,
  year =         "1973",
  keywords =     "vari.pract exem.ALGOL",
}

@Article{Ganzinger83,
  author =       "Harald Ganzinger",
  title =        "Increasing Modularity and Language-Independency in Automatically Generated Compilers",
  journal =      "Science of Computer Programming",
  volume =       "3",
  number =       "3",
  pages =        "223--278",
  month =        dec,
  year =         "1983",
  keywords =     "sema",
  note =         "See also: Bericht TUM-I8306, Institut f{\"u}r Informatik, Tech. University M{\"u}nchen (July 1983).",
}

@TechReport{Ganzinger74,
  author =       "Harald Ganzinger",
  title =        "Modifizierte Attributierte Grammatiken",
  institution =  "Abteilung Mathematik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "7420",
  month =        nov,
  year =         "1974",
  keywords =     "sema",
}

@TechReport{Ganzinger76,
  author =       "Harald Ganzinger",
  title =        "{MUG1}-Manual",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "7608",
  month =        jul,
  year =         "1976",
  keywords =     "syst.MUG1",
}

@TechReport{Ganzinger78,
  author =       "Harald Ganzinger",
  title =        "Optimierende Erzeugung von {\"U}bersetzerteilen aus Implementierungsorientierten
                 Sprachbeschreibungen",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-7809",
  month =        may,
  year =         "1978",
  keywords =     "sema",
}

@TechReport{Ganzinger81,
  author =       "Harald Ganzinger",
  title =        "Parametrized Specifications: Parameter Passing and Optimizing Implementation",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-8110",
  month =        aug,
  year =         "1981",
  keywords =     "divers.algeb",
}

@TechReport{Ganzinger80,
  author =       "Harald Ganzinger",
  title =        "Some Principles for the Development of Compiler from Denotational Language Definitions",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-8006",
  month =        may,
  year =         "1980",
  keywords =     "divers.denot",
}

@InCollection{Ganzinger83a,
  author =       "Harald Ganzinger",
  editor =       "Dines Bj{\"o}rner",
  title =        "Denotational Semantics for Languages with Modules",
  booktitle =    "Formal Description of Programming Concepts~II",
  pages =        "3--23",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1983",
  keywords =     "divers.denot",
}

@InCollection{Ganzinger83b,
  author =       "Harald Ganzinger",
  editor =       "J. Bormann",
  title =        "On the Design of Data Abstraction Mechanisms for Compiler Description Languages",
  booktitle =    "Programming Languages and System Design",
  pages =        "59--82",
  publisher =    "Elsevier/North Holland",
  year =         "1983",
  keywords =     "divers.algeb",
}

@InCollection{Ganzinger83c,
  author =       "Harald Ganzinger",
  editor =       "J. Diaz",
  title =        "Modular Compiler Descriptions based on Abstract Semantic Data Types",
  booktitle =    "10th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "154",
  pages =        "237--249",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1983",
  keywords =     "divers.algeb",
  note =         "Barcelona",
}

@InProceedings{Ganzinger79,
  author =       "Harald Ganzinger",
  editor =       "J. H. B{\"o}hling and P. P. Spies",
  title =        "An Approach to the Derivation of Compiler Description Concepts from the Mathematical Semantics
                 Concept",
  booktitle =    "Fachbereich ``Compiler-Compiler'', GI 9. Jahrestagung",
  series =       "Inf. Fachb.",
  volume =       "19",
  pages =        "206--217",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1979",
  keywords =     "divers.algeb",
  note =         "Bonn",
}

@InCollection{Ganzinger79a,
  author =       "Harald Ganzinger",
  editor =       "K. Weihrauch",
  title =        "On Storage Optimization for Automatically Generated Compilers",
  booktitle =    "4th GI Conf. on Theoretical Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "67",
  pages =        "132--141",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        mar,
  year =         "1979",
  keywords =     "alloc",
  note =         "Aachen",
}

@InCollection{Ganzinger80a,
  author =       "Harald Ganzinger",
  editor =       "Neil D. Jones",
  title =        "Transforming Denotational Semantics into Practical Attribute Grammars",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "1--69",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "vari.FP divers.denot",
}

@InCollection{Ganzinger78a,
  author =       "Harald Ganzinger",
  editor =       "W. Henhalp",
  title =        "Strukturelle Zusammenh{\"a}nge zwischen Funktionalen Sprachbeschreibungen und
                 {\"U}bersetzerbeschreibungen",
  booktitle =    "GI Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "96--119",
  publisher =    "Fachbereich Informatik, Tech. Hochschule Darmstadt",
  address =      "Berlin",
  year =         "1978",
  keywords =     "vari.FP",
}

@InCollection{Ganzinger82,
  author =       "Harald Ganzinger",
  editor =       "W. Henhapl",
  title =        "An Overview of the Attribute Definition Language {ADELE}",
  booktitle =    "GI 3. Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "22--53",
  address =      "M{\"u}nchen",
  month =        mar,
  year =         "1982",
  keywords =     "syst.MUG2",
}

@InProceedings{Ganzinger84,
  author =       "Harald Ganzinger and Robert Giegerich",
  title =        "Attribute Coupled Grammars",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "157--170",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "tag",
  note =         "Published as {\sl ACM SIGPLAN Notices}, 19(6)",
  abstract =     "In this paper, attribute grammars are viewed as specifying translations from source language terms
                 into target language terms. The terms are constructed over a hierarchical signature consisting of a
                 semantic and syntactic part. Attribute grammars are redefined to become morphisms in the category of
                 such signatures, called attribute coupled grammars, such that they come with an associative composition
                 operation. The composition allows for a new kind of modularity in compiler specifications. The paper
                 also discusses properties of the concept with respect to attribute evaluation and application as a tree
                 transformation device.",
}

@InCollection{Ganzinger82a,
  author =       "Harald Ganzinger and Robert Giegerich and Ulrich M{\"o}ncke and Reinhard Wilhelm",
  title =        "A Truly Generative Semantics-directed Compiler Generator",
  booktitle =    "ACM SIGPLAN '82 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "172--184",
  address =      "Boston, MA",
  month =        jun,
  year =         "1982",
  keywords =     "syst.MUG2",
  note =         "Published as {\sl ACM SIGPLAN Notices}, 17(6)",
}

@TechReport{Ganzinger86,
  author =       "Harald Ganzinger and Robert Giegerich and Martin Vach",
  title =        "{MARVIN}: a Tool for Applicative and Modular Compiler Specifications",
  institution =  "Fachbereich Informatik, University Dortmund",
  type =         "Forschungsbericht",
  number =       "220",
  month =        jul,
  year =         "1986",
  keywords =     "syst.MARVIN",
}

@TechReport{Ganzinger84a,
  author =       "Harald Ganzinger and Michael Hanus",
  title =        "Modular Logic Programming of Compilers",
  institution =  "Fachbereich Informatik, University Dortmund",
  type =         "Forschungsbericht",
  number =       "189",
  year =         "1984",
  keywords =     "vari.LP",
  mynote =       "Prolog et Meta compilation. (pd)",
}

@InCollection{Ganzinger76a,
  author =       "Harald Ganzinger and Knut Ripken and Reinhard Wilhelm",
  title =        "{MUG1}---an Incremental Compiler-Compiler",
  booktitle =    "ACM 1976 Annual Conf.",
  pages =        "415--418",
  address =      "Houston, TX",
  month =        oct,
  year =         "1976",
  keywords =     "syst.MUG1",
}

@InCollection{Ganzinger77a,
  author =       "Harald Ganzinger and Knut Ripken and Reinhard Wilhelm",
  editor =       "B. Gilchrist",
  title =        "Automatic Generation of Optimizing Multipass Compilers",
  booktitle =    "Information Processing '77",
  pages =        "535--540",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        aug,
  year =         "1977",
  keywords =     "syst.MUG2",
  note =         "Toronto",
}

@InProceedings{Ganzinger75,
  author =       "Harald Ganzinger and Reinhard Wilhelm",
  editor =       "J. M{\"u}lbacher",
  title =        "Verschr{\"a}nkung von Compiler-Moduln",
  booktitle =    "GI 5. Jahrestagung",
  series =       "Lecture Notes in Computer Science",
  volume =       "34",
  pages =        "654--666",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1975",
  keywords =     "syst.MUG1",
  note =         "Dortmund",
}

@InCollection{Garcia87,
  author =       "Jos{\'e} Garcia and Martin Jourdan and Antoine Rizk",
  editor =       "{Commission of the European Communities---Directorate General XIII}",
  title =        "An Implementation of {PARLOG} Using High-Level Tools",
  booktitle =    "ESPRIT '87: Achievements and Impact",
  pages =        "1265--1275",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        nov,
  year =         "1987",
  keywords =     "syst.FNC2 exem.PARLOG",
  mynote =       "Decrit rapidement le langage de programmation logique parallele PARLOG, la Sequential PARLOG Machine,
                 son emulation sur muSyC (un coprocesseur symbolique microprogrammable) et la construction du
                 compilateur correspondant en utilisant FNC-2. (mj)",
  note =         "Brussels",
}

@InCollection{Gaudel81,
  author =       "Marie-Claude Gaudel",
  editor =       "J. Diaz and I. Ramos",
  title =        "Compiler Generation from Formal Definition of Programming Languages: a Survey",
  booktitle =    "Int. Coll. on Formalization of Programming Concepts",
  series =       "Lecture Notes in Computer Science",
  volume =       "107",
  pages =        "96--114",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        apr,
  year =         "1981",
  keywords =     "vari.pract",
  note =         "Peniscola",
}

@InCollection{Gaudel80,
  author =       "Marie-Claude Gaudel",
  editor =       "Neil D. Jones",
  title =        "Specification of Compilers as Abstract Data Type Representation",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "140--164",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "divers.algeb",
}

@InCollection{Giegerich82,
  author =       "Robert Giegerich",
  title =        "Automatic Generation of Machine-specific Code Optimizers",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "75--81",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "applic.GC",
}

@TechReport{Giegerich79,
  author =       "Robert Giegerich",
  title =        "Introduction to the Compiler Generating System {MUG2}",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-7913",
  month =        may,
  year =         "1979",
  keywords =     "syst.MUG2",
}

@TechReport{Giegerich86,
  author =       "Robert Giegerich",
  title =        "On the Relation between Descriptional Composition and Evaluation of Attribute Coupled Grammars",
  institution =  "Fachbereich Informatik, University Dortmund",
  type =         "Forschungsbericht",
  number =       "221",
  month =        jul,
  year =         "1986",
  keywords =     "tag",
}

@InProceedings{Giegerich81,
  author =       "Robert Giegerich and Ulrich M{\"o}ncke and Reinhard Wilhelm",
  editor =       "W. Brauer",
  title =        "Invariance of Approximative Semantics with Respect to Program Transformations",
  booktitle =    "GI 11. Jahrestagung",
  series =       "Inf. Fachb.",
  volume =       "50",
  pages =        "1--10",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1981",
  keywords =     "tat",
}

@Article{Giegerich78,
  author =       "Robert Giegerich and Reinhard Wilhelm",
  title =        "Counter-one-pass Features in One-pass Compilation: a Formalization using Attribute Grammars",
  journal =      "Information Processing Letters",
  volume =       "7",
  number =       "6",
  pages =        "279--284",
  month =        oct,
  year =         "1978",
  keywords =     "applic.MC",
}

@InProceedings{Giegerich77,
  author =       "Robert Giegerich and Reinhard Wilhelm",
  editor =       "H. J. Schneider",
  title =        "Implementierbarkeit Attributierter Grammatiken",
  booktitle =    "GI 7. Jahrestagung",
  series =       "Inf. Fachb.",
  volume =       "10",
  pages =        "17--36",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1977",
  keywords =     "sema",
  note =         "N{\"u}rnberg",
}

@InCollection{Giegerich78a,
  author =       "Robert Giegerich and Reinhard Wilhelm",
  editor =       "Michaneh Amirchahy and Dani{\`e}le N{\'e}el",
  title =        "Attribute Evaluation",
  booktitle =    "Le Point sur la Compilation",
  pages =        "337--365",
  publisher =    "IRIA-CEC Course",
  address =      "Montpellier",
  month =        jan,
  year =         "1978",
  keywords =     "survey",
}

@InProceedings{Glasner80,
  author =       "Ingrid Glasner and Ulrich M{\"o}ncke and Reinhard Wilhelm",
  editor =       "H.-J. Hoffmann",
  title =        "{OPTRAN}, a Language for the Specification of Program Transformations",
  booktitle =    "GI 6. Fachtagung ``Programmiersprache und Programentwicklung''",
  series =       "Inf. Fachb.",
  volume =       "34",
  pages =        "125--142",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        mar,
  year =         "1980",
  keywords =     "tat",
  note =         "Darmstadt",
}

@Article{Gombas85,
  author =       "E. Gomb{\'a}s and M. Bartha",
  title =        "A Multi-visit Characterization of Absolutely Noncircular Attribute Grammars",
  journal =      "Acta Cybernetica",
  volume =       "7",
  pages =        "19--31",
  year =         "1985",
  keywords =     "class tag",
  mynote =       "Meme idee que Nielson et File sur les partitionnements pour obtenir des evaluateurs pour les GAs ANC.
                 (mj)",
}

@InProceedings{Gottler84,
  author =       "Herbert G{\"o}ttler",
  title =        "Implementation of Attributed Graph-Grammars",
  booktitle =    "Int. Workshop on Graphtheoretic Concepts in Computer Science (WG '84)",
  publisher =    "Trauner Verlag",
  year =         "1984",
  keywords =     "vari.GG",
}

@InCollection{Gottler82,
  author =       "Herbert G{\"o}ttler",
  editor =       "Hartmut Ehrig and Manfred Nagl and Grzegorz Rozenberg",
  title =        "Attributed Graph Grammars for Graphics",
  booktitle =    "Graph Grammars and their Application to Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "153",
  pages =        "130--142",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1982",
  keywords =     "vari.GG applic.divers",
  note =         "Haus Ohrbeck",
}

@InProceedings{Gottler85,
  author =       "Herbert G{\"o}ttler and Ewa Grabska",
  editor =       "H. Noltmeier",
  title =        "Attributed Graph-Grammars and Composition-Nets",
  booktitle =    "Int. Workshop on Graphtheoretic Concepts in Computer Science (WG '85)",
  pages =        "119--130",
  publisher =    "Trauner Verlag",
  address =      "W{\"u}rzburg",
  month =        jun,
  year =         "1985",
  keywords =     "vari.GG",
  mynote =       "Tres rapide introduction aux GGAs, grammaires de graphes attribuees (mj)",
}

@InCollection{Graham84,
  author =       "Susan L. Graham",
  editor =       "Bernard Lorho",
  title =        "Code Generation and Optimization",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "251--288",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "applic.GC",
}

@TechReport{Gray85,
  author =       "Robert Gray",
  title =        "Comparing Semantic Analysis Efficiency of a {GAG} Generated Compiler vs. Hand Written Compilers",
  institution =  "Comp. Sc. Department, University of Colorado",
  type =         "Technical Report",
  number =       "ECE~690",
  address =      "Boulder, CO",
  month =        dec,
  year =         "1985",
  keywords =     "applic.MC eval",
}

@TechReport{Greim86,
  author =       "Michael Greim and Stefan Pistorius and Monika Solsbacher and Beatrix Weisgerber",
  title =        "{POPSY} and {OPTRAN} Manual",
  type =         "ESPRIT PROSPECTRA Project Deliverable Item S.1.6 -",
  number =       "R.3.0",
  month =        mar,
  year =         "1986",
  keywords =     "syst.OPTRAN",
  note =         "Revised by Ulrich M{\"o}ncke (August 1986).",
}

@TechReport{Grossmann87,
  author =       "R. Grossmann and J. Hutschenreiter and J. Lampe and J. L{\"o}tzsch and K. Mager",
  title =        "Fachsprachensystem {DEPOT2}a",
  type =         "Schr. R. WBZ MKR/IV",
  year =         "1987",
  keywords =     "syst.DEPOT",
}

@PhdThesis{Grubert84,
  author =       "U. Grubert",
  title =        "Entwurf und Implementierung einer dynamischen Speicherverwaltung im Rahmen eines Compiler-erzeugenden
                 Systems",
  school =       "Lehrstuhl f{\"u}r Angewandte Informatik, Rheinisch-Westf{\"a}lische Tech. Hoschschule Aachen",
  type =         "Diploma Thesis",
  year =         "1984",
  keywords =     "syst.autres",
}

@Article{Gyimothy83,
  author =       "Tibor Gyim{\'o}thy and Endre Simon and {\'A}rp{\'a}d Makay",
  title =        "An Implementation of the {HLP}",
  journal =      "Acta Cybernetica",
  volume =       "6",
  number =       "3",
  pages =        "315--327",
  address =      "Szeged",
  year =         "1983",
  keywords =     "syst.HLPSZ",
}

@Article{Gyimothy87,
  author =       "Tibor Gyim{\'o}thy and Janos Toczki",
  title =        "Syntactic Pattern Recognition in the {HLP}/{PAS} System",
  journal =      "Acta Cybernetica",
  volume =       "8",
  number =       "1",
  pages =        "79--88",
  address =      "Szeged",
  year =         "1987",
  keywords =     "applic.divers",
}

@InProceedings{Haas85,
  author =       "O. Haas",
  editor =       "M. Diaz",
  title =        "Formal Protocol Specification based on Attribute Grammars",
  booktitle =    "5th Internat. Workshop on Protocol Specification, Testing, and Verification",
  pages =        "39--48",
  publisher =    "Elsevier/North-Holland",
  address =      "Amsterdam",
  month =        jun,
  year =         "1985",
  keywords =     "applic.prog applic.protocol",
  note =         "Toulouse-Moissac",
}

@PhdThesis{Hall87,
  author =       "M. L. Hall",
  title =        "The Optimization of Automatically Generated Compilers",
  school =       "Department of Comp. Sc. University of Colorado",
  type =         "Ph.{D}. Thesis",
  address =      "Boulder",
  year =         "1987",
  keywords =     "eval",
}

@TechReport{Hansson84,
  author =       "H. Hansson",
  title =        "Preppie, a Compiler-compiler Directed towards Generation of Preprocessors",
  institution =  "Uppsala Inst. of Technology",
  type =         "Technical Report Uptec",
  number =       "8485R",
  year =         "1984",
  keywords =     "applic.MC",
}

@InCollection{Hanus88,
  author =       "Michael Hanus",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  title =        "Formal Specification of a Prolog Compiler",
  booktitle =    "Programming Languages Implementation and Logic Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "348",
  pages =        "273--282",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        may,
  year =         "1988",
  keywords =     "applic.MC",
  note =         "Orl{\'e}ans",
}

@TechReport{Hartwig81,
  author =       "Martin Hartwig",
  title =        "Attribute Evaluation in two Passes",
  institution =  "Institut f{\"u}r Informatik, Akademie der Wissenschaften der DDR",
  type =         "preprint",
  number =       "P-MATH-29/81",
  address =      "Berlin",
  month =        nov,
  year =         "1981",
  keywords =     "eval",
}

@InProceedings{Hartwig81a,
  author =       "Martin Hartwig",
  title =        "Implementation einer Attribut-Grammatik in {SIMULA}",
  booktitle =    "Vortr{\"a}ge der ALGOL-Tagung 1981",
  publisher =    "Schriftreihe des WBZMKRI",
  address =      "Dresden",
  year =         "1981",
  keywords =     "exem.ALGOL",
}

@PhdThesis{Heeg80,
  author =       "G. Heeg and E. de Vries",
  title =        "{LINGUA}---ein Compilergenerator",
  school =       "Abteilung Informatik, University Dortmund",
  type =         "Diploma Thesis",
  year =         "1980",
  keywords =     "syst.LINGUA",
}

@Article{Hehner83,
  author =       "E. C. R. Hehner and B. A. Silverberg",
  title =        "Programming with Grammars: an Exercise in Methodology-directed Language Design",
  journal =      "The Computer Journal",
  volume =       "26",
  number =       "3",
  pages =        "277--281",
  year =         "1983",
  keywords =     "applic.prog",
}

@InProceedings{Heleviki89,
  author =       "J{\"u}ri Heleviki and Merik B. M{\'e}rist{\'e}",
  editor =       "O. M. Tammepuu",
  title =        "Problems in Incremental Construction of Language Processors",
  booktitle =    "Procs. of the Soviet-French Symposium Informatika '89",
  pages =        "70--75",
  address =      "Tallinn",
  month =        may,
  year =         "1989",
  keywords =     "applic.MC",
}

@InCollection{Henriques88,
  author =       "Pedro Rangel Henriques",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  title =        "A Semantic Evaluator Generating System in Prolog",
  booktitle =    "Programming Languages Implementation and Logic Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "348",
  pages =        "201--218",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        may,
  year =         "1988",
  keywords =     "eval",
  note =         "Orl{\'e}ans",
}

@TechReport{Hesse76,
  author =       "W. Hesse",
  title =        "Vollst{\"a}ndige Formale Beschreibung von Programmiersprachen mit Zweischichtigen Grammatiken",
  institution =  "Abteilung Mathematik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "7623",
  month =        jul,
  year =         "1976",
  keywords =     "divers.affix",
}

@TechReport{Hiitola82,
  author =       "K. Hiitola",
  title =        "An Attribute Grammar for the Static Semantics of Pascal",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1982-28",
  year =         "1982",
  keywords =     "exem.PASCAL",
  note =         "(in Finnish)",
}

@TechReport{Hirvonen86,
  author =       "P. Hirvonen",
  title =        "An Implementation of Pascal using {HLP} '84",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1986-5",
  year =         "1986",
  keywords =     "exem.PASCAL",
  note =         "(in Finnish)",
}

@TechReport{Hoffmann83,
  author =       "Berthold Hoffmann",
  title =        "Compiler Generation: from Language Definitions to Abstract Compilers",
  institution =  "Fachbereich Mathematik/Informatik, University Bremen",
  type =         "Bericht",
  number =       "5/83",
  month =        sep,
  year =         "1983",
  keywords =     "vari.WG",
  note =         "Also Dissertation, Tech. University Berlin.",
}

@TechReport{Hoffmann85,
  author =       "Berthold Hoffmann",
  title =        "Unifying van-Wijngaarden and Attribute Grammars by Transformation",
  institution =  "University Bremen",
  type =         "tech. Bericht",
  year =         "1985",
  keywords =     "vari.WG",
}

@InCollection{Hoffmann82,
  author =       "Berthold Hoffmann",
  editor =       "Hartmut Ehrig and Manfred Nagl and Grzegorz Rozenberg",
  title =        "Modelling Compiler Generation by Graph Grammars",
  booktitle =    "Graph Grammars and their Application to Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "153",
  pages =        "159--171",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1982",
  keywords =     "vari.GG",
  note =         "Haus Ohrbeck",
}

@InCollection{Hoffmann82a,
  author =       "Berthold Hoffmann",
  editor =       "W. Henhapl",
  title =        "Using Abstract Data Types in Two-Level Grammars: a Case Study",
  booktitle =    "GI 3. Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "105--119",
  address =      "M{\"u}nchen",
  month =        mar,
  year =         "1982",
  keywords =     "divers.affix",
}

@TechReport{Hoffmann81,
  author =       "Berthold Hoffmann and I.-R. Schmiedecke",
  title =        "A Parsing-oriented Derivation Model for Two-level Grammars based on Affix-decorated Parse Trees",
  institution =  "Tech. University Berlin",
  type =         "Bericht",
  number =       "81-2",
  year =         "1981",
  keywords =     "divers.affix",
}

@InCollection{Hoffmann80,
  author =       "Berthold Hoffmann and I.-R. Schmiedecke",
  editor =       "J. Dembinski",
  title =        "A Mathematical Approach to Multi-pass Parsing",
  booktitle =    "9th Symp. on Mathematical Foundations of Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "88",
  pages =        "275--290",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "divers.affix",
  note =         "Rydzyna",
}

@InCollection{Hoover86,
  author =       "Roger Hoover",
  title =        "Dynamically Bypassing Copy Rule Chains in Attribute Grammars",
  booktitle =    "13th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "14--25",
  address =      "St Petersburg Beach, Fl",
  month =        jan,
  year =         "1986",
  keywords =     "incr",
  mynote =       "Court-circuite dynamiquement les chaines d'identites au cours d'une reevaluation incrementale en
                 associant aux tetes de telles chaines la liste des queues. L'ordre d'evaluation est calcule
                 dynamiquement mais approxime par un algorithme simple. Pas mal, mais j'ai des doutes sur la
                 consommation de memoire d'une telle methode. (mj)",
  abstract =     "Attribute grammars require copy rules to transfer values between attribute instances distant in an
                 attributed parse tree. We introduce copy bypass attribute propagation that dynamically replaces copy
                 rules with nonlocal dependencies, resulting in faster incremental evaluation. An evaluation strategy is
                 used that approximates a topological ordering of attribute instances. The result is an efficient
                 incremental evaluator that allows multiple subtree replacement on any noncircular attribute grammar.",
}

@PhdThesis{Hoover87,
  author =       "Roger Hoover",
  title =        "Incremental Graph Evaluation",
  school =       "Department of Comp. Sc., Cornell University",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 87-836",
  address =      "Ithaca, NY",
  month =        may,
  year =         "1987",
  keywords =     "incr",
  mynote =       "Propose un cadre general pour l'evaluation incrementale de calculs decrits par un graphe. Deux
                 applications sont proposees, les GAs (graphe de dependance complet) et les tableurs. Dans ce cadre il
                 etudie l'evaluation incrementale optimale et une technique (structure trees) pour court-circuiter les
                 dependances d'identite implicites, dont deux exemples sont les regles de copie explicites [Hoo 86] et
                 les tables de symboles (dependances definitions ==> utilisations) [HT 86]. C'est bien ecrit, mais ca me
                 semble tres complique pour etre vraiment efficace... (mj)",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR87-836",
}

@InCollection{Hoover86a,
  author =       "Roger Hoover and Tim Teitelbaum",
  title =        "Efficient Incremental Evaluation of Aggregate Values in Attribute Grammars",
  booktitle =    "ACM SIGPLAN '86 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "39--50",
  address =      "Palo Alto, CA",
  month =        jun,
  year =         "1986",
  keywords =     "incr",
  mynote =       "Propose une methode qui permet de limiter le recalcul d'attributs a ceux qui ne dependent precisement
                 que de la partie d'un attribut compose qui a change (et non pas a ceux qui dependent globalement de
                 l'attribut lui-meme). (mj)",
  note =         "Published as ACM SIGPLAN Notices, volume 21, number 7",
}

@PhdThesis{Horwitz85,
  author =       "Susan Horwitz",
  title =        "Generating Language-Based Editors: a Relationaly-Attributed Approach",
  school =       "Department of Comp. Sc., Cornell University",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 85-696",
  address =      "Ithaca, NY",
  month =        aug,
  year =         "1985",
  keywords =     "applic.edit",
  mynote =       "Attributs + BD relationelles pour construire des editeurs (cf. HT86). (mj)",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR85-696",
}

@Article{Horwitz86,
  author =       "Susan Horwitz and Tim Teitelbaum",
  title =        "Generating Editing Environments Based on Relations and Attributes",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "8",
  number =       "4",
  pages =        "577--608",
  month =        oct,
  year =         "1986",
  keywords =     "applic.edit",
  mynote =       "Interessante symbiose entre attributs et BD relationnelles pour faire des editeurs intelligents.
                 L'avantage principal d'ajouter les BD aux attributs est la notion d'information globale. (mj)",
}

@InCollection{Horwitz85a,
  author =       "Susan Horwitz and Tim Teitelbaum",
  title =        "Relations and Attributes: a Symbiotic Basis for Editing Environments",
  booktitle =    "ACM SIGPLAN '85 Symp. on Language Issues in Programming Environments",
  publisher =    "ACM press",
  pages =        "93--106",
  address =      "Seattle, WA",
  month =        jun,
  year =         "1985",
  keywords =     "applic.edit",
  note =         "Published as ACM SIGPLAN Notices, volume 20, number 7",
}

@InCollection{Houssais84,
  author =       "Bernard Houssais",
  title =        "Analyse d'Erreurs dans les Compilateurs d'Algol 68",
  booktitle =    "2{\`e}me Congr{\`e}s AFCET de G{\'e}nie Logiciel",
  pages =        "387--402",
  address =      "Nice",
  month =        jun,
  year =         "1984",
  keywords =     "applic.MC",
}

@PhdThesis{Hudson86,
  author =       "Scott E. Hudson",
  title =        "A User Interface Management System which Supports Direct Manipulation",
  school =       "Department of Comp. Sc., University of Colorado",
  type =         "Ph.{D}. Thesis",
  address =      "Boulder",
  year =         "1986",
  keywords =     "applic.edit",
}

@InCollection{Hudson86b,
  author =       "Scott E. Hudson and Roger King",
  title =        "Implementing a User Interface as a System of Attributes",
  booktitle =    "ACM Conf. on Programming Environments",
  series =       "Lecture Notes in Computer Science",
  volume =       "244",
  pages =        "143--149",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1986",
  keywords =     "applic.edit",
  mynote =       "Mignon petit papier qui decrit comment associer a une GA destinee a produire un editeur intelligent
                 des attributs {"}graphiques{"} representant l'affichage. L'avantage est que lors d'une modification de
                 l'arbre, les dits attributs sont mis a jour, de meme que l'affichage. S'occupe aussi de gerer les
                 entrees (souris, clavier). (mj)",
  note =         "Trondheim",
}

@Article{Hudson88,
  author =       "Scott E. Hudson and Roger King",
  title =        "Semantic Feedback in the Higgen {UIMS}",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-14",
  number =       "8",
  pages =        "1188--1206",
  month =        aug,
  year =         "1988",
  keywords =     "applic.edit",
}

@TechReport{Ikonen79,
  author =       "M. Ikonen",
  title =        "An Attribute Grammar for {PL360}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1979-24",
  year =         "1979",
  keywords =     "exem.PL1",
  note =         "(in Finnish)",
}

@TechReport{Inada84,
  author =       "R. Inada",
  title =        "Design of a Semantic Description Language based on Attribute Grammars and its Application to Pascal",
  institution =  "College of Information Sciences, University of Tsukuba",
  type =         "Bachelor thesis",
  address =      "Ibaraki-ken",
  year =         "1984",
  keywords =     "applic.MC",
  note =         "(in Japanese)",
}

@Article{Irons61,
  author =       "E. T. Irons",
  title =        "A Syntax-directed Compiler for {ALGOL} 60",
  journal =      "Communications of the Association for Computing Machinery",
  volume =       "4",
  number =       "1",
  pages =        "51--55",
  month =        jan,
  year =         "1961",
  keywords =     "applic.MC",
}

@MastersThesis{Ishizuka84,
  author =       "Harushi Ishizuka",
  title =        "A Compiler Generator based on an Attribute Grammar Suitable for {LR} Parsing",
  school =       "College of Information Sciences, University of Tsukuba",
  type =         "Master's Thesis",
  address =      "Ibaraki-ken",
  year =         "1984",
  keywords =     "syst.RIE",
  note =         "(in Japanese)",
}

@InProceedings{Ishizuka85,
  author =       "Harushi Ishizuka and Masataka Sassa",
  title =        "A Compiler Generator Based on Attribute Grammars",
  booktitle =    "Procs. of 26th Programming Symposium",
  pages =        "69--80",
  publisher =    "IPS Japan",
  address =      "Hakone",
  year =         "1985",
  keywords =     "syst.RIE",
  note =         "(in Japanese)",
}

@TechReport{Iwamoto85,
  author =       "N. Iwamoto",
  title =        "Relational Attribute Grammars",
  institution =  "Department of Comp. Sc., Yamanashi University",
  type =         "M. Eng. thesis",
  year =         "1985",
  keywords =     "valid vari.LP class???",
  note =         "(in Japanese)",
}

@PhdThesis{Jalili82,
  author =       "Fahimeh Jalili",
  title =        "Design of Incremental Compilers",
  school =       "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Ph.{D}. Thesis",
  address =      "Philadelphia, PA",
  year =         "1982",
  keywords =     "incr",
}

@Article{Jalili85,
  author =       "Fahimeh Jalili",
  title =        "A General Incremental Evaluator for Attribute Grammars",
  journal =      "Science of Computer Programming",
  volume =       "5",
  number =       "1",
  pages =        "83--96",
  month =        feb,
  year =         "1985",
  keywords =     "incr",
  mynote =       "Nouvelle formulation de l'algorithme d'evaluation de Jalili-Gallier, dans ses deux versions (normale
                 et incrementale). (mj)",
}

@Article{Jalili83,
  author =       "Fahimeh Jalili",
  title =        "A General Linear-Time Evaluator for Attribute Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "18",
  number =       "9",
  pages =        "35--44",
  month =        sep,
  year =         "1983",
  keywords =     "eval",
}

@InCollection{Jazayeri76,
  author =       "Mehdi Jazayeri",
  title =        "Formal Specification and Automatic Programming",
  booktitle =    "2nd Int. Conf. on Software Engineering",
  pages =        "293--296",
  address =      "San Francisco, CA",
  month =        oct,
  year =         "1976",
  keywords =     "applic.prog",
}

@TechReport{Jazayeri75,
  author =       "Mehdi Jazayeri",
  title =        "Live Variable Analysis, Attribute Grammars, and Program Optimization",
  institution =  "Department of Comp. Sc., University of North Carolina",
  type =         "manuscript",
  address =      "Chapel Hill, NC",
  month =        mar,
  year =         "1975",
  keywords =     "applic.DFA",
}

@PhdThesis{Jazayeri74,
  author =       "Mehdi Jazayeri",
  title =        "On Attribute Grammars and the Semantic Specification of Programming Languages",
  school =       "Jennings Computing Center, Case Western Reserve University",
  type =         "Ph.{D}. Thesis",
  number =       "report 1159",
  address =      "Cleveland, OH",
  month =        oct,
  year =         "1974",
  keywords =     "applic.MC",
}

@Article{Jazayeri81,
  author =       "Mehdi Jazayeri",
  title =        "A Simpler Construction for Showing the Intrinsically Exponential Complexity of the Circularity Problem
                 for Attribute Grammars",
  journal =      "J. ACM",
  volume =       "28",
  number =       "4",
  pages =        "715--720",
  month =        oct,
  year =         "1981",
  keywords =     "circ",
  mynote =       "A ete prouve faux... (mj)",
}

@Article{Jazayeri75a,
  author =       "Mehdi Jazayeri and William F. Ogden and William C. Rounds",
  title =        "The Intrinsically Exponential Complexity of the Circularity Problem for Attribute Grammars",
  journal =      "Communications of the Association for Computing Machinery",
  volume =       "18",
  number =       "12",
  pages =        "679--706",
  month =        dec,
  year =         "1975",
  keywords =     "circ",
  abstract =     "Attribute grammars are an extension of context free grammars devised by Knuth as a mechanism for
                 including the semantics of a context-free language with the syntax of the language. The circularity
                 problem for a grammar is to determine whether the semantics for all possible sentences (programs) in
                 fact will be well defined. It is proved that this problem is, in general, computationally intractable.
                 Specifically, it is shown that any deterministic algorithm which solves the problem must for infinitely
                 many cases use an exponential amount of time. An improved version of Knuth's circularity testing
                 algorithm is also given, which actually solves the problem within exponential time.",
}

@InCollection{Jazayeri75b,
  author =       "Mehdi Jazayeri and William F. Ogden and William C. Rounds",
  title =        "On the Complexity of Circularity Tests for Attribute Grammars",
  booktitle =    "2nd ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "119--129",
  address =      "Palo Alto, CA",
  month =        jan,
  year =         "1975",
  keywords =     "circ",
}

@InCollection{Jazayeri77,
  author =       "Mehdi Jazayeri and Diane Pozefsky",
  title =        "Efficient Evaluation of Multi-pass Attribute Grammars without a Parse Tree",
  booktitle =    "1977 Conf. on Information Sciences and Systems",
  pages =        "184--189",
  address =      "John Hopkins University, Baltimore, MD",
  month =        apr,
  year =         "1977",
  keywords =     "alloc",
  note =         "Extended version: report TR 77-001, Department of Comp. Sc., University of North Carolina, Chapel
                 Hill, NC (February 1977, revised May 1979).",
}

@Article{Jazayeri81a,
  author =       "Mehdi Jazayeri and Diane Pozefsky",
  title =        "Space-efficient Storage Management in an Attribute Evaluator",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "3",
  number =       "4",
  pages =        "388--404",
  month =        oct,
  year =         "1981",
  keywords =     "alloc",
  note =         "See also: report TR 79-007, Department of Comp. Sc., University of North Carolina, Chapel Hill, NC
                 (May 1979).",
}

@InCollection{Jazayeri80,
  author =       "Mehdi Jazayeri and Diane Pozefsky",
  title =        "A Space Improvement in the Alternating Semantic Evaluator",
  booktitle =    "ACM 1980 Annual Conf.",
  publisher =    "ACM press",
  pages =        "498--504",
  address =      "Nashville, TE",
  month =        oct,
  year =         "1980",
  keywords =     "alloc",
  note =         "See also: report TR 80-002, Department of Comp. Sc., University of North-Carolina, Chapel Hill, NC
                 (October 1980).",
}

@InCollection{Jazayeri75c,
  author =       "Mehdi Jazayeri and K. G. Walter",
  title =        "Alternating Semantic Evaluator",
  booktitle =    "ACM 1975 Annual Conf.",
  publisher =    "ACM press",
  pages =        "230--234",
  address =      "Minneapolis, MN",
  month =        oct,
  year =         "1975",
  keywords =     "eval class",
}

@TechReport{Jespersen78,
  author =       "P. Jespersen and M. Madsen and Hanne Riis-Nielson",
  title =        "New Extended Attributed System ({NEATS})",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  year =         "1978",
  keywords =     "syst.NEATS",
}

@InCollection{Jia85,
  author =       "Xiaoping Jia and Jiahua Qian",
  title =        "Incremental Evaluation of Attributed Grammars for Incremental Programming Environments",
  booktitle =    "IEEE COMPSAC '85",
  pages =        "342--349",
  address =      "Chicago, Il",
  month =        oct,
  year =         "1985",
  keywords =     "incr",
  mynote =       "Part d'un algorithme evident pour l'evaluation incrementale des L-AGs, constate que celles-ci ont un
                 pouvoir d'expression insuffisant, les modifie avec des attributs passifs (tous ceux qui violent la
                 condition L-AG), et decrit leur evaluation incrementale. Si on utilise les M-AGs les plus generales, on
                 a les GAs non-circulaires, mais leur algorithme n'est pas optimal. Si on se restreint aux M-AGs
                 {"}sures{"}, on garde l'optimalite, mais les auteurs ne donnent aucune indication sur la classe ainsi
                 definie. Quel est alors l'interet?",
}

@TechReport{Jochum81,
  author =       "G. Jochum",
  title =        "Automatische Konstruction und Einheitliche Darstellung von Attributauswertungsalgorithmen",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-8113",
  month =        jun,
  year =         "1981",
  keywords =     "alloc",
}

@PhdThesis{Jochum77,
  author =       "G. Jochum",
  title =        "Generierung Optimierter Semantischer Analyse f{\"u}r Ein- und Mehrpass-{\"U}bersetzer",
  school =       "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Diploma Thesis",
  month =        nov,
  year =         "1977",
  keywords =     "alloc",
}

@InCollection{Jochum82,
  author =       "G. Jochum",
  editor =       "W. Henhapl",
  title =        "Effiziente Attributauswertung durch Kombination Verschiedener Strategien",
  booktitle =    "GI 3. Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "54--74",
  address =      "M{\"u}nchen",
  month =        mar,
  year =         "1982",
  keywords =     "eval",
}

@TechReport{Jochum81a,
  author =       "G. Jochum and W. Willmertinger",
  title =        "A Tool for Developing Text Processing Systems: Translator Writing Systems",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-8103",
  month =        may,
  year =         "1981",
  keywords =     "applic.edit",
}

@PhdThesis{Johnson83,
  author =       "Gregory F. Johnson",
  title =        "An Approach to Incremental Semantics",
  school =       "Department of Comp. Sc., University of Wisconsin-Madison",
  type =         "Ph.{D}. Thesis",
  number =       "report TR547",
  year =         "1983",
  keywords =     "incr",
  mynote =       "[JF 82, 85] en plus chiant. (mj)",
}

@InCollection{Johnson85,
  author =       "Gregory F. Johnson and Charles N. Fischer",
  title =        "A Meta-Language and System for Nonlocal Incremental Attribute Evaluation in Language-based Editors",
  booktitle =    "12th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "141--151",
  address =      "New-Orleans, LA",
  month =        jan,
  year =         "1985",
  keywords =     "incr",
  mynote =       "{\'E}tudie comment ameliorer l'evaluation incrementale d'attributs dans le cas ou les dependances
                 logiques entre deux attributs sont eloignees, par exemple entre les definitions et les usages d'un
                 identificateur. L'idee est d'ajouter a l'arbre de derivation des productions associant les
                 non-terminaux correspondants. Peu convaincant. (mj)",
}

@InCollection{Johnson82,
  author =       "Gregory F. Johnson and Charles N. Fischer",
  title =        "Non-syntactic Attribute Flow in Language based Editors",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "185--195",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "applic.edit",
}

@InCollection{Johnsson87,
  author =       "Thomas Johnsson",
  editor =       "Gilles Kahn",
  title =        "Attribute Grammars as a Functional Programming Paradigm",
  booktitle =    "Func. Prog. Languages and Computer Architecture",
  series =       "Lecture Notes in Computer Science",
  volume =       "274",
  pages =        "154--173",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1987",
  keywords =     "eval vari.FP",
  mynote =       "Plusieurs parties dans ce papier. 1: description d'un evaluateur pour des GAs generales en utilisant
                 un langage fonctionnel et l'evaluation paresseuse. La methode est basee sur la transformation classique
                 d'une GA quelconque en une GA purement synthetisee dont les attributs sont des fonctions d'ordre
                 superieur. L'auteur dit que c'est efficace car on ne fait plus qu'une passe sur l'arbre (ben
                 voyons...). 2: integration des GAs dans un tel langage fonctionnel (Lazy ML) de facon a exprimer de
                 facon simple des fonctions compliquees parcourant plusieurs fois leurs donnees, et a les transformer en
                 une fonction (recursive et avec plein de circularites dans tous les coins) ne les parcourant qu'une
                 fois. C'est a peine plus convaincant que la premiere partie. C'est interessant tout de meme, en
                 particulier au sujet de la comparaison des GAs et des langages fonctionnels, mais il faut vraiment une
                 machine specialisee a reduction de graphes pour que ce soit un tant soit peu efficace. (mj)",
  note =         "Portland",
}

@Article{Jones90,
  author =       "Larry G. Jones",
  title =        "Efficient Evaluation of Circular Attribute Grammars",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "12",
  number =       "3",
  pages =        "429--462",
  month =        jul,
  year =         "1990",
  keywords =     "eval incr",
  mynote =       "Titre explicite. La me'thode employe'e est fonde'e sur un ordonnancement dynamique et sur un
                 pre'-calcul des composantes fortement connexes du GD complet; il y a une heuristique interessante pour
                 accelerer le calcul du point fixe sur ces CFC. Les 20 pages de description de la version incre'mentale
                 m'ont fait peur... (mj)",
}

@PhdThesis{Jones86,
  author =       "Larry G. Jones",
  title =        "Incremental {VLSI} Design Systems Based on Circular Attribute Grammars",
  school =       "Comp. Sc. Department, Pennsylvania State University",
  type =         "Ph.{D}. Thesis",
  year =         "1986",
  keywords =     "eval applic.divers",
}

@InCollection{Jones86a,
  author =       "Larry G. Jones and Janos Simon",
  title =        "Hierarchical {VLSI} Design Systems Based on Attribute Grammars",
  booktitle =    "13th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "58--69",
  address =      "St Petersburg Beach, FL",
  month =        jan,
  year =         "1986",
  keywords =     "incr",
  mynote =       "La conception de VLSI n'est qu'un pretexte pour etudier plus serieusement la reevaluation incrementale
                 de GAs comportant des circularites. L'idee est de detecter les composantes fortement connexes du graphe
                 de dependance, de calculer un point fixe sur celles-ci et d'appliquer l'algorithme de Reps ou autre sur
                 le graphe des composantes connexes. Pas tres original mais interessant. (mj)",
}

@TechReport{Jones80a,
  author =       "Neil D. Jones",
  title =        "Circularity Testing of Attribute Grammars Requires Exponential Time: a Simpler Proof",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  number =       "PB-107",
  year =         "1980",
  keywords =     "circ",
}

@InCollection{Jones80b,
  author =       "Neil D. Jones and C. M. Madsen",
  editor =       "Neil D. Jones",
  title =        "Attribute-influenced {LR} parsing",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "393--407",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "class eval",
}

@InCollection{Jones81,
  author =       "Neil D. Jones and D. A. Schmidt",
  title =        "Compiler Generation from Denotational Semantics",
  booktitle =    "S{\'e}minaires Langages et Traducteurs 1978-1981",
  pages =        "51--74",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  year =         "1981",
  keywords =     "divers.denot",
}

@TechReport{Jones83,
  author =       "Neil D. Jones and M. Tofte",
  title =        "Some Principles and Notations for the Construction of Compiler Generators",
  institution =  "Datalogisk Institut, University of Copenhagen",
  type =         "internal report",
  month =        jul,
  year =         "1983",
  keywords =     "divers.denot",
}

@TechReport{Jourdan83,
  author =       "Martin Jourdan",
  title =        "An Efficient Recursive Evaluator for Strongly Non-Circular Attribute Grammars",
  institution =  "INRIA",
  type =         "rapport RR",
  number =       "235",
  address =      "Rocquencourt",
  month =        oct,
  year =         "1983",
  keywords =     "eval",
}

@TechReport{Jourdan85,
  author =       "Martin Jourdan",
  title =        "{\'E}valuation r{\'e}cursive des grammaires attribu{\'e}es: deux implantations",
  institution =  "INRIA",
  type =         "rapport RR",
  number =       "409",
  address =      "Rocquencourt",
  month =        may,
  year =         "1985",
  keywords =     "syst.FNCERN",
  mynote =       "Mise a jour des informations sur le systeme FNC/ERN; pas grand chose de nouveau. (mj)",
  note =         "Extended abstract: Soviet-French Symp. on Computer Science, Institute of Cybernetics of the Academy of
                 Sciences of the SSR of Estonia, Tallinn, USSR, pp. 31-35 (May 1985).",
}

@TechReport{Jourdan84,
  author =       "Martin Jourdan",
  title =        "Les grammaires attribu{\'e}es: implantation, applications, optimisations",
  institution =  "University Paris~VII",
  type =         "th{\`e}se DDI",
  month =        may,
  year =         "1984",
  keywords =     "eval syst.FNCERN",
}

@InCollection{Jourdan84a,
  author =       "Martin Jourdan",
  title =        "Strongly Non-Circular Attribute Grammars and Their Recursive Evaluation",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "81--93",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "eval",
  note =         "Published as ACM SIGPLAN Notices, volume 19, number 6",
  abstract =     "This paper is devoted to the construction of recursive evaluators for strongly non-circular attribute
                 grammars. This class of attribute grammars is very large and includes every practical example; testing
                 strong non-circularity can be done in polynomial time. To each synthesized attribute, a function is
                 associated, which takes as parameters a derivation tree and the values of some inherited attributes,
                 and returns the value of that attribute at the root of the tree. These functions are mutually recursive
                 according to the structure of the full parse tree. This method implements a dynamic ``evaluation by
                 need'', reducing the number of attributes computed to those necessary to get the ``semantic value'' of
                 the full tree. A Lisp implementation allowing automatic efficient storage management is also presented,
                 together with some applications. Our work is closely related to those of Kennedy and Warren, Saarinen
                 and Katamaya, but our method is more efficient and has better theoretical basis.",
}

@TechReport{Jourdan82,
  author =       "Martin Jourdan",
  title =        "Un {\'e}valuateur efficace pour les grammaires attribu{\'e}es fortement non-circulaires",
  institution =  "Laboratoire d'Informatique Th{\'e}orique et Programmation",
  type =         "rapport",
  number =       "82-39",
  address =      "Paris",
  month =        sep,
  year =         "1982",
  keywords =     "eval",
}

@InCollection{Jourdan84b,
  author =       "Martin Jourdan",
  editor =       "Bernard Lorho",
  title =        "Recursive Evaluators for Attribute Grammars: an Implementation",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "139--164",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "eval syst.FNCERN",
}

@InCollection{Jourdan84c,
  author =       "Martin Jourdan",
  editor =       "M. Paul and Bernard Robinet",
  title =        "An Optimal-time Recursive Evaluator for Attribute Grammars",
  booktitle =    "6th Int. Symp. on Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "167",
  pages =        "167--178",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        apr,
  year =         "1984",
  keywords =     "eval syst.FNCERN",
  note =         "Toulouse",
}

@Book{Jourdan89,
  author =       "Martin Jourdan and Didier Parigot",
  title =        "The {FNC}-2 System User's Guide and Reference Manual",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  month =        feb,
  year =         "1989",
  keywords =     "syst.FNC2",
  mynote =       "Titre explicite; contient la description du langage OLGA. (mj)",
  note =         "release 0.4 This manual is periodically updated.",
}

@TechReport{Jourdan88,
  author =       "Martin Jourdan and Didier Parigot",
  title =        "More on Speeding up Circularity Tests for Attribute Grammars",
  institution =  "INRIA",
  type =         "rapport",
  number =       "RR-828",
  address =      "Rocquencourt",
  month =        apr,
  year =         "1988",
  keywords =     "circ",
  mynote =       "Ameliorations au test de non-circularite: stabilite semantique et ordre statique de traitement des
                 non-terminaux. (mj)",
}

@InProceedings{Jourdan89a,
  author =       "Martin Jourdan and Didier Parigot",
  editor =       "O. M. Tammepuu",
  title =        "The {FNC}-2 System: Advances in Attribute Grammar Technology",
  booktitle =    "Procs. of the Soviet-French Symposium Informatika '89",
  pages =        "94--118",
  address =      "Tallinn",
  month =        may,
  year =         "1989",
  keywords =     "syst.FNC2 eval alloc",
  mynote =       "Resume des travaux de Didier et presentation de FNC-2",
  note =         "See also: rapport RR-834, INRIA, Rocquencourt (April 1988).",
}

@TechReport{Herndon85,
  author =       "Robert M. {Herndon, Jr.}",
  title =        "The Incompleat {AG} User's Guide and Reference Manual",
  institution =  "Comp. Sc. Department, University of Minnesota",
  type =         "Technical Report TR",
  number =       "85-37",
  address =      "Minneapolis, MN",
  month =        oct,
  year =         "1985",
  keywords =     "syst.AG",
  mynote =       "comme le titre l'indique; n'a pas l'air terrible. (mj)",
}

@TechReport{Herndon85a,
  author =       "Robert M. {Herndon, Jr.} and Valdis A. Berzins",
  title =        "{AG}: a Useful Attribute Grammar Translator Generator",
  institution =  "Comp. Sc. Department, University of Minnesota",
  type =         "Technical Report TR",
  number =       "85-25",
  address =      "Minneapolis, MN",
  month =        aug,
  year =         "1985",
  keywords =     "syst.AG",
}

@TechReport{Herndon86,
  author =       "Robert M. {Herndon, Jr.} and Valdis A. Berzins",
  title =        "A Method for the Construction of Dynamic, Lazy Evaluators for Functional Attribute Grammars",
  institution =  "Comp. Sc. Department, University of Minnesota",
  type =         "Technical Report TR",
  number =       "86-6",
  address =      "Minneapolis, MN",
  month =        feb,
  year =         "1986",
  keywords =     "eval",
  mynote =       "Comme Jalili-Gallier et ERN, mais en plus ``hacker''. (mj)",
}

@TechReport{Julie86,
  author =       "Catherine Juli{\'e}",
  title =        "Optimisation de l'espace m{\'e}moire pour les compilateurs g{\'e}n{\'e}r{\'e}s selon la m{\'e}thode
                 d'{\'e}valuation {OAG}: {\'e}tude des travaux de Kastens et propositions d'am{\'e}liorations",
  institution =  "D{\'e}pt. d'Informatique, University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1986",
  keywords =     "alloc",
  mynote =       "Fait mieux que Kastens pour les GAs evaluables par sequences de visite. (mj)",
}

@PhdThesis{Julie89,
  author =       "Catherine Juli{\'e}",
  month =        sep,
  number =       "th{\`e}se",
  school =       "Universit{\'e} d'Orl{\'e}ans",
  title =        "Optimisation de l'espace m{\'e}moire pour l'{\'e}valuation de grammaires attribu{\'e}es",
  year =         "1989",
  keywords =     "alloc",
}

@InCollection{Jullig84,
  author =       "R. K. Jullig and Frank {De Remer}",
  title =        "Regular Right-part Attribute Grammars",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "171--189",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "class",
  note =         "Published as ACM SIGPLAN Notices, volume 19, number 6",
}

@TechReport{Juutinen82,
  author =       "L. Juutinen",
  title =        "An Attribute Grammar for a Subset of Ada",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1982-91",
  year =         "1982",
  keywords =     "exem.ADA",
  note =         "(in Finnish)",
}

@InCollection{Kaiser86,
  author =       "Gail E. Kaiser",
  title =        "Generation of Run-time Environments",
  booktitle =    "ACM SIGPLAN '86 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "51--57",
  address =      "Palo Alto, CA",
  month =        jun,
  year =         "1986",
  keywords =     "applic.edit",
  mynote =       "{\'E}tend les GAs avec des regles semantiques commandees par des evenements, de facon a decrire la
                 semantique dynamique d'un langage et pouvoir construire automatiquement un environnement d'execution.
                 (mj)",
  note =         "Published as ACM SIGPLAN Notices, volume 21, number 7",
  abstract =     "Attribute grammars have been used for many years for automated compiler construction. Attribute
                 grammars support the description of semantic analysis, code generation and some code optimization in a
                 formal declarative style. Other tools support the automation of lexical analysis and parsing. However,
                 there is one large part of compiler construction that is missing from our toolkit: run-time
                 environments. This paper introduces an extension of attribute grammars that supports the generation of
                 run-time environments. The extension also supports the generation of interpreters, symbolic debugging
                 tools, and other execution-time facilities.",
}

@TechReport{Kaiser85,
  author =       "Gail E. Kaiser",
  title =        "Specification of Interpreters and Debuggers using an Extension of Attribute Grammars",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  number =       "CUCS-196-85",
  address =      "New York, NY",
  month =        nov,
  year =         "1985",
  keywords =     "applic.MC",
}

@InCollection{Kamimura83,
  author =       "Tsutomu Kamimura",
  editor =       "J. Diaz",
  title =        "Tree Automata and Attribute Grammars",
  booktitle =    "10th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "154",
  pages =        "374--384",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1983",
  keywords =     "vari.AT",
  note =         "See also: report TR-82-1, Department of Comp. Sc., University of Kansas (1982).",
}

@TechReport{Kaplan86,
  author =       "Simon M. Kaplan",
  title =        "Incremental Attribute Evaluation on Graphs",
  institution =  "University of Illinois at Urbana-Champaign",
  type =         "Technical Report",
  number =       "UIUC-DCS-86-1309",
  month =        dec,
  year =         "1986",
  keywords =     "vari.GG",
  note =         "revised version",
}

@InCollection{Kaplan89,
  author =       "Simon M. Kaplan and Steven K. Goering",
  editor =       "J. D{\'i}az and F. Orejas",
  title =        "Priority Controlled Incremental Attribute Evaluation in Attributed Graph Grammars",
  booktitle =    "TAPSOFT '89, Vol.~1: Coll. on Trees in Algebra and Programming (CAAP '89)",
  series =       "Lecture Notes in Computer Science",
  volume =       "351",
  pages =        "306--320",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "89",
  keywords =     "vari.GG incr",
  note =         "Barcelona",
}

@InProceedings{Kaplan86a,
  author =       "Simon M. Kaplan and Steven K. Goering and Roy H. Campbell",
  editor =       "Grzegorz Rozenberg and Hartmut Ehrig and Manfred Nagl and A. Rosenfeld",
  title =        "Supporting the Software Development Process with Attributed {NLC} Graph Grammars",
  booktitle =    "Third Int. Workshop on Graph Grammars and their Application to Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "291",
  pages =        "309--325",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        dec,
  year =         "1986",
  keywords =     "vari.GG applic.prog",
  note =         "Warrenton",
}

@InCollection{Kaplan86b,
  author =       "Simon M. Kaplan and Gail E. Kaiser",
  title =        "Incremental Attribute Evaluation in Distributed Language-based Environments",
  booktitle =    "5th ACM Symp. on Principles of Distributed Computing",
  publisher =    "ACM press",
  pages =        "121--130",
  address =      "Calgary",
  month =        aug,
  year =         "1986",
  keywords =     "incr applic.edit",
  note =         "See also: report UIUCDCS-R-86-1294, University of Illinois at Urbana-Champaign (September 1986).",
}

@TechReport{Karttunen77,
  author =       "M. Karttunen",
  title =        "On Circularity Tests for Semantic Attributes",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1977-87",
  year =         "1977",
  keywords =     "circ",
  note =         "(in Finnish)",
}

@TechReport{Kastens79,
  author =       "Uwe Kastens",
  title =        "{ALADIN} Eine Definitionssprache f{\"u}r Attributierte Grammatiken",
  institution =  "Institut f{\"u}r Informatik~II, University Karlsruhe",
  type =         "Bericht",
  number =       "7/79",
  month =        jul,
  year =         "1979",
  keywords =     "syst.GAG",
}

@TechReport{Kastens76,
  author =       "Uwe Kastens",
  title =        "Ein {\"U}bersetzer-erzeugendes System auf der Basis Attributierter Grammatiken",
  institution =  "Fakult{\"a}t f{\"u}r Informatik, University Karlsruhe",
  type =         "interner Bericht",
  number =       "10",
  month =        sep,
  year =         "1976",
  keywords =     "syst.GAG",
}

@Article{Kastens87,
  author =       "Uwe Kastens",
  title =        "Lifetime Analysis for Attributes",
  journal =      "Acta Informatica",
  volume =       "24",
  number =       "6",
  pages =        "633--652",
  month =        nov,
  year =         "1987",
  keywords =     "alloc",
}

@Article{Kastens80,
  author =       "Uwe Kastens",
  title =        "Ordered Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "13",
  number =       "3",
  pages =        "229--256",
  year =         "1980",
  keywords =     "class eval",
  note =         "See also: Bericht 7/78, Institut f{\"u}r Informatik~II, University Karlsruhe (1978).",
}

@InCollection{Kastens84,
  author =       "Uwe Kastens",
  editor =       "Bernard Lorho",
  title =        "The {GAG}-System---{A} Tool for Compiler Construction",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "165--182",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "syst.GAG alloc",
}

@InProceedings{Kastens76a,
  author =       "Uwe Kastens",
  editor =       "H.-J. Schneider and Manfred Nagl",
  title =        "Systematische Analyse Semantischer Abh{\"a}ngigkeiten",
  booktitle =    "GI 4. Fachtagung ``Programmiersprachen''",
  series =       "Inf. Fachb.",
  volume =       "1",
  pages =        "19--32",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1976",
  keywords =     "eval",
}

@InCollection{Kastens78,
  author =       "Uwe Kastens",
  editor =       "W. Henhalp",
  title =        "Einf{\"u}hrung in Attributierte Grammatiken",
  booktitle =    "GI Fachgespr{\"a}ch ``Compiler-Compiler''",
  pages =        "9--19",
  publisher =    "Fachbereich Informatik, Tech. Hochschule Darmstadt",
  address =      "Berlin",
  year =         "1978",
  keywords =     "survey",
}

@Book{Kastens82,
  author =       "Uwe Kastens and Brigitte Hutt and Erich Zimmermann",
  title =        "{GAG}: {A} Practical Compiler Generator",
  series =       "Lecture Notes in Computer Science",
  volume =       "141",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1982",
  keywords =     "syst.GAG",
}

@TechReport{Kastens80a,
  author =       "Uwe Kastens and R. Kollner and Erich Zimmermann and P. Hruschka and A. Kappatsch",
  title =        "Eine attributierte Grammatik f{\"u}r {PEARL}",
  institution =  "Institut f{\"u}r Informatik~II, University Karlsruhe",
  type =         "Bericht",
  year =         "1980",
  keywords =     "exem.PEARL",
}

@InCollection{Kastens86,
  author =       "Uwe Kastens and M. Schmidt",
  editor =       "B. Robinet and Reinhard Wilhelm",
  title =        "Lifetime Analysis for Procedure Parameters",
  booktitle =    "European Symp. on Programming (ESOP '86)",
  series =       "Lecture Notes in Computer Science",
  volume =       "213",
  pages =        "53--69",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        mar,
  year =         "1986",
  keywords =     "applic.prog",
  note =         "Saarbr{\"u}cken",
}

@TechReport{Kastens80b,
  author =       "Uwe Kastens and Erich Zimmermann",
  title =        "{GAG} {A} Generator based on Attribute Grammars",
  institution =  "Institut f{\"u}r Informatik, University Karlsruhe",
  type =         "Bericht",
  number =       "14/80",
  year =         "1980",
  keywords =     "syst.GAG",
  note =         "See also: S{\'e}minaires Langages et Traducteurs 1978-1981, INRIA, Rocquencourt, pp. 141-158 (1981).",
}

@InProceedings{Katayama88,
  author =       "Takuya Katayama",
  title =        "Attribute Grammar as a Language for Describing the Conceptual Model of the Software Designer's
                 Associate",
  booktitle =    "Proc. of the 21st Hawai Internat. Conf. on Software Systems",
  pages =        "???",
  year =         "1988",
  keywords =     "applic.prog",
}

@InCollection{Katayama81,
  author =       "Takuya Katayama",
  title =        "{HFP}: a Hierarchical and Functional Programming Methodology based on Attribute Grammars",
  booktitle =    "5th Int. Conf. on Software Engineering",
  pages =        "343--352",
  address =      "San Diego, CA",
  month =        mar,
  year =         "1981",
  keywords =     "syst.HFP applic.prog vari.FP",
  note =         "Extended version: report CS-K-8102, Tokyo Institute of Technology (January 1981).",
}

@Article{Katayama84,
  author =       "Takuya Katayama",
  title =        "Translation of Attribute Grammars into Procedures",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "6",
  number =       "3",
  pages =        "345--369",
  month =        jul,
  year =         "1984",
  keywords =     "eval",
}

@InCollection{Katayama81a,
  author =       "Takuya Katayama and Yutaka Hoshino",
  title =        "Verification of Attribute Grammars",
  booktitle =    "8th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "177--186",
  address =      "Williamsburg, VA",
  month =        jan,
  year =         "1981",
  keywords =     "valid",
}

@InCollection{Katayama86,
  author =       "Takuya Katayama and Hisashi Sasaki",
  title =        "Global Storage Allocation in Attribute Evaluation",
  booktitle =    "13th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "26--37",
  address =      "St Petersburg Beach, Fl",
  month =        jan,
  year =         "1986",
  keywords =     "alloc",
  mynote =       "Les auteurs essayent d'adapter les jeux de cailloux de Sethi a l'allocation memoire dans les
                 evaluateurs recursifs FNC. Ils mettent en evidence des conditions d'applicabilite, en particulier que
                 l'ordre de calcul doit etre total (GAs l-ordonnees). Leur methode souffre a mon avis d'un grave defaut:
                 ils ne peuvent pas trouver automatiquement des {"}fonctions d'allocation{"} mais seulement verifier
                 qu'une fonction d'allocation est valide. Papier complique a lire et laissant la desagreable impression
                 qu'il est faux... La version longue dans LNCS 220 est plus detaillee mais pas plus facile a lire;
                 cependant elle semble moins fausse. (mj)",
  note =         "Extended version in RIMS Symp. on Software Science and Engineering II, Kyoto, LNCS 220,
                 Springer-Verlag, pp. 181-211 (1984).",
}

@Article{VanKatwijk83,
  author =       "Jan {Van Katwijk}",
  title =        "A Preprocessor for {YACC} or a Poor Man's Approach to Parsing Attributed Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "18",
  number =       "10",
  pages =        "12--15",
  month =        oct,
  year =         "1983",
  keywords =     "syst.DELFT",
}

@TechReport{Kaviani84,
  author =       "Charok Kaviani",
  title =        "Comparaison de deux {M}{\'e}thodes d'{\'E}valuation d'Attributs s{\'e}mantiques: {GAG} et {FNC}",
  institution =  "University de Paris~VI",
  type =         "th{\`e}se de 3{\`e}me cycle",
  month =        jan,
  year =         "1984",
  keywords =     "eval",
}

@TechReport{Kelleher75,
  author =       "J. Kelleher and F. McGriff and Diane Pozefsky",
  title =        "{TAG}: Testing Attribute Grammars, Architectural Description",
  institution =  "Department of Comp. Sc., University of North Carolina",
  type =         "report",
  address =      "Chapel Hill, NC",
  month =        may,
  year =         "1975",
  keywords =     "syst.TAG",
}

@PhdThesis{Keller88,
  author =       "Paul Keller",
  title =        "Spezifikation und Implementierung eines Compilerfrontends f{\"u}r Ada: Deklarations- und
                 Nameklassanalyse",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1988",
  keywords =     "applic.MC exem.ADA syst.OPTRAN",
}

@TechReport{Keller88a,
  author =       "Paul Keller and Thomas Maas",
  title =        "An {OPTRAN}-generated Ada{$\rightarrow$}{DIANA} front-end",
  institution =  "FB~10 -- Informatik, University des Saarlandes",
  type =         "Technical Report",
  address =      "Saarbr{\"u}cken",
  year =         "1988",
  keywords =     "applic.MC exem.ADA syst.OPTRAN",
}

@InCollection{Keller84,
  author =       "S. E. Keller and J. A. Perkins and Teri F. Payton and S. P. Mardinly",
  title =        "Tree Transformation Techniques and Experiences",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "190--201",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "syst.SSAGS tat",
  note =         "Published as ACM SIGPLAN Notices, volume 19, number 6",
  abstract =     "A formal description technique for describing transformations from one well-defined language to
                 another is introduced. A TT-grammar contains context-free grammars for describing the syntax of both
                 languages. The transformation between the languages is described by a relationship of productions from
                 the grammar. The TT-grammar is supported by an automated tool. SSAGS -- a translator writing system
                 based on attribute grammars -- has been extended to support certain classes of TT-grammars. SSAGS
                 analyzes TT-grammars and automatically generates Ada source programs implementing the transformation
                 specified by the TT-grammar. Experience with two different restricted forms of Tt-grammars is described
                 with respect to their practical application. The experience demonstrates the readability, ease of
                 development, and additional verification available through the use of TT-grammars.",
}

@Article{Kennedy79,
  author =       "Ken Kennedy and J. Ramanathan",
  title =        "A Deterministic Attribute Grammar Evaluator based on Dynamic Sequencing",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "1",
  number =       "1",
  pages =        "142--160",
  month =        jul,
  year =         "1979",
  keywords =     "eval",
}

@InCollection{Kennedy76,
  author =       "Ken Kennedy and S. K. Warren",
  title =        "Automatic Generation of Efficient Evaluators for Attribute Grammars",
  booktitle =    "3rd ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "32--49",
  address =      "Atlanta, Ge",
  month =        jan,
  year =         "1976",
  keywords =     "class eval",
}

@InCollection{Kintala83,
  author =       "Chandra M. R. Kintala",
  title =        "Attributed Grammars for Query Language Translation",
  booktitle =    "2nd ACM Symp. on Principles of Database Systems",
  publisher =    "ACM press",
  pages =        "137--148",
  month =        mar,
  year =         "1983",
  keywords =     "applic.DB",
}

@TechReport{Klein89,
  author =       "Eduard Klein and Kai Koskimies",
  title =        "The Parallelization of One-Pass Compilers",
  institution =  "GMD",
  type =         "Arbeitspapier",
  number =       "416",
  address =      "Karlsruhe",
  month =        nov,
  year =         "1989",
  keywords =     "eval",
  mynote =       "E'tudie la paralle'lisation des e'valuateurs d'attributs pour les grammaires L-attribue'es. C'est
                 facile puisqu'a` chaque noeud de l'arbre peut correspondre un processus qui attend les valeurs de tous
                 les attributs he'rite's et qui calcule les valeurs de tous les synthe'tise's, mais ceci ne tient pas
                 compte des de'pendances et cre'e trop de processus. Les auteurs montrent donc comment ne garder que le
                 paralle'lisme utile. Ils montrent aussi comment modifier un analyseur syntaxique descendant (LL(k))
                 pour augmenter le degre' de paralle'lisme en lanc,ant des e'valuations avant que l'arbre soit construit
                 en entier. Tous comptes faits cela me semble assez limite'. (mj)",
}

@Article{Knuth68,
  author =       "Donald E. Knuth",
  title =        "Semantics of Context-free Languages",
  journal =      "Mathematical Systems Theory",
  volume =       "2",
  number =       "2",
  pages =        "127--145",
  month =        jun,
  year =         "1968",
  keywords =     "class sema circ",
  mynote =       "Notre pere a tous. (mj)",
  note =         "Correction: {\sl Mathematical Systems Theory} 5, 1, pp. 95-96 (March 1971).",
}

@InCollection{Knuth71,
  author =       "Donald E. Knuth",
  editor =       "E. Engeler",
  title =        "Examples of Formal Semantics",
  booktitle =    "Symp. on Semantics of Algorithmic Languages",
  series =       "Lecture Notes in Mathematics",
  volume =       "188",
  pages =        "212--235",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1971",
  keywords =     "sema vari.pract",
}

@Article{Ohmaki84,
  author =       "{K. Ohmaki\ {\it et al.}}",
  title =        "A System for Generating Language-oriented Editors based on Attribute Grammars",
  institution =  "K. Ohmaki\ {\it et al.}",
  journal =      "The Transactions of the Institute of Electronics and Communication Engineers of Japan. Section E",
  volume =       "J67-D",
  number =       "1",
  pages =        "25--32",
  year =         "1984",
  keywords =     "applic.edit",
  note =         "(in Japanese)",
}

@InProceedings{Kontos85,
  author =       "John Kontos",
  title =        "Natural Language Processing of Scientific/Technical Data, Knowledge and Text Bases",
  booktitle =    "Artint Workshop",
  address =      "Luxembourg",
  year =         "1985",
  keywords =     "applic.divers applic.NL",
  note =         "Re'fe'rence a` comple'ter.",
}

@Article{Kontos82,
  author =       "John Kontos",
  title =        "Syntax-Directed Plan Recognition with a Microcomputer",
  journal =      "Microprocessing and Microprogramming",
  volume =       "9",
  pages =        "277--279",
  year =         "1982",
  keywords =     "applic.prog",
}

@Article{Kontos82a,
  author =       "John Kontos and George K. Papakonstantinou",
  title =        "The Interpretation of Meta-grammars Describing Syntax-directed Interpreters using an Attribute Grammar
                 Interpreter",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-8",
  number =       "4",
  pages =        "435--436",
  year =         "1982",
  keywords =     "applic.MC",
}

@Article{Kontos88,
  author =       "John Kontos and J. C. Savouras",
  title =        "Knowledge Acquisition from Technical Texts using Attribute Grammars",
  journal =      "The Computer Journal",
  volume =       "31",
  number =       "6",
  pages =        "525--530",
  year =         "1988",
  keywords =     "applic.divers",
  mynote =       "Essaye de montrer comment utiliser les GA pour re'soudre un proble`me qui s'apparente a`
                 l'intelligence artificielle: extraire de l'information de textes techniques, en l'occurrence des
                 descriptions de langages de programmation, pour construire automatiquement une GA spe'cifiant un
                 compilateur ou un interpre`te de ce langage. Le moins qu'on puisse dire est que c'est loin d'e^tre
                 convaincant et que la ge'ne'ralite' de la me'thode laisse a` de'sirer... En outre le papier est
                 obscurci par des de'tails techniques mal venus. (mj)",
}

@TechReport{Kortessalo80,
  author =       "L. Kortessalo",
  title =        "Description of the Lexical Metalanguage of {HLP} using {HLP}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1980-68",
  month =        jul,
  year =         "1980",
  keywords =     "syst.HLP78",
  note =         "(in Finnish)",
}

@TechReport{Koskimies81,
  author =       "Kai Koskimies",
  title =        "An Attribute Grammar for a Subset of the Programming Language Euclid",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  year =         "1981",
  keywords =     "exem.EUCLID",
}

@TechReport{Koskimies82,
  author =       "Kai Koskimies",
  title =        "An Experience on Language Implementation using Attribute Grammars",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1982-2",
  month =        mar,
  year =         "1982",
  keywords =     "applic.MC",
}

@PhdThesis{Koskimies83,
  author =       "Kai Koskimies",
  title =        "Extensions of One-pass Attribute Grammars",
  school =       "Department of Comp. Sc., University of Helsinki",
  type =         "Ph.{D}. Thesis",
  number =       "report A-1983-4",
  month =        dec,
  year =         "1983",
  keywords =     "eval",
}

@Article{Koskimies85,
  author =       "Kai Koskimies",
  title =        "A Note on One-Pass Evaluation of Attribute Grammars",
  journal =      "BIT",
  volume =       "25",
  pages =        "439--450",
  year =         "1985",
  keywords =     "class eval",
  mynote =       "Une breve etude extraite de sa these montrant que son systeme peut evaluer des GA contenant
                 strictement les L-GA... (pd)",
}

@TechReport{Koskimies86,
  author =       "Kai Koskimies",
  title =        "Object-oriented Language Processing with {HLP84}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1986-3",
  year =         "1986",
  keywords =     "language implementation; user interface; attribute grammars; symbol tables; error recovery",
  abstract =     "Language processor generators are systems that produce various language processors (including
                 compilers) on the basis of a high-level specification. The design of language processor generators is
                 discussed on the basis of experiments with a traditional compiler writing system (HLP78) employing pure
                 LALR parsing and general attribute grammars. It is argued that these methods are too primitive from the
                 practical point of view: the concepts of the specification language should be on a higher abstraction
                 level. The design of a new language processor generator, HLP84, is based on this view. This system is
                 an attempt to provide high-level tools for a restricted class of applications (one-pass analysis). The
                 syntactic facilities include regular expressions on the right-hand sides of productions, a
                 disambiguating mechanism that is integrated with regular expressions, and a mechanism for using
                 semantic information to aid parsing; the semantic facilities include e.g. a built-in database for
                 storing the descriptors of program entities and a simple mechanism for semantic error handling. Early
                 experiences with the new system show that in spite of the general overhead caused by the higher
                 automation level, the system allows the generation of reasonably efficient processors.",
}

@InCollection{Koskimies84,
  author =       "Kai Koskimies",
  title =        "A Specification Language for One-pass Semantic Analysis",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "179--189",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "syst.HLP84",
  note =         "Published as ACM SIGPLAN Notices, volume 19, number 6",
  abstract =     "A new language is introduced for the specification of semantic analysis of programming languages. The
                 language is based o the concept of one-pass attribute grammars. Various extensions of this basic
                 formalism are incorporated in the language, including disciplined global variables, facilities for
                 symbol processing, and features supporting semantic error detection and recovery. To encourage the
                 writing of declarative specifications the language is nonterminal-oriented, in contrast to the
                 production-oriented languages traditionally used in compiler writing systems.",
}

@TechReport{Koskimies88,
  author =       "Kai Koskimies and Tapio Elomaa and Tapio Lehtonen and Jukka Paakki",
  title =        "{TOOLS}/{HLP84} Report and User Manual",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1988-2",
  month =        feb,
  year =         "1988",
  keywords =     "syst.HLP84",
  mynote =       "Tout ce que vous avez toujours voulu savoir sur TOOLS/HLP84. Tres technique. (mj)",
}

@TechReport{Koskimies79,
  author =       "Kai Koskimies and L. Juutinen",
  title =        "An Attribute Grammar for the Compile-Time Semantics of the Programming Language Euclid",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1979-130",
  month =        dec,
  year =         "1979",
  keywords =     "exem.EUCLID",
}

@TechReport{Koskimies88a,
  author =       "Kai Koskimies and Merik B. M{\'e}rist{\'e}",
  title =        "Experiences with Class-based Implementation of Programming Languages",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1988-12",
  month =        nov,
  year =         "1988",
  keywords =     "syst.HLP84 applic.MC",
  mynote =       "Experiences d'implantation de langages avec TOOLS et sa notion de classe. (mj)",
}

@Article{Koskimies88b,
  author =       "Kai Koskimies and Otto Nurmi and Jukka Paakki and Seppo Sippu",
  title =        "The Design of a Language Processor Generator",
  journal =      "Software---Practice and Experience",
  volume =       "18",
  number =       "2",
  pages =        "107--135",
  month =        feb,
  year =         "1988",
  keywords =     "syst.HLP84",
  mynote =       "Titre explicite. Systeme tres bizarre, on se demande finalement quelle est l'influence des GAs sur ce
                 truc... (mj)",
}

@TechReport{Koskimies83a,
  author =       "Kai Koskimies and Jukka Paakki",
  title =        "{HLP84} Semantic Metalanguage and its Implementation",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1983-69",
  year =         "1983",
  keywords =     "syst.HLP84",
}

@InCollection{Koskimies87,
  author =       "Kai Koskimies and Jukka Paakki",
  title =        "{TOOLS}: a Unifying Approach to Object-Oriented Language Interpretation",
  booktitle =    "ACM SIGPLAN '87 Symp. on Interpreters and Interpretetive Techniques",
  publisher =    "ACM press",
  pages =        "153--164",
  address =      "St. Paul, MN",
  month =        jun,
  year =         "1987",
  keywords =     "syst.HLP84",
  mynote =       "Successeur de HLP84. Le langage est de plus en plus bizarre... (mj)",
  note =         "Published as ACM SIGPLAN Notices, volume 22, number 7",
}

@Article{Koskimies83b,
  author =       "Kai Koskimies and Kari-Jouko R{\"a}ih{\"a}",
  title =        "Modelling of Space-efficient One-pass Translation using Attribute Grammars",
  journal =      "Software---Practice and Experience",
  volume =       "13",
  number =       "2",
  pages =        "119--129",
  month =        feb,
  year =         "1983",
  keywords =     "alloc",
  note =         "See also: report C-1982-63, Department of Comp. Sc., University of Helsinki (1982).",
}

@InCollection{Koskimies82a,
  author =       "Kai Koskimies and Kari-Jouko R{\"a}ih{\"a} and Matti Sarjakoski",
  title =        "Compiler Construction using Attribute Grammars",
  booktitle =    "ACM SIGPLAN '82 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "153--159",
  address =      "Boston, MA",
  month =        jun,
  year =         "1982",
  keywords =     "applic.MC",
  note =         "Published as ACM SIGPLAN Notices, volume 17, number 6",
  abstract =     "The adequacy of attribute grammars as a compiler writing tool is studied on the basis of the
                 experiences on attribute grammars for Pascal and a subset of Euclid. A qualitative assessment of the
                 grammar shows that the compiler oriented view in the design of an attribute grammar tends to make the
                 grammar hard to understand. A design discipline is proposed to improve the comprehensibility of the
                 grammar. Quantitive measurements of the automatically generated compilers suggest that an efficient
                 compiler can be produced from an attribute grammar. To achieve this, a careful optimized implementation
                 of the compiler-compiler is required.",
}

@TechReport{Koster71,
  author =       "Cornelius H. A. Koster",
  title =        "A Compiler Compiler",
  institution =  "Mathematisch Centrum",
  type =         "Technical Report MR",
  number =       "127",
  address =      "Amsterdam",
  year =         "1971",
  keywords =     "divers.affix",
}

@InCollection{Koster77,
  author =       "Cornelius H. A. Koster",
  editor =       "A. Ershov and Cornelius H. A. Koster",
  title =        "{CDL} {A} Compiler Implementation Language",
  booktitle =    "Methods of Algorithmic Language Implementation",
  series =       "Lecture Notes in Computer Science",
  volume =       "47",
  pages =        "341--350",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1977",
  keywords =     "divers.affix",
}

@InCollection{Koster74,
  author =       "Cornelius H. A. Koster",
  editor =       "F. L. Bauer and J. Eickel",
  title =        "Using the {CDL} Compiler-Compiler",
  booktitle =    "Compiler Construction: an Advanced Course",
  series =       "Lecture Notes in Computer Science",
  volume =       "21",
  pages =        "366--426",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1974",
  keywords =     "divers.affix",
}

@InCollection{Koster71a,
  author =       "Cornelius H. A. Koster",
  editor =       "J. E. L. Peck",
  title =        "Affix Grammars",
  booktitle =    "Algol 68 Implementation",
  pages =        "95--109",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1971",
  keywords =     "divers.affix",
}

@InCollection{Krieg-Bruckner87,
  author =       "Bernd Krieg-Br{\"u}ckner and Berthold Hoffmann and Harald Ganzinger and Manfred Broy and Reinhard
                 Wilhelm and Ulrich M{\"o}ncke and Beatrix Weisgerber and A. D. McGettrick and Ian G. Campbell and Georg
                 Winterstein",
  editor =       "{CEC---Directorate General XIII}",
  title =        "{PROSPECTRA}: Program Development by Specification and Transformation",
  booktitle =    "ESPRIT '86: Results and Achievements",
  publisher =    "Elsevier",
  address =      "Amsterdam--New York",
  year =         "1987",
  keywords =     "syst.OPTRAN",
  mynote =       "Presentation du projet ESPRIT PROSPECTRA. (mj)",
  note =         "Bruxelles",
}

@Article{Krishnaswamy80,
  author =       "R. Krishnaswamy and A. B. Pyster",
  title =        "On the Correctness of Semantic-Syntax-Directed Translations",
  journal =      "J. ACM",
  volume =       "27",
  number =       "2",
  pages =        "338--355",
  month =        apr,
  year =         "1980",
  keywords =     "valid",
}

@InCollection{Kristensen83,
  author =       "B. B. Kristensen and Ole L. Madsen and B. M{\"o}ller-Pedersen and K. Nygaard",
  editor =       "P. Degano and E. Sandewall",
  title =        "Syntax-directed Program Modularization",
  booktitle =    "Integrated Interactive Computing Systems",
  pages =        "207--219",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1983",
  keywords =     "applic.prog",
}

@TechReport{Kruszewski82,
  author =       "Marek Kruszewski and Dariusz Kupiecki and Julian Winiewski",
  title =        "A Resident-Compiler Production Method and its Implementation",
  institution =  "Institute of Mathematical Machines---MERA",
  type =         "report",
  address =      "Warsaw",
  month =        feb,
  year =         "1982",
  keywords =     "syst.COPS",
}

@TechReport{Kruszewski74,
  author =       "S. Kruszewski and S. Jarzabek",
  title =        "{COALA}---the Object Code of the Compiler Producing System",
  institution =  "Institute of Mathematical Machines---MERA",
  type =         "internal report",
  address =      "Warsaw",
  year =         "1974",
  keywords =     "syst.COPS",
  note =         "(in Polish)",
}

@TechReport{Krzemien75,
  author =       "R. Krzemien",
  title =        "{L}'Implantation de Syst{\`e}me Lisp sur {IRIS} 80 en utilisant le Syst{\`e}me {DELTA}",
  institution =  "INRIA",
  type =         "rapport interne",
  address =      "Rocquencourt",
  month =        jul,
  year =         "1975",
  keywords =     "exem.LISP",
}

@PhdThesis{Kuhling78,
  author =       "P. K{\"u}hling",
  title =        "Affixgrammatiken zur Beschreibung von Programmiersprachen",
  school =       "Tech. University Berlin",
  type =         "Diploma Thesis",
  year =         "1978",
  keywords =     "divers.affix",
}

@PhdThesis{Kuiper89,
  author =       "Matthijs F. Kuiper",
  title =        "Parallel Attribute Evaluation",
  school =       "Faculteit Wiskunde en Informatica, Rijksuniv. Utrecht",
  type =         "Ph.{D}. Thesis",
  month =        nov,
  year =         "1989",
  keywords =     "eval circ",
  mynote =       "E'tudie comment extraire le maximum de parallelisme d'une grammaire attribue'e et propose plusieurs
                 techniques d'ordonnancement. La notion de graphe caracte'ristique fait l'objet d'extensions
                 inte'ressantes (mais che`res!). Malheureusement il n'y a pas de re'elle implantation, et les
                 simulations ne sont pas tre`s convaincantes car elles ne prennent pas en compte le cou^t de la
                 synchronisation et des conflits d'acce`s. (mj)",
}

@InCollection{Kuiper89a,
  author =       "Matthijs F. Kuiper and Atze Dijkstra",
  editor =       "John Wexler",
  title =        "Attribute Evaluation on a Network of Transputers",
  booktitle =    "Developing Transputer Applications",
  pages =        "142--149",
  publisher =    "IOS",
  address =      "Amsterdam",
  year =         "1989",
  keywords =     "eval",
}

@TechReport{Kurki-Suonio74,
  author =       "Reino Kurki-Suonio",
  title =        "An Exercise on Formal Definition of a Simple Data Retrieval System",
  institution =  "Department of Comp. Sc., University of Tampere",
  type =         "report",
  number =       "A7",
  month =        aug,
  year =         "1974",
  keywords =     "applic.DB",
}

@TechReport{Kurki-Suonio75,
  author =       "Reino Kurki-Suonio",
  title =        "Towards Better Strutured Definitions of Programming Languages",
  institution =  "Comp. Sc. Department, Stanford University",
  type =         "report",
  number =       "STAN-CS-75-300",
  month =        sep,
  year =         "1975",
  keywords =     "divers.divers",
}

@InCollection{Kurochkin88,
  author =       "V. M. Kurochkin",
  title =        "A Universal Economical Algorithm of Attribute Evaluation",
  booktitle =    "Actes du S{\'e}minaire Franco-Sovi{\'e}tique Informatika 88",
  pages =        "1--6",
  publisher =    "INRIA",
  address =      "Nice",
  month =        feb,
  year =         "1988",
  keywords =     "eval",
  mynote =       "D'une nullite affligeante. (mj)",
}

@MastersThesis{Lacroix83,
  author =       "R. P. A. Lacroix",
  title =        "Semantics-directed Editing in an Incremental Processing Environment",
  school =       "Worcester Polytechnic Inst.",
  type =         "Master's Thesis",
  month =        dec,
  year =         "1983",
  keywords =     "???",
  mynote =       "aucune idee du contenu. Reference dans [OL87] sans explications. (mj)",
}

@TechReport{Lammel84,
  author =       "Uwe L{\"a}mmel",
  title =        "Spezifikation und Implementation von Kommandosprachen f{\"u}r Dialogsysteme mit Hilfe einer
                 attributierten Grammatik",
  institution =  "Sektion Informationsverarbeitung der W.-Pieck-University",
  type =         "Dissertation A",
  address =      "Rostock",
  year =         "1984",
  keywords =     "syst.RUGEN",
  abstract =     "A method for describing dialogue systems by GSFs is given. Provided a fixed form of commands of the
                 command language, the GSF defining the language can be derived automatically from a signature. (mj)",
}

@PhdThesis{Lammel81,
  author =       "Uwe L{\"a}mmel and K. J. Schuchardt",
  title =        "Das compilerschreibende System {R}{\"U}{GEN}---Rostocker {\"U}bersetzer {GEN}erator",
  school =       "Sektion Mathematik der W.-Pieck-University",
  type =         "Diploma Thesis",
  address =      "Rostock",
  year =         "1981",
  keywords =     "syst.RUGEN",
  abstract =     "The compiler-compiler RUGEN based on GSFs is described.",
}

@InProceedings{Lecarme75,
  author =       "Olivier Lecarme",
  title =        "Practicability and Portability in a Compiler-Construction System",
  booktitle =    "Procs. of the All-Union Symp. on Methods of Implementing New Algorithmic Languages, Part 1",
  pages =        "47--?",
  address =      "Novosibirsk",
  year =         "1975",
  keywords =     "syst.CWS",
  note =         "(in Russian)",
}

@InCollection{Lecarme77,
  author =       "Olivier Lecarme",
  editor =       "A. Ershov and Cornelius H. A. Koster",
  title =        "Usability and Portability of a Compiler Writing System",
  booktitle =    "Methods of Algorithmic Language Implementation",
  series =       "Lecture Notes in Computer Science",
  volume =       "47",
  pages =        "41--62",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1977",
  keywords =     "syst.CWS",
}

@TechReport{Lecarme74,
  author =       "Olivier Lecarme and Gregor V. Bochmann",
  title =        "A Compiler Writing System User's Manual",
  institution =  "D{\'e}pt. d'informatique, University de Montr{\'e}al",
  type =         "document de travail",
  number =       "57",
  month =        dec,
  year =         "1974",
  keywords =     "syst.CWS",
}

@InCollection{Lecarme74a,
  author =       "Olivier Lecarme and Gregor V. Bochmann",
  editor =       "J. L. Rosenfeld",
  title =        "A (truly) Usable and Portable Compiler Writing System",
  booktitle =    "Information Processing '74",
  pages =        "218--221",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        aug,
  year =         "1974",
  keywords =     "syst.CWS",
  note =         "Stockholm",
}

@TechReport{Lecocq86,
  author =       "B. Lecocq",
  title =        "Optimisation d'{\'E}valuateurs d'Attributs",
  institution =  "University de Bordeaux~I",
  type =         "rapport de {DEA}",
  year =         "1986",
  keywords =     "eval",
}

@TechReport{Lee72,
  author =       "C. J. C. Lee",
  title =        "Translation of Context-free Programming Languages using Semantic Trees",
  institution =  "Department of Comp. Sc., University of Toronto",
  type =         "Technical Report",
  number =       "43",
  month =        jul,
  year =         "1972",
  keywords =     "divers.divers",
}

@InCollection{Lehmann77,
  author =       "N. J. Lehmann",
  editor =       "A. Ershov and Cornelius H. A. Koster.",
  title =        "Problem-oriented Languages and {DEPOT} Implementing System",
  booktitle =    "Methods of Algorithmic Language Implementation",
  series =       "Lecture Notes in Computer Science",
  volume =       "47",
  pages =        "1--20",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1977",
  keywords =     "syst.DEPOT",
}

@TechReport{Lehtonen87,
  author =       "Tapio Lehtonen",
  title =        "{HLP84}: Pascal Implementation of the Semantic Metalanguage",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1987-27",
  year =         "1987",
  keywords =     "syst.HLP84",
}

@InCollection{Lepp85,
  author =       "M. V. Lepp and Aare O. Vooglaid and Leo K. Vyhandu",
  title =        "{ELMA}---an Instrumental Tool to Build Programming Systems",
  booktitle =    "Soviet-French Symp. on Computer Science",
  pages =        "130--136",
  publisher =    "Institute of Cybernetics of the Academy of Sciences of the SSR of Estonia",
  address =      "Tallinn",
  month =        may,
  year =         "1985",
  keywords =     "syst.ELMA",
}

@InCollection{Lepp86,
  author =       "M. V. Lepp and Aare O. Vooglaid and Leo K. Vyhandu",
  title =        "{ELMA} as an Instrumental System for Building Practical Programming Systems",
  booktitle =    "TPI '86 (Data Processing, Compiler Writing, Programming)",
  pages =        "85--92",
  publisher =    "Faculty of Economics LIX",
  address =      "Tallinn",
  year =         "1986",
  keywords =     "syst.ELMA",
  abstract =     "sur ELMA (pd)",
}

@Unpublished{Leszezylowski87,
  author =       "J. Leszezylowski and S. Bonnier and Jan Maluszynski",
  title =        "Logic Programs with External Procedures: Introducing {S}-Unification",
  type =         "draft",
  month =        apr,
  year =         "1987",
  keywords =     "vari.LP",
  note =         "University of Link{\"o}ping",
}

@InProceedings{Lewi75,
  author =       "J. Lewi and K. {De Vlaminck} and J. Huens and P. Mertens",
  editor =       "J. M{\"u}hlbacher",
  title =        "{SLS}/1: a Translator Writing System",
  booktitle =    "GI 5. Jahrestagung",
  series =       "Lecture Notes in Computer Science",
  volume =       "34",
  pages =        "627--641",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1975",
  keywords =     "syst.LILA",
  note =         "Dortmund",
}

@TechReport{Lewi76,
  author =       "J. Lewi and K. {De Vlaminck} and J. Huens",
  title =        "Project {LILA}, {FIGDRAW} and {PICO}-{ALGOL}, an experience with {LILA} in a Course on Compiler
                 Construction",
  institution =  "Applied Mathematics and Programming Division, Katholieke Universiteit Leuven",
  type =         "report",
  number =       "CW4",
  month =        jan,
  year =         "1976",
  keywords =     "exem.ALGOL",
}

@Book{Lewi79,
  author =       "J. Lewi and K. {De Vlaminck} and J. Huens and M. Huybrechts",
  title =        "A programming Methodology in Compiler Construction",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1979",
  keywords =     "syst.LILA",
  note =         "I and II",
}

@TechReport{Lewi77,
  author =       "J. Lewi and K. {De Vlaminck} and J. Huens and M. Huybrechts",
  title =        "Project {LILA} User's Manual",
  institution =  "Applied Mathematics and Programming Division, Katholieke Universiteit Leuven",
  type =         "report",
  number =       "CW7",
  year =         "1977",
  keywords =     "syst.LILA",
}

@InCollection{Lewi83,
  author =       "J. Lewi and K. {De Vlaminck} and J. Huens and E. Steegmans",
  editor =       "D. R. Wilson and C. J. van Spronsen",
  title =        "The Language Implementation Laboratory {LILA}: an Overview",
  booktitle =    "MICROCOMPUTERS: Developments in Industry, Business and Education (EUROMICRO '83)",
  pages =        "11--21",
  publisher =    "Elsevier",
  address =      "Amsterdam--New York",
  year =         "1983",
  keywords =     "syst.LILA",
  mynote =       "de la pub pour LILA, une ``methodologie de logiciel'' en matiere de construction de compilateurs.
                 (mj)",
  note =         "Madrid",
}

@Article{Lewis74,
  author =       "P. M. Lewis and D. J. Rosenkrantz and R. E. Stearns",
  title =        "Attributed Translations",
  journal =      "Journal of Computer and System Sciences",
  volume =       "9",
  number =       "3",
  pages =        "279--307",
  month =        dec,
  year =         "1974",
  keywords =     "divers.lang",
}

@Book{Lewis76,
  author =       "P. M. Lewis and D. J. Rosenkrantz and R. E. Stearns",
  title =        "Compiler Design Theory",
  publisher =    "Addison Wesley",
  address =      "Reading, MA",
  year =         "1976",
  keywords =     "divers.lang",
}

@PhdThesis{Lipps86,
  author =       "Peter Lipps",
  title =        "Komplexe Attribute---Mechanismen zur Verwaltung und Berechnung in einem baumtransformierenden System",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1986",
  keywords =     "tat incr",
}

@Article{Lipps88,
  author =       "Peter Lipps and Ulrich M{\"o}ncke and Matthias Olk and Reinhard Wilhelm",
  title =        "Attribute (Re)evaluation in {OPTRAN}",
  journal =      "Acta Informatica",
  volume =       "26",
  pages =        "213--239",
  year =         "1988",
  keywords =     "syst.OPTRAN incr eval class",
  mynote =       "Ce papier presente les algorithmes de reevaluation utilises dans OPTRAN apres une ou plusieurs
                 transformations d'arbres. Il y a plusieurs parties interessantes: 1) une longue discussion sur la
                 (re)evaluation selon des plans (cf. [DJL88]) et la creation de ces plans par OPTRAN; c'est la classique
                 transformation NC->l-ordonnee [EF82x], mais les approximations (p.e. FNC->l-ordonnee) sont presentees
                 d'une maniere interessante; il y a aussi une heuristique interessante pour eviter l'explosion du nombre
                 de partitions totalement ordonnees (ils n'ont pas lu la these de Didier!) qui est de commencer d'abord
                 avec tous les attributs evaluables en passes (LR et RL) et de n'effectuer la transformation generale
                 que pour les autres. 2) Reevaluation dirigee par les donnees, avec des etiquettes N et E et une
                 comparaison avec Reps. 3) Reevaluation a la demande, avec des etiquettes I et K. 4) Combinaison et
                 resultats pratiques. J'ai deja vu qqpart les parties 2 et 3. Papier bien concu et idees claires, mais
                 anglais epouvantable. Je crois qu'il y a enormement de similitudes entre ces travaux et les notres
                 (Didier et Aziz). (mj)",
  note =         "See also: ESPRIT PROSPECTRA Project Report S.1.3 - R.4.0, University des Saarlandes, Saarbr{\"u}cken
                 (1986).",
}

@InCollection{Lipps88a,
  author =       "Peter Lipps and Ulrich M{\"o}ncke and Reinhard Wilhelm",
  editor =       "Dieter Hammer",
  title =        "{OPTRAN}: {A} Language/System for the Specification of Program Transformations---System Overview and
                 Experiences",
  booktitle =    "Compiler Compilers and High Speed Compilation",
  series =       "Lecture Notes in Computer Science",
  volume =       "371",
  pages =        "52--65",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1988",
  keywords =     "syst.OPTRAN",
  note =         "Berlin",
}

@Article{Logrippo83,
  author =       "Luigi Logrippo and Douglas R. Skuce",
  title =        "File Structures, Program Structures and Attributed Grammars",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-9",
  number =       "3",
  pages =        "260--266",
  month =        may,
  year =         "1983",
  keywords =     "applic.prog",
}

@TechReport{Lorho74,
  author =       "Bernard Lorho",
  title =        "De la d{\'e}finition {\`a} la traduction des langages de programmation: m{\'e}thode des attributs
                 s{\'e}mantiques",
  institution =  "University Paul Sabatier",
  type =         "th{\`e}se d'{\'E}tat",
  address =      "Toulouse",
  month =        nov,
  year =         "1974",
  keywords =     "eval vari.pract syst.DELTA",
}

@InCollection{Lorho77,
  author =       "Bernard Lorho",
  editor =       "A. Ershov and Cornelius H. A. Koster.",
  title =        "Semantic Attributes Processing in the System {DELTA}",
  booktitle =    "Methods of Algorithmic Language Implementation",
  series =       "Lecture Notes in Computer Science",
  volume =       "47",
  pages =        "21--40",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1977",
  keywords =     "syst.DELTA",
}

@InCollection{Lorho75,
  author =       "Bernard Lorho and Claude Pair",
  editor =       "G{\'e}rard Huet and Gilles Kahn",
  title =        "Algorithms for Checking Consistency of Attribute Grammars",
  booktitle =    "Proving and Improving Programs",
  pages =        "29--54",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  month =        jul,
  year =         "1975",
  keywords =     "circ",
  note =         "Arc et Senans",
}

@InCollection{Lotzsch87,
  author =       "J. L{\"o}tzsch",
  title =        "Specialised Language Centered Communication and its Automatic Implementation",
  booktitle =    "Problem Solving Environments for Scientific Computing",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1987",
  keywords =     "divers.divers",
  mynote =       "a vrai dire je ne vois pas tres bien ce que ce papier vient faire ici (ya tout de meme un rapport).
                 (pd)",
}

@InCollection{Lotzsch88,
  author =       "J. L{\"o}tzsch and K. Mager",
  editor =       "O. M. Tammepuu",
  title =        "A System for Design, Implementation and Application of Specialized Languages",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "31--42",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "syst.DEPOT",
}

@Article{Lu83,
  author =       "P. M. Lu and S. S. Yau and W. Hong",
  title =        "A Formal Methodology using Attributed Grammars for Multiprocessing-System Software Development",
  journal =      "Information Sciences. An International Journal",
  volume =       "30",
  number =       "2 and 3",
  pages =        "79--105 and 107--123",
  year =         "1983",
  keywords =     "applic.prog",
  note =         "I: Design Representation, II: Validation",
}

@InCollection{Lu88,
  author =       "Qi Lu and Jiahua Qian",
  title =        "An Efficient Method for Incremental Attribute Evaluation by using Multi-dependency",
  booktitle =    "COMPSAC '88",
  pages =        "162--169",
  address =      "Chicago, IL",
  month =        oct,
  year =         "1988",
  keywords =     "incr class",
  mynote =       "Une nouvelle me'thode d'evaluation incre'mentale, moitie' statique moitie' dynamique, et une nouvelle
                 classe, les NCMD-AGs. Je dois reconnai^tre que je n'ai pas compris grand-chose au papier, ce qui fait
                 que je ne peux pas en dire tellement plus. En particulier, je ne sais pas comment se situent les
                 NCMD-AGs dans la hierarchie (lea auteurs non plus, d'ailleurs). (mj)",
}

@PhdThesis{Maas88,
  author =       "Thomas Maas",
  title =        "Spezifikation und Implementierung eines Compilerfrontends f{\"u}r Ada: Aufl{\"o}sung der
                 {\"U}berladung und Erzeugung von {DIANA}",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1988",
  keywords =     "applic.MC exem.ADA syst.OPTRAN",
}

@TechReport{Madsen80,
  author =       "C. M. Madsen",
  title =        "Parsing Attribute Grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "thesis",
  year =         "1980",
  keywords =     "eval",
}

@MastersThesis{Madsen75,
  author =       "Ole L. Madsen",
  title =        "On the Use of Attribute Grammars in a Practical Translator Writing System",
  school =       "Comp. Sc. Department, Aarhus University",
  type =         "Master's Thesis",
  number =       "report DAIMI",
  month =        jul,
  year =         "1975",
  keywords =     "syst.NEATS",
}

@TechReport{Madsen80a,
  author =       "Ole L. Madsen",
  title =        "Towards a Practical and General Translator Writing System",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  month =        mar,
  year =         "1980",
  keywords =     "syst.NEATS",
}

@InCollection{Madsen80b,
  author =       "Ole L. Madsen",
  editor =       "Neil D. Jones",
  title =        "On Defining Semantics by means of Extended Attribute Grammars",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "259--299",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "eval",
  note =         "See also: report DAIMI PB-109, Comp. Sc. Department, Aarhus University (January 1980).",
}

@TechReport{Madsen76,
  author =       "Ole L. Madsen and B. B. Kristensen and J. Staunstrup",
  title =        "Use of Design Criteria for Intermediate Languages",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  number =       "PB-59",
  month =        aug,
  year =         "1976",
  keywords =     "divers.divers",
}

@Article{Makarov83,
  author =       "V. P. Makarov",
  title =        "Attributed Quasitranslation Grammars and their Implementation in the {SAGET} Translator Generation
                 System",
  journal =      "Progr. and Computer Software",
  volume =       "9",
  number =       "2",
  pages =        "85--90",
  month =        mar,
  year =         "1983",
  keywords =     "eval syst.SAGET",
}

@Article{Makarov82,
  author =       "V. P. Makarov",
  title =        "Syntax-directed Translation in the {SAGET} Translator Writing System",
  journal =      "Preprint IM Akad. Nauk BSSR",
  volume =       "127",
  year =         "1982",
  keywords =     "syst.SAGET",
}

@InCollection{Makarov80,
  author =       "V. P. Makarov and V. G. Peshkov",
  title =        "The Translator Generating System {SAGET}",
  booktitle =    "Computer-Aided Generation of Application Packages (Automatic Translator Generation), Abstract of
                 Papers",
  publisher =    "Polytechnic Institute",
  address =      "Tallinn",
  year =         "1980",
  keywords =     "syst.SAGET",
  note =         "(in Russian)",
}

@Article{Mamrak87,
  author =       "S. A. Mamrak and M. J. Kaebling and C. K. Nicholas and M. Share",
  title =        "A Software Architecture for Supporting the Exchange of Electronic Manuscripts",
  journal =      "Communications of the Association for Computing Machinery",
  volume =       "30",
  number =       "5",
  pages =        "408--414",
  month =        may,
  year =         "1987",
  keywords =     "applic.divers",
}

@InCollection{DeMan83,
  author =       "J. {De Man} and M. Peerlinck and D. Genin and V. Goovaerts",
  editor =       "D. R. Wilson and C. J. van Spronsen",
  title =        "Implementation of a Compiler for {CHILL}",
  booktitle =    "MICROCOMPUTERS: Developments in Industry, Business and Education (EUROMICRO '1983)",
  pages =        "23--29",
  publisher =    "Elsevier",
  address =      "Amsterdam--New York",
  year =         "1983",
  keywords =     "exem.CHILL",
  mynote =       "Construction d'un compilo CHILL a l'aide de LILA.",
  note =         "Madrid",
}

@MastersThesis{Manion85,
  author =       "Frank Manion",
  title =        "An Attribute Based Compiler Generator for Unrestricted Conditional Attribute Grammars",
  school =       "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Master's Thesis",
  address =      "Philadelphia, PA",
  year =         "1985",
  keywords =     "eval syst.CIS",
}

@Article{Marcotty76,
  author =       "M. Marcotty and H. F. Ledgard and Gregor V. Bochmann",
  title =        "A Sampler of Formal Definitions",
  journal =      "Computing Surveys. ACM. Association for Computing Machinery",
  volume =       "8",
  number =       "2",
  pages =        "191--276",
  month =        jun,
  year =         "1976",
  keywords =     "vari.pract",
}

@InCollection{Marque-Pucheu75,
  author =       "M. Marque-Pucheu",
  editor =       "G{\'e}rard Huet and Gilles Kahn",
  title =        "Application de la m{\'e}thode des attributs {\`a} la d{\'e}finition des compilateurs",
  booktitle =    "Proving and Improving Programs",
  pages =        "263--283",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  month =        jul,
  year =         "1975",
  keywords =     "applic.MC",
  note =         "Arc et Senans",
}

@Article{Maurer72,
  author =       "W. D. Maurer",
  title =        "A Semantic Extension of {BNF}",
  journal =      "International Journal of Computer Mathematics. Section A. Programming Theory and Methods. Section B.
                 Computational Methods, Sect.~A",
  volume =       "3",
  number =       "2",
  pages =        "157--176",
  month =        sep,
  year =         "1972",
  keywords =     "exem.FORTRAN",
}

@Article{Mayoh81,
  author =       "Brian H. Mayoh",
  title =        "Attribute Grammars and Mathematical Semantics",
  journal =      "SIAM Journal on Computing",
  volume =       "10",
  number =       "3",
  pages =        "503--518",
  month =        aug,
  year =         "1981",
  keywords =     "class sema",
  note =         "See also: report DAIMI PB-90, Comp. Sc. Department, Aarhus University (August 1978).",
}

@TechReport{McEnerney83,
  author =       "John M. McEnerney",
  title =        "A General Compiler Generator based on Attribute Grammars",
  institution =  "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Senior thesis",
  address =      "Philadelphia, PA",
  month =        jun,
  year =         "1983",
  keywords =     "syst.CIS",
}

@Article{Meijer82,
  author =       "Hans Meijer and Anton Nijholt",
  title =        "Translator Writing Tools since 1970: a Selective Bibliography",
  journal =      "ACM SIGPLAN Notices",
  volume =       "17",
  number =       "10",
  pages =        "62--72",
  month =        oct,
  year =         "1982",
  keywords =     "survey",
}

@InProceedings{Melichar86,
  author =       "Borivoj Melichar",
  title =        "Attributed Translation Directed by {LR} Parser and its Implementation",
  booktitle =    "Proc. of the Bautzen Workshop on Compiler Compilers and Incremental Compilation",
  publisher =    "Akad. der Wissenschaften der DDR",
  year =         "1986",
  keywords =     "eval",
}

@InCollection{Melichar84,
  author =       "Borivoj Melichar",
  title =        "Evaluation of Attributes during {LR} Syntax Analysis",
  booktitle =    "Vortr{\"a}ge des Problemseminars Attributierte Grammatiken und ihre Anwendungen",
  publisher =    "Pruchten. Wilhelm-Pieck University",
  address =      "Rostock",
  year =         "1984",
  keywords =     "eval",
}

@InCollection{Meriste81,
  author =       "Merik B. M{\'e}rist{\'e}",
  title =        "Combining the Evaluation of Attributes with Parsing",
  booktitle =    "Abstracts of Papers at the Soviet Conf. on Translation Methods",
  pages =        "103--105",
  address =      "Novosibirsk",
  year =         "1981",
  keywords =     "eval",
  note =         "(in Russian)Published as Akademiya Nauk SSSR. Sibirskoe Otdelenie. Vychislitel'ny\u \i \ Tsentr.
                 Preprint",
}

@Article{Meriste80,
  author =       "Merik B. M{\'e}rist{\'e}",
  title =        "Methods of Implementing Attribute Schemes in Compiler-Construction Systems (review)",
  journal =      "Progr. and Computer Software",
  volume =       "6",
  number =       "5",
  pages =        "253--261",
  month =        sep,
  year =         "1980",
  keywords =     "survey",
}

@InCollection{Meriste85,
  author =       "Merik B. M{\'e}rist{\'e}",
  title =        "Mixed Strategy Implementation of Attribute Grammars",
  booktitle =    "Soviet-French Symp. on Computer Science",
  pages =        "120--125",
  publisher =    "Institute of Cybernetics of the Academy of Sciences of the SSR of Estonia",
  address =      "Tallinn",
  month =        may,
  year =         "1985",
  keywords =     "eval",
  mynote =       "{\'E}tudie la possibilite d'evaluer des GAs en utilisant une strategie 1-visit sur les productions ou
                 c'est possible et une strategie dynamique ailleurs. (mj)",
}

@InCollection{Meriste88,
  author =       "Merik B. M{\'e}rist{\'e} and Jaan Penjam",
  editor =       "O. M. Tammepuu",
  title =        "Computational Models and Semantics of Programming Languages",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "79--94",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "applic.MC",
}

@TechReport{Merkle77,
  author =       "R. C. Merkle",
  title =        "Evaluators for Attribute Grammars",
  institution =  "Comp. Sc. Department, University of California",
  type =         "M.Sc. thesis",
  address =      "Berkeley, CA",
  month =        mar,
  year =         "1977",
  keywords =     "eval",
}

@InCollection{Milos84,
  author =       "Don Milos and Uwe F. Pleban and George Loegel",
  title =        "Direct Implementation of Compiler Specifications or the Pascal {P}-Code Compiler Revisited",
  booktitle =    "11th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "196--207",
  address =      "Salt Lake City, Ut",
  month =        jan,
  year =         "1984",
  keywords =     "divers.denot",
  mynote =       "Reecriture du compilo Pascal portable pour le systeme de Paulson; le resultat va 30 fois moins vite...
                 (mj)",
}

@PhdThesis{Milton77,
  author =       "D. R. Milton",
  title =        "Syntactic Specification and Analysis with Attributed Grammars",
  school =       "Comp. Sc. Department, University of Wisconsin-Madison",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 304",
  month =        aug,
  year =         "1977",
  keywords =     "eval",
}

@InCollection{Milton79,
  author =       "D. R. Milton and Charles N. Fischer",
  editor =       "H. A. Maurer",
  title =        "{LL}(k) Parsing for Attributed Grammars",
  booktitle =    "6th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "71",
  pages =        "422--430",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1979",
  keywords =     "eval",
  note =         "Graz",
}

@InCollection{Milton79a,
  author =       "D. R. Milton and L. W. Kirchoff and Bruce R. Rowland",
  title =        "An {ALL}(1) Compiler Generator",
  booktitle =    "ACM SIGPLAN '79 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "152--157",
  address =      "Denver, Co",
  month =        aug,
  year =         "1979",
  keywords =     "syst.APARSE",
  note =         "Published as ACM SIGPLAN Notices, volume 14, number 8",
}

@PhdThesis{Moncke85,
  author =       "Ulrich M{\"o}ncke",
  title =        "Generierung von Systemen zur Transformation attributierter Operatorb{\"a}ume: Komponenten des Systems
                 und Mechanismen der Generierung",
  school =       "University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1985",
  keywords =     "tat",
}

@TechReport{Moncke87,
  author =       "Ulrich M{\"o}ncke",
  title =        "Grammar Flow Analysis",
  institution =  "University des Saarlandes",
  type =         "ESPRIT PROSPECTRA Project report",
  number =       "S.1.3.--R-2.2",
  address =      "Saarbr{\"u}cken",
  month =        mar # " 1986, revised " # jan,
  year =         "1987",
  keywords =     "divers.divers",
  mynote =       "Formalisation et generalisation des algorithmes de parcours de grammaires utilises dans les tests de
                 circularite. Extension a tout probleme se ramenant a la propagation d'information sur les
                 non-terminaux. Tres interessant (bien qu'un peu lourd), et on peut y inclure la quasi-totalite de nos
                 optimisations. (mj)",
}

@InCollection{Moncke86,
  author =       "Ulrich M{\"o}ncke and Beatrix Weisgerber and Reinhard Wilhelm",
  title =        "Generative Support for Transformational Programming",
  booktitle =    "ESPRIT '85: Status Report of Continuing Work",
  pages =        "511--527",
  publisher =    "Elsevier",
  address =      "Amsterdam--New York",
  year =         "1986",
  keywords =     "tat",
}

@InProceedings{Moncke84,
  author =       "Ulrich M{\"o}ncke and Beatrix Weisgerber and Reinhard Wilhelm",
  editor =       "U. Ammann",
  title =        "How to Implement a System for Manipulation of Attributed Trees",
  booktitle =    "GI 8. Fachtagung ``Programmiersprachen und Programentwicklung''",
  series =       "Inf. Fachb.",
  volume =       "77",
  pages =        "112--127",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        mar,
  year =         "1984",
  keywords =     "tat",
  note =         "Z{\"u}rich",
}

@InCollection{Moncke82,
  author =       "Ulrich M{\"o}ncke and Reinhard Wilhelm",
  editor =       "H. J. Schneider and Herbert G{\"o}ttler",
  title =        "Iterative Algorithms on Grammar Graphs",
  booktitle =    "Conf. on Graphtheoretic Concepts in Computer Science (WG '82)",
  pages =        "177--194",
  publisher =    "Hanser Verlag",
  address =      "M{\"u}nchen",
  month =        jun,
  year =         "1982",
  keywords =     "divers.divers",
  mynote =       "Premiere definition du Grammar Flow Analysis. (mj)",
  note =         "Neunkirchen a.Br.",
}

@TechReport{Morgan82,
  author =       "S. P. Morgan",
  title =        "Formal Specification of Static Semantics with an Affix Grammar Translator Generator",
  institution =  "IBM T.J. Watson Research Center",
  type =         "research report RC",
  number =       "9456",
  address =      "Yorktown Heights, NY",
  year =         "1982",
  keywords =     "divers.affix",
}

@InCollection{Mueckstein85,
  author =       "Eva-Maria M. Mueckstein",
  title =        "Controlled Natural Language Interfaces: the Best of Three Worlds",
  booktitle =    "ACM Computer Science Conf.",
  publisher =    "ACM press",
  month =        mar,
  year =         "1985",
  keywords =     "applic.DB",
}

@InCollection{Mueckstein83,
  author =       "Eva-Maria M. Mueckstein",
  title =        "{Q}-{TRANS}: Query Translation into English",
  booktitle =    "8th Int. Joint Conf. on Artificial Intelligence",
  pages =        "660--662",
  address =      "Karlsruhe",
  month =        aug,
  year =         "1983",
  keywords =     "applic.DB",
}

@InCollection{Mughal85,
  author =       "Khalid A. Mughal",
  title =        "Control Flow Aspects of Generating Runtime Facilities for Language-based Programming Environments",
  booktitle =    "IEEE Conf. on Software Tools",
  pages =        "85--91",
  address =      "New York, NY",
  month =        apr,
  year =         "1985",
  keywords =     "applic.edit applic.GC applic.MC",
  mynote =       "Tres interessant papier montrant comment produire incrementalement du (pseudo-)code dans une GA pour
                 un editeur intelligent, de facon a pouvoir executer ce code depuis l'editeur et en faire donc un
                 veritable environnement de programmation avec les fonctionnalites du Cornell Program Synthesizer
                 originel: execution, debug, trace, etc. Le pb. est que cette generation de code coute assez cher; il
                 explique donc comment reduire la propagation des changements. Adapatable a OLGA. (mj)",
}

@InCollection{Myers84,
  author =       "Eugene W. Myers",
  title =        "Efficient Applicative Data Types",
  booktitle =    "11th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "66--75",
  address =      "Salt Lake City, Ut",
  month =        jan,
  year =         "1984",
  keywords =     "divers.divers",
  mynote =       "Presente quelques types de donnees classiques dont toutes les operations sont non-destructives, donc
                 idoines pour les GAs. (mj)",
}

@PhdThesis{Naini85,
  author =       "M. Naini",
  title =        "Design of Attribute Evaluators and Attribute Machines",
  school =       "Department of Comp. Inf. Sc., Moore School of Elec. Eng. D2, University of Pennsylvania",
  type =         "Ph.{D}. Thesis",
  address =      "Philadelphia, PA",
  year =         "1985",
  keywords =     "eval",
}

@Article{Nakata86,
  author =       "Ikuo Nakata and Masataka Sassa",
  title =        "{L}-attributed {LL}(1) Grammars are {LR}-attributed",
  journal =      "Information Processing Letters",
  volume =       "23",
  number =       "6",
  pages =        "325--328",
  month =        dec,
  year =         "1986",
  keywords =     "eval class",
  mynote =       "titre explicite (mj)",
}

@TechReport{Neel75,
  author =       "Dani{\`e}le N{\'e}el",
  title =        "Contribution {\`a} la formalisation de l'am{\'e}lioration de code par attributs s{\'e}mantiques",
  institution =  "University P. et M. Curie",
  type =         "th{\`e}se d'{\'E}tat",
  address =      "Paris",
  year =         "1975",
  keywords =     "applic.GC",
}

@InCollection{Neel75a,
  author =       "Dani{\`e}le N{\'e}el and Michaneh Amirchahy",
  title =        "Removal of Invariant Statements from Nested Loops in a Single Effective Compiler Pass",
  booktitle =    "Conf. on Programming Languages and Compilers for Parallel and Vector Machines",
  pages =        "87--96",
  address =      "New York, NY",
  month =        mar,
  year =         "1975",
  keywords =     "applic.DFA",
  note =         "Published as ACM SIGPLAN Notices, volume 10, number 3",
  publisher =    "ACM press",
}

@InCollection{Neel74,
  author =       "Dani{\`e}le N{\'e}el and Michaneh Amirchahy",
  title =        "Semantic Attributes and Improvement of Generated Code",
  booktitle =    "ACM 1974 Annual Conf.",
  publisher =    "ACM press",
  pages =        "1--10",
  address =      "San Diego, CA",
  month =        nov,
  year =         "1974",
  keywords =     "applic.GC",
}

@InProceedings{Neel74a,
  author =       "Dani{\`e}le N{\'e}el and Michaneh Amirchahy and Monique Mazaud",
  editor =       "D. Siefkes",
  title =        "Optimization of Generated Code by means of Attributes: Local Elimination of Common Redundant
                 Sub-expressions",
  booktitle =    "GI 4. Jahrestagung",
  series =       "Lecture Notes in Computer Science",
  volume =       "26",
  pages =        "247--256",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1974",
  keywords =     "applic.GC",
  note =         "Berlin",
}

@TechReport{Nestor83,
  author =       "John R. Nestor and Bhubaneswar Mishra and William L. Scherlis and William A. Wulf",
  title =        "Extensions to Attribute Grammars",
  institution =  "Tartan Labs.",
  type =         "report",
  number =       "TR-TL-83-36",
  address =      "Pittsburgh, PA",
  year =         "1983",
  keywords =     "eval",
}

@Article{Niemi84,
  author =       "Timo Niemi",
  title =        "Specification of a Query Language by the Attribute Method",
  journal =      "BIT",
  volume =       "24",
  pages =        "171--186",
  year =         "1984",
  keywords =     "applic.DB",
}

@Article{Niemi84a,
  author =       "Timo Niemi",
  title =        "Specification of Data Restructuring Software based on the Attribute Method",
  journal =      "International Journal of Computer and Information Sciences",
  volume =       "13",
  number =       "6",
  pages =        "425--460",
  year =         "1984",
  keywords =     "applic.DB",
}

@TechReport{Niemi87,
  author =       "Timo Niemi",
  title =        "A Systematic Specification Schema based on Attribute Grammars for Multi-level Database Applications",
  institution =  "Department of Comp. Sc., University of Tampere",
  type =         "report",
  number =       "A-1987-5",
  month =        mar,
  year =         "1987",
  keywords =     "applic.DB",
  mynote =       "titre explicite. (mj)",
}

@Article{Nilsson86,
  author =       "U. Nilsson",
  title =        "{AID}: an Alternative Implementation of {DCG}s",
  journal =      "New Generation Computing",
  volume =       "4",
  year =         "1986",
  keywords =     "vari.LP",
}

@TechReport{Nishino87,
  author =       "T. Nishino",
  title =        "The Intrinsically Exponential Complexity of the k-visit Property Problem for Attribute Grammars",
  type =         "to appear",
  year =         "1987",
  keywords =     "class",
}

@Article{Noonan75,
  author =       "Robert E. Noonan",
  title =        "Structured Programming and Formal Specification",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-1",
  number =       "4",
  pages =        "421--425",
  month =        dec,
  year =         "1975",
  keywords =     "applic.prog",
}

@InCollection{Nord88,
  author =       "Robert L. Nord and Frank Pfenning",
  editor =       "Peter Henderson",
  title =        "The Ergo Attribute System",
  booktitle =    "ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments",
  publisher =    "ACM press",
  pages =        "110--120",
  address =      "Boston, MA",
  month =        nov,
  year =         "1988",
  keywords =     "incr applic.edit",
  note =         "Joint issue with ACM SIGPLAN Notices 24, 2 (February 1989)Published as SIGSOFT Software Eng. Notes,
                 volume 13, number 5",
  abstract =     "The Ergo Attribute System was designed to satisfy the requirements for attributes in a
                 language-generic program derivation environment. It consists of three components: an abstract data type
                 of attributes that guarantees attribute consistency; a Common Lisp implementation which combines
                 demand-driven and incremental attribute evaluation in a novel way while allowing for attribute
                 persistence over many generations of a program; and an attribute-grammar compiler producing code based
                 on this abstract data type from a high-level specification. Experience with three major applications
                 (one being the attribute-grammar compiler itself) confirms that the overhead in storing and accessing
                 attributes incurred by the implementation scheme is more than offset by the gains from the
                 demand-driven, incremental, and persistent nature of attribution.",
}

@Book{Nordstrom76,
  author =       "M. Nordstr{\"o}m",
  title =        "A Method for Defining Formal Semantics of Programming Languages applied to {SIMULA}",
  publisher =    "Department of Comp. Sc., University of Uppsala",
  month =        "PhD thesis " # jun,
  year =         "1976",
  keywords =     "exem.SIMULA",
}

@Book{DeutscheIndust80,
  author =       "{Deutsche Industrie Norma}",
  title =        "Programmiersprache {PEARL}",
  publisher =    "Reuth-Verlag",
  year =         "1980",
  keywords =     "exem.PEARL",
  note =         "Normentwurf DIN 66253, Teil 2",
}

@TechReport{Nurmi82,
  author =       "Otto Nurmi and Matti Sarjakoski and Seppo Sippu",
  title =        "The {HLP84} Project",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "note",
  month =        mar,
  year =         "1982",
  keywords =     "syst.HLP84",
}

@TechReport{Obaid82,
  author =       "A. Oba{\"i}d",
  title =        "{\'E}valuateurs optimis{\'e}s pour les grammaires d'attributs fortement non-circulaires",
  institution =  "University de Bordeaux~I",
  type =         "th{\`e}se de 3{\`e}me cycle",
  month =        jun,
  year =         "1982",
  keywords =     "eval",
}

@InCollection{OConnor87,
  author =       "Mary Ann O'Connor and Karen A. Lemone",
  title =        "A Method to Improve Testing and Debugging in Robotic Programs Using Attribute Grammars",
  booktitle =    "ACM Missouri ???",
  pages =        "225--230",
  month =        feb,
  year =         "1987",
  keywords =     "applic.MC",
  mynote =       "Utilise les GA pour specifier et implanter un langage de controle de robots. Super-nul. Le seul merite
                 est peut-etre d'avoir fait decouvrir les GA aux roboticiens. (mj)",
}

@PhdThesis{Olk86,
  author =       "Matthias Olk",
  title =        "Generierung eines effizienten Attributschedulers f{\"u}r ein baumtransformierendes System",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1986",
  keywords =     "tat incr syst.OPTRAN",
}

@TechReport{Paakki88,
  author =       "Jukka Paakki",
  title =        "Generating One-pass Semantic Analysis for a Compiler",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "Ph. Lic. thesis, report",
  number =       "A-1988-8",
  month =        mar,
  year =         "1988",
  keywords =     "applic.MC syst.HLP84",
}

@TechReport{Paakki86,
  author =       "Jukka Paakki",
  title =        "The Implementation of the Semantic Part of {HLP84}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1986-4",
  year =         "1986",
  keywords =     "syst.HLP84",
}

@InCollection{Paillard77,
  author =       "J. P. Paillard and M. Simonet",
  editor =       "Jacques Andr{\'e} and Jean-Pierre Ban{\^a}tre",
  title =        "Attribute-like {W}-Grammars. Implementation and Design of Algorithmic Languages",
  booktitle =    "5th Annual III Conf.",
  pages =        "13--24",
  address =      "Guidel",
  month =        may,
  year =         "1977",
  keywords =     "vari.WG",
}

@Article{Pair79,
  author =       "Claude Pair and Michaneh Amirchahy and Dani{\`e}le N{\'e}el",
  title =        "Correctness Proofs of Syntax-directed Processing Descriptions by Attributes",
  journal =      "Journal of Computer and System Sciences",
  volume =       "19",
  number =       "1",
  pages =        "1--17",
  month =        aug,
  year =         "1979",
  keywords =     "valid",
}

@TechReport{Pair76,
  author =       "Claude Pair and Michaneh Amirchahy and Dani{\`e}le N{\'e}el",
  title =        "Preuves de descriptions de traitements de textes par attributs",
  institution =  "IRIA-Laboria",
  type =         "rapport de recherche",
  number =       "163",
  address =      "Rocquencourt",
  month =        mar,
  year =         "1976",
  keywords =     "valid",
}

@Article{Papakonstantin81,
  author =       "George K. Papakonstantinou",
  title =        "An Interpreter of Attribute Grammars and its Application to Waveform Analysis",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-7",
  number =       "3",
  pages =        "279--283",
  month =        may,
  year =         "1981",
  keywords =     "syst.STAR",
}

@Article{Papakonstantin79,
  author =       "George K. Papakonstantinou",
  title =        "A Poor Man's Realization of Attribute Grammars",
  journal =      "Software---Practice and Experience",
  volume =       "9",
  number =       "9",
  pages =        "719--728",
  month =        sep,
  year =         "1979",
  keywords =     "eval syst.STAR",
  mynote =       "Implantation d'un generateur d'evaluateurs par un macro-processeur. (mj)",
}

@Article{Papakonstantin83,
  author =       "George K. Papakonstantinou",
  title =        "A Sentence Generator based on Attribute Grammars",
  journal =      "Angew. Informatik",
  volume =       "8",
  year =         "1983",
  keywords =     "applic.divers",
}

@Article{Papakonstantin81a,
  author =       "George K. Papakonstantinou and F. Gritzali",
  title =        "Syntactic Filtering of {ECG} Waveforms",
  journal =      "Comput. and Biomed. Res.",
  volume =       "14",
  pages =        "158--167",
  year =         "1981",
  keywords =     "applic.divers",
}

@Article{Papakonstantin86,
  author =       "George K. Papakonstantinou and John Kontos",
  title =        "Knowledge Representation with Attribute Grammars",
  journal =      "The Computer Journal",
  volume =       "29",
  number =       "3",
  pages =        "241--245",
  year =         "1986",
  keywords =     "applic.divers",
  abstract =     "The use of attribute grammars for knowledge representation is examined in the present paper. It is
                 shown how data knowledge and knowledge-base knowledge can be represented using syntactic and semantic
                 notation. Control knowledge is represented by the parsing mechanism of the interpreter used. It is
                 proposed that attribute grammar evaluators may prove useful knowledge engineering tools.",
}

@InCollection{Papakonstantin82,
  author =       "George K. Papakonstantinou and E. Skordalakis",
  title =        "Normal {ECG} Pattern Generation using an Attribute Grammar",
  booktitle =    "6th Int. Conf. on Pattern Recognition",
  pages =        "696--698",
  address =      "M{\"u}nchen",
  month =        oct,
  year =         "1982",
  keywords =     "applic.divers",
}

@InProceedings{SkoPap84,
  author =       "E. Skordalakis and G Papakonstantinou",
  title =        "Towards an attribute grammar for the description of {ECG} waveforms",
  booktitle =    "7th International Conference on Pattern Recognition",
  publisher =    "IEEE Computer Society Press",
  year =         "1984",
}

@TechReport{Parchmann78,
  author =       "R. Parchmann",
  title =        "Grammatiken mit Attributeschema und Zweistufige Auswertung Attributierter Grammatiken",
  institution =  "Schriften zur Informatik und Angewandten Mathematik, Rheinisch-Westf{\"a}lische Tech. Hochschule
                 Aachen",
  type =         "Bericht",
  number =       "46",
  month =        feb,
  year =         "1978",
  keywords =     "eval",
}

@TechReport{Parchmann75,
  author =       "R. Parchmann",
  title =        "Syntaxgesteuerte Codierung zur Berechnung Arithmetischer Ausdrucke auf einer Parallelmaschine unter
                 Verwendung Knuth'scher Attribute",
  institution =  "Schriften zur Informatik und Angewandten Mathematik, Rheinisch-Westf{\"a}lische Tech. Hochschule
                 Aachen",
  type =         "Bericht",
  number =       "20",
  year =         "1975",
  keywords =     "applic.MC",
}

@TechReport{Paredaens74,
  author =       "J. Paredaens",
  title =        "A Relation Between Parsers and the Semantic Aspects of a Language",
  institution =  "MBLE Research Lab.",
  type =         "report",
  number =       "R275",
  address =      "Brussels",
  month =        nov,
  year =         "1974",
  keywords =     "divers.divers",
}

@TechReport{Parigot87,
  author =       "Didier Parigot",
  title =        "Mise en {\oe}uvre des grammaires attribu{\'e}es: transformation, {\'e}valuation incr{\'e}mentale,
                 optimisations",
  institution =  "University de Paris-Sud",
  type =         "th{\`e}se de 3{\`e}me cycle",
  address =      "Orsay",
  month =        sep,
  year =         "1987",
  keywords =     "tag eval incr",
}

@PhdThesis{Parigot88,
  author =       "Didier Parigot",
  address =      "Orsay",
  school =       "Universit\'e de Paris-Sud",
  title =        "Transformations, {\'E}valuation {I}ncr\'ementale et {O}ptimisations des {G}rammaires {A}ttribu\'es: {L}e
                 {S}yst\`eme {FNC}-2",
  year =         "1988",
  url =          "http://www.inria.fr/RRRT/TU-0044.html",
  keywords =     "tag eval incr syst.FNC2",
}

@TechReport{Parigot85,
  author =       "Didier Parigot",
  title =        "Un syst{\`e}me interactif de trace des circularit{\'e}s dans une grammaire attribu{\'e}e et
                 optimisation du test de circularit{\'e}",
  institution =  "University de Paris-Sud",
  type =         "rapport de {DEA}",
  address =      "Orsay",
  month =        sep,
  year =         "1985",
  keywords =     "circ",
  mynote =       "Titre explicite. Optimisations tres efficaces. Travail fait dans le cadre du systeme FNC/ERN. (mj)",
}

@PhdThesis{Paulson81,
  author =       "Larry Paulson",
  title =        "A Compiler Generator for Semantic Grammars",
  school =       "Department of Comp. Sc., Stanford University",
  type =         "Ph.{D}. Thesis",
  number =       "report STAN-CS-82-893",
  year =         "1981",
  keywords =     "syst.CGSG divers.denot",
}

@InCollection{Paulson82,
  author =       "Larry Paulson",
  title =        "A Semantics-directed Compiler Generator",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "224--233",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "syst.CGSG",
}

@InCollection{Paulson84,
  author =       "Larry Paulson",
  editor =       "Bernard Lorho",
  title =        "Compiler Generation from Denotational Semantics",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "219--250",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "syst.CGSG divers.denot",
}

@TechReport{Payton82,
  author =       "Teri F. Payton and S. E. Keller and J. A. Perkins and S. Rowan and S. P. Mardinly",
  title =        "Design Level Debugging of Attribute Grammars",
  institution =  "SDC---a Burroughs Company",
  type =         "report",
  address =      "Paoli, PA",
  year =         "1982",
  keywords =     "syst.SSAGS",
}

@InCollection{Payton82a,
  author =       "Teri F. Payton and S. E. Keller and J. A. Perkins and S. Rowan and S. P. Mardinly",
  title =        "{SSAGS}, a Syntax and Semantics Analysis and Generation System",
  booktitle =    "IEEE COMPSAC '82",
  pages =        "424--432",
  address =      "Chicago, Il",
  month =        nov,
  year =         "1982",
  keywords =     "syst.SSAGS",
}

@TechReport{Penjam80,
  author =       "Jaan Penjam",
  title =        "A Method of Automatic Implementation of Compilers",
  type =         "unknown reference",
  year =         "1980",
  keywords =     "syst.PENJ",
}

@InCollection{Penjam79,
  author =       "Jaan Penjam",
  title =        "Methods of Automatic Implementation of Semantics in Translators",
  booktitle =    "Abstracts for the First All-Union Conf. on Programming Technology",
  address =      "Kiev",
  year =         "1979",
  keywords =     "survey",
  note =         "(in Russian)",
}

@Article{Penjam80a,
  author =       "Jaan Penjam",
  title =        "Realization of Attributive Semantics",
  journal =      "Cybernetics",
  volume =       "16",
  number =       "2",
  pages =        "199--206",
  month =        nov,
  year =         "1980",
  keywords =     "syst.PENJ",
}

@Article{Penjam83,
  author =       "Jaan Penjam",
  title =        "Synthesis of a Semantic Processor from an Attribute Grammar",
  journal =      "Progr. and Computer Software",
  volume =       "9",
  number =       "1",
  pages =        "29--39",
  month =        jan,
  year =         "1983",
  keywords =     "eval syst.PENJ",
}

@TechReport{Penner79,
  author =       "V. Penner",
  title =        "Die Eingabesprache {LDL} f{\"u}r ein Compiler-erzeugendes System und ein Umfassendes Beispiel",
  institution =  "Schriften zur Informatik und Angewandten Mathematik, Reinisch-Westf{\"a}lische Tech. Hochschule
                 Aachen",
  type =         "Bericht",
  number =       "50",
  month =        feb,
  year =         "1979",
  keywords =     "divers.divers",
}

@TechReport{Penner79a,
  author =       "V. Penner",
  title =        "Ein {LDL}-compiler",
  institution =  "Lehrstuhl f{\"u}r Angewandte Mathematik und Informatik, Rheinisch-Westf{\"a}lische Tech. Hochschule
                 Aachen",
  type =         "Bericht",
  year =         "1979",
  keywords =     "divers.divers",
}

@TechReport{Penner77,
  author =       "V. Penner",
  title =        "Formalisierung der Semantik von Programmiersprachen und Anwendungen",
  institution =  "Schriften zur Informatik und Angewandten Mathematik, Rheinisch-Westf{\"a}lische Tech. Hochschule
                 Aachen",
  type =         "Bericht",
  number =       "33",
  month =        jun,
  year =         "1977",
  keywords =     "divers.divers",
}

@InCollection{Petrick77,
  author =       "S. R. Petrick",
  editor =       "A. Zampolli and N. Calzolari",
  title =        "Semantic Interpretation in the {REQUEST} System",
  booktitle =    "Computational and Mathematical Linguistics~II",
  pages =        "585--610",
  publisher =    "Leo S. Olschki Editore",
  address =      "Firenze",
  year =         "1977",
  keywords =     "applic.DB",
}

@InCollection{Petrick71,
  author =       "S. R. Petrick",
  editor =       "S. R. Petrick",
  title =        "On the Use of Syntax-based Translators for Symbolic and Algebraic Manipulation",
  booktitle =    "2nd Symp. on Symbolic and Algebraic Manipulation",
  pages =        "224--237",
  address =      "Los Angeles, CA",
  month =        mar,
  year =         "1971",
  keywords =     "applic.prog",
}

@Article{Pister78,
  author =       "A. Pister and H. W. Buttelmann",
  title =        "Semantic-syntax-directed Translation",
  journal =      "Information and Control",
  volume =       "36",
  number =       "3",
  pages =        "320--361",
  month =        mar,
  year =         "1978",
  keywords =     "divers.lang",
}

@TechReport{Planes89,
  author =       "{\'E}tienne Planes",
  title =        "{PPAT}: un d{\'e}compilateur d'arbres attribu{\'e}s pour le syst{\`e}me {FNC}-2",
  institution =  "D{\'e}pt. d'Informatique, University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1989",
  keywords =     "syst.FNC2",
  mynote =       "Une adaptation de PPML aux arbres decrits en ASX. (mj)",
}

@Article{Plath76,
  author =       "Warren J. Plath",
  title =        "{REQUEST}: a Natural Language Question-Answering-System",
  journal =      "International Business Machines Corporation. Journal of Research and Development",
  volume =       "20",
  number =       "4",
  pages =        "326--335",
  month =        jul,
  year =         "1976",
  keywords =     "applic.DB",
  note =         "See also: report RC 5604, IBM T.J. Watson Research Center, Yorktown Heights, NY (August 1975).",
}

@TechReport{Plath73,
  author =       "Warren J. Plath",
  title =        "Transformational Grammar and Transformational Parsing in the {REQUEST} System",
  institution =  "IBM T.J. Watson Research Center",
  type =         "report RC",
  number =       "4396",
  address =      "Yorktown Heights, NY",
  month =        may,
  year =         "1973",
  keywords =     "applic.DB",
}

@InCollection{Pleban84,
  author =       "Uwe F. Pleban",
  title =        "Compiler Protyping using Formal Semantics",
  booktitle =    "ACM SIGPLAN '84 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "94--105",
  address =      "Montr{\'e}al",
  month =        jun,
  year =         "1984",
  keywords =     "divers.denot",
  note =         "Published as ACM SIGPLAN Notices, volume 19, number 6",
}

@Article{Pohlmann83,
  author =       "W. Pohlmann",
  title =        "{LR} Parsing for Affix Grammars",
  journal =      "Acta Informatica",
  volume =       "20",
  number =       "4",
  pages =        "283--300",
  year =         "1983",
  keywords =     "divers.affix",
}

@InCollection{Pozefski78,
  author =       "D. Pozefski and Mehdi Jazayeri",
  title =        "A Family of Pass-oriented Attribute Grammar Evaluators",
  booktitle =    "ACM 1978 Annual Conf.",
  publisher =    "ACM press",
  pages =        "261--270",
  address =      "Washington, DC",
  month =        dec,
  year =         "1978",
  keywords =     "eval",
  note =         "See also: report TR 78-010, Department of Comp. Sc., University of North Carolina, Chapel Hill, NC
                 (September 1978).",
}

@PhdThesis{Pozefsky79,
  author =       "Diane Pozefsky",
  title =        "Building Efficient Pass-oriented Attribute Grammar Evaluators",
  school =       "Department of Comp. Sc., University of North Carolina",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 79-006",
  address =      "Chapel Hill, NC",
  month =        apr,
  year =         "1979",
  keywords =     "eval",
}

@Article{Raiha80,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  title =        "Bibliography on Attribute Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "15",
  number =       "3",
  pages =        "35--44",
  month =        mar,
  year =         "1980",
  keywords =     "survey",
}

@TechReport{Raiha76,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  title =        "Design of the Semantic Phase of the Compiler Writing System {HLP}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1976-24",
  year =         "1976",
  keywords =     "syst.HLP78",
  note =         "(in Finnish)",
}

@InCollection{Raiha79,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  title =        "Dynamic Allocation of Space for Attribute Instances in Multi-pass Evaluators of Attribute Grammars",
  booktitle =    "ACM SIGPLAN '79 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "26--38",
  address =      "Denver, Co",
  month =        aug,
  year =         "1979",
  keywords =     "alloc",
  note =         "Published as ACM SIGPLAN Notices, volume 14, number 8",
}

@TechReport{Raiha77,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  title =        "On Attribute Grammars and their Use in a Compiler Writing System",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "Ph. Lic. thesis, report",
  number =       "A-1977-4",
  month =        aug,
  year =         "1977",
  keywords =     "survey",
}

@InCollection{Raiha76a,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  title =        "On Compiler Writing Systems",
  booktitle =    "NordDATA 76 Conf.",
  pages =        "668--679",
  publisher =    "Finnish Data Processing Association",
  year =         "1976",
  keywords =     "applic.MC",
}

@PhdThesis{Raiha81,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  title =        "A Space Management Technique for Multi-pass Attribute Evaluators",
  school =       "Department of Comp. Sc., University of Helsinki",
  type =         "Ph.{D}. Thesis",
  number =       "report A-1981-4",
  month =        sep,
  year =         "1981",
  keywords =     "alloc",
}

@InCollection{Raiha84,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  editor =       "Bernard Lorho",
  title =        "Attribute Grammar Design using the Compiler Writing System {HLP}",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "183--206",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "syst.HLP78 applic.prog",
}

@InCollection{Raiha80a,
  author =       "Kari-Jouko R{\"a}ih{\"a}",
  editor =       "Neil D. Jones",
  title =        "Experiences with the Compiler Writing System {HLP}",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "350--362",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "syst.HLP78",
}

@Article{Raiha77a,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Mikko Saarinen",
  title =        "An Optimization of the Alternating Semantic Evaluator",
  journal =      "Information Processing Letters",
  volume =       "6",
  number =       "3",
  pages =        "97--100",
  month =        jun,
  year =         "1977",
  keywords =     "eval",
}

@Article{Raiha82,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Mikko Saarinen",
  title =        "Testing Attribute Grammars for Circularity",
  journal =      "Acta Informatica",
  volume =       "17",
  number =       "2",
  pages =        "185--192",
  year =         "1982",
  keywords =     "circ",
}

@InProceedings{Raiha76b,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Mikko Saarinen",
  editor =       "E. J. Neuhold",
  title =        "Developments in Compiler Writing Systems",
  booktitle =    "GI 6. Jahrestagung",
  series =       "Inf. Fachb.",
  volume =       "5",
  pages =        "164--178",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1976",
  keywords =     "survey",
}

@TechReport{Raiha83,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Mikko Saarinen and Matti Sarjakoski and Seppo Sippu and Eljas
                 Soisalon-Soininen and Martti Tienari",
  title =        "Revised Report on the Compiler Writing System {HLP78}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1983-1",
  month =        jan,
  year =         "1983",
  keywords =     "syst.HLP78",
}

@TechReport{Raiha78,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Mikko Saarinen and Eljas Soisalon-Soininen and Martti Tienari",
  title =        "The Compiler Writing System {HLP} (Helsinki Language Processor)",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1978-2",
  month =        mar,
  year =         "1978",
  keywords =     "syst.HLP78",
}

@InCollection{Raiha86,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Jorma Tarhio",
  title =        "A Globalizing Transformation for Attribute Grammars",
  booktitle =    "ACM SIGPLAN '86 Symp. on Compiler Construction",
  publisher =    "ACM press",
  pages =        "74--84",
  address =      "Palo Alto, CA",
  month =        jun,
  year =         "1986",
  keywords =     "alloc",
  mynote =       "Transforme une GA de facon a faire apparaitre les attributs pouvant etre stockes dans des variables
                 globales; depend malheureusement de la methode d'evaluation employee. (mj)",
  note =         "Published as ACM SIGPLAN Notices, volume 21, number 7",
}

@Article{Raiha81a,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Esko Ukkonen",
  title =        "Minimizing the Number of Evaluation Passes for Attribute Grammars",
  journal =      "SIAM Journal on Computing",
  volume =       "10",
  number =       "4",
  pages =        "772--786",
  month =        nov,
  year =         "1981",
  keywords =     "eval",
  note =         "See also: report C-1979-121, Department of Comp. Sc., University of Helsinki (1979).",
}

@TechReport{Raiha79a,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Esko Ukkonen",
  title =        "The Shortest Common Supersequence Problem over Binary Alphabet is {NP}-Complete",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1979-95",
  month =        nov,
  year =         "1979",
  keywords =     "divers.NPC",
}

@InCollection{Raiha80b,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Esko Ukkonen",
  editor =       "J. de Bakker and J. van Leeuwen",
  title =        "On the Optimal Assignment of Attribute to Passes in Multi-pass Attribute Evaluators",
  booktitle =    "7th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "85",
  pages =        "500--511",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1980",
  keywords =     "eval",
  note =         "Noordwijkerhout",
}

@InCollection{Raiha80c,
  author =       "Kari-Jouko R{\"a}ih{\"a} and Esko Ukkonen",
  editor =       "S. Lavington",
  title =        "Balancing Syntactic and Semantic Power in Compiler Specification",
  booktitle =    "Information Processing '80",
  pages =        "65--70",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        oct,
  year =         "1980",
  keywords =     "applic.prog",
  note =         "Tokyo",
}

@InCollection{Raoult84,
  author =       "Jean-Claude Raoult and Ravi Sethi",
  title =        "The Global Storage Needs of a Subcomputation",
  booktitle =    "11th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "148--157",
  address =      "Salt Lake City, Ut",
  month =        jan,
  year =         "1984",
  keywords =     "alloc",
  mynote =       "{\'E}tend les travaux de Sethi [Set 82] sur la modelisation de l'allocation memoire par le jeu des
                 petits cailloux de deux facons differentes: 1) on essaye de travailler au niveau de la grammaire et non
                 plus au niveau du {"}run-time DAG{"}, 2) on etend la notion de variable globale a celle de pile.
                 Malheureusement, ce papier contient surtout des definitions et peu de resultats pratiques. De plus, il
                 semble que, comme dans [Set 82], on n'ait qu'un algorithme verifiant qu'une affectation memoire donnee
                 est valide, et non pas un algorithme construisant une telle affectation. Peut-etre la reference
                 suivante donne-t-elle plus de resultats... (mj)",
}

@TechReport{Raoult85,
  author =       "Jean-Claude Raoult and Ravi Sethi",
  title =        "On Finding Stacked Attributes",
  institution =  "Laboratoire de Recherche en Informatique, University de Paris-Sud",
  type =         "rapport de recherche",
  number =       "206",
  address =      "Orsay",
  month =        feb,
  year =         "1985",
  keywords =     "alloc",
}

@Book{Rechenberg85,
  author =       "P. Rechenberg and H. M{\"o}ssenb{\"o}ck",
  title =        "Ein Compiler-Generator f{\"u}r Mikrocomputer",
  publisher =    "Hanser Verlag",
  address =      "M{\"u}nchen",
  year =         "1985",
  keywords =     "syst.autres",
  mynote =       "systeme COCO",
}

@TechReport{Reps84,
  author =       "Thomas Reps",
  title =        "Generating Language-based Environments",
  institution =  "MIT Press",
  type =         "Reprint of PhD thesis, report TR 82-514, Department of Comp. Sc., Cornell University, Ithaca, NY
                 (August",
  number =       "1982).",
  address =      "Cambridge, MA",
  year =         "1984",
  keywords =     "incr applic.edit",
  mynote =       "La these de Reps, qui contient l'ensemble de son travail sur les evaluateurs incrementaux. A LIRE
                 ABSOLUMENT! Cette these a recu le prix de l'ACM (je crois). (mj)",
  abstract =     "This thesis concerns the design of interactive, language-based programming environments that use
                 knowledge of a programming language to provide functions based on the structure and meaning of
                 programs. The goal of the research is a system-constructor to enable editors for different languages to
                 be created easily. The most challenging aspect of such a system is the design of the semantic
                 component, because a language-based editor performs static semantic analysis when a program is altered
                 in order to detect erroneous constructions or to prevent illegal modifications. For efficiency, this
                 should be performed incrementally, re-using as much old information as possible; therefore, a major
                 focus of my research concerns a model of editing for which it is possible to perform incremental
                 semantic analysis efficiently. In this model, a program is represented as an attributed tree in which
                 all attributes have consistent values; programs are modified by tree operations such as pruning,
                 grafting, and deriving. After each modification, some of the attributes require new values; incremental
                 semantic analysis is performed by updating attribute values to again make them all consistent. The
                 thesis presents several algorithms for this process that are asymptotically optimal in time. The chief
                 disadvantage of attribute grammars is that they use large amounts of storage. The thesis discusses
                 three aspects of utilizing storage efficiently in such systems. One way to reduce the amount of storage
                 used is to reduce the number of atttribute values retained at any stage of attribute evaluation. The
                 thesis establishes two results concerning this idea: it presents one algorithm for evaluating an
                 n-attribute tree that never saves more than $O(\sqrt{n}$ attribute values, and it presents a second
                 algorithm that never saves more than $O(\log n)$ attribute values. A second method for reducing the
                 amount of storage is to share the space used for storing attributes whose values are complex data
                 structures; the thesis presents a very general method for such sharing that can be applied to
                 attributes of many types. Finally, the thesis describes how, by restricting the class of attribute
                 grammars, it is possible to reduce the amount of storage overhead required for updating trees in
                 optimal time.",
}

}

@Article{Reps88,
  author =       "Thomas Reps",
  title =        "Incremental Evaluation for Attribute Grammars with Unrestricted Movement Between Tree Modifications",
  journal =      "Acta Informatica",
  volume =       "25",
  number =       "2",
  pages =        "155--178",
  year =         "1988",
  keywords =     "incr",
  mynote =       "Papier d'interet purement theorique montrant comment adapter la methode de Reps pour les GAs NC (a
                 base de graphes caracteristiques) de facon a ne pas avoir a tenir a jour ces graphes a chaque mouvement
                 du curseur. Papier bien ecrit mais assez inutile. (mj)",
}

@InCollection{Reps82,
  author =       "Thomas Reps",
  title =        "Optimal-time Incremental Semantic Analysis for Syntax-directed Editors",
  booktitle =    "9th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "169--176",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1982",
  keywords =     "incr applic.edit",
  abstract =     "Attribute grammars permit the specification of static semantics in an applicative and modular fashion,
                 and thus are a good basis for syntax directed editors. Such editors represent programs as attributed
                 trees, which are modified by operations such as sub-tree pruning and grafting. After each modification,
                 a subset of attributes, AFFECTED, requires new values. Membership in AFFECTED is not known a priori;
                 this paper presents an algorithm that identifies attributes in AFFECTED and computes their new values.
                 The algorithm is time-optimal, its cost is proportional to the size of AFFECTED.",
}

@InCollection{Reps83,
  author =       "Thomas Reps",
  title =        "Static-Semantics Analysis in Language-based Editors",
  booktitle =    "Digest of Papers of the IEEE Spring CompCon 83",
  pages =        "411--414",
  address =      "San Francisco, CA",
  month =        mar,
  year =         "1983",
  keywords =     "applic.edit",
  mynote =       "Papier court a l'usage du grand public sur l'application de la reevaluation incrementale aux editeurs
                 intelligents. (mj)",
}

@InCollection{Reps84a,
  author =       "Thomas Reps and Bowen Alpern",
  title =        "Interactive Proof Checking",
  booktitle =    "11th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "36--45",
  address =      "Salt Lake City, Ut",
  month =        jan,
  year =         "1984",
  keywords =     "applic.divers",
  mynote =       "Application du Synthesizer Generator (q.v.) a la construction d'un editeur/verificateur de preuves de
                 programmes utilisant la methode des assertions et la logique de Hoare. Les preuves doivent (presque
                 toutes) etre construites par l'utilisateur (le systeme N'EST PAS un demonstrateur automatique) mais
                 elles sont verifiees par le systeme. Cette verification est specifiee par une GA. Tres interessant.
                 (mj)",
}

@TechReport{Reps84c,
  author =       "Thomas Reps and Alan J. Demers",
  title =        "Sublinear-Space Evaluation Algorithms for Attribute Grammars",
  institution =  "Cornell University, Computer Science Department",
  type =         "Technical Report",
  number =       "CORNELLCS//TR84-630",
  pages =        "25",
  month =        aug,
  year =         "1984",
  language =     "English",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR84-630",
  abstract =     "The chief hindrance to the widespread adoption of attribute-grammar-based systems has been that they
                 are profligate consumers of storage. This paper concerns new storage management techniques that reduce
                 the amount of storage used by reducing the number of attribute values retained at any stage of
                 attribute evaluation; it presents one algorithm for evaluating an $n$-attribute tree that never retains
                 more than $O(\sqrt{n})$ attribute values, and it presents a second algorithm that never retains more
                 than $O(\log n)$ attribute values.",
}

@Article{Reps87,
  author =       "Thomas Reps and Alan Demers",
  title =        "Sublinear-Space Evaluation Algorithms for Attribute Grammars",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "9",
  number =       "3",
  pages =        "408--440",
  month =        jul,
  year =         "1987",
  keywords =     "alloc",
  mynote =       "reprend et ameliore le chapitre 7 de la these de Reps [Rep 84]. Decrit des algorithmes d'evaluation
                 ayant une complexite en place de sqrt(n) et log(n) respectivement. Tres difficile a lire, mais tres
                 interessant. (mj)",
}

@InCollection{Reps86,
  author =       "Thomas Reps and Carla Marceau and Tim Teitelbaum",
  title =        "Remote Attribute Updating for Language-based Editors",
  booktitle =    "13th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "1--13",
  address =      "St Petersburg Beach, FL",
  month =        jan,
  year =         "1986",
  keywords =     "incr",
  mynote =       "{\'E}tend les travaux de Reps a la reevaluation apres plusieurs modifications d'arbres, au
                 court-circuitage de chaines d'identites et aux attributs composes. Un peu court, et utilise toujours
                 l'ordonnancement dynamique par les graphes caracteristiques. (mj)",
  abstract =     "A major drawback to the use of attribute grammars in language-based editors has been that attributes
                 can only depend on neighboring attributes in a program's syntax tree. This paper concerns new
                 attribute-grammar-based methods that, for a suitable class of grammars, overcome this fundamental
                 limitation. The techniques presented allow the updating algorithm to skip over arbitrarily large
                 sections of the tree than more straightforward updating methods visit node by node. These techniques
                 are then extended to deal with aggregate values, so that the attribute updating procedure need only
                 follow dependencies due to a changed component of an aggregate value. Although our methods work only
                 for a restricted class of attribute grammars, satisfying the necessary restrictions should not place an
                 undue burden on the writer of the grammar.",
}

@TechReport{Reps86a,
  author =       "Thomas Reps and Georg Snelting",
  title =        "Context Relations Implemented with Attribute Grammars",
  institution =  "Department of Comp. Sc., Cornell University",
  type =         "manuscript",
  address =      "Ithaca, NY",
  month =        jan,
  year =         "1986",
  keywords =     "applic.edit",
  mynote =       "Montre comment implanter avec des AGs les ``context relations'' utilisees dans le meta-editeur PSG
                 (Bahlke & Snelting, Darmstadt).",
}

@InCollection{Reps84b,
  author =       "Thomas Reps and Tim Teitelbaum",
  title =        "The Synthesizer Generator",
  booktitle =    "ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments",
  publisher =    "ACM press",
  pages =        "42--48",
  address =      "Pittsburgh, PA",
  month =        apr,
  year =         "1984",
  keywords =     "syst.CPS",
  note =         "Joint issue with Software Eng. Notes 9, 3.Published as ACM SIGPLAN Notices, volume 19, number 5",
}

@Book{Reps89,
  author =       "Thomas Reps and Tim Teitelbaum",
  title =        "The Synthesizer Generator",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1989",
  keywords =     "syst.CPS",
}

@Book{Reps89a,
  author =       "Thomas Reps and Tim Teitelbaum",
  title =        "The Synthesizer Generator Reference Manual",
  edition =      "3rd",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1989",
  keywords =     "syst.CPS",
}

@Article{Reps83a,
  author =       "Thomas Reps and Tim Teitelbaum and Alan Demers",
  title =        "Incremental Context-dependent Analysis for Language-based Editors",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "5",
  number =       "3",
  pages =        "449--477",
  month =        jul,
  year =         "1983",
  keywords =     "incr",
  mynote =       "Resume de la these de Reps. (mj)",
}

@Article{Ridjanovic82,
  author =       "Dzenan Ridjanovic and Michael L. Brodie",
  title =        "Defining Database Dynamics with Attribute Grammars",
  journal =      "Information Processing Letters",
  volume =       "14",
  number =       "3",
  pages =        "132--138",
  month =        may,
  year =         "1982",
  keywords =     "applic.DB",
}

@TechReport{Riedewald79,
  author =       "G{\"u}nter Riedewald",
  title =        "Compilerkonstruktion und Grammatiken syntaktischer Funktionen",
  institution =  "Rechenzentrum der W.-Pieck-University",
  type =         "Dissertation B",
  address =      "Rostock",
  year =         "1979",
  keywords =     "syst.RUGEN",
  abstract =     "Algebraic models for programming languages and their compilers, based on heterogeneous algebras, are
                 introduced. The use of GSFs as a base for automatic compiler construction is treated.",
}

@Article{Riedewald85,
  author =       "G{\"u}nter Riedewald",
  title =        "Ein Modell f{\"u}r Programmiersprachen und Compiler auf der Basis Universeller Algebren",
  journal =      "Journal of Information Processing Cybern.",
  volume =       "21",
  number =       "3",
  pages =        "101--127",
  year =         "1985",
  keywords =     "divers.algeb",
  mynote =       "Les fondements theoriques de son approche de la metacompilation, bases sur les modeles algebriques
                 (initiaux). (pd)",
}

@InCollection{Riedewald88,
  author =       "G{\"u}nter Riedewald",
  editor =       "O. M. Tammepuu",
  title =        "A Short Survey on some Projects of the Research Group ``Programming Languages'' at thew Wilhelm Pieck
                 University in Rostock, Department of Computer Science",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "120--125",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "divers.divers",
}

@InCollection{Riedewald88a,
  author =       "G{\"u}nter Riedewald and Uwe L{\"a}mmel",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  title =        "Using an Attribute Grammar as a Logic Program",
  booktitle =    "Programming Languages Implementation and Logic Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "348",
  pages =        "161--179",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        may,
  year =         "1988",
  keywords =     "vari.LP",
  note =         "Orl{\'e}ans",
}

@Article{Riis-Nielson83,
  author =       "Hanne Riis-Nielson",
  title =        "Computation Sequences: {A} Way to Characterize Subclasses of Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "19",
  pages =        "255--268",
  year =         "1983",
  keywords =     "class eval tag",
  mynote =       "Caracterise les GAs ANC/FNC en terme de sequences de calculs. L'idee est d'avoir sur chaque NT un
                 ensemble de partitions de ses attributs, totalement ordonnees, representant les contextes superieurs.
                 On en deduit des evaluateurs top-down deterministes. Cf File (CAAP '86). Le pb est que ces evaluateurs
                 peuvent avoir une taille exponentielle; en revanche, ils ne font aucun recalcul. (mj)",
  note =         "See also: report DAIMI PB-138, Comp. Sc. Department, Aarhus University (1981).",
}

@TechReport{Riis-Nielson81b,
  author =       "Hanne Riis Nielson",
  title =        "Computation sequences: {A} way to characterize subclasses of attribute grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  number =       "DAIMI PB-138",
  month =        nov,
  year =         "1981",
  abstract =     "A computation sequence for a derivation tree specifies a way of walking through the tree evaluating
                 all the attributes of all nodes. By requiring that each derivation tree has a computation sequence with
                 a certain property, it is possible to give simple characterizations of well-known subclasses of
                 attribute grammars. Especially the absolutely well-defined attribute grammars are considered.",
}

@TechReport{Riis-Nielson80,
  author =       "Hanne Riis-Nielson",
  title =        "Subclasses of Attribute Grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  number =       "PB-114",
  year =         "1980",
  keywords =     "class eval",
  abstract =     "This thesis is a contribution to the development of a formal theory for attribute grammars, their
                 languages and their translations. There are given precise definitions of an attribute grammar, the
                 language recognized by the attribute grammar and the translation specified by the attribute grammar.
                 The various definitions are compared with some alternative ones. Based on properties of the translation
                 specified by an attribute grammar two new subclasses of attribute grammars are introduced: the
                 determinate and the unambiguous attribute grammars. Furthermore the concept of an evaluator is
                 considered. Based on properties of an evaluator for an attribute grammar some new subclasses of
                 attribute grammars are introduced: the k-visit attribute grammars and the k left-to-right pass
                 attribute grammars (k is an integer). It turns out that the k-visit as well as the k left-to-right pass
                 attribute grammars define proper hierarchies of translations when some conditions are satisfied. It is
                 also shown that there are translations specified by 1-visit anribute grammars that cannot be specified
                 by any k left-to-right pass attribute grammar (when some conditions are satisfied). On the other hand
                 it turns out that any well-defined attribute grammar is k-visit for some k.",
}

@TechReport{Riis-Nielson81,
  author =       "Hanne Riis-Nielson",
  title =        "Using Computation Sequences to Define Evaluators for Attribute Grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  number =       "PB-139",
  year =         "1981",
  keywords =     "eval",
  abstract =     "An evaluator for an attribute grammar takes a derivation tree as input and produces a computation
                 sequence for it as output. We give a simple but general construction of an evaluator for any
                 well-defined attribute grammar and we prove its correctness. Evaluators for seueral subclasses of
                 attribute grammars can be constructed by changing a preprocessing stage of the evaluator.",
}

@Article{Riis-Nielson81a,
  author =       "Hanne Riis-Nielson and Sven Skyum",
  title =        "{$k$}-visit Attribute Grammars",
  journal =      "Mathematical Systems Theory",
  volume =       "15",
  number =       "1",
  pages =        "17--28",
  month =        dec,
  year =         "1981",
  keywords =     "class",
  mynote =       "Definit de maniere evidente une GA k-visit. Montre que pour toute GA non-circulaire il existe un k tel
                 que cette GA soit k-visit. Montre qu'il est decidable pour un k donne si une GA donnee est k-visit.
                 Montre enfin que les classes des GAs k-visit forment une hierarchie stricte par rapport aux traductions
                 effectuees. (mj)",
  note =         "See also: report DAIMI PB-121, Comp. Sc. Department, Aarhus University (June 1980).",
}

@TechReport{Riis-Nielson80a,
  author =       "Hanne Riis and Sven Skyum",
  title =        "{K}-Visit Attribute Grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  number =       "DAIMI PB-121",
  month =        jun,
  year =         "1980",
  abstract =     "An attribute grammar G is k-visit if for any derivation tree t of G it is possible to evaluate all the
                 attributes associated with t by walking through t in such a way that no node in t is visited more than
                 k times.\bibpar We show in this paper that any well-defined attribute grammar G is k-visit for some k.
                 Furthermore it is shown using a pumping argument, that given a well-defined grammar G and an integer k
                 it is decidable whether G is k-visit. Thus we can effectively for any well-defined attribute grammar G
                 find the minimal k such that G is k-visit. Finally we show that the k-visit attribute grammars specify
                 a proper hierarchy with respect to translations.",
}

@TechReport{Ripken77,
  author =       "Knut Ripken",
  title =        "Formale Beschreibung von Maschinen, Implementierungen und Optimierender Maschinencodeerzeugung aus
                 Attributierten Programmgraphen",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Dissertation",
  year =         "1977",
  keywords =     "applic.GC",
}

@InCollection{Ripken75,
  author =       "Knut Ripken",
  editor =       "E. Gelenbe and D. Potier",
  title =        "Generating an Intermediate-Code Generator in a Compiler Writing System",
  booktitle =    "Int. Computing Symp.",
  pages =        "121--127",
  publisher =    "North Holland/American Elsevier",
  address =      "Amsterdam--New York, New York",
  month =        jun,
  year =         "1975",
  keywords =     "syst.MUG1",
  note =         "Antibes",
}

@InProceedings{Ripken80,
  author =       "Knut Ripken",
  editor =       "Reinhard Wilhelm",
  title =        "Application of Meta-Compilation Methods in the Ada Test Translator Development",
  booktitle =    "GI 10. Jahrestagung",
  series =       "Inf. Fachb.",
  volume =       "33",
  pages =        "66--77",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "applic.MC",
}

@Article{Rosselet87,
  author =       "A. Rosselet",
  title =        "Language Definition Based Compiler Development",
  journal =      "J. Systems and Software",
  volume =       "7",
  pages =        "145--161",
  month =        jun,
  year =         "1987",
  keywords =     "applic.MC vari.pract",
  mynote =       "Discussion (entre autre choses) sur l'usage des GA. (pd)",
}

@PhdThesis{Rowland77,
  author =       "Bruce R. Rowland",
  title =        "Combining Parsing and Evaluation for Attribute Grammars",
  school =       "Comp. Sc. Department, University of Wisconsin-Madison",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 308",
  month =        nov,
  year =         "1977",
  keywords =     "eval",
}

@TechReport{Ryder87,
  author =       "Barbara G. Ryder and M. D. Carroll",
  title =        "Incremental Data Flow Analysis via Attributes",
  institution =  "Department of Comp. Sc., Rutgers University",
  type =         "report",
  number =       "LCSR-TR-93",
  address =      "New Brunswick, NJ",
  month =        jun,
  year =         "1987",
  keywords =     "applic.DFA",
}

@InCollection{Saarinen78,
  author =       "Mikko Saarinen",
  editor =       "G. Ausiello and C. B{\"o}hm",
  title =        "On Constructing Efficient Evaluators for Attribute Grammars",
  booktitle =    "5th Int. Coll. on Automata, Languages and Programming",
  series =       "Lecture Notes in Computer Science",
  volume =       "62",
  pages =        "382--397",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jul,
  year =         "1978",
  keywords =     "alloc eval",
  note =         "Udine",
}

@InCollection{Sagiv89,
  author =       "S. Sagiv and O. Edelstein and Nissim Francez and M. Rodeh",
  title =        "Resolving Circularity in Attribute Grammars with Applications to Data Flow Analysis",
  booktitle =    "16th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "36--48",
  address =      "Austin, TX",
  month =        jan,
  year =         "1989",
  keywords =     "tag circ applic.DFA",
  mynote =       "Partant du constat que les proble`mes d'analyse de flot de donne'es s'expriment naturellement par des
                 GA circulaires, donc faisant intervenir un point fixe, mais que beaucoup de ces proble`mes peuvent se
                 re'soudre en temps line'aire par rapport a` la tlle de l'arbre, donc sans la complexite' naturelle du
                 point fixe, les auteurs e'tudient la possibilite' de transformer automatiquement certains types de GA
                 circulaires en GA non circulaires. Le plus fort c'est qu'ils y arrivent, en tous cas pour certains
                 types de GA exprimant des proble`mes d'AFD. Je conside`re qu'il s'agit la` d'un re'sultat absolument
                 fondamental (c,a n'a d'ailleurs pas e'chappe' au jury de POPL!). Le degre' de ge'ne'ralite' de leur
                 technique m'e'chappe un peu cependant, car le papier est tre`s difficile a` lire, mais il faut
                 absolument consentir a` cet effort. (mj)",
}

@TechReport{Sarjakoski82,
  author =       "Matti Sarjakoski",
  title =        "Space Management for Attributes in the Compiler Writing System {HLP}",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1982-10",
  year =         "1982",
  keywords =     "alloc",
  note =         "(in Finnish)",
}

@PhdThesis{Sasaki85,
  author =       "Hisashi Sasaki",
  title =        "Global Storage Allocation in Attribute Evaluation",
  school =       "Department of Comp. Sc., Tokyo Institute of Technology",
  type =         "Ph.{D}. Thesis",
  year =         "1985",
  keywords =     "alloc",
}

@TechReport{Sassa88,
  author =       "Masataka Sassa",
  title =        "Incremental Attribute Evaluation and Parsing based on {ECLR}-Attributed Grammars",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1988-9",
  month =        mar,
  year =         "1988",
  keywords =     "incr",
  mynote =       "Conforme au titre. (mj)",
  note =         "Also published as: Technical Report ISE-TR-88-66, Institute of Information Sciences. An International
                 Journal and Electronics, University of Tsukuba (March 1988)",
}

@TechReport{Sassa84,
  author =       "Masataka Sassa and Harushi Ishizuka",
  title =        "Description of {PL}/0 Compiler by ec{LR}-attributed Grammars",
  institution =  "Institute of Information Sciences. An International Journal, University of Tsukuba",
  type =         "tech. memo",
  number =       "PL-2",
  address =      "Ibaraki-ken",
  year =         "1984",
  keywords =     "exem.PL1",
  note =         "(in Japanese)",
}

@TechReport{Sassa85,
  author =       "Masataka Sassa and Harushi Ishizuka and Ikuo Nakata",
  title =        "A Compiler Generator based on {LR}-attributed Grammars",
  institution =  "Institute of Information Sciences. An International Journal, University of Tsukuba",
  type =         "tech. memo",
  number =       "PL-7",
  address =      "Ibaraki-ken",
  year =         "1985",
  keywords =     "syst.RIE",
}

@Article{Sassa85a,
  author =       "Masataka Sassa and Harushi Ishizuka and Ikuo Nakata",
  title =        "A Contribution to {LR}-attributed Grammars",
  journal =      "Journal of Information Processing",
  volume =       "8",
  number =       "3",
  pages =        "196--206",
  month =        jan,
  year =         "1985",
  keywords =     "class eval",
  mynote =       "Amelioration de la definition des grammaires LR-attribuees avec algorithmes de test et d'evaluation.
                 (mj)",
}

@Article{Sassa87,
  author =       "Masataka Sassa and Harushi Ishizuka and Ikuo Nakata",
  title =        "{ECLR}-attributed Grammars: a Practical Class of {LR}-attributed Grammars",
  journal =      "Information Processing Letters",
  volume =       "24",
  number =       "1",
  pages =        "31--41",
  month =        jan,
  year =         "1987",
  keywords =     "class",
}

@TechReport{Sassa90,
  author =       "Masataka Sassa and Harushi Ishizuka and Motoki Sawatani and Ikuo Nakata",
  title =        "Rie -- Introduction and User's Manual",
  institution =  "Institute of Information Sciences. An International Journal and Electronics, University of Tsukuba",
  type =         "Technical Report",
  number =       "ISE-TR-90-82",
  address =      "Ibaraki-ken",
  month =        jun,
  year =         "1990",
  keywords =     "syst.RIE",
}

@Article{Sassa80,
  author =       "Masataka Sassa and Junko Tokuda and Tsuyoshi Shinogi and Kenzo Inoue",
  title =        "Design and Implementation of a Multipass-Compiler Generator",
  journal =      "Journal of Information Processing",
  volume =       "3",
  number =       "2",
  pages =        "77--86",
  year =         "1980",
  keywords =     "syst.TOKYO",
  note =         "See also: research report C-24, Dept. of Information Sciences. An International Journal, Tokyo
                 Institute of Technology (April 1979).",
}

@InCollection{Schektman80,
  author =       "Y. Schektman and B. Klein and J. Jockin and R. More and J. Pastor and D. Vielle",
  editor =       "E. Diday and L. Lebart and J. P. Pages and R. Tomassone",
  title =        "Utilisation des {M}{\'e}ta-traducteurs dans la Conception des Logiciels Statistiques. Pr{\'e}sentation
                 d'Exemples dans Trois Domaines d'Application",
  booktitle =    "Data Analysis and Informatics",
  pages =        "393--410",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  year =         "1980",
  keywords =     "applic.MC",
}

@PhdThesis{Schell79,
  author =       "Richard M. Schell",
  title =        "Methods for Constructing Parallel Compilers for Use in a Multiprocessor Environment",
  school =       "Department of Comp. Sc., University of Illinois at Urbana-Champaign",
  type =         "Ph.{D}. Thesis",
  number =       "report UIUCDCS-R-79-0958",
  month =        feb,
  year =         "1979",
  keywords =     "eval applic.MC",
  mynote =       "D'apre`s Kuiper (p.~46), montre (en particulier) comment adapter la construction de Kastens pour les
                 OAG (se'quences de visite) pour que des visites inde'pendantes dans une me^me se'quence soient
                 effectue'es en paralle`le. Cela ressemble fortement a` certaines de mes ide'es. (mj)",
}

@TechReport{Schell79a,
  author =       "Richard M. Schell",
  title =        "Parallel Compilation in a Multiprocessor Environment",
  institution =  "Department of Comp. Sc., University of Illinois at Urbana-Champaign",
  type =         "report",
  number =       "UIUCDCS-R-79-0991",
  month =        dec,
  year =         "1979",
  keywords =     "eval applic.MC",
}

@TechReport{Schmidt80,
  author =       "E. M. Schmidt",
  title =        "Space-restricted Attribute Grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  type =         "report DAIMI",
  year =         "1980",
  keywords =     "alloc",
}

@TechReport{Schramm81,
  author =       "Jean-Marie Schramm",
  title =        "Un formalisme pour la description des langages et des traducteurs",
  institution =  "Centre de Calcul de l'Esplanade, University Louis Pasteur",
  type =         "rapport",
  address =      "Strasbourg",
  month =        nov,
  year =         "1981",
  keywords =     "divers.divers",
}

@PhdThesis{Schulz76,
  author =       "W. A. Schulz",
  title =        "Semantic Analysis and Target Language Synthesis in a Translator",
  school =       "Department of Comp. Sc., University of Colorado",
  type =         "Ph.{D}. Thesis",
  address =      "Boulder, Co",
  year =         "1976",
  keywords =     "eval alloc",
}

@TechReport{Schwind77,
  author =       "C. B. Schwind",
  title =        "Ein Formalismus zur Beschreibung der Syntax und Bedeutung von Frage-Antwort-Systemen",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-7710",
  month =        may,
  year =         "1977",
  keywords =     "applic.DB",
}

@InCollection{Serebriakov88,
  author =       "Vladimir A. Serebriakov",
  title =        "Construction of Efficient Multi-Stage Compilers with the Attribute {TWS}",
  booktitle =    "Actes du S{\'e}minaire Franco-Sovi{\'e}tique Informatika 88",
  pages =        "27--38",
  publisher =    "INRIA",
  address =      "Nice",
  month =        feb,
  year =         "1988",
  keywords =     "syst.SUPER",
}

@InCollection{Serebriakov88a,
  author =       "Vladimir A. Serebriakov",
  editor =       "O. M. Tammepuu",
  title =        "Application of Compiler Writing Systems for Implementing Efficient Compilers",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "164--175",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "applic.MC",
  note =         "(in Russian)",
}

@InProceedings{Serebriakov89,
  author =       "Vladimir A. Serebriakov",
  editor =       "O. M. Tammepuu",
  title =        "Attribute Visibility Control in {CWS} Super and Implementation of Import-Export Facilities in Modula-2
                 Front-End",
  booktitle =    "Procs. of the Soviet-French Symposium Informatika '89",
  pages =        "38--45",
  address =      "Tallinn",
  month =        may,
  year =         "1989",
  keywords =     "syst.SUPER applic.MC",
}

@Book{Serebryakov86,
  author =       "Vladimir A. Serebryakov",
  title =        "Attribute Translation Techniques",
  publisher =    "Programming Languages",
  address =      "Moscow",
  year =         "1986",
  keywords =     "survey",
}

@Unpublished{Serebryakov87,
  author =       "Vladimir A. Serebryakov",
  title =        "Construction of Efficient Multi-stage Compilers with the Attribute {TWS}",
  type =         "draft",
  address =      "Moscow",
  month =        "(?)",
  year =         "1987",
  keywords =     "syst.SUPER applic.GC",
  note =         "Comp. Center of the Academy of Sciences",
}

@Article{Serebryakov82,
  author =       "Vladimir A. Serebryakov",
  title =        "Principal Features of the Input Language and Implementation of the Translator Design System {SUPER}",
  journal =      "Progr. and Computer Software",
  volume =       "8",
  number =       "1",
  pages =        "52--56",
  month =        jan,
  year =         "1982",
  keywords =     "syst.SUPER",
}

@Article{Sethi83,
  author =       "Ravi Sethi",
  title =        "Control Flow Aspects of Semantics-directed Compiling",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "5",
  number =       "4",
  pages =        "554--595",
  year =         "1983",
  keywords =     "divers.denot",
  note =         "See also: report CSTR 98, Bell Labs., Murray Hill, NJ (September 1981) and ACM SIGPLAN '82 Symp. on
                 Compiler Construction, Boston, MA, published as ACM SIGPLAN Notices 17, 6, pp. 245-260 (June 1982).",
}

@Article{Sethi82,
  author =       "Ravi Sethi",
  title =        "Pebble Games for Studying Storage Sharing",
  journal =      "Theoretical Computer Science",
  volume =       "19",
  pages =        "69--84",
  year =         "1982",
  keywords =     "alloc",
}

@Article{Shi84,
  author =       "Q. Y. Shi",
  title =        "Semantic-Syntax-Directed Translation and its Application to Image Processing",
  journal =      "Information Sciences. An International Journal",
  volume =       "32",
  pages =        "75--90",
  year =         "1984",
  keywords =     "divers.lang",
  mynote =       "syntax-directed translations + attributes (mj)",
}

@Article{Shi82,
  author =       "Q. Y. Shi and King-Sun Fu",
  title =        "Efficient Error-correcting Parsing for (Attributed and Stochastic) Tree Grammars",
  journal =      "Information Sciences. An International Journal",
  volume =       "26",
  number =       "2",
  pages =        "159--188",
  month =        mar,
  year =         "1982",
  keywords =     "vari.GG",
}

@Article{Shi83,
  author =       "Q. Y. Shi and King-Sun Fu",
  title =        "Parsing and Translation of (Attributed) Expansive Graph Languages for Scene Analysis",
  journal =      "IEEE Trans. on Pattern Analysis and Machine Intell.",
  volume =       "PAMI-5",
  number =       "5",
  pages =        "472--485",
  month =        sep,
  year =         "1983",
  keywords =     "vari.GG",
}

@TechReport{Shinoda86,
  author =       "Yoichi Shinoda",
  title =        "Specification of Dynamic Systems based on Attribute Grammar",
  institution =  "Department of Comp. Sc., Tokyo Inst. of Technology",
  type =         "report",
  number =       "CS-SSE-86-2",
  year =         "1986",
  keywords =     "applic.prog",
}

@InProceedings{Shinoda88,
  author =       "Yoichi Shinoda and Takuya Katayama",
  title =        "Attribute Grammar Based Programming and its Environment",
  booktitle =    "Proc. of the 21st Hawai Internat. Conf. on Software Systems ???",
  pages =        "612--620",
  year =         "1988",
  keywords =     "applic.prog syst.HFP",
  mynote =       "Encore HFP, mais cette fois il y a un systeme. (mj) Doc INRIA: AD 30",
}

@TechReport{Siitari79,
  author =       "H. Siitari",
  title =        "An Attribute Grammar for the Programming Language Simula",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1979-90",
  year =         "1979",
  keywords =     "exem.SIMULA",
  note =         "(in Finnish)",
}

@TechReport{Silverberg78,
  author =       "B. A. Silverberg",
  title =        "Using a Grammatical Formalism as a Programming Language",
  institution =  "Computer Systems Research Group, University of Toronto",
  type =         "Technical Report",
  number =       "CSRG-88",
  month =        jan,
  year =         "1978",
  keywords =     "applic.prog",
}

@Article{Simon84,
  author =       "Endre Simon",
  title =        "Language Extension in {HLP}/{SZ}",
  journal =      "Acta Cybernetica",
  volume =       "7",
  number =       "1",
  pages =        "89--97",
  address =      "Szeged",
  year =         "1984",
  keywords =     "syst.HLPSZ",
}

@Article{Simon86,
  author =       "Endre Simon",
  title =        "A new Programming Methodology using Attribute Grammars",
  journal =      "Acta Cybernetica",
  volume =       "7",
  number =       "4",
  pages =        "425--436",
  address =      "Szeged",
  year =         "1986",
  keywords =     "applic.prog",
}

@InCollection{Simon86a,
  author =       "Endre Simon",
  editor =       "F. G{\'e}cseg and I. Pe{\'a}k",
  title =        "Program Specification using Attribute Grammar",
  booktitle =    "Conf. on Automata, Languages and Programming Systems",
  pages =        "216--229",
  publisher =    "Dept. of Mathematics and Computer Science, Karl Marx University of Economics",
  address =      "Budapest",
  month =        may,
  year =         "1986",
  keywords =     "applic.prog",
  note =         "Salg{\'o}tarj{\'a}n, Hungary",
}

@InCollection{Simonet77,
  author =       "M. Simonet",
  title =        "An Attribute Description of a Subset of Algol 68",
  booktitle =    "Strathclyde Algol 68 Conf.",
  publisher =    "ACM press",
  pages =        "129--137",
  address =      "Glasgow",
  month =        jun,
  year =         "1977",
  keywords =     "exem.ALGOL",
  note =         "Published as ACM SIGPLAN Notices, volume 12, number 6",
}

@PhdThesis{Skedzeleski78,
  author =       "Stephen K. Skedzeleski",
  title =        "Definition and Use of Attribute Reevaluation in Attributed Grammars",
  school =       "Comp. Sc. Department, University of Wisconsin-Madison",
  type =         "Ph.{D}. Thesis",
  number =       "report TR 340",
  month =        oct,
  year =         "1978",
  keywords =     "incr",
}

@TechReport{Sonnenschein83,
  author =       "Michael Sonnenschein",
  title =        "Generierung Effizienter Compilerteile durch Attributierten Grammatiken Verwandte Konzepte",
  institution =  "Lehrstuhl f{\"u}r Angewandte Informatik, Rheinisch-Westf{\"a}lische Tech. Hoschschule Aachen",
  type =         "Dissertation",
  year =         "1983",
  keywords =     "applic.MC alloc",
  mynote =       "Contient aussi les preuves des resultats de [Son 85].",
}

@Article{Sonnenschein85,
  author =       "Michael Sonnenschein",
  title =        "Global Storage Cells for Attributes in an Attribute Grammar",
  journal =      "Acta Informatica",
  volume =       "22",
  pages =        "397--420",
  year =         "1985",
  keywords =     "alloc",
  mynote =       "Prend le contrepied de la methode usuelle pour l'optimisation memoire: il decide a priori quelles
                 occurrences d'attribut seront stockees dans des variables globales, puis regarde si on peut transformer
                 la grammaire pour l'evaluer avec cette contrainte. (mj)",
}

@PhdThesis{Sonnenschein79,
  author =       "Michael Sonnenschein",
  title =        "Implementierung und Theoretische Untersuchungen von Attribut-Auswertungsalgorithmnen und Insbesondere
                 von Treewalk-Evaluatoren im Rahmen eines Compiler-erzugenden Systems",
  school =       "Lehrstuhl f{\"u}r Angewandte Informatik, Rheinisch-Westf{\"a}lische Tech. Hoschschule Aachen",
  type =         "Diploma Thesis",
  year =         "1979",
  keywords =     "eval",
}

@Article{sonnenschein87,
  key =          "Sonnenschein",
  author =       "M. Sonnenschein",
  title =        "Graph Translation Schemes to Generate Compiler Parts",
  journal =      TOPLAS,
  publisher =    "ACM",
  volume =       "9",
  number =       "4",
  month =        oct,
  year =         "1987",
  pages =        "473--490",
  keywords =     "applic.DFA design; languages; attribute grammars; data flow analysis; graph-oriented intermediate
                 languages; grammars; program graphs",
  abstract =     "Graph translation schemes-GTSs-are a generalization of attribute grammars and of some ideas in
                 Koster's language CDL2. They are specially designed to support a compiler writer in defining parts of
                 the back-end of his compiler, but they can also be useful for the specification of the analysis pass of
                 a compiler. GTSs combine elements of functional and of algorithmic specification techniques to allow
                 iterative attribute evaluation and attributing of program graphs. GTSs consist of only a few
                 syntactical elements. We present operational semantics and discuss improvements in the efficiency of
                 the prosposed implementation of GTSs.",
}

@TechReport{Souah87,
  author =       "Aziz Souah",
  title =        "Syst{\`e}me de transformation d'arbres attribu{\'e}s: {\'e}tude des principaux syst{\`e}mes et
                 sp{\'e}cification d'un nouveau syst{\`e}me",
  institution =  "University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1987",
  keywords =     "tat",
}

@InCollection{Spyropoulos87,
  author =       "C. D. Spyropoulos and John Kontos",
  title =        "Automatic Organization Diagnosis based on Behavioural Modelling with Grammars",
  booktitle =    "Int. Conf. on Modelling and Simulation",
  address =      "Karlsruhe",
  year =         "1987",
  keywords =     "applic.divers",
  note =         "Re'fe'rence a` comple'ter.",
}

@Article{Stepanov82,
  author =       "A. N. Stepanov and Y. A. Popov",
  title =        "Realization of Syntax-directed Translation Scheme",
  journal =      "Progr. and Computer Software",
  volume =       "8",
  number =       "4",
  pages =        "205--213",
  year =         "1982",
  keywords =     "divers.lang",
}

@TechReport{Tai78,
  author =       "K. C. Tai",
  title =        "Constant Folding within an Expression by Semantic Attributes",
  institution =  "Computer Studies, North Carolina State University",
  type =         "report TR",
  number =       "78-15",
  address =      "Raleigh, NC",
  month =        dec,
  year =         "1978",
  keywords =     "applic.MC",
}

@TechReport{Taouil88,
  author =       "Souad Taouil",
  title =        "{\'E}tude et implantation des grammaires coupl{\'e}es par attributs dans le syst{\`e}me {FNC}-2",
  institution =  "D{\'e}pt. d'Informatique, University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1988",
  keywords =     "tat syst.FNC2",
  mynote =       "Prouve que les caracte'ristiques inhabituelles d'Olga pour la construction d'arbres (noeuds liste,
                 de'structuration, etc.) ne remettent pas en cause la composition descriptionnelle, et donne vaguement
                 un algorithme pour la faire. (mj)",
}

@TechReport{Tarhio82,
  author =       "Jorma Tarhio",
  title =        "Attribute Evaluation during {LR} parsing",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "A-1982-4",
  month =        sep,
  year =         "1982",
  keywords =     "eval",
}

@PhdThesis{Tarhio88,
  author =       "Jorma Tarhio",
  title =        "Attribute Grammars for One-pass Compilation",
  school =       "Department of Comp. Sc., University of Helsinki",
  type =         "Ph.{D}. Thesis",
  number =       "report A-1988-11",
  month =        may,
  year =         "1988",
  keywords =     "eval",
  mynote =       "Etudie plusieurs sujets en relation avec l'evaluation d'attributs au cours de l'analyse syntaxique LR.
                 (mj)",
}

@TechReport{Tarhio88a,
  author =       "Jorma Tarhio",
  title =        "The Compiler Writing System Metauncle",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1988-23",
  year =         "1988",
  keywords =     "eval",
}

@Article{Tarhio82a,
  author =       "Jorma Tarhio",
  title =        "{LR} parsing of some Ambiguous Grammars",
  journal =      "Information Processing Letters",
  volume =       "14",
  number =       "3",
  pages =        "101--103",
  month =        may,
  year =         "1982",
  keywords =     "eval",
}

@InProceedings{Tarhio84,
  author =       "Jorma Tarhio",
  editor =       "R. J. R. Back",
  title =        "Bottom-up and Top-down Attributed Grammars",
  booktitle =    "Proc. Winter School on Theoretical Computer Science",
  pages =        "290--302",
  publisher =    "Finnish Society of Inf. Proc. Sc.",
  year =         "1984",
  keywords =     "eval class",
}

@TechReport{Tarhio87,
  author =       "Jorma Tarhio and Kari-Jouko R{\"a}ih{\"a}",
  title =        "A Simplifying Transformation for Attribute Grammars",
  institution =  "Department of Comp. Sc., University of Tampere",
  type =         "report",
  number =       "A-1987-4",
  year =         "1987",
  keywords =     "alloc",
  mynote =       "a-ce un rapport avec [RT86]?",
}

@TechReport{Tavernini88,
  author =       "Victor E. Tavernini",
  title =        "Translating Natural Semantic Specifications to Attribute Grammars",
  institution =  "Department of Comp. Sc., University of Illinois at Urbana-Champaign",
  type =         "report",
  number =       "UIUCDCS-R-88-1407",
  month =        may,
  year =         "1988",
  keywords =     "vari.LP vari.NS",
  mynote =       "traduction d'un sous-ensemble de Typol en GA. Comme Isabelle Attali mais en beaucoup moins bien.
                 (mj)",
}

@TechReport{Teitelbaum80,
  author =       "Tim Teitelbaum",
  title =        "The Cornell Program Synthesizer: a Tutorial Introduction",
  institution =  "Department of Comp. Sc., Cornell University",
  type =         "report TR",
  number =       "79-381",
  address =      "Ithaca, NY",
  month =        jul # " 1979, revised " # jun,
  year =         "1980",
  keywords =     "syst.CPS",
}

@Article{Teitelbaum81,
  author =       "Tim Teitelbaum and Thomas Reps",
  title =        "The Cornell Program Synthesizer: a Syntax-directed Programming Environment",
  journal =      "Communications of the Association for Computing Machinery",
  volume =       "24",
  number =       "9",
  pages =        "563--573",
  month =        sep,
  year =         "1981",
  keywords =     "syst.CPS",
  note =         "See also: report TR 80-421, Department of Comp. Sc., Cornell University, Ithaca, NY (May 1980).",
}

@Article{Teitelbaum81a,
  author =       "Tim Teitelbaum and Thomas Reps and Susan Horwitz",
  title =        "The Why and Wherefore of the Cornell Program Synthesizer",
  journal =      "ACM SIGPLAN Notices",
  volume =       "16",
  number =       "6",
  pages =        "8--16",
  month =        jun,
  year =         "1981",
  keywords =     "syst.CPS",
}

@PhdThesis{Thomas76,
  author =       "J. W. Thomas",
  title =        "Module Interconnection in Programming Systems supporting Abstraction",
  school =       "Computer Science Program, Brown University",
  type =         "Ph.{D}. Thesis",
  number =       "Technical Report CS-16",
  address =      "Providence, RI",
  month =        apr,
  year =         "1976",
  keywords =     "applic.prog",
}

@Article{Thomason82,
  author =       "M. G. Thomason",
  title =        "Syntactic/Semantic Techniques in Pattern Recognition: {A} Survey",
  journal =      "International Journal of Computer and Information Sciences",
  volume =       "11",
  number =       "2",
  pages =        "75--100",
  month =        apr,
  year =         "1982",
  keywords =     "applic.divers",
}

@TechReport{Thurmel85,
  author =       "Sabine Th{\"u}rmel",
  title =        "Self-composability of Attribute Coupled Grammars",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-I8518",
  month =        aug,
  year =         "1985",
  keywords =     "tag",
}

@TechReport{Tiemann86,
  author =       "Michael D. Tiemann",
  title =        "Attribute Grammar Tutorial: the Implementation of mini-Pascal",
  institution =  "Microelectronic and Computer Technology Corporation",
  type =         "Technical Report",
  number =       "PP-410-86",
  address =      "Austin, TX",
  month =        dec,
  year =         "1986",
  keywords =     "survey",
}

@TechReport{Tiemann86a,
  author =       "Michael D. Tiemann",
  title =        "{ICC}: an Incremental Compiler Compiler based on Attribute Evaluation",
  institution =  "Microelectronic and Computer Technology Corporation",
  type =         "Technical Report",
  number =       "PP-412-86",
  address =      "Austin, TX",
  month =        dec,
  year =         "1986",
  keywords =     "incr",
}

@TechReport{Tiemann87,
  author =       "Michael D. Tiemann",
  title =        "Removing Redundancy in Attribute Grammars",
  institution =  "Parallel Processing Program, Microelectronic and Computer Technology Corporation",
  type =         "manuscript",
  address =      "Austin, TX",
  month =        jul,
  year =         "1987",
  keywords =     "none",
  mynote =       "Premier travail digne de ce nom s'attachant a reduire la charge de travail d'un ecrivain de GA due a
                 la quantite de details a specifier. On connaissait deja bien les travaux de BL sur la generation
                 automatique de regles de copie [Lor77] mais Tiemann va plus loin en proposant des ``modeles'' de regles
                 semantiques non triviales qui peuvent etre instancies dans les differentes productions pour obtenir les
                 veritables regles semantiques. Cela reduit significativement la quantite de caracteres a taper. Repris
                 par Carole [LeB89] pour FNC-2. (mj)",
}

@Article{Tienari78,
  author =       "Martti Tienari",
  title =        "Research on Programming Languages and Compilers",
  journal =      "Data",
  volume =       "11-78",
  pages =        "75--78",
  year =         "1978",
  keywords =     "survey",
}

@InCollection{Tienari80,
  author =       "Martti Tienari",
  editor =       "Neil D. Jones",
  title =        "On the Definition of an Attribute Grammar",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "408--414",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "syst.HLP78 applic.prog",
  note =         "See also: report C-1979-29, Department of Comp. Sc., University of Helsinki (March 1979).",
}

@PhdThesis{Tittelbach86,
  author =       "Heiner Tittelbach",
  title =        "Effiziente Attributspeicherverwaltung f{\"u}r ein baumtransformierendes System",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1986",
  keywords =     "tat incr syst.OPTRAN",
}

@InCollection{Toczki88,
  author =       "Janos Toczki and Tibor Gyim{\'o}thy and Ferenc Kocsis and Tam{\'a}s Horv{\'a}th",
  editor =       "O. M. Tammepuu",
  title =        "Automatic Software Generation in Practice: New Features in the {HLP}/{PAS} System",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "103--119",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "syst.HLPSZ",
}

@InCollection{Toczki86,
  author =       "Janos Toczki and Endre Simon and T. Garai and Ferenc Kocsis and Tibor Gyim{\'o}thy",
  editor =       "F. G{\'e}cseg and I. Pe{\'a}k",
  title =        "Automatic Compiler Generation",
  booktitle =    "Conf. on Automata, Languages and Programming Systems",
  pages =        "289--297",
  publisher =    "Dept. of Math. and Comput. Sc., Karl Marx University of Economics",
  address =      "Budapest",
  month =        may,
  year =         "1986",
  keywords =     "syst.HLPSZ",
  note =         "Salg{\'o}tarj{\'a}n, Hungary",
}

@Article{Tokuda88,
  author =       "Takehiro Tokuda",
  title =        "An Attribute Assignment View of Non-procedural Computing Systems",
  journal =      "Journal of Information Processing",
  volume =       "11",
  number =       "3",
  pages =        "165--174",
  year =         "1988",
  keywords =     "vari.pract",
  mynote =       "Compare Prolog, les W-grammaires et les GA en termes d'affectation d'attributs. (mj)",
}

@Article{Tokuda87,
  author =       "Takehiro Tokuda",
  title =        "Code Improvement Techniques in the Transformation of Attribute Grammars into Efficient Action
                 Routines",
  journal =      "Journal of Information Processing",
  volume =       "10",
  number =       "1",
  pages =        "27--32",
  year =         "1987",
  keywords =     "eval",
}

@TechReport{Tokuda81,
  author =       "Takehiro Tokuda",
  title =        "An Exercise in Transforming Wijngaarden Grammars into Knuthian Grammars",
  institution =  "Department of Comp. Sc., Tokyo Inst. of Technology",
  type =         "report",
  number =       "C-40",
  year =         "1981",
  keywords =     "vari.WG",
}

@Article{Tokuda86,
  author =       "Takehiro Tokuda",
  title =        "Transformation of Attribute Grammars into Efficient Action Routines by Patch Introduction",
  journal =      "The Transactions of the Institute of Electronics and Communication Engineers of Japan. Section E",
  volume =       "E69",
  number =       "9",
  pages =        "980--987",
  year =         "1986",
  keywords =     "eval",
}

@Article{Tokuda86a,
  author =       "Takehiro Tokuda",
  title =        "Two Methods for Eliminating Redundant Copy Operations from the Evaluation of Attribute Grammars",
  journal =      "Journal of Information Processing",
  volume =       "9",
  number =       "2",
  pages =        "79--85",
  year =         "1986",
  keywords =     "alloc",
}

@InProceedings{Tokuda79,
  author =       "Takehiro Tokuda",
  title =        "Wijngaarden Grammars as Knuthian Grammars",
  booktitle =    "Proc. 20th Annual IPSJ Conf.",
  pages =        "207--208",
  year =         "1979",
  keywords =     "vari.WG",
  note =         "(in Japanese)",
}

@InCollection{Tusera74,
  author =       "Dimitri Tusera",
  editor =       "J. L. Rosenfeld",
  title =        "Example of Transformation of a Derivation Tree for an Expression by Semantic Attributes",
  booktitle =    "Information Processing '74",
  pages =        "381--385",
  publisher =    "North-Holland",
  address =      "Amsterdam",
  month =        aug,
  year =         "1974",
  keywords =     "applic.prog",
  note =         "Stockholm",
}

@Book{Uhl82,
  author =       "J. Uhl and Sophia Drossopoulos and G. Persch and Gerhart Goos and M. Daussmann and G. Winterstein and
                 Walter Kirchg{\"a}{\ss}ner",
  title =        "An Attributed Grammar for the Semantic Analysis of {ADA}",
  series =       "Lecture Notes in Computer Science",
  volume =       "139",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1982",
  keywords =     "exem.ADA",
  note =         "See also: Bericht 25/81, Institut f{\"u}r Informatik~II, University Karlsruhe (1981).",
}

@InCollection{DellaVigna76,
  author =       "P. {Della Vigna} and C. Ghezzi",
  editor =       "K. Samelson",
  title =        "Data Structures and Graph Grammars",
  booktitle =    "ECI Conf. 1976",
  series =       "Lecture Notes in Computer Science",
  volume =       "44",
  pages =        "130--145",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        aug,
  year =         "1976",
  keywords =     "vari.GG",
  note =         "Amsterdam",
}

@PhdThesis{Vogler81,
  author =       "H. Vogler",
  title =        "Berechnungsmodelle syntaxgesteuerter {\"U}bersetzungen",
  school =       "Lehrstuhl f{\"u}r Angewandte Informatik, Rheinisch-Westf{\"a}lische Tech. Hoschschule Aachen",
  type =         "Diploma Thesis",
  month =        apr,
  year =         "1981",
  keywords =     "divers.lang",
}

@InProceedings{Vogt89,
  author =       "Harald H. Vogt and S. Doaitse Swierstra and Matthijs F. Kuiper",
  title =        "Higher Order Attribute Grammars",
  booktitle =    "ACM SIGPLAN '89 Conf. on Progr. Lang. Design and Implementation",
  publisher =    "ACM press",
  pages =        "131--145",
  address =      "Portland, OR",
  month =        jul,
  year =         "1989",
  keywords =     "class eval",
  annote =       "Combinaison interessante de la construction de l'arbre et de l'evaluation des attributs. Voir aussi le
                 travail de Peter Dencker. (mj)",
  note =         "Published as {\sl ACM SIGPLAN Notices}, 24(7)",
}

@Article{Vooglaid82,
  author =       "Aare O. Vooglaid and Merik B. M{\'e}rist{\'e}",
  title =        "Abstract Attribute Grammars",
  journal =      "Progr. and Computer Software",
  volume =       "8",
  number =       "5",
  pages =        "242--251",
  month =        sep,
  year =         "1982",
  keywords =     "class",
}

@TechReport{Vuurboom80,
  author =       "R. Vuurboom",
  title =        "Restricting Semantic Behaviour of Attribute Grammars",
  institution =  "Onderafdeling der Informatica, Tech. Hogeschool Twente",
  type =         "internal report",
  year =         "1980",
  keywords =     "eval",
}

@InCollection{Vyhandu88,
  author =       "Leo K. Vyhandu and Aare O. Vooglaid",
  editor =       "O. M. Tammepuu",
  title =        "Practical Problems of Automatic Software Generation",
  booktitle =    "Specialized Languages as Tools for Programming Technology",
  pages =        "126--132 syst.ELMA",
  address =      "Tallinn",
  month =        jan,
  year =         "1988",
  keywords =     "applic.prog",
}

@TechReport{Waite89,
  author =       "William M. Waite and Josef Grosch and Friedrich-Wilhelm Schr{\"o}er",
  title =        "Three Compiler Specifications",
  institution =  "GMD",
  type =         "GMD-Studien",
  number =       "Nr.~166",
  address =      "Karlsruhe",
  month =        aug,
  year =         "1989",
  keywords =     "applic.MC vari.pract",
  mynote =       "Compare trois syste`mes de me'ta-compilation sur la traduction de MiniLAX (un sous-cousin de Pascal)
                 en ICode (un sous-ensemble de P-code). Les trois syste`mes sont Eli, qui inclue en particulier GAG, la
                 collection d'outils du GMD, en particulier AG, un syste`me de grammaires attribue'es, et Gentle, un
                 syste`me fonde' sur la programmation logique et les doubles grammaires. Les auteurs se gardent bien de
                 de'signer le gagnant; je ferai donc de meme. Ce papier n'est inte'resssant que parce que c'est le
                 premier e'crit sur AG que j'ai l'occasion de voir: c,a n'a pas l'air terrible! (mj)",
}

@InCollection{Walz88,
  author =       "Janet A. Walz and Gregory F. Johnson",
  title =        "Incremental Evaluation for a General Class of Circular Attribute Grammars",
  booktitle =    "ACM SIGPLAN '88 Conf. on Progr. Languages Design and Implementation",
  publisher =    "ACM press",
  pages =        "209--221",
  address =      "Atlanta, GA",
  month =        jul,
  year =         "1988",
  keywords =     "incr",
  note =         "Published as ACM SIGPLAN Notices, volume 23, number 7",
}

@PhdThesis{Warren76,
  author =       "S. K. Warren",
  title =        "The Coroutine Model of Attribute Grammar Evaluation",
  school =       "Rice University",
  type =         "Ph.{D}. Thesis",
  address =      "Houston, TX",
  month =        apr,
  year =         "1976",
  keywords =     "eval",
}

@MastersThesis{Warren75,
  author =       "S. K. Warren",
  title =        "The Efficient Evaluation of Attribute Grammars",
  school =       "Rice University",
  type =         "Master's Thesis",
  address =      "Houston, TX",
  month =        apr,
  year =         "1975",
  keywords =     "eval",
}

@Article{Watt86,
  author =       "David A. Watt",
  title =        "Executable Semantic Descriptions",
  journal =      "Software---Practice and Experience",
  volume =       "16",
  number =       "1",
  pages =        "13--43",
  year =         "1986",
  keywords =     "???",
}

@Article{Watt79,
  author =       "David A. Watt",
  title =        "An Extended Attribute Grammar for Pascal",
  journal =      "ACM SIGPLAN Notices",
  volume =       "14",
  number =       "2",
  pages =        "60--74",
  month =        feb,
  year =         "1979",
  keywords =     "exem.PASCAL",
}

@TechReport{Watt74,
  author =       "David A. Watt",
  title =        "{LR} Parsing of Affix Grammars",
  institution =  "Comp. Sc. Department, University of Glasgow",
  type =         "report",
  number =       "7",
  month =        aug,
  year =         "1974",
  keywords =     "divers.affix",
}

@TechReport{Watt82,
  author =       "David A. Watt",
  title =        "Modular Language Definitions",
  institution =  "Comp. Sc. Department, University of Glasgow",
  type =         "report",
  number =       "CSC/82/R3",
  year =         "1982",
  keywords =     "survey",
}

@Article{Watt77,
  author =       "David A. Watt",
  title =        "The Parsing Problem for Affix-Grammars",
  journal =      "Acta Informatica",
  volume =       "8",
  number =       "1",
  pages =        "1--20",
  year =         "1977",
  keywords =     "divers.affix",
}

@InCollection{Watt84,
  author =       "David A. Watt",
  editor =       "Bernard Lorho",
  title =        "Contextual Constraints",
  booktitle =    "Methods and Tools for Compiler Construction",
  pages =        "45--80",
  publisher =    "Cambridge University Press",
  address =      "New York, New York",
  year =         "1984",
  keywords =     "applic.MC",
}

@InCollection{Watt80,
  author =       "David A. Watt",
  editor =       "Neil D. Jones",
  title =        "Rule Splitting and Attribute-directed Parsing",
  booktitle =    "Semantics-Directed Compiler Generation",
  series =       "Lecture Notes in Computer Science",
  volume =       "94",
  pages =        "363--392",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1980",
  keywords =     "eval",
}

@Article{Watt83,
  author =       "David A. Watt and Ole L. Madsen",
  title =        "Extended Attribute Grammars",
  journal =      "The Computer Journal",
  volume =       "26",
  pages =        "142--153",
  year =         "1983",
  keywords =     "class eval",
  note =         "See also: report 10, Comp. Sc. Department, University of Glasgow (July 1977) and report DAIMI PB-105,
                 Comp. Sc. Department, Aarhus University (November 1979).",
}

@TechReport{Weber76,
  author =       "J. Weber",
  title =        "Programmtransformationen mit Attributierten Transformationsgrammatiken",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "7604",
  year =         "1976",
  keywords =     "tat",
}

@PhdThesis{Weisgerber83,
  author =       "Beatrix Weisgerber",
  title =        "Attributierte Transformationsgrammatiken: die Baumanalyse und Untersuchungen zu
                 Transformationsstrategien",
  school =       "University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1983",
  keywords =     "tat",
}

@Article{Wilhelm79,
  author =       "Reinhard Wilhelm",
  title =        "Attibutierte Grammatiken",
  journal =      "Informatik-Spektrum",
  volume =       "2",
  number =       "3",
  pages =        "123--130",
  month =        jul,
  year =         "1979",
  keywords =     "survey",
}

@TechReport{Wilhelm77,
  author =       "Reinhard Wilhelm",
  title =        "Baumtransformatoren. Ein Vergleich mit Baumtransduktoren und Aspekte der Implementierung",
  institution =  "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "TUM-INFO-7713",
  month =        jun,
  year =         "1977",
  keywords =     "tat",
}

@Article{Wilhelm79a,
  author =       "Reinhard Wilhelm",
  title =        "Computation and Use of Data Flow Information in Optimizing Compilers",
  journal =      "Acta Informatica",
  volume =       "12",
  number =       "3",
  pages =        "209--225",
  year =         "1979",
  keywords =     "applic.DFA",
}

@InCollection{Wilhelm84,
  author =       "Reinhard Wilhelm",
  title =        "Inverse Currying Transformation on Attribute Grammars",
  booktitle =    "11th ACM Symp. on Principles of Progr. Languages",
  publisher =    "ACM press",
  pages =        "140--147",
  address =      "Salt Lake City, Ut",
  month =        jan,
  year =         "1984",
  keywords =     "tag",
  abstract =     "Inverse currying transformation of an attribute grammar moves a context condition to places in the
                 grammar where the violation of the condition can be detected as soon as the semantic information used
                 in the condition is computed. It thereby takes into account the evaluation order chosen for the
                 attribute grammar. Inverse currying transformations can be used to enhance context sensitive parsing
                 using predicates on attributes, to eliminate sources of backtrack when parsing according to ambiguous
                 grammars, and to facilitate semantics-supported error correction.",
  mynote =       "Decrit une transformation de GAs qui elimine les conditions contextuelles et les remplace par des
                 regles semantiques qui verifieront la condition des que toutes les informations necessaires seront
                 calculees. Applicable aux simples multi-passes. Bizarre. (mj)",
}

@TechReport{Wilhelm93,
  author =       "Reinhard Wilhelm",
  title =        "Inverse Currying Transformation on Attribute Grammars",
  institution =  "California Berkeley",
  year =         "1993",
  number =       "UCB//CSD-83-129",
  month =        jul,
  abstract =     "Inverse currying transformation of an attribute grammar moves a context condition to places in the
                 grammar where the violation of the condition can be detected as soon as the semantic information used
                 in the condition is computed. It thereby takes into account the evaluation order chosen for the
                 attribute grammar. Inverse currying transformations can be used to enhance context sensitive parsing
                 using predicates on attributes, to eliminate sources of backtrack when parsing according to ambiguous
                 grammars, and to facilitate semantics-supported error correction",
  url =          "ftp://tr-ftp.cs.berkeley.edu/pub/tech-reports/csd/csd-83-129/",
}

@TechReport{Wilhelm73,
  author =       "Reinhard Wilhelm",
  title =        "Syntax- und Semantikspezification in der Eingabesprache f{\"u}r einen Compiler-Compiler",
  institution =  "Abteilung Mathematik, Tech. University M{\"u}nchen",
  type =         "Bericht",
  number =       "7301",
  year =         "1973",
  keywords =     "syst.MUG1",
}

@InProceedings{Wilhelm74,
  author =       "Reinhard Wilhelm",
  editor =       "D. Siefkes",
  title =        "Code-Optimierung mittels Attributierter Transformationsgrammatiken",
  booktitle =    "GI 4. Jahrestagung",
  series =       "Lecture Notes in Computer Science",
  volume =       "26",
  pages =        "257--266",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1974",
  keywords =     "applic.GC",
  note =         "See also: Bericht 7408, Abteilung Mathematik, Tech. University M{\"u}nchen (1974).",
}

@InProceedings{Wilhelm82,
  author =       "Reinhard Wilhelm",
  editor =       "H. W{\"o}ssner",
  title =        "{LL}- and {LR}-attributed Grammars",
  booktitle =    "GI 7. Fachtagung ``Programmiersprachen und Programmentwicklung''",
  series =       "Inf. Fachb.",
  volume =       "53",
  pages =        "151--164",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        mar,
  year =         "1982",
  keywords =     "eval class",
}

@InCollection{Wilhelm78,
  author =       "Reinhard Wilhelm",
  editor =       "Michaneh Amirchahy and Dani{\`e}le N{\'e}el",
  title =        "Presentation of the Compiler Generating System {MUG2}. Examples: Global Flow Analysis and
                 Optimization",
  booktitle =    "Le Point sur la Compilation",
  pages =        "307--335",
  publisher =    "IRIA-CEC",
  address =      "Rocquencourt",
  month =        jan,
  year =         "1978",
  keywords =     "syst.MUG2",
  note =         "Montpellier",
}

@InCollection{Wilhelm75,
  author =       "Reinhard Wilhelm",
  editor =       "M. Kronental and Bernard Lorho",
  title =        "Describing Code Optimization Algorithms by Attributed Transformational Grammars",
  booktitle =    "S{\'e}minaires Structure et Programmation des Calculateurs 1975",
  pages =        "153--164",
  publisher =    "INRIA",
  address =      "Rocquencourt",
  year =         "1975",
  keywords =     "applic.GC",
}

@InCollection{Wilhelm81,
  author =       "Reinhard Wilhelm",
  editor =       "Steven S. Muchnick and Neil D. Jones",
  title =        "Global Flow Analysis and Optimization in the {MUG2} Compiler Generating System",
  booktitle =    "Program Flow Analysis: Theory and Applications",
  pages =        "141--159",
  publisher =    "Prentice-Hall",
  address =      "Englewood Cliffs, NJ",
  year =         "1981",
  keywords =     "applic.DFA",
}

@InCollection{Wilhelm76,
  author =       "Reinhard Wilhelm and Knut Ripken and H. Ciesinger and W. Lahner and R. D. Nollmann",
  title =        "Design Evaluation of the Compiler Generating System {MUG1}",
  booktitle =    "2nd Int. Conf. on Software Engineering",
  pages =        "571--576",
  address =      "San Francisco, CA",
  month =        oct,
  year =         "1976",
  keywords =     "syst.MUG1",
}

@Article{Williams81,
  author =       "M. H. Williams",
  title =        "Methods for Specifying Static Semantics",
  journal =      "Comput. Lang.",
  volume =       "6",
  number =       "1",
  pages =        "1--17",
  year =         "1981",
  keywords =     "vari.pract",
}

@TechReport{Willman80,
  author =       "N. Willman",
  title =        "Describing Code Optimization Algorithms by Means of Attribute Grammars",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "M.Sc. thesis, report",
  number =       "C-1980-73",
  year =         "1980",
  keywords =     "applic.GC",
  note =         "(in Finnish)",
}

@PhdThesis{Wilner71,
  author =       "W. T. Wilner",
  title =        "Declarative Semantic Definition as Illustrated by a Definition of Simula 67",
  school =       "Comp. Sc. Department, Stanford University",
  type =         "Ph.{D}. Thesis",
  number =       "report STAN-CS-233-71",
  month =        jun,
  year =         "1971",
  keywords =     "exem.SIMULA",
}

@InCollection{Wilner72,
  author =       "W. T. Wilner",
  editor =       "R. Rustin",
  title =        "Formal Semantic Definition using Synthesized and Inherited Attributes",
  booktitle =    "Formal Semantics of Programming Languages",
  pages =        "25--39",
  publisher =    "Prentice-Hall",
  address =      "Englewood Cliffs, NJ",
  year =         "1972",
  keywords =     "sema",
}

@Article{Yamashita87,
  author =       "Y. Yamashita and Masataka Sassa and Ikuo Nakata",
  title =        "A Friendship Club Problem and its Application to Attribute Grammars",
  journal =      "Computer Software",
  volume =       "4",
  number =       "3",
  pages =        "28--40",
  year =         "1987",
  keywords =     "divers.divers",
  mynote =       "Pas lu, mais d'apres [Sas88] ca permet de determiner automatiquement les classes d'equivalence des
                 attributs herites dans les grammaires ECLR-Attribuees. (mj)",
  note =         "(in Japanese)",
}

@Article{Yeh83,
  author =       "Dashing Yeh",
  title =        "On Incremental Evaluation of Ordered Attributed Grammars",
  journal =      "BIT",
  volume =       "23",
  pages =        "308--320",
  year =         "1983",
  keywords =     "incr",
  mynote =       "Montre comment transformer un evaluateur OAG base sur des sequences de visite en un evaluateur
                 incremental. Cette transformation est assez simple. (mj)",
}

@Article{Yeh88,
  author =       "Dashing Yeh and Uwe Kastens",
  title =        "Improvements of an Incremental Evaluation Algorithm for Ordered Attributed Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "23",
  number =       "12",
  pages =        "45--50",
  month =        dec,
  year =         "1988",
}

@TechReport{Yellin88,
  author =       "Daniel M. Yellin",
  title =        "Attribute Grammar Inversion and Source-to-source Translation",
  institution =  SPRINGER,
  type =         "Reprint of PhD thesis, Department of Comp. Sc., Columbia University, New York, NY",
  series =       "Lecture Notes in Computer Science",
  volume =       "302",
  number =       "(1987).",
  address =      "New York--Heidelberg--Berlin",
  year =         "1988",
  keywords =     "tag",
  mynote =       "Tres interessant essai sur l'inversion des GAs, c-a-d si on a une GA T traduisant L1 en L2, comment
                 construire T-1 traduisant L2 en L1. L'auteur dit comment faire en imposant certaines contraintes sur
                 les GAs acceptees. Cependant dans le cas general cela semble impossible, et il faut une tres grande
                 discipline pour obtenir une GA inversible. (mj)",
}

@TechReport{Yellin84,
  author =       "Daniel M. Yellin",
  title =        "A Survey of Tree-walk Evaluation Strategies for Attribute Grammars",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "report",
  address =      "New York, NY",
  month =        sep,
  year =         "1984",
  keywords =     "eval",
}

@Article{Yellin86,
  author =       "Daniel M. Yellin and Eva-Maria M. Mueckstein",
  title =        "The Automatic Inversion of Attribute Grammars",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE-12",
  number =       "5",
  pages =        "590--599",
  month =        may,
  year =         "1986",
  keywords =     "tag",
  mynote =       "Montre comment, moyennant certaines conditions, on peut inverser automatiquement une GA specifiant une
                 traduction de L1 vers L2 en une GA faisant la traduction inverse L2 vers L1. (mj)",
  note =         "See also: report RC 10957, IBM T.J. Watson Research Center, Yorktown Heights, NY (January 1985).",
}

@InCollection{Yellin85,
  author =       "Daniel M. Yellin and Eva-Maria M. Mueckstein",
  title =        "Two-Way Translators based on Attribute Grammar Inversion",
  booktitle =    "8th Int. Conf. on Software Engineering",
  pages =        "36--42",
  address =      "London",
  month =        aug,
  year =         "1985",
  keywords =     "applic.MC",
  mynote =       "Resume des travaux de Yellin a l'intention du grand public. (mj)",
}

@TechReport{Yli-Olli75,
  author =       "P. Yli-Olli",
  title =        "On Compiler Writing Systems: Applications and Software Problems",
  institution =  "Department of Comp. Sc., University of Helsinki",
  type =         "report",
  number =       "C-1975-32",
  year =         "1975",
  keywords =     "applic.prog",
  note =         "(in Finnish)",
}

@Article{You79,
  author =       "K. C. You and King-Sun Fu",
  title =        "A Syntactic Approach to Shape Recognition using Attributed Grammars",
  journal =      "Institute of Electrical and Electronic Engineers. Transactions on Systems, Man, and Cybernetics",
  volume =       "SMC-9",
  number =       "6",
  pages =        "334--345",
  year =         "1979",
  keywords =     "applic.divers",
}

@PhdThesis{Zaring90,
  author =       "Alan K. Zaring",
  title =        "Parallel Evaluation in Attribute Grammar-based Systems",
  school =       "Department of Comp. Sc., Cornell University",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR90-1149",
  type =         "Ph.{D}. Thesis",
  number =       "Technical Report 90-1149",
  month =        aug,
  year =         "1990",
  keywords =     "eval incr",
  abstract =     "Attributed context-free grammars provide a rigorous basis for the semantic analysis and translation of
                 tree-structured objects and have been used to build a variety of systems. A number of programming
                 language compiler, compiler generators, and language-based editor generators employing attribute
                 grammars have been described in the literature. Many of these systems make use of l-ordered attribute
                 grammars, attribute grammars for which particularly efficient methods for attributing derivation trees
                 have been described. Derivation trees representing constructs of only moderate size may contain
                 thousands of nodes and tens of thousands of attribute instances, and attribution of such trees on
                 uniprocessor systems may require a significant amount of time. One possibility for reducing this time
                 is to find techniques that exploit opportunities for parallelism in the attribution process and allow
                 attribution to be performed on multiprocessor systems. Such techniques would permit attribute grammars
                 to serve as a rigorous foundation for the development of parallel compilation systems and other
                 parallel applications. We present several methods for the parallel attribution of trees derived from
                 l-ordered attribute grammars. These methods take advantage of parallelism implicit in the attribution
                 process and, thus, do not require any special considerations to be taken when constructing grammars.
                 Methods appropriate for use on tightly - and loosely-coupled multiprocessor architectures and for use
                 when complete and incremental tree attribution are required are presented. We present preliminary
                 performance results obtained from implementations of some of the methods on a simple shared-memory
                 multiprocessor simulator embedded within an attribute grammar-based editor generator system. The
                 results suggest that the methods may provide useful reductions in attribution time in some cases.",
}

@InProceedings{Jourdan90,
  author =       "Martin Jourdan and Didier Parigot and Catherine Juli{\'e} and Olivier Durin and Carole {Le Bellec}",
  title =        "Design, Implementation and Evaluation of the {FNC}-2 Attribute Grammar System",
  booktitle =    "Conf. on Programming Languages Design and Implementation",
  pages =        "209--222",
  address =      "White Plains, NY",
  month =        jun,
  year =         "1990",
  keywords =     "syst.FNC2 eval tag alloc",
  note =         "Published as {\sl ACM SIGPLAN Notices}, 25(6)",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/sgpln90-t.ps.gz",
  postscript =   "../../ftp/fnc2/publications/sgpln90-t.ps.gz",
  abstract =     "FNC-2 is a new attribute grammar processing system aiming at expressive power, efficiency, ease of use
                 and versatility. Its development at INRIA started in 1986, and a first running prototype is available
                 since early 1989. Its most important features are: efficient exhaustive and incremental
                 visit-sequence-based evaluation of strongly (absolutely) non-circular AGs; extensive space
                 optimizations; a specially-designed AG-description language, with provisions for true modularity;
                 portability and versatility of the generated evaluators; complete environment for application
                 development. This paper briefly describes the design and implementation of FNC-2 and its peripherals.
                 Then preliminary experience with the system is reported.",
}

@Book{Deransart90,
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Attribute Grammars and their Applications ({WAGA})",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "none",
  abstract =     "Proceedings of the first workshop entirely devoted to AGs.",
  note =         "Paris",
}

@InCollection{Knuth90,
  author =       "Donald E. Knuth",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "The Genesis of Attribute Grammars",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "1--12",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "divers.divers",
  abstract =     "Historical recollection of how AGs were born.",
  note =         "Paris",
}

@InCollection{Akker90,
  author =       "Rieks op den Akker and Bo{\u r}ivoj Melichar and Jorma Tarhio",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "The Hierarchy of {LR}-attributed Grammars",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "13--28",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "class",
  abstract =     "A survey of the various subclasses of L-AGs for LR parsing, presented in a unified formalism. (mj)",
  note =         "Paris",
}

@InCollection{Delest90,
  author =       "Marie-Pierre Delest and Jean-Marc Fedou",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Counting Polyominoes Using Attribute Grammars",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "46--60",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.divers",
  abstract =     "A very interesting, although a bit theoretical, application of the AG formalism to help solve
                 combinatorics problems. The presentation at WAGA was brilliant. (mj)",
  note =         "Paris",
}

@InCollection{Kuiper90,
  author =       "Matthijs F. Kuiper and S. Doaitse Swierstra",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Parallel Attribute Evaluation: Structure of Evaluators and Detection of Parallelism",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "61--75",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "eval",
  abstract =     "A summary of Kuiper's thesis. (mj)",
  note =         "Paris",
}

@InCollection{Klein90,
  author =       "Eduard Klein and Kai Koskimies",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Parallel One-pass Compilation",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "76--90",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "eval",
  note =         "Paris",
}

@InCollection{Eijk90,
  author =       "Peter van Eijk",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Attribute Grammar Applications in Prototyping {LOTOS} Tools",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "91--100",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.edit",
  abstract =     "What is the practical applicability of attribute grammars? As we show in this paper, attribute
                 grammars are at least good enough for the prototyping of fully functional interactive tools. Going from
                 a definition of a language and the functionality of its tools to an attribute grammar is a discipline
                 in need of a systematic approach, for which we given some initial material. As is inevitable when a
                 system is extensively used (in our case the Cornell Synthesizer Generator), this paper also proposes
                 extensions to the attribute grammar formalism and its supporting systems.",
  mynote =       "An account of the experience gained in using the Synthesizer Generator for a real-size (17000+ lines)
                 application. (mj)",
  note =         "Paris",
  url =          "http://www.phil.ruu.nl/home/pve/txt/waga.ps",
}

@InCollection{Vogt90,
  author =       "Harald H. Vogt and Aswin van den Berg and Arend Freije",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Rapid Development of a Program Transformation System with Attribute Grammars and Dynamic
                 Transformations",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "101--115",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.edit",
  note =         "Paris",
}

@InCollection{Wilhelm90,
  author =       "Reinhard Wilhelm",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Tree Transformations, Functional Languages, and Attribute Grammars",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "116--129",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "tat vari.FP",
  abstract =     "Title is explicit enough: it is an account of the experience gained in using OPTRAN and TrafoLa.
                 Highly interesting. (mj)",
  note =         "Paris",
}

@InCollection{Meijer90,
  author =       "Hans Meijer",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "The Project on Extended Affix Grammars at Nijmegen",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "130--142",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "vari.WG",
  note =         "Paris",
}

@InCollection{Rosendahl90,
  author =       "Mads Rosendahl",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Abstract Interpretation Using Attribute Grammars",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "143--156",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  abstract =     "The paper deals with correctness proofs of attribute grammars using methods from abstract
                 interpretation. The technique is described by defining a liveness analysis and proving it correct with
                 respect to a continuation style semantics.",
  keywords =     "vari.AbI abstract interpretation attribute grammars",
  note =         "Paris",
}

@InCollection{Attali90,
  author =       "Isabelle Attali and Jacques Chazarain",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Functional Evaluation of Strongly Non-circular Typol Specifications",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "157--176",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "vari.FP vari.LP vari.SN",
  note =         "Paris",
}

@InCollection{Shinoda90,
  author =       "Yoichi Shinoda and Takuya Katayama",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Object-oriented Extension of Attribute Grammars and its Implementation Using Distributed Attribute
                 Evaluation Algorithm",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "177--191",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "eval vari.divers vari.00",
  note =         "Paris",
}

@InCollection{Feng90,
  author =       "An Feng and Tohru Kikuno and Koji Torii",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Incremental Attribute Evaluation for Multiple Subtree Replacements in Structure-oriented
                 Environments",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "192--206",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "incr applic.edit",
  note =         "Paris",
}

@InCollection{Vorthmann90,
  author =       "Scott A. Vorthmann",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Coordinated Incremental Attribute Evaluation on a {DR}-threaded Tree",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "207--221",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "incr",
  note =         "Paris",
}

@InCollection{Augusteijn90,
  author =       "Lex Augusteijn",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "The Elegant Compiler Generation System",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "238--254",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "syst.Elegant eval class",
  note =         "Paris",
}

@InCollection{Waite90,
  author =       "William A. Waite",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Use of Attribute Grammars in Compiler Construction",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "255--265",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.MC",
  note =         "Paris",
}

@InCollection{Keller90,
  author =       "Paul Keller and Thomas Maas",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "An {OPTRAN}-generated Front-end for Ada",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "266--283",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.MC exem.ADA",
  note =         "Paris",
}

@InCollection{Pitt90,
  author =       "J. V. Pitt and R. J. Cunningham",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Attributed Translation and the Semantics of Natural Language",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "284--297",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.NL",
  note =         "Paris",
}

@InCollection{Levison90,
  author =       "Michael Levison and Gregory Lessard",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Application of Attribute Grammars to Natural Language Sentence Generation",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "298--312",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.NL",
  note =         "Paris",
}

@Article{Alexin90a,
  author =       "Zoltan Alexin and J. Dombi and Karoly F\'abricz and Tibor Gyim\'othy and T. Horv\'ath",
  title =        "{CONSTRUCTOR}: {A} Natural Language Interface Based on Attribute Grammars",
  journal =      "Acta Cybernetica",
  volume =       "9",
  number =       "3",
  pages =        "247--255",
  keywords =     "applic.NL",
  year =         "1990",
}

@InProceedings{Gyim\'othy92,
  author =       "T. Gyim\'othy and Z. Alexin and R. Sz\"ucs",
  title =        "Integrated Graphic Environment to Develop Applications based on Attribute Grammars",
  booktitle =    "Proceedings of the Fourth International Conference on Compiler Construction CC'92",
  year =         "1992",
  editor =       "U. Kastens",
  volume =       "641",
  series =       "LNCS",
  pages =        "51--58",
  keywords =     "applic.edit",
}

@InCollection{Alexin90,
  author =       "Zoltan Alexin and Tibor Gyim{\'o}thy and Tamas Horv{\'a}th and Karoly F{\'a}bricz",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Attribute Grammar Specification for a Natural Language Understanding Interface",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "313--326",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "applic.NL",
  note =         "Paris",
}

@InCollection{Peckham90,
  author =       "Stephen B. Peckham",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Globally Partitionable Attribute Grammars",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "327--342",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "incr class",
  note =         "Paris",
}

@InCollection{Alblas90,
  author =       "Henk Alblas",
  editor =       "Pierre Deransart and Martin Jourdan",
  title =        "Concurrent Incremental Attribute Evaluation",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  pages =        "343--358",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  year =         "1990",
  keywords =     "incr tat",
  note =         "Paris",
}

@TechReport{Marmol90,
  author =       "Bruno Marmol",
  title =        "{\'E}valuateurs d'attributs parall{\`e}les sur multi-processeurs {\`a} m{\'e}moire partag{\'e}e",
  institution =  "University d'Orl{\'e}ans",
  type =         "rapport de {DEA}",
  month =        sep,
  year =         "1990",
  keywords =     "eval para",
  abstract =     "First (as far as I know) {\em real\/} implementation of a parallel attribute evaluator. (mj)",
}

@InProceedings{Farrow92,
  author =       "Rodney Farrow and Thomas J. Marlowe and Daniel M. Yellin",
  title =        "Composable Attribute Grammars: Support for Modularity in Translator Design and Implementation",
  booktitle =    "19th ACM Symp. on Principles of Programming Languages",
  pages =        "223--234",
  address =      "Albuquerque, NM",
  month =        jan,
  year =         "1992",
  keywords =     "class.CAG Composable attribute grammars; Translator design; Modularity; Translator implementation;
                 Classical attribute grammars; Translation specifications; Translator-writing systems; Programming
                 languages; Comprehensibility; Reusability; Incremental metacompilation; Linguist",
  publisher =    "ACM press",
  annote =       "Presque la me^me chose que nos GA ge'ne'riques! (mj)",
  abstract =     "This paper introduces composable attribute grammars (CAGs), a formalism that extends classical
                 attribute grammars to allow for the modular composition of translation specifications and of
                 translators. CAGs bring to complex translator-writing systems the same benefits of modularity found in
                 modern programming languages, including comprehensibility, reusability, and incremental
                 meta-compilation. After introducing CAGs by way of an example, we provide a formal definition of CAGs
                 and their semantics. We describe a subclass of CAGs, called separable CAGs, that have favorable
                 implementation properties. We discuss the novel aspects of CAGs, compare them to other proposals for
                 inserting modularity into attribute grammars, and relate our experience using CAGs in the Linguist
                 translator-writing system. (27 Refs.)",
}

@PhdThesis{Mughal88,
  author =       "Khalid A. Mughal",
  title =        "Generation of Runtime Facilities for Program Editors",
  school =       "Department of Informatics, University of Bergen",
  type =         "Ph.{D}. Thesis",
  address =      "Norway",
  year =         "1988",
}

@InProceedings{Paakki89,
  author =       "Jukka Paakki",
  title =        "Comparison of Compiler Writing Methods: an Experiment",
  booktitle =    "13th Information Technologies Conference",
  volume =       "R122",
  publisher =    "Science and Research Council of Bosnia and Hertzegovina",
  address =      "Sarajevo",
  year =         "1989",
}

@TechReport{Paakki88a,
  author =       "Jukka Paakki",
  title =        "Experimental Comparison of Compiler Writing Methods",
  institution =  "Gesellschaft fuer Mathematik und Datenverarbeitung mbH",
  type =         "Arbeitspapiere der GMD",
  number =       "\#314",
  year =         "1988",
}

@InProceedings{Paakki90,
  author =       "Jukka Paakki",
  editor =       "D. H. D. Warren and P. Szeredi",
  title =        "A Logic-Based Modification of Attribute Grammars for Practical Compiler Writing",
  booktitle =    "7th Int. Conference on Logic Programming",
  pages =        "203--217",
  publisher =    "MIT Press",
  address =      "Jerusalem",
  year =         "1990",
}

@Article{Paakki88b,
  author =       "Jukka Paakki",
  title =        "A note on the Speed of Prolog",
  journal =      "ACM SIGPLAN Notices",
  volume =       "23",
  number =       "8",
  pages =        "73--82",
  month =        aug,
  year =         "1988",
}

@InCollection{Paakki88c,
  author =       "Jukka Paakki",
  editor =       "Dieter Hammer",
  title =        "A Prolog-Based Compiler Writing Tool",
  booktitle =    "Compiler Compilers and High Speed Compilation",
  series =       "Lecture Notes in Computer Science",
  volume =       "371",
  pages =        "107--117",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1988",
  note =         "Berlin",
}

@InCollection{Stiefel88,
  author =       "B. Stiefel and P. Thiel",
  editor =       "Dieter Hammer",
  title =        "Application of Attributed Grammar for Syntax and Attribute-directed Bottom-up Translation",
  booktitle =    "Compiler Compilers and High Speed Compilation",
  series =       "Lecture Notes in Computer Science",
  volume =       "371",
  pages =        "222--238",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1988",
  note =         "Berlin",
}

@InCollection{Tarhio88b,
  author =       "Jorma Tarhio",
  editor =       "Dieter Hammer",
  title =        "A Compiler Generator for Attribute Evaluation during {LR} Parsing",
  booktitle =    "Compiler Compilers and High Speed Compilation",
  series =       "Lecture Notes in Computer Science",
  volume =       "371",
  pages =        "146--159",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        oct,
  year =         "1988",
  note =         "Berlin",
}

@Article{Tarhio90,
  author =       "Jorma Tarhio",
  title =        "Uncle-attributed Grammars",
  journal =      "BIT",
  volume =       "30",
  pages =        "437--449",
  year =         "1990",
}

@Article{Marcelis90,
  author =       "A. J. J. M. Marcelis",
  title =        "On the Classification of Attribute Evaluation Algorithms",
  journal =      "Science of Computer Programming",
  volume =       "14",
  number =       "1",
  pages =        "1--24",
  month =        jun,
  year =         "1990",
  keywords =     "eval",
  mynote =       "Pas beaucoup de classification la`-dedans, c'est pluto^t de la synthe`se de programmes a` partir d'une
                 spe'cification du proble`me de l'e'valuation d'attributs et par raffinements successifs. Au bout du
                 compte on aboutit a` un algorithme tre`s proche de celui de Jalili. Pas vraiment inte'ressant. (mj)",
}

@Article{Giegerich88,
  author =       "Robert Giegerich",
  title =        "Composition and Evaluation of Attribute Coupled Grammars",
  journal =      "Acta Informatica",
  volume =       "25",
  pages =        "355--423",
  year =         "1988",
}

@TechReport{Fedele90,
  author =       "Carine F\'ed\'ele",
  title =        "Construction automatis{\'e}e des compilateurs: le syst{\`e}me Cigale",
  institution =  "I3S, University de Nice--Sophia Antipolis",
  type =         "th{\`e}se",
  year =         "1990",
  keywords =     "applic.MC syst.autres",
}

@TechReport{Delest89,
  author =       "Marie-Pierre Delest and Jean-Marc Fedou",
  title =        "Attribute Grammars are Useful for Combinatorics",
  institution =  "LaBRI, University de Bordeaux~I",
  type =         "rapport",
  number =       "89-122",
  month =        nov,
  year =         "1989",
  keywords =     "applic.divers",
}

@TechReport{Vogt90a,
  author =       "Harald H. Vogt and S. Doaitse Swierstra and Matthijs F. Kuiper",
  title =        "On the Efficient Incremental Evaluation of Higher Order Attribute Grammars",
  institution =  "Utrecht University",
  type =         "report",
  number =       "RUU--CS--90--36",
  month =        dec,
  year =         "1990",
  keywords =     "class eval",
}

@TechReport{Swierstra90,
  author =       "S. Doaitse Swierstra and Harald H. Vogt",
  title =        "Higher Order Attribute Grammars: a Merge Between Functional and Object Oriented Programming",
  institution =  "Utrecht University",
  type =         "report",
  number =       "RUU--CS--90--12",
  month =        mar,
  year =         "1990",
  keywords =     "Object Oriented vari.00",
}

@TechReport{Kuiper86,
  author =       "Matthijs F. Kuiper and S. Doaitse Swierstra",
  title =        "Using {A}ttribute {G}rammars to {D}erive {E}fficient {F}unctional {P}rograms",
  institution =  "Utrecht University",
  type =         "Report",
  number =       "RUU--CS--86--16",
  year =         "1986",
  url =          "ftp://ftp.cs.ruu.nl/pub/RUU/CS/techreps/CS-1986/1986-16.ps.gz",
}

@TechReport{Akker91,
  author =       "Rieks op den Akker and Erik Sluiman",
  title =        "Linear Data Structures for Storage Allocation in Attribute Evaluators",
  institution =  "Twente University",
  type =         "report",
  number =       "INF--91--14",
  address =      "Enschede",
  month =        mar,
  year =         "1991",
  keywords =     "alloc",
}

@Article{Keller91,
  author =       "Wolfgang Keller",
  title =        "Automated Generation of Code Using Backtracking Parsers for Attribute Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "26",
  number =       "2",
  pages =        "109--117",
  month =        feb,
  year =         "1991",
  keywords =     "eval applic.GC",
}

@TechReport{Chapman88,
  author =       "Nigel P. Chapman",
  title =        "Attribute Grammars and Finite Automata",
  institution =  "Comp. Sc. Department, University College",
  type =         "report",
  number =       "RN/88/9",
  address =      "London",
  month =        mar,
  year =         "1988",
  keywords =     "class eval",
}

@Article{Chapman90,
  author =       "Nigel P. Chapman",
  title =        "Defining, Analysing and Implementing Communication Protocols Using Attribute Grammars",
  journal =      "Formal Aspects of Computing",
  volume =       "2",
  number =       "4",
  pages =        "359--392",
  year =         "1990",
  keywords =     "applic.protocol",
}

@TechReport{Chapman90a,
  author =       "Nigel P. Chapman",
  title =        "On Extended Attribute Grammars",
  institution =  "Comp. Sc. Department, University College",
  type =         "report",
  number =       "RN/90/27",
  address =      "London",
  year =         "1990",
  abstract =     "Extended attribute grammars (EAGs) is presented, in an attempt to overcome certain perceived technical
                 deficiencies of their original definition. The new definition is purely syntactical. Well-formed EAGs
                 are characterized in terms of this new definition; a stronger condition, substitution-transformability
                 is introduced, which Several useful attribute types are shown to satisfy the necessary conditions to be
                 used in substitution-transformable EAGs.",
}

@Article{Engelfriet89,
  author =       "Joost Engelfriet and Gilberto Fil{\'e}",
  title =        "Passes, Sweeps and Visits in Attribute Grammars",
  journal =      "J. ACM",
  volume =       "36",
  number =       "4",
  pages =        "841--869",
  month =        oct,
  year =         "1989",
  keywords =     "class",
}

@Unpublished{Frost90,
  author =       "Richard A. Frost",
  title =        "Constructing Programs in a Calculus of Lazy Interpreters",
  type =         "draft",
  year =         "1990",
  keywords =     "applic.prog",
  note =         "University of Windsor",
}

@TechReport{Frost89b,
  author =       "Richard A. Frost",
  title =        "The Use of Lazy Attribute Grammars in Application Programming",
  institution =  "School of Comp. Sci., University of Windsor",
  type =         "Technical Report",
  number =       "89--007",
  year =         "1989",
  keywords =     "applic.prog",
}

@PhdThesis{Kaiser85a,
  author =       "Gail E. Kaiser",
  title =        "Semantics of Structure Editing Environments",
  school =       "Department of Comp. Sc., Carnegie-Mellon University",
  type =         "Ph.{D}. Thesis",
  number =       "report CMU-CS-85-131",
  year =         "1985",
  keywords =     "applic.edit",
  abstract =     "This thesis addresses the processing of semantics by structure editor-based programming environments.
                 This processing is peformed incrementally while the user writes and tests her programs. The semantics
                 processing involves the manipulation of two kinds of properties, static and dynamic. Static properties
                 can be determined by inspection of the program while dynamic properties reflect the interaction between
                 the user and the programming environment. The implementor of a programming environment describes the
                 semantics processing in terms of these properties. For example, symbol resolution, type checking, and
                 code generation involve static properties while interpretation, run-time support and language-oriented
                 debugging involve dynamic properties. Recent research in structure editing environments has focused on
                 the generation of programming environments from descriptions. Several mechanisms have been proposed for
                 writing the semantics description, and the most successful of these have been action routines and
                 attribute grammars. However, action routines are written as a collection of imperative subroutines and
                 it has proved difficult for an implementor need not be concerned with subtle interactions because all
                 interactions among attribute grammar rules are handled automatically. Unfortunately, attribute grammars
                 have been successfully applied only to the description of static properties, and have hitherto seemed
                 unsuited to the description of dynamic properties. This thesis describes a very large extension to
                 attribute grammars that solves this problem. The extended paradigm is called action equations. Action
                 equations are written in a declarative notation that retains the flavor of attribute grammars but adds
                 an easy means to express dynamic properties as well as static properties. The extensions to attribute
                 grammars include attaching particular attribute grammar-style rules to events that represent uer
                 commands; supporting propagation of events as well as supporting propagation of change with respect to
                 attribute values; and limited support for non-applicative mechanisms, allowing attributes to be treated
                 as variables and permitting modification in addition to replacement for changing the values of
                 attributes. Together, these extensions are sufficient to support dynamic properties.",
}

@Article{Kaiser87,
  author =       "Gail E. Kaiser and Simon M. Kaplan and Josephine Micallef",
  title =        "Multi-user, Distributed Language-Based Environments",
  journal =      "IEEE Software",
  volume =       "??",
  pages =        "58--67",
  month =        nov,
  year =         "1987",
  keywords =     "applic.edit",
}

@InProceedings{Micallef88,
  author =       "Josephine Micallef and Gail E. Kaiser",
  editor =       "J{\"u}rgen F. H. Winkler",
  title =        "Version and Configuration Control in Distributed Language-Based Environments",
  booktitle =    "Intl. Workshop on Software Version and Configuration Control",
  pages =        "119--143",
  publisher =    "B. G. Teubner",
  address =      "Stuttgart",
  month =        jan,
  year =         "1988",
  keywords =     "applic.edit",
}

@TechReport{Kaiser88,
  author =       "Gail E. Kaiser and Simon M. Kaplan",
  title =        "Parallel and Distributed Incremental Attribute Evaluation",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  number =       "CUCS-412-88",
  address =      "New York",
  month =        sep,
  year =         "1988",
  keywords =     "incr",
}

@TechReport{Micallef88a,
  author =       "Josephine Micallef",
  title =        "Incremental Evaluation of Ordered Attribute Grammars for Asynchronous Subtree Replacements",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  number =       "CUCS-380-88",
  address =      "New York",
  month =        jul,
  year =         "1988",
  keywords =     "incr",
}

@TechReport{Micallef89,
  author =       "Josephine Micallef and Yael J. Cycowicz and Gail E. Kaiser",
  title =        "Merging Scheduling Graphs during Incremental Attribute Evaluation of Asynchronous Subtree
                 Replacements",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  number =       "CUCS-450-89",
  address =      "New York",
  month =        jul,
  year =         "1989",
  keywords =     "incr",
}

@TechReport{Micallef89a,
  author =       "Josephine Micallef",
  title =        "Incremental Attribute Evaluation with Applications to Multi-user Language-based Environments",
  institution =  "Department of Comp. Sc., Columbia University",
  type =         "Technical Report",
  number =       "CUCS-444-89",
  address =      "New York",
  month =        apr,
  year =         "1989",
  keywords =     "incr applic.edit",
}

@TechReport{Kaplan87,
  author =       "Simon M. Kaplan",
  title =        "Incremental Attribute Evaluation on Node-label Controlled Graphs",
  institution =  "Department of Comp. Sc., University of Illinois at Urbana-Champaign",
  type =         "Technical Report",
  number =       "UIUCDCS-R-87-1309",
  month =        may,
  year =         "1987",
  keywords =     "vari.GG incr",
}

@InProceedings{Pfreundschuh-W88,
  author =       "Mary Pfreundschuh-Wagner and Ray Ford",
  editor =       "J{\"u}rgen F. H. Winkler",
  title =        "Using Attribute Grammars to Control Incremental, Concurrent Builds of Modular Systems",
  booktitle =    "Intl. Workshop on Software Version and Configuration Control",
  pages =        "285--304",
  publisher =    "B. G. Teubner",
  address =      "Stuttgart",
  month =        jan,
  year =         "1988",
  keywords =     "applic.prog",
}

@TechReport{Johmann89,
  author =       "K. R. Johmann",
  title =        "A Modified Attribute Grammar and its Applications to Software Maintenance Environments",
  institution =  "Department of Comp. Inf. Sc., University of Florida",
  type =         "M.Sc. thesis",
  address =      "Gainesville",
  month =        nov,
  year =         "1989",
  keywords =     "applic.prog",
}

@Article{Rohrich87,
  author =       "Johannes R{\"o}hrich",
  title =        "Graph Attribution with Multiple Attribute Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "22",
  number =       "11",
  pages =        "55--70",
  month =        nov,
  year =         "1987",
  abstract =     "Attributed graphs are well suited to represent structured sets of data objects. A multiple attribute
                 grammar, MTAG, consists of several attribute grammars that describe an attributed graph as a union of
                 attributed trees. Thus, from an MTAG one can automatically generate attribute evaluators for graphs.
                 Dependency analysis at generation time of the attribute evaluator leads to fast attribute evaluation,
                 and to significant space savings due to attribute overlay.",
  keywords =     "vari.GG graph attribution",
}

@PhdThesis{Pfreundschuh86,
  author =       "Mary Pfreundschuh",
  title =        "A Model for Building Modular Systems Based on Attribute Grammars",
  school =       "University of Iowa",
  type =         "Ph.{D}. Thesis",
  year =         "1986",
  keywords =     "applic.prog",
}

@PhdThesis{Walz89,
  author =       "Janet A. Walz",
  title =        "Extending Attribute Grammar and Type Inference Algorithms",
  school =       "Cornell University",
  type =         "Ph.{D}. Thesis",
  number =       "Technical Report TR-89-968",
  month =        feb,
  year =         "1989",
  abstract =     "Gated attribute grammars and error-tolerant unification expand upon the usual views of attribute
                 grammars and unification. Normally, attribute grammars are constrained to be noncircular; gated
                 attribute grammars allow fairly general circularities. Most unification algorithms do not behave well
                 when given inconsistent input; the new unification paradigm proposed here not only tolerates
                 inconsistencies but extracts information from them. The expanded views prove to be useful in
                 interactive language-based programming environments. Generalized unification allows the environment to
                 help the user find the sources of type errors in a program, while gated attribute grammars allow the
                 environment to provide an interpreter for incremental reevaluation of programs after small changes to
                 the code. The defining feature of gated attribute grammars is the appearance of a gate attribute
                 (indicating where cycle evaluation should begin and end) within every cycle. Attributes are ordered by
                 collapsing strongly connected components in the dependency graph and topologically sorting the result.
                 The smaller dependency graph for each component (ignoring edges leading to the gate) can be recursively
                 collapsed to provide further ordering. use of the evaluation order defined in this manner allows gated
                 attribute grammars to do without the restrictions on functions within a component needed by the other
                 varieties of circular attribute grammars. Initial and incremental evaluation algorithms are given, as
                 well as a sample grammar allowing an editor for a small language to become an incremental interpreter.
                 Counting unification defines unique solutions to sets of input equations that contain conflicting type
                 information. These solutions are derived from the potential variable constraints implied by the input
                 equations. For each type variable, each branch (a portion of a constraint) is assigned a weight
                 indicating the number of times the input set implied such a constraint. When the input equations are
                 derived from the static analysis of a program, the relative branch weights for a conflicting variable
                 give the overall pattern of uses of that variable and can direct attention to parts of the program that
                 disagree with the majority of uses. A number of error-tolerant unification algorithms are presented.",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/1.0/Display/ncstrl.cornell/TR89-968",
}

@Article{Bazzichi82,
  author =       "Franco Bazzichi and Ippolito Spadafora",
  title =        "An Automatic Generator for Compiler Testing",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "SE--8",
  number =       "4",
  pages =        "343--353",
  month =        jul,
  year =         "1982",
  keywords =     "vari.pract applic.MC",
}

@Article{Sarbo89,
  author =       "Janos J. Sarbo and Matthias Moritz",
  title =        "Translator Inversion",
  journal =      "Comput. Lang.",
  volume =       "14",
  number =       "3",
  pages =        "205--224",
  year =         "1989",
}

@Article{Alblas89a,
  author =       "Henk Alblas",
  title =        "Optimal Incremental Simple Multi-pass Attribute Evaluation",
  journal =      "Information Processing Letters",
  volume =       "32",
  number =       "6",
  pages =        "289--295",
  month =        oct,
  year =         "1989",
  keywords =     "incr",
}

@TechReport{Engelfriet89a,
  author =       "Joost Engelfriet and Linda M. Heyker",
  title =        "The Term-generating Power of Context-free Hypergraph Grammar and Attribute Grammars",
  institution =  "Vakgroep Informatica, Rijksuniversiteit te Leiden",
  type =         "report",
  number =       "89--17",
  month =        nov,
  year =         "1989",
  keywords =     "divers.lang",
}

@Article{Lextrait90,
  author =       "Vincent Lextrait and Alain Zarli",
  title =        "Meta-Generation of Incremental and Graphical Structure-oriented Editors",
  journal =      "BIGRE",
  number =       "70",
  month =        sep,
  year =         "1990",
  keywords =     "applic.edit",
}

@InCollection{Schurr89,
  author =       "Andy Sch{\"u}rr",
  editor =       "Manfred Nagl",
  title =        "Introduction to {PROGRESS}, an Attribute Graph Grammar Based Specification Language",
  booktitle =    "Graph-Theoretic Concepts in Computer Science",
  series =       "Lecture Notes in Computer Science",
  volume =       "411",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  year =         "1989",
  keywords =     "vari.GG",
}

@TechReport{Mossenbock90,
  author =       "Hans M{\"o}ssenb{\"o}ck",
  title =        "Coco/{R}: {A} Generator for Fast Compiler Front-ends",
  institution =  "Dept. Informatik, Inst. f{\"u}r Computersysteme, Eidgen{\"o}ssische Tech. Hochschule",
  type =         "Bericht",
  number =       "127",
  address =      "Z{\"u}rich",
  month =        feb,
  year =         "1990",
  keywords =     "syst.autres",
}

@Article{Thome89,
  author =       "Winfried Thome and Reinhard Wilhelm",
  title =        "Simulating Circular Attribute Grammars Through Attribute Reevaluation",
  journal =      "Information Processing Letters",
  volume =       "33",
  pages =        "79--81",
  month =        nov,
  year =         "1989",
}

@PhdThesis{Thieser89,
  author =       "E. Thieser",
  title =        "Attributauswertung f{\"u}r zyklische Attributierung",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1989",
}

@PhdThesis{Thome89a,
  author =       "Winfried Thome",
  title =        "Konzept zur Hintereinanderschaltung von Transformationseinheiten sowie zur Implementierung zyklischer
                 Attributierungen durch nichtzyklische unter Benutzung der Reattributierung",
  school =       "FB~10 -- Informatik, University des Saarlandes",
  type =         "Diploma Thesis",
  address =      "Saarbr{\"u}cken",
  year =         "1989",
}

@Article{Christiansen89,
  author =       "Henning Christiansen",
  title =        "Structure Sharing in Incremental Systems",
  journal =      "Struct. Programm.",
  volume =       "10",
  number =       "4",
  pages =        "169--186",
  year =         "1989",
}

@Article{Murching89,
  author =       "Arvind M. Murching and Y. N. Srikant",
  title =        "Incremental Attribute Evaluation Through Recursive Procedures",
  journal =      "Comput. Lang.",
  volume =       "14",
  number =       "4",
  pages =        "225--237",
  year =         "1989",
  keywords =     "incr",
}

@Article{Sideris90,
  author =       "Martha Sideris",
  title =        "On Attribute Grammars Without Attribute Synthesis",
  journal =      "Information Processing Letters",
  volume =       "35",
  pages =        "103--109",
  month =        jun,
  year =         "1990",
  keywords =     "divers.lang",
}

@Article{Efremidis88,
  author =       "Sophocles Efremidis and Christos H. Papadimitriou and Martha Sideris",
  title =        "Complexity Characterizations of Attribute Grammar Languages",
  journal =      "Inform. and Comput.",
  volume =       "78",
  number =       "3",
  pages =        "178--186",
  year =         "1988",
  keywords =     "divers.lang, divers.NPC",
}

@TechReport{Dobler90,
  author =       "H. Dobler and K. Pirklbauer",
  title =        "Coco-2 -- {A} New Compiler-Compiler",
  institution =  "Inst. f{\"u}r Informatik, University Linz",
  type =         "Technical Report",
  number =       "TR~90/1",
  year =         "1990",
  keywords =     "syst.autres",
}

@PhdThesis{Sennhauser89,
  author =       "R. Sennhauser",
  title =        "{\"U}bersetzung attributierter Grammatiken",
  school =       "Dept. Informatik, Inst. f{\"u}r Computersysteme, Eidgen{\"o}ssische Tech. Hochschule",
  type =         "Diploma Thesis",
  address =      "Z{\"u}rich",
  year =         "1989",
}

@TechReport{Hudson87,
  author =       "Scott E. Hudson",
  title =        "Incremental Attribute Evaluation: an Algorithm for Lazy Evaluation in Graphs",
  institution =  "University of Arizona",
  type =         "Technical Report",
  number =       "TR~87--20",
  address =      "Tucson",
  year =         "1987",
  keywords =     "incr",
}

@PhdThesis{Schutte87,
  author =       "A. Sch{\"u}tte",
  title =        "Spezifikation une Generierung von {\"U}bersetzern f{\"u}r Graph-Sprachen durch attributierte
                 Graph-Grammatiken",
  school =       "EXpress-Edition",
  type =         "Ph.{D}. Thesis",
  address =      "Berlin",
  year =         "1987",
}

@InProceedings{Lextrait90a,
  author =       "Vincent Lextrait and Xavier Ceugniet",
  title =        "{NEXUS}: The Meta-Generation of Versatile Graphical Multi-user Structure Editors Using Generalized
                 Attribute Grammars",
  booktitle =    "CHI '90 Workshop on Structure Editors Seattle",
  month =        apr,
  year =         "1990",
  keywords =     "applic.edit",
}

@TechReport{Delest89a,
  author =       "Marie-Pierre Delest and Jean-Marc Fedou",
  title =        "Attribute Grammars are Useful for Combinatorics",
  institution =  "LaBRI, University de Bordeaux~I",
  type =         "rapport",
  number =       "89--122",
  address =      "Talence",
  month =        nov,
  year =         "1989",
  keywords =     "applic.divers",
}

@TechReport{Alpern88b,
  author =       "Bowen Alpern and Roger Hoover and Barry K. Rosen and Peter F. Sweeney and F. Kenneth Zadeck",
  title =        "Keeping Priorities Straight: an Investigation of Incremental Algorithms",
  institution =  "Department of Comp. Sc., Brown University",
  type =         "Technical Report",
  number =       "CS--88--13",
  address =      "Providence, RI",
  month =        nov,
  year =         "1988",
  keywords =     "incr",
}

@Article{Boulicaut88,
  author =       "Jean-Fran{\c c}ois Boulicaut and Jean Beney",
  title =        "{M}{\'e}tacompilation et programmation\,: des r{\`e}gles m{\'e}thodologiques pour la sp{\'e}cification
                 et la programmation",
  journal =      "G{\'e}nie Logiciel \& Syst{\`e}mes Experts",
  number =       "11",
  pages =        "36--48",
  month =        mar,
  year =         "1988",
  keywords =     "divers.affix applic.MC",
}

@Article{Kaiser88a,
  author =       "Gail E. Kaiser and Peter H. Feiler and Fahimeh Jalili and Johann H. Schlichter",
  title =        "A Retrospective on {DOSE}: An Interpretive Approach to Structure Editor Generation",
  journal =      "Software---Practice and Experience",
  volume =       "18",
  number =       "8",
  pages =        "733--748",
  month =        aug,
  year =         "1988",
  keywords =     "applic.edit",
}

@InCollection{Lu88a,
  author =       "Qi Lu and Jiahua Qian",
  editor =       "M. P. Chytil and L. Janiga and V. Koubek",
  title =        "Design, Proof and Analysis of New Efficient Algorithms for Incremental Attribute Evaluation",
  booktitle =    "Mathematical Foundations of Computer Science 1988",
  series =       "Lecture Notes in Computer Science",
  volume =       "324",
  pages =        "483--491",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        aug,
  year =         "1988",
  keywords =     "incr",
  note =         "Carlsbad",
}

@Article{Herndon88,
  author =       "Robert M. {Herndon, Jr.} and Valdis A. Berzins",
  title =        "The Realizable Benefits of a Language Prototyping Language",
  journal =      "Institute of Electrical and Electronics Engineers. Transactions on Software Engineering",
  volume =       "14",
  number =       "6",
  pages =        "803--809",
  month =        jun,
  year =         "1988",
  keywords =     "applic.MC",
}

@Article{Rorich87,
  author =       "Johannes R{\"o}rich",
  title =        "Graph Attribution with Multiple Attribute Grammars",
  journal =      "ACM SIGPLAN Notices",
  volume =       "22",
  number =       "11",
  pages =        "55--70",
  month =        nov,
  year =         "1987",
  keywords =     "vari.GG",
}

@Article{Knopp87,
  author =       "J{\"u}rgen Knopp and Scott E. Hudson",
  title =        "Attributierte Transitionsnetze und ihre Anwendungen in Programmierumgebungen Incremental Attribute
                 Evaluation: a Flexible Algorithm for Lazy Update",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "13",
  number =       "3",
  pages =        "315--341",
  publisher =    "Institut f{\"u}r Informatik, Tech. University M{\"u}nchen",
  month =        jul,
  year =         "1987",
  keywords =     "vari.GG applic.prog incr",
  note =         "Bericht TUM-INFO-10-87-I14-350",
}

@TechReport{Pavlu90,
  author =       "Petr Pavl{\.u}",
  title =        "Another Way to Evaluate Attributes in Parallel with {LR} Parsing",
  institution =  "Dept. of Computers, Czech University of Technology",
  type =         "Report",
  number =       "DC--90--03",
  address =      "Prague",
  month =        dec,
  year =         "1990",
  keywords =     "eval class",
}

@PhdThesis{Paakki91,
  author =       "Jukka Paakki",
  title =        "Paradigms for Attribute-grammar-based Language Implementation",
  school =       "Department of Comp. Sc., University of Helsinki",
  type =         "Ph.{D}. Thesis",
  number =       "report A--1991--1",
  month =        feb,
  year =         "1991",
  keywords =     "applic.MC divers.denot vari.pract vari.LP vari.00",
  abstract =     "Attribute grammars are a formalism for specifying and implementing programming languages. Methods and
                 techniques are presented expressing attribute grammars themselves as a language. These methods are
                 based on relating attribute grammars with programming paradigms. The presented formalisms are
                 classified as structured, object-oriented, functional, logic, and concurrent attribute grammars. The
                 characteristics of these attribute grammar paradigms are reviewed and analyzed. The central results of
                 seven self-standing papers are summarized. These papers discuss empirically and theoretically the
                 practical significance of relating the nonterminal concept of attribute grammars with the block concept
                 of programming languages, the nonterminal concept with the class concept, and the attribute concept
                 with the logical variable concept. Accordingly, structured, object-oriented, and logic attribute
                 grammars are emphasized.",
}

@Article{Koskimies91,
  author =       "Kai Koskimies and Jukka Paakki",
  title =        "High-level Tools for Language Implementation",
  journal =      "J. of Systems and Software",
  volume =       "15",
  number =       "2",
  pages =        "115--132",
  month =        may,
  year =         "1991",
}

@Article{Paakki91a,
  author =       "Jukka Paakki and Ilka Miloucheva and Hans Loeper",
  title =        "Prolog in Practical Compiler Writing Compiler Structure Engineering with Attribute Grammars",
  journal =      "The Computer Journal ACM SIGPLAN Notices",
  volume =       "? 26",
  number =       "2 10",
  pages =        "73--82",
  month =        oct,
  year =         "1991",
  keywords =     "applic.MC vari.LP applic.MC",
}

@Book{Pittman91,
  author =       "Thomas Pittman and James Peters",
  title =        "The Art of Compiler Design",
  publisher =    "Prentice-Hall",
  address =      "Englewood Cliffs, NJ",
  month =        nov,
  year =         "1991",
  keywords =     "applic.MC book",
  abstract =     "The advertising notice reads: ``More emphasis on the attribute grammar approach than any book on the
                 market.''",
}

@Book{Alblas91,
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Attribute Grammars, Applications and Systems",
  series =       LNCS,
  volume =       "545",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "survey",
  note =         "Prague",
}

@InCollection{Alblas91a,
  author =       "Henk Alblas",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Introduction to Attribute Grammars",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "1--15",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "survey",
  note =         "Prague",
}

@InCollection{Kastens91,
  author =       "Uwe Kastens",
  pages =        "114--139",
  title =        "Implementation of Visit-Oriented Attribute Evaluators",
  crossref =     "Alblas91",
  abstract =     "A large class of attribute evaluators (AE) are controlled by visit-sequences describing the
                 computations during a tree walk. In this paper it is shown how such a control structure is implemented
                 systematically. An AE has to provide storage for the attribute values associated to the tree nodes.
                 Naive storage allocation techniques are not tolerable for practical applications. An introduction to
                 well elaborated methods of attribute storage optimization is given. They are applied automatically by
                 practical AG systems.",
}

@InCollection{Alblas91b,
  author =       "Henk Alblas",
  pages =        "48--113",
  title =        "Attribute Evaluation Methods",
  crossref =     "Alblas91",
}

@InCollection{Kastens91a,
  author =       "Uwe Kastens",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Implementation of Visit-Oriented Attribute Evaluators",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "114--139",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "eval",
  note =         "Prague",
}

@InCollection{Akker91a,
  author =       "Rieks op den Akker and Erik Sluiman",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Storage Allocation for Attribute Evaluators Using Stack and Queues",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "140--150",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "alloc",
  note =         "Prague",
}

@InCollection{Moncke91,
  author =       "Ulrich M{\"o}ncke and Reinhard Wilhelm",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Grammar Flow Analysis",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "151--186",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "circ applic.DFA",
  note =         "Prague",
  abstract =     "This paper specifies the theoretical basis for the implementation of different generators of the
                 OPTRAN system. Grammar Flow analysis uses the techniques of data flow analysis at the meta level of
                 compiler construction. The analogue of the states in data flow analysis are the syntax trees together
                 with some information that is associated with trees by propagation functions. One example is the
                 association of characteristic graphs, another example is the association of sets of matching tree
                 patterns.",
}

@InCollection{Akker91b,
  author =       "Rieks op den Akker and Bo{\u{r}}ivoj Melichar and Jorma Tarhio",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Attribute Evaluation and Parsing",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "187--214",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "survey eval",
  note =         "Prague",
}

@InCollection{Alblas91c,
  author =       "Henk Alblas",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Incremental Attribute Evaluation",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "215--233",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "incr survey",
  note =         "Prague",
  abstract =     "Transformations of attributed derivation trees are considered. A tree transformation may invalidate
                 attribute instances, not only in the restructured part of the tree, but also elsewhere in the tree. To
                 make the attribution of the tree correct again requires a reevaluator. For some evaluation strategies,
                 reevaluators are defined that work optimally in the number of visits to tree nodes and the number of
                 recomputations. To remove the restriction that every transformation of an attributed derivation tree
                 should immediately be followed by a reevaluation of the tree, criteria are formulated that permit a
                 delay in calling the reevaluator. These criteria allow a strategy of repeatedly applying alternate
                 attribute-evaluation and tree-transformation phases. An attribute-evaluation phase consists of a tree
                 walk in which all attributes receive their correct values. A tree-transformation phase consist of a
                 tree walk in which as many tree transformations are performed as possible. The transformation phase is
                 never interrupted to carry out reevaluation. Finally, the optimal-incremental strategy is applied to
                 the case where there has been a delay in activating the reevaluator.",
}

@InProceedings{Swierstra91,
  author =       "S. Doaitse Swierstra and Harald H. Vogt",
  pages =        "256--296",
  title =        "{H}igher {O}rder {A}ttribute {G}rammars",
  abstract =     "Higher Order Attribute Grammars (HAGs) are an extension of normal attribute grammars in the sense that
                 the distinction between the domain of parse-trees and the domain of attributes has disappeared: parse
                 trees may be computed in attributes and grafted to the parse tree at various places. As a result
                 semantic functions may be described by attribute evaluation. We will present the basic definition for
                 HAGs, and compare them with attribute coupled grammars, extended affix grammars and functional
                 programming languages. We will indicate how multi-pass compilers and a compiler for supercombinators
                 can be described this way. It will be shown that, especially in the case of incremental evaluation, the
                 conventional execution model has to be generalised. Such a model, based on function caching,
                 hash-consing and combinator construction will be discussed. This model encompasses many of the more
                 ad-hoc optimisations one finds in standard implementations of normal attribute grammars.",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  series =       LNCS,
  volume =       "545",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  booktitle =    "Attribute Grammars, Applications and Systems",
}

@InProceedings{Jourdan91,
  author =       "Martin Jourdan",
  pages =        "234--255",
  title =        "{A} {S}urvey of {P}arallel {A}ttribute {E}valuation {M}ethods",
  postscript =   "../../ftp/fnc2/publications/CC90-t.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/parev-t.ps.gz",
  crossref =     "Alblas91",
  abstract =     "Exploiting parallelism in attribute evaluation is of potentially high interest because of both its
                 applications (e.g. in speeding up heavily-used programs such as compilers) and its feasibility (i.e.
                 most practical attribute grammars exhibit much parallelism). In this paper we review and compare the
                 various methods that have appeared in the literature for both exhaustive and incremental attribute
                 evaluation on both tightly-coupled (shared-memory) and loosely-coupled (distributed) architectures. We
                 pay particular attention to a simple but effective method for constructing efficient
                 visit-sequence-based evaluators that run on tightly-coupled multi-processor machines by giving an
                 account of how we implemented this method in practice and reporting the results of preliminary but
                 realistic experiments; these results are highly encouraging.",
}

@TechReport{Jouve90,
  author =       "Jean-Philippe Jouve",
  institution =  "{\'E}cole {P}olytechnique",
  title =        "{R}{\'e}alisation du d{\'e}compilateur d'arbres attribu{\'e}s du syst{\`e}me {FNC-2}\,: {\ppat}",
  type =         "{R}apport de stage d'option",
  year =         "1991",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/ppat.ps.gz",
  postscript =   "../../ftp/fnc2/publications/Rapport/ppat.ps.gz",
}

@InCollection{Koskimies91a,
  author =       "Kai Koskimies",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Object-Orientation in Attribute Grammars",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "297--329",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "vari.divers vari.00",
  note =         "Prague",
  abstract =     "Object-orientation is a language design and programming paradigm aiming at better structuring,
                 reusing, and maintaining properties of software. This paradigm has been successfully combined with
                 conventional programming languages, as well as functional and logic programming languages; it seems
                 obvious that object-orientation has come to stay. Recently, some suggestions to extend the attribute
                 grammar formalism with features supporting object-orientation have been proposed. These proposals are
                 reviewed, and the approach taken in the TOOLS system is described and motivated. It is demonstrated
                 that object-orientation contributes to the uniformity and applicability of attribute grammar
                 descriptions.",
}

@InCollection{Maluszynski91,
  author =       "Jan Maluszy{\'n}ski",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Attribute Grammars and Logic Programs: a Comparison of Concepts",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "330--357",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "vari.LP",
  note =         "Prague",
  abstract =     "The paper presents a unified view of attribute grammars and definite logic programs that allows for
                 comparison of concepts and techniques used in both fields. A common basic notion of both formalisms is
                 that of labelled tree. The semantics of attribute grammars can be defined in terms of decorated parse
                 trees while the semantics of logic programs can be defined in terms of proof trees. The comparison of
                 concepts shows that attribute grammars have several features not present in definite logic programs.
                 These are: the concept of the language derived, many-sorted types, the notion of dependency relation
                 and the notion of semantic domain with the semantic functions. After having identified these
                 differences we mention some extensions proposed to the field of logic programming, which essentially
                 amount to enriching definite programs with these features. The conclusions of this discussion is that a
                 possible common denominator for logic programs and attribute grammars is the concept of constraint
                 logic program. As a justification of this comparative study the paper gives references to the results
                 obtained by transfer of methods between attribute grammars and logic programs.",
}

@InCollection{Koster91,
  author =       "Kees Koster",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Affix Grammars for Programming Languages",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "358--373",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "divers.affix",
  note =         "Prague",
  abstract =     "Affix Grammars are members of the family of Two-Level Grammars, along with W-grammars, Metamorphosis
                 Grammars and Attribute Grammars. In this tutorial we shall be concerned with the nature and rationale
                 of Affix Grammars and their application in describing programming languages. Some parsing and affix
                 evaluation methods for deterministic and nondeterministic Affix Grammars are discussed. By means of an
                 example, a comparison is made with W-grammars and Attribute Grammars.",
}

@InCollection{Hedin91,
  author =       "G{\"o}rel Hedin",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Incremental Static-Semantics Analysis for Object-Oriented Languages Using Door Attribute Grammars",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "374--379",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "applic.MC class vari.00",
  note =         "Prague",
}

@InProceedings{Hedin89,
  author =       "G. Hedin",
  title =        "An object-oriented notation for attribute grammars",
  booktitle =    "the 3rd European Conference on Object-Oriented Programming (ECOOP'89)",
  year =         "1989",
  series =       "BCS Workshop Series",
  pages =        "329--345",
  publisher =    "Cambridge University Press",
  address =      "Nottingham, U.K.",
  month =        jul,
  note =         "Also published in LU-CS-TR:89-42",
  abstract =     "This paper presents an attribute grammar notation which is based on the object-oriented concepts of
                 classification hierarchies, inheritance, and late binding. The notation allows compact and flexible
                 language specification through the use of inheritance and equation overriding. Furthermore, demand
                 attributes can be implemented efficiently by using a technique similar to the one used for virtual
                 procedures in Simula. Such attributes are important especially in incremental langauge-based
                 environments as they do not consume storage. The notation also makes it possible to define general
                 attributes which can be accessed without knowledge of the particular langauge modelled by the grammar.
                 This can be utilized for integration of grammar independent tools. The notation is based on a
                 single-inheritance classification, and a discussion is given on the problems which would arise if the
                 notation was augmented to multiple-inheritance.",
  url =          "http://www.dna.lth.se/Research/ProgEnv/Abstracts/LU-CS-TR:89-42.html",
}

@InCollection{Kastens91b,
  author =       "Uwe Kastens",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Attribute Grammars in a Compiler Construction Environment",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "380--400",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "applic.MC",
  note =         "Prague",
  abstract =     "Attribute Grammar (AG) specifications are implemented by attribute evaluators which perform
                 computations on tree structures as specified. An AT system should concentrate on generating that
                 implementation. In compiler construction the attribute evaluator has to be combined with other modules,
                 like scanner, parser, tree construction, data bases, and translation modules. Those are generated by
                 other compiler tools, taken from library, or implemented for the specific application. These components
                 have to fit together properly on the specification level as well as on the level of module interfaces.
                 In this paper those relationships are demonstrated using the LIGA system within the compiler
                 construction environment Eli as an example.",
}

@InCollection{Riedewald91,
  author =       "G{\"u}nter Riedewald",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Prototyping by Using an Attribute Grammar as a Logic Program",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "401--437",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "applic.prog vari.LP",
  note =         "Prague",
  abstract =     "The problem of prototyping software and languages by attribute grammars is considered. The applied
                 attribute grammars -- Grammars of Syntactical Functions (GSF) -- are very closely related to logical
                 programs. Therefore, prototyping exploiting PROLOG systems is suggested.",
}

@InProceedings{Forbig91a,
  author =       "Beate Baum and Peter Forbig",
  title =        "The System {FLR} (Fast Laboratory for Recomposition)",
  year =         "1991",
  pages =        "427--428",
  note =         "system demonstration",
  keywords =     "text documents, Prolog, attribute grammars",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '91)",
  series =       LNCS,
  volume =       "528",
}

@InCollection{L\"ammel90,
  author =       "Uwe L\"ammel and Peter Forbrig",
  address =      "Schwerin",
  booktitle =    "Compiler Compilers '90",
  editor =       "Dieter Hammer and Michael Albinus",
  pages =        "219--221",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "Mixed Dialogue Control Defined by an Attribute Grammar",
  volume =       "477",
  year =         "1990",
}

@InCollection{Forbig91,
  author =       "Peter Forbig",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Using the Generative Aspect of Attribute Grammars in a Knowledge Based Way",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "438--459",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "applic.divers",
  note =         "Prague",
  abstract =     "The principles of the program generation environment FLR, which has been implemented at our
                 department, are described. The system supports the reuse of already developed specifications of various
                 kinds and was motivated by the idea whose the source text of already running programs again. This
                 knowledge of parts of programs or documents, which were specified already, is stored as attributed
                 grammar rules in a database. New documented can be composed in an interactive way using this database.
                 It is demonstrated to use [sic] FLR to generate programs and Attribute Grammars.",
}

@InCollection{Gyimothy91,
  author =       "Tibor Gyim{\'o}thy",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Natural Languages Interface Construction Using Attribute Grammars",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "460--468",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "applic.divers applic.NL",
  note =         "Prague",
  abstract =     "Natural language interfaces represent one of the most common applications of natural language
                 processing. In the eighties, not only a considerable increase in natural language interface refinement
                 has been achieved, but also methods for design and evaluation have been worked out. One might think
                 that a natural language interface of the nineties would be properly described in terms of three
                 parameters, viz. \begin{itemize} \item transportability \item modifiability by the user \item
                 generality \end{itemize} We have implemented a software package for plane geometry constructions called
                 THALES\footnote{THALES is a product of Cogito Co., Ltd, Hungary} supplied with a natural language
                 interface. Our experience with THALES shows that none of these features is attainable in the near
                 future. Rather, natural language interfaces based on well-defined subsets of languages and supplemented
                 with possibly full semantics appear to be real candidates for applications in the following years.",
}

@InCollection{Koster91a,
  author =       "Kees Koster",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Affix Grammars for Natural Languages",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "469--484",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "applic.divers divers.affix",
  note =         "Prague",
  abstract =     "Attribute Grammars over a Finite Lattice (AGFLs), a simple form of two-level grammar admitting quite
                 efficient implementations, are proposed as a formalism to express the syntax of natural languages. In
                 this paper the concepts and notation of AGFLs are described. A brief example is given of their use in
                 describing a fragment of the English language, followed by a discussion of issues like parsing and
                 ambiguity.",
}

@InCollection{Lipps91,
  author =       "Peter Lipps and Ulrich M{\"o}ncke and Reinhard Wilhelm",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "An Overview of the {OPTRAN} System",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "505--506",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "syst.OPTRAN",
  note =         "Prague",
}

@InCollection{Wilhelm91,
  author =       "Reinhard Wilhelm",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "Attribute Reevaluation in {OPTRAN}",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "507",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "syst.OPTRAN",
  note =         "Prague",
}

@InCollection{Lammel91,
  author =       "Ralf L{\"a}mmel",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  title =        "The Translator Writing System {RUEGEN}-{KS}",
  booktitle =    "Attribute Grammars, Applications and Systems",
  series =       "Lecture Notes in Computer Science",
  volume =       "545",
  pages =        "508--513",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "syst.RUGEN",
  note =         "Prague",
}

@InCollection{Franchi-Zannet91,
  author =       "Paul Franchi-Zannettacci and Martin Jourdan",
  title =        "Conception des environnements de programmation, premi{\`e}re partie\,: Attribute Grammars",
  booktitle =    "Actes de l'{\'E}cole Jeunes Chercheurs du GRECO de Programmation",
  pages =        "71",
  address =      "Sophia-Antipolis",
  month =        apr,
  year =         "1991",
  note =         "english",
}

@Article{Paakki95,
  author =       "Jukka Paakki",
  title =        "Attribute Grammar Paradigms --- {A} High-Level Methodology in Language Implementation",
  journal =      "ACM Computing Surveys",
  volume =       "27",
  number =       "2",
  pages =        "196--255",
  month =        jun,
  year =         "1995",
  coden =        "CMSVAN",
  ISSN =         "0360-0300",
  bibdate =      "Mon Sep 18 08:41:15 1995",
  acknowledgement = ack-nhfb,
}

@InProceedings{Gaal93,
  author =       "Tam{\'a}s Ga{\'a}l",
  address =      "Barcelona",
  booktitle =    "Euromicro '93 Short Notes Program",
  note =         "Paru dans {\it Microprocessing and Microprogramming}, 39 (1993), pp.~147--150",
  title =        "Parallel Compiler Generation",
  year =         "1993",
}

@PhdThesis{Jourdan92a,
  author =       "Martin Jourdan",
  school =       "D{\'e}partement de Math{\'e}matiques et d'Informatique, Universit{\'e} d'Orl{\'e}ans",
  title =        "Des bienfaits de l'analyse statique sur la mise en {\oe}uvre des grammaires attribu{\'e}es",
  type =         "M{\'e}moire d'habilitation",
  year =         "1992",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/theses/habilit-martin.ps.gz",
  postscript =   "../../ftp/fnc2/publications/theses/habilit-martin.ps.gz",
}

@InProceedings{Jourdan91a,
  author =       "Martin Jourdan and Didier Parigot",
  pages =        "485--504",
  title =        "{I}nternals and {E}xternals of the {FNC-2} {A}ttribute {G}rammar {S}ystem",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/fnc2-t.ps.gz",
  postscript =   "../../ftp/fnc2/publications/fnc2-t.ps.gz",
  abstract =     "FNC-2 is a modern attribute grammar processing system aiming at expressive power, efficiency, ease of
                 use and versatility. This paper provides the reader with a brief tour inside FNC-2, presenting the most
                 important features of its ``engine'': efficient sequential exhaustive, parallel exhaustive and
                 sequential incremental evaluation of strongly non-circular AGs. These methods are based on the
                 visit-sequence paradigm; the first one makes use of extensive space optimizations. Then we describe the
                 external features of the system---attribute coupled grammar view of an AG, specially-designed
                 AG-description language, with provisions for true modularity, and complete environment---that make it
                 really usable for developing large-scale applications. Experience with the system is briefly
                 reported.",
  editor =       "Henk Alblas and Bo{\u{r}}ivoj Melichar",
  series =       LNCS,
  volume =       "545",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        jun,
  year =         "1991",
  keywords =     "survey",
  note =         "Prague",
  booktitle =    "Attribute Evaluation Methods",
}

@TechReport{Julie90a,
  author =       "Catherine Juli{\'e} and Didier Parigot",
  title =        "{S}pace {O}ptimization in the {FNC-2} {A}ttribute {G}rammar {S}ystem",
  institution =  "INRIA",
  year =         "1990",
  type =         "Rapport de recherche",
  number =       "1165",
  abstract =     "Memory space management for attribute evaluators is a vital requirement in practice. In fact, using
                 attribute grammars (AGs) will very quickly meet the problem of memory space if it isn't taken into
                 special consideration. We consider this problem for evaluators of the simple multi-visit class, also
                 called $l$-ordered, because it is the largest possible AGs class for which we can find, at construction
                 time, a method for memory space optimization. We present a new algorithm which decides, at generation
                 time, if it is possible to store attribute instances in global stacks or global variables. The purpose
                 of this approach is to reduce not only memory space, but also as much as possible the number of
                 attributes to be stored in the nodes of the tree. This method is implemented in the new attribute
                 grammar processing system, named FNC--2. Finally we present our first practical results which seem very
                 promising.",
}

@InProceedings{Julie90,
  author =       "Catherine Juli{\'e} and Didier Parigot",
  year =         "1990",
  month =        sep,
  volume =       "461",
  booktitle =    "Attribute Grammars and their Applications (WAGA)",
  editor =       "Pierre Deransart and Martin Jourdan",
  publisher =    "Springer-Verlag",
  pages =        "29--45",
  series =       LNCS,
  address =      "Paris",
  title =        "{S}pace {O}ptimization in the {FNC-2} {A}ttribute {G}rammar {S}ystem",
  postscript =   "../../ftp/fnc2/publications/optim-t.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/optim-t.ps.gz",
  abstract =     "Memory space management for attribute evaluators is a vital requirement in practice. In fact, using
                 attribute grammars (AGs) will very quickly meet the problem of memory space if it isn't taken into
                 special consideration. We consider this problem for evaluators of the simple multi-visit class, also
                 called $l$-ordered, because it is the largest possible AGs class for which we can find, at construction
                 time, a method for memory space optimization. We present a new algorithm which decides, at generation
                 time, if it is possible to store attribute instances in global stacks or global variables. The purpose
                 of this approach is to reduce not only memory space, but also as much as possible the number of
                 attributes to be stored in the nodes of the tree. This method is implemented in the new attribute
                 grammar processing system, named FNC--2. Finally we present our first practical results which seem very
                 promising.",
}

@TechReport{Rouzier93,
  author =       "Philippe Rouzier",
  institution =  "Universit{\'e} de Paris~11",
  month =        sep,
  title =        "{R}{\'e}alisation d'une interface entre les syst{\`e}mes {Centaur}, {FNC-2} et Syntax",
  type =         "Rapport de stage de {DESS} ``{S}yst\`emes et communication homme-machine''",
  year =         "1993",
  postscript =   "../../ftp/fnc2/publications/Rapport/rouzier_dea.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/rouzier_dea.ps.gz",
}

@PhdThesis{Attali89,
  author =       "Isabelle Attali",
  month =        apr,
  school =       "Universit{\'e} de Nice",
  title =        "Compilation de programmes {TYPOL} par attributs s{\'e}mantiques",
  year =         "1989",
}

@PhdThesis{Souah90,
  author =       "Aziz Souah",
  month =        nov,
  school =       "Universit\'e d'Orl{\'e}ans",
  title =        "Contribution {\`a} la s{\'e}mantique d{\'e}clarative des syst{\`e}mes de transformation d'arbres
                 attribu{\'e}s",
  year =         "1990",
}

@Unpublished{CompareGA,
  author =       "{The {\Compare} Consortium}",
  address =      "Rocquencourt",
  institution =  "INRIA",
  note =         "En pr\'eparation",
  title =        "Extensions of the {FNC-2} {A}ttribute {G}rammar {S}ystem for {P}rogramming-in-the-large",
  type =         "Deliverable {D}3.4/4 for {ESPRIT Project} {\Compare}",
  year =         "1994",
}

@TechReport{Bazet92,
  author =       "Philippe Bazet",
  address =      "Orsay",
  institution =  "Universit\'e de Paris~11",
  month =        sep,
  title =        "Pattern-matching en priorit{\'e} sp{\'e}cifique sur des types avec constructeurs commutatifs",
  type =         "{R}apport de {DEA}",
  year =         "1992",
}

@InCollection{Jourdan90c,
  author =       "Martin Jourdan and Didier Parigot",
  address =      "Schwerin",
  booktitle =    "Compiler Compilers '90",
  editor =       "Dieter Hammer and Michael Albinus",
  pages =        "11--25",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "{A}pplication {D}evelopment with the {FNC-2} {A}ttribute {G}rammar {S}ystem",
  volume =       "477",
  year =         "1990",
  postscript =   "../../ftp/fnc2/publications/CC90-t.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/CC90-t.ps.gz",
  abstract =     "FNC-2 is an advanced attribute grammar system aiming at production-quality, currently under
                 development at INRIA. After a brief tour through its internals and a short presentation of its input
                 language Olga, the talk will concentrate on how FNC-2 and its companions can be used to develop large
                 language-processing applications. The key feature for enhancing programmers' productivity and
                 supporting teamwork is FNC-2 constructs for modularity. This will be exemplified by the development of
                 FNC-2 itself. Finally we'll present how FNC-2 can be combined with other tools under development at
                 INRIA to form a complete, high-quality compiler production workbench.",
}

@PhdThesis{LeBellec93,
  author =       "Carole Le{ }Bellec",
  school =       "D\'epartement de Math\'ematiques et d'Informatique, Universit\'e d'Orl\'eans",
  title =        "La g\'en\'ericit\'e et les grammaires attribu\'ees",
  year =         "1993",
  postscript =   "../../ftp/fnc2/publications/theses/lebellec.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/theses/lebellec.ps.gz",
}

@InProceedings{Riedewald98,
  author =       "G\"unter Riedewald and Uwe L\"ammel",
  address =      "Orl\'eans",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '89)",
  editor =       "Pierre Deransart and Bernard Lorho and Jan Maluszynski",
  pages =        "161--179",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "Using an Attribute Grammar as a Logic Program",
  volume =       "348",
  year =         "1989",
}

@InProceedings{Kastens93,
  author =       "Uwe Kastens",
  address =      "Tallinn",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '93)",
  editor =       "Maurice Bruynooghe and Jaan Penjam",
  pages =        "1--11",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "Executable Specifications for Language Implementation",
  volume =       "714",
  year =         "1993",
}

@InProceedings{LeBellec93a,
  author =       "Carole Le{ }Bellec and Martin Jourdan and Didier Parigot and Gilles Roussel",
  address =      "Tallinn",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '93)",
  editor =       "Maurice Bruynooghe and Jaan Penjam",
  pages =        "123--136",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "{S}pecification and {I}mplementation of {G}rammar {C}oupling {U}sing {A}ttribute {G}rammars",
  volume =       "714",
  month =        aug,
  year =         "1993",
  postscript =   "../../ftp/fnc2/publications/couple-AG-plilp93.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/couple-AG-plilp93.ps.gz",
  abstract =     "This paper introduces the notion of a {\em coupling\/} of two grammars, defined by associations
                 between their non-terminals and terminals. We present an algorithm for automatically producing, from
                 these associations, an attribute grammar which specifies the translation from one grammar to the other.
                 The motivation for, and context of, this algorithm is our work aiming at improving modularity and
                 reusability of attribute grammars. When it is combined with descriptional composition, we obtain what
                 we consider to be the most declarative framework for this to date.",
}

@TechReport{Devillard90,
  author =       "David Devillard",
  institution =  "Universit\'e d'Orl{\'e}ans",
  month =        sep,
  title =        "Am{\'e}lioration de l'implantation en {C} des {\'e}valuateurs d'attributs produits par {FNC-2}",
  type =         "{R}apport de {DEA}",
  year =         "1990",
}

@TechReport{Benvel93,
  author =       "Herv{\'e} Benvel",
  institution =  "Universit{\'e} de Paris~6",
  month =        sep,
  title =        "{R}{\'e}alisation d'un front-end Pascal avec le syst{\`e}me {FNC-2}",
  type =         "Rapport de {DEA}",
  year =         "1993",
}

@TechReport{Leibovitsch96,
  author =       "St{\'e}phane Leibovitsch",
  institution =  "Universit\'e de Paris~VII",
  month =        sep,
  title =        "Relations entre la s\'emantique d\'enotationnelle et les grammaires attribu\'ees",
  type =         "Rapport de {DEA}",
  year =         "1996",
  postscript =   "../../ftp/fnc2/publications/Rapport/leibovit.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/leibovit.ps.gz",
  keywords =     "divers.denot",
}

@TechReport{Duris95,
  author =       "Etienne Duris and Didier Parigot and Martin Jourdan",
  title =        "Mises \`a jour destructives dans les grammaires attribu\'ees",
  type =         "Rapport de recherche",
  year =         "1995",
  number =       "2686",
  month =        oct,
  institution =  "INRIA",
  postscript =   "../../ftp/fnc2/publications/RR-2686.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-2686.ps.gz",
  abstract =     "In the functional language domain, there exist several works on the problem of garbage collection at
                 compile time. In the context of Attribute Grammars, the memory optimisation problem spawned a number of
                 works on the notion of attribute lifetime. We present a method which, in this context, allows to
                 replace some function calls with their destructive counterpart. If we consider the functional program
                 which is equivalent to a given attribute grammar, our technique can be seen as a static method for its
                 update-in-place transformation. This method uses the results obtained on the attribute lifetime notion.
                 One of its features is that it uses only classical static analysis methods for attribute grammars.",
}

@TechReport{Roussel95,
  author =       "Gilles Roussel and Didier Parigot and Martin Jourdan",
  title =        "{S}tatic and {D}ynamic {C}oupling {A}ttribute {E}valuators",
  year =         "1995",
  number =       "2670",
  month =        oct,
  type =         "Rapport de recherche",
  institution =  "INRIA",
  postscript =   "../../ftp/fnc2/publications/RR-2670.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-2670.ps.gz",
  abstract =     "Several years ago, the notion of attribute coupled grammars was introduced by Ganzinger and Giegerich,
                 together with their descriptional composition. The latter works essentially at the specification level,
                 i.e.,\ it produces an attribute grammar which specifies the composition of two attribute coupled
                 grammars. We introduce a new approach to this composition of attribute coupled grammars. It no longer
                 works at the specification level but rather at the evaluator level. It produces a special kind of
                 attribute evaluator, called {\em coupling evaluator}. We present both a static version and a dynamic
                 version of coupling evaluators. Both versions retain the good property of descriptional composition
                 that intermediate trees are not physically constructed. In addition---and this is the main advantage of
                 our approach, compared with descriptional composition---, it is possible to build separately the
                 dynamic coupling evaluator of each attribute coupled grammar; in other words we achieve real {\em
                 separate compilation\/} of AG modules.",
}

@InProceedings{Roussel94,
  author =       "Gilles Roussel and Didier Parigot and Martin Jourdan",
  address =      "Edinburgh",
  booktitle =    "5th Int. Conf. on Compiler Construction (CC' 94)",
  editor =       "Peter A. Fritzson",
  month =        apr,
  pages =        "52--67",
  series =       LNCS,
  publisher =    SPRINGER,
  title =        "{C}oupling {E}valuators for {A}ttribute {C}oupled {G}rammars",
  volume =       "786",
  year =         "1994",
  postscript =   "../../ftp/fnc2/publications/couplingevaluatorAG.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/couplingevaluatorAG.ps.gz",
  abstract =     "Some years ago, the notion of attribute coupled grammars was introduced by Ganzinger and Giegerich,
                 together with descriptional composition. The latter works essentially at the specification level,
                 i.e.,\ it produces an attribute grammar which specifies the composition of two attribute coupled
                 grammars. We introduce a new approach to this composition of attribute coupled grammars. This
                 composition no longer works at the specification level but at the evaluator level. It produces a
                 special kind of attribute evaluator. For this purpose we have introduced the notion of coupling
                 evaluator. The main advantage of this new approach, compared with descriptional composition, is that it
                 is possible to build separately the coupling evaluator of each attribute coupled grammar; in other
                 words it allows real separate compilation of AG modules. Another important advantage is that we do not
                 need to check the attribute grammar class in order to construct the final sequence of evaluators; thus,
                 this construction produces a new sort of evaluator.",
}

@InProceedings{Uhl94,
  author =       "James S. Uhl and Nigel Horspool",
  address =      "Edinburgh",
  booktitle =    "5th Int. Conf. on Compiler Construction (CC' 94)",
  editor =       "Peter A. Fritzson",
  month =        apr,
  pages =        "203--217",
  series =       LNCS,
  publisher =    SPRINGER,
  title =        "Flow Grammars - a Flow Analysis Methodology",
  volume =       "786",
  year =         "1994",
  url =          "http://www.csr.uvic.ca/\~nigelh/Publications/flowGrammars.ps.gz",
}

@InProceedings{Hedin94,
  author =       "G\"orel Hedin",
  address =      "Edinburgh",
  booktitle =    "5th Int. Conf. on Compiler Construction (CC' 94)",
  editor =       "Peter A. Fritzson",
  month =        apr,
  pages =        "31--51",
  series =       LNCS,
  title =        "An Overview of Door Attribute Grammars",
  volume =       "786",
  year =         "1994",
  url =          "http://www.dna.lth.se/Research/ProgEnv/Papers/LU-CS-TR:94-123.ps",
}

@InProceedings{Jourdan90a,
  author =       "Martin Jourdan and Didier Parigot",
  address =      "Copenhague",
  booktitle =    "European Symp. on Programming (ESOP '90)",
  editor =       "Neil Jones",
  pages =        "240--255",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "{T}echniques for {I}mproving {G}rammar {F}low {A}nalysis",
  volume =       "432",
  year =         "1990",
  postscript =   "../../ftp/fnc2/publications/esop90-t.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/esop90-t.ps.gz",
  abstract =     "Grammar Flow Analysis (GFA) is a computation framework that can be applied to a large number of
                 problems expressed on context-free grammars. In this framework, as was done on programs with Data Flow
                 Analysis, those problems are split into a general resolution procedure and a set of specific
                 propagation functions. This paper presents a number of improvement techniques that act on the
                 resolution procedure, and hence apply to every GFA problem: grammar partitioning, non-terminals static
                 ordering, weak stability and semantic stability. Practical experiments using circularity tests for
                 attribute grammars will show the benefit of these improvements.",
  keywords =     "applic.DFA",
}

@PhdThesis{Roussel94a,
  author =       "Gilles Roussel",
  school =       "D{\'e}partement d'Informatique, Universit{\'e} de Paris~6",
  title =        "Algorithmes de base pour la modularit\'e et la r\'eutilisabilit\'e des grammaires attribu\'ees",
  year =         "1994",
  postscript =   "../../ftp/fnc2/publications/theses/roussel.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/theses/roussel.ps.gz",
  month =        mar,
  keywords =     "",
}

@InProceedings{Parigot95,
  author =       "Didier Parigot and Etienne Duris and Gilles Roussel and Martin Jourdan",
  address =      "Val-Morin, Qu\'ebec",
  booktitle =    "Journ\'ees Francophones des Langages Applicatifs",
  title =        "Les grammaires attribu\'ees\,: un langage fonctionnel d\'eclaratif",
  year =         "1996",
  pages =        "263--279",
  month =        jan,
  postscript =   "../../ftp/fnc2/publications/jfla96.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/jfla96.ps.gz",
  abstract =     "Bien que les Grammaires Attribu\'ees aient \'et\'e introduites il y a trente ans, leur manque de pouvoir
                 d'expression les a confin\'ees dans le domaine du traitement des langages de programmation. Dans cet
                 article, nous montrons qu'il est possible d'\'etendre cette expressivit\'e. Nous soutenons que les
                 Grammaires Attribu\'ees peuvent \^etre utilis\'ees pour d\'ecrire des calculs sur des structures qui ne sont
                 pas uniquement des arbres, mais aussi des formes abstraites permettant de d\'ecrire des structures
                 infinies. Afin d'atteindre cette expressivit\'e, nous avons introduit deux nouvelles notions\,: les {\em
                 sch\'emas de productions\/} et les {\em productions conditionnelles}. Nous obtenons ainsi un langage dont
                 le pouvoir d'expression est comparable \`a celui de la plupart des langages fonctionnels du premier
                 ordre, avec un c\^ot\'e d\'eclaratif beaucoup plus marqu\'e. Nos extensions ne remettent pas en cause les bases
                 du formalisme des Grammaires Attribu\'ees sur lesquelles reposent la plupart des travaux concernant
                 celles-ci, en particulier l'analyse statique et la g\'en\'eration d'\'evaluateurs. Ainsi, les r\'esultats
                 existants peuvent \^etre appliqu\'es directement \`a nos Attribute Grammars \'etendues, entre autre ceux
                 permettant une implantation efficace (dans notre cas, en utilisant notre syst\`eme FNC-2). L'int\'er\^et de
                 ces extensions est de redonner aux Grammaires Attribu\'ees leur expressivit\'e intrins\`eque. De plus, elles
                 nous permettent d'envisager de nouveaux axes de recherche en comparant nos techniques d'analyses \`a
                 celles qui ont \'et\'e d\'evelopp\'ees dans des formalismes de m\^eme expressivit\'e.",
  keywords =     "functional vari.FP",
}

@InProceedings{Parigot95b,
  author =       "Didier Parigot and Etienne Duris and Gilles Roussel and Martin Jourdan",
  title =        "Les grammaires attribu\'ees\,: un langage fonctionnel d\'eclaratif",
  booktitle =    "journ\'ees du GDR de programmation",
  address =      "Grenoble",
  year =         "1995",
  month =        nov,
  postscript =   "../../ftp/fnc2/publications/gdr95.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/gdr95.ps.gz",
  abstract =     "Bien que les Grammaires Attribu\'ees aient \'et\'e introduites il y a trente ans, leur manque de pouvoir
                 d'expression les a confin\'ees dans le domaine du traitement des langages de programmation. Dans cet
                 article, nous montrons qu'il est possible d'\'etendre cette expressivit\'e. Nous soutenons que les
                 Grammaires Attribu\'ees peuvent \^etre utilis\'ees pour d\'ecrire des calculs sur des structures qui ne sont
                 pas uniquement des arbres, mais aussi des formes abstraites permettant de d\'ecrire des structures
                 infinies. Afin d'atteindre cette expressivit\'e, nous avons introduit deux nouvelles notions\,: les {\em
                 sch\'emas de productions\/} et les {\em productions conditionnelles}. Nous obtenons ainsi un langage dont
                 le pouvoir d'expression est comparable \`a celui de la plupart des langages fonctionnels du premier
                 ordre, avec un c\^ot\'e d\'eclaratif beaucoup plus marqu\'e. Nos extensions ne remettent pas en cause les bases
                 du formalisme des Grammaires Attribu\'ees sur lesquelles reposent la plupart des travaux concernant
                 celles-ci, en particulier l'analyse statique et la g\'en\'eration d'\'evaluateurs. Ainsi, les r\'esultats
                 existants peuvent \^etre appliqu\'es directement \`a nos Grammaires Attribu\'ees \'etendues, entre autre ceux
                 permettant une implantation efficace (dans notre cas, en utilisant notre syst\`eme FNC-2). L'int\'er\^et de
                 ces extensions est de redonner aux Grammaires Attribu\'ees leur expressivit\'e intrins\`eque. De plus, elles
                 nous permettent d'envisager de nouveaux axes de recherche en comparant nos techniques d'analyses \`a
                 celles qui ont \'et\'e d\'evelopp\'ees dans des formalismes de m\^eme expressivit\'e.",
  keywords =     "vari.FP",
}

@TechReport{Lebatard95,
  author =       "Gilles Le{ }B\^atard",
  institution =  "IFI, Universit{\'e} de Marne-la-Vall{\'e}e",
  month =        jul,
  title =        "{R}{\'e}alisation dans le syst{\`e}me {FNC-2} d'un traducteur vers {ML}",
  type =         "rapport de stage de ma\^itrise",
  year =         "1995",
  keywords =     "Functional programing ML vari.FP",
}

@TechReport{Attali94,
  author =       "Isabelle Attali and Didier Parigot",
  institution =  "INRIA",
  number =       "2339",
  title =        "{I}ntegrating {N}atural {S}emantics and {A}ttribute {G}rammars: the {M}inotaur {S}ystem",
  type =         "Rapport de recherche",
  year =         "1994",
  postscript =   "../../ftp/fnc2/publications/RR-2339.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-2339.ps.gz",
  abstract =     "This papers 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.",
  keywords =     "natural semantic vari.NS vari.LP syst.FNC2",
}

@TechReport{Parigot95a,
  author =       "Didier Parigot and Etienne Duris and Gilles Roussel and Martin Jourdan",
  title =        "Attribute Grammars: a Declarative Functional Language",
  type =         "Rapport de Recherche",
  number =       "2662",
  year =         "1995",
  month =        oct,
  institution =  "INRIA",
  postscript =   "../../ftp/fnc2/publications/RR-2662.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-2662.ps.gz",
  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.)",
  keywords =     "Functional programing ML vari.FP extensions.DAG",
}

@InProceedings{Jourdan90b,
  author =       "Martin Jourdan and Carole Le\ Bellec and Didier Parigot",
  pages =        "222--237",
  title =        "The {O}lga {A}ttribute {G}rammar {D}escription {L}anguage: {D}esign, {I}mplementation and
                 {E}valuation",
  postscript =   "../../ftp/fnc2/publications/olga-t.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/olga-t.ps.gz",
  abstract =     "Olga is the input language of the FNC-2 attribute grammar processing system, currently under
                 development at INRIA. As such, it is designed for the specification of attribute grammars and is
                 specialized for this purpose. The features of Olga can be classified into those which make it a
                 powerful general-purpose applicative language and those which make it a specialized AG-description
                 language. A remarkable feature of Olga is its strong support for modularity. The paper discusses the
                 design goals for Olga and presents the most important aspects of the language. It also includes
                 comparisons with other existing languages, an overview of the implementation of Olga, namely the FNC-2
                 system, and an account of the experience gained in using Olga.",
  year =         "1990",
  series =       "Lecture Notes in Computer Science",
  volume =       "461",
  publisher =    SPRINGER,
  address =      "New York--Heidelberg--Berlin",
  month =        sep,
  keywords =     "syst.FNC2",
}

@InProceedings{Boyland94,
  author =       "John Boyland and Susan L. Graham",
  address =      "Portland, Oregon",
  booktitle =    "21st ACM Symp. on Principles of Programming Languages",
  publisher =    "ACM Press",
  month =        jan,
  pages =        "375--388",
  title =        "Composing Tree Attributions",
  year =         "1994",
  abstract =     "Using the simple tree attributions described, attribute values can themselves be trees, enabling
                 attribution to be used for tree transformations. Unlike higher order attribute grammars, simple tree
                 attributions have the property of descriptional composition, which allows a complex transformation to
                 be built up from simpler ones, yet be executed efficiently. In contrast to other formalisms that admit
                 descriptional composition, notably composable attribute grammars, simple tree attributions have the
                 expressive power to handle remote references and recursive syntactic (tree generating) functions,
                 providing significantly more general forms of attribution and transformation",
  keywords =     "deforestation",
}

@Article{Boyland96,
  author =       "John Boyland",
  journal =      TOPLAS,
  month =        jan,
  number =       "1",
  pages =        "73--108",
  title =        "Conditional Attribute Grammars",
  volume =       "18",
  year =         "1996",
  nothing =      "",
  abstract =     "Attribute grammars are a useful formalism for the specification of computations on structured terms.
                 The classical definition of attribute grammars, however, has no way of treating conditionals
                 nonstrictly. Consequently, the natural way of expressing many otherwise well-behaved computations
                 involves a circularity. This article presents conditional attribute grammars, and extension of
                 attribute grammars that enables more precise analysis of conditionals. In conditional attribute
                 grammars, attribute equations may have guards. Equations are active only when their guards are
                 satisfied. The standard attribute grammar evaluation classes are definable for conditional attribute
                 grammars, and the corresponding evaluation techniques can be easily adapted. However, determining
                 membership in standard evaluation classes such as 1-SWEEP, OAG, and SNC is NP-hard.",
  keywords =     "extension.CAG",
}

@Article{Carle95,
  author =       "Alan Carle and Lori Pollock",
  journal =      TOPLAS,
  month =        mar,
  number =       "2",
  pages =        "394--429",
  title =        "Matching-Based Incremental Evaluators for Hierarchical Attribute Grammar Dialects",
  volume =       "17",
  year =         "1995",
  nothing =      "",
  keywords =     "extension.HrAG incr",
}

@TechReport{Correnson96,
  author =       "Lo\"ic Correnson",
  institution =  "{\'E}cole {P}olytechnique",
  title =        "{G}\'en\'ericit{\'e} dans les Grammaires Attribu\'ees",
  type =         "{R}apport de stage d'option",
  year =         "1996",
  postscript =   "../../ftp/fnc2/publications/Rapport/correnso.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/correnso.ps.gz",
  keywords =     "genericity vari.GEN",
}

@TechReport{Dueck88,
  author =       "Gerald D. P. Dueck and Gordon V. Cormack",
  institution =  "University of Waterloo",
  month =        may,
  number =       "CS-88-19",
  title =        "Modular Attribute Grammars",
  type =         "research report",
  year =         "1988",
  keywords =     "extension.MAD vari.GEN",
}

@TechReport{Duris94,
  author =       "Etienne Duris",
  institution =  "Universit\'e d'Orl\'eans",
  month =        sep,
  title =        "Transformation de grammaires attribu\'ees pour des mises \`a jour destructives",
  type =         "Rapport de {DEA}",
  year =         "1994",
  postscript =   "../../ftp/fnc2/publications/Rapport/etienne.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/etienne.ps.gz",
  abstract =     "Dans le domaine des langages fonctionnels, il existe un ensemble de travaux sur les probl\`emes de
                 r\'ecup\'eration de m\'emoire au moment de la compilation. Dans le domaine des grammaires attribu\'ees, ce
                 probl\`eme a donn\'e lieu \`a l'\'etude de la notion de dur\'ee de vie des attributs. Dans ce rapport, nous
                 \'etudions la possibilit\'e de construire automatiquement la version ``destructive'' correspondant \`a une
                 fonction de mise \`a jour applicative donn\'ee. Par destructive, on entend le fait qu'elle puisse modifier
                 physiquement la structure de son argument mis \`a jour, \'evitant ainsi de nombreuses allocations m\'emoire.
                 D'autre part, nous devons d\'eterminer sous quelles conditions un appel \`a une fonction de mise \`a jour
                 applicative dans une grammaire attribu\'ee peut \^etre remplac\'e par un appel \`a sa version destructive. Ces
                 optimisations permettent de r\'eutiliser des structures de donn\'ees complexes au lieu de les dupliquer.
                 Dans ce cadre, nous fournissons des \'el\'ements de comparaison entre les travaux de Philip Wadler sur la
                 d\'eforestation et ceux de Gilles Roussel sur la m\'eta-composition. Ces comparaisons sous forme
                 d'observations peuvent constituer une amorce de rapprochement entre la programmation fonctionnelle et
                 les grammaires attribu\'ees.",
  keywords =     "vari.FP vari.DFA",
}

@TechReport{Efremidis93,
  author =       "Sofoklis G. Efremidis and Khalid A. Mughal and John H. Reppy",
  institution =  "Cornell University, Computer Science Department",
  title =        "{AML}: Attribute Grammars in {ML}",
  year =         "1993",
  document-size = "0.6 kbytes",
  url =          "http://cs-tr.cs.cornell.edu:80/TR/CORNELLCS:TR93-1401",
  month =        dec,
  number =       "TR93-1401",
  scope =        "defin",
  abstract =     "Attribute grammars are a valuable tool for constructing compilers and building user interfaces. This
                 paper reports on a system we are developing, called AML (for Attribution in ML), which is an attribute
                 grammar toolkit for building such applications as language-based programming environments using SML.
                 This system builds on the proven technology of efficient attribute evaluation, while using a
                 higher-level foundation for the implementation of interactive systems. It supports a general and
                 uniform platform for building applications that can manipulate attributed terms and allow access to
                 attribute values. We describe the design of the AML system, its current implementation status, and our
                 plans for the future.",
  keywords =     "vari.FP incr",
}

@InProceedings{Mughal96,
  author =       "Khalid A. Mughal and Lars S\o{}raas",
  title =        "Yet Another Attribute Evaluator based on Recursive Functions",
  booktitle =    "Proceedings of the Nordic Workshop on Programming Environments Research (NWPER'96)",
  year =         "1996",
  pages =        "335--344",
  address =      "Aalborg, Danmark",
  month =        jun,
  url =          "ftp://ftp.ii.uib.no/pub/aml/NWPER.96.ps.Z",
  abstract =     "In this paper we present an approach to attribute evaluation based on recursive neighbour functions,
                 which is different from what has been reported in the literature. The approach is valid for simple
                 multi-visit attribute grammars. Neighbour functions, comprising of visit and suspend functions, allow
                 attribute evaluation to start at the node of subtree replacement, and the approach can readily be
                 extended to implement incremental attribute evaluation.",
  keywords =     "vari.FP incr",
}

@TechReport{Mughal95,
  author =       "Khalid A. Mughal and Lars S\o{}raas",
  title =        "Attribute Evaluation using Neighbour Functions",
  institution =  "Dept. of Informatics, University of Bergen",
  year =         "1995",
  number =       "112",
  month =        dec,
  url =          "ftp://ftp.ii.uib.no/pub/aml/TR.112.dec.95.ps.Z",
  keywords =     "vari.FP",
}

@Article{Efremidis97,
  author =       "Sofoklis Efremidis and Khalid A. Mughal and Lars S\o{}raas and John Reppy",
  title =        "{AML}: Attribute Grammars in {ML}",
  journal =      "Nordic Journal of Computing",
  year =         "1997",
  month =        mar,
  url =          "ftp://ftp.ii.uib.no/pub/aml/njc-aml-paper.ps.Z",
  abstract =     "Attribute grammars are a valuable tool for constructing compilers and building user interfaces. This
                 paper reports on a system we are developing, called AML (for Attribution in ML), which is an attribute
                 grammar toolkit for building such applications as language-based programming environments using SML.
                 This system builds on the proven technology of efficient attribute evaluation, while using a
                 higher-level foundation for the implementation of interactive systems. It supports a general and
                 uniform platform for building applications that can manipulate attributed terms and allow access to
                 attribute values. We describe the design of the AML system, its current implementation status, and our
                 plans for the future.",
  keywords =     "vari.FP",
}

@PhdThesis{S\o{}raas94,
  author =       "Lars S\o{}raas",
  title =        "Generering av Attribueringsystemer for {AML} spesifikasjoner",
  school =       "University of Bergen",
  year =         "1994",
  month =        sep,
  type =         "Cand. Scient. thesis",
  url =          "http://www.ii.uib.no/\~larss/hovedoppgave.larss.ps.Z",
  keywords =     "vari.FP",
}

@InProceedings{Mughal94,
  author =       "{Khalid A. Mughal, John H. Reppy} and Lars S\o{}raas",
  title =        "{ML} Code Generation for {AML} specifications",
  booktitle =    "Proceedings of the Nordic Workshop on Programming
                  Environments Research (NWPER'94)",
  year =         "1994",
}

@TechReport{Frost94,
  author =       "Richard A. Frost",
  institution =  "Winsdor University",
  month =        May,
  title =        "{W}/{AGE} : The Windsor Attribute Grammar Programming Environment",
  year =         "1994",
  url =          "ftp://ftp.cs.uwindsor.ca/pub/wage",
}

@TechReport{Lammel97,
  author =       "Ralf L\"ammel and G\"unter Riedewald",
  institution =  "Rostok University",
  month =        May,
  url =          "http://www.informatik.uni-rostock.de/\~rlaemmel/",
  title =        "Operations on attribute grammar specifications towards semantic extensibility",
  year =         "1997",
}

@Article{Wu95,
  author =       "Pei-Chi Wu and Feng-Jian Wang",
  journal =      TOPLAS,
  month =        mar,
  number =       "2",
  pages =        "228--232",
  title =        "A Worst Case of Circularity Test Algorithms for Attribute Grammars",
  volume =       "17",
  year =         "1995",
  nothing =      "",
  keywords =     "circ",
}

@TechReport{Rushall92,
  author =       "David Rushall",
  institution =  "Manchester University",
  month =        sep,
  title =        "An Attribute Evaluator in Haskell",
  year =         "1992",
  url =          "ftp://ftp.informatik.rwth-aachen.de/pub/reports/1992/92-19.dir/92-19-16.ps.gz",
}

@TechReport{Marti92,
  author =       "R. Marti and T. Murer",
  institution =  "Swiss Federal Institute of Technology Zurick",
  month =        dec,
  title =        "Extensible Attribute Grammars",
  type =         "TIK 92-6",
  year =         "1992",
  url =          "http://www.tik.ee.ethz.ch/Publications/TIK-Reports/TIK-Report6abstract.html",
  abstract =     "This report introduces a new idea to make attribute grammars (AG) extensible. Both the context-free
                 grammar and the attribution system of an AG may be extended. This concept is a valuable structuring
                 technique when defining language-based programming environments or compilers. For instance, it allows
                 passes of a multipass compiler to be decomposed into different grammar levels, which renders the
                 definition much clearer. Another application consists of defining an interface for an external tool
                 (browser) on an independent grammar level neatly separated from the actual language definition. The
                 concept of extensible attribute grammars is first introduced using a formal model, and thereafter
                 practical examples demonstrate possible applications.",
  keywords =     "extension.EAG",
}

@TechReport{Murer96,
  author =       "T . Murer and A. W\"urtz and D. Scherer and D. Schweizer",
  institution =  "Swiss Federal Institute of Technology Zurick",
  month =        dec,
  title =        "{GIPSY}: Generating Integrated Process Support Systems - Project Overview",
  type =         "IK-Report No. 22",
  year =         "1996",
  url =          "ftp://ftp.tik.ee.ethz.ch/pub/publications/TIK-Report22.ps.gz",
  abstract =     "Cooperative software engineering requires integration of a distributed and heterogeneous world of
                 actors and resources. Component technology will augment integration problems due to distributed
                 development of large numbers of interoperating components. Extensible Attribute Grammars (EAG) are used
                 for the specification and generation of highly integrated tool components that support the software
                 process. Tool components are plugged into a process support framework which allows for the distributed
                 definition and enactment of a software process. A common understanding of the process is provided by a
                 3D process model which supports tool integration on a high level so that developers perceive the tools
                 as a homogeneous environment",
  keywords =     "applic.component",
}

@InProceedings{Paakki91b,
  author =       "Jukka Paakki",
  address =      "Passau Germany",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '93)",
  editor =       "Jan Maluszynski and Martin Wirsing",
  pages =        "243--254",
  publisher =    SPRINGER,
  series =       LNCS,
  title =        "{PROFIT}: a System Integrating Logic Programming and Attribute Grammars",
  volume =       "528",
  year =         "1991",
  keywords =     "logic program vari.LP",
}

@Article{Kastens94,
  author =       "Uwe Kastens and William M. Waite",
  journal =      "Acta Informatica",
  pages =        "601--627",
  title =        "Modularity and {R}eusability in {A}ttribute {G}rammars",
  volume =       "31",
  year =         "1994",
  abstract =     "An attribute grammar is a declarative specification of dependence among computations carried out at
                 the nodes of a tree. Attribute grammars have proven remarkably difficult to decompose into logical
                 fragments. As a result, they have not yet been accepted as a viable specification technique. By
                 combining the ideas of remote attribute access and inheritance, we have been able to define
                 ``attribution modules'' that can be reused in a variety of applications. As an example, we show how to
                 define reusable modules for name analysis that embody different scope rules.",
}

@PhdThesis{Marmol94,
  author =       "Bruno Marmol",
  school =       "Universit\'e d'Orl\'eans",
  title =        "La parall\'elisation et l'optimisation m\'emoire dans l'\'evaluation des grammaires attribu\'ees",
  year =         "1994",
  postscript =   "../../ftp/fnc2/publications/theses/marmol.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/theses/marmol.ps.gz",
  keywords =     "para",
}

@Unpublished{ParigotBibAG,
  author =       "Didier Parigot and Martin Jourdan",
  note =         "{\tt http://www-rocq.inria.fr/oscar/www/fnc2/AGabstract.html} Updated regularly. Contains around 1000
                 references to papers on Attribute Grammars. INRIA, France.",
  title =        "A Complete Bibliography on Attribute Grammars",
  keywords =     "Bibliography, attribute grammars, Bibtex format.",
  scope =        "partial",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/AGabstract.html",
}

@TechReport{Parigot96,
  author =       "Didier Parigot and Gilles Roussel and Martin Jourdan and Etienne Duris",
  title =        "Dynamic {A}ttribute {G}rammars",
  type =         "Rapport de recherche",
  number =       "2881",
  year =         "1996",
  month =        may,
  institution =  "INRIA",
  postscript =   "../../ftp/fnc2/publications/RR-2881.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-2881.ps.gz",
  abstract =     "Although Attribute Grammars were introduced long ago, their lack of expressiveness has resulted in
                 limited use outside the domain of static language processing. With the new notion of {\em Dynamic
                 Attribute Grammars} defined on top of {\em Grammar Couples}, informally presented in a previous paper,
                 we show that it is possible to extend this expressiveness and to describe computations on structures
                 that are not just trees, but also on abstractions allowing for infinite structures. The result is a
                 language that is comparable in power to most first-order functional languages, with a distinctive
                 declarative character. In this paper, we give a formal definition of Dynamic Attribute Grammars and
                 show how to construct efficient visit-sequence-based evaluators for them, using traditional,
                 well-established AG techniques (in our case, using the FNC-2 system). The major contribution of this
                 approach is to restore the intrinsic power of Attribute Grammars and re-emphasize the effectiveness of
                 analysis and implementation techniques developed for them.",
  keywords =     "vari.FP",
}

@InProceedings{Parigot96a,
  author =       "Didier Parigot and Gilles Roussel and Martin Jourdan and Etienne Duris",
  booktitle =    "Int. Symp. on Progr. Languages, Implementations, Logics and Programs (PLILP'96)",
  editor =       "Herbert Kuchen and S. Doaitse Swierstra",
  series =       LNCS,
  publisher =    SPRINGER,
  title =        "Dynamic {A}ttribute {G}rammars",
  address =      "Aachen",
  volume =       "1140",
  pages =        "122--136",
  month =        sep,
  year =         "1996",
  postscript =   "../../ftp/fnc2/publications/plilp96.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/plilp96.ps.gz",
  abstract =     "Although Attribute Grammars were introduced long ago, their lack of expressiveness has resulted in
                 limited use outside the domain of static language processing. With the new notion of {\em Dynamic
                 Attribute Grammars} defined on top of {\em Grammar Couples}, we show that it is possible to extend this
                 expressiveness and to describe computations on structures that are not just trees, but also on
                 abstractions allowing for infinite structures. The result is a language that is comparable in power to
                 most first-order functional languages, with a distinctive declarative character. In this paper, we give
                 a formal definition of Dynamic Attribute Grammars and show how to construct efficient
                 visit-sequence-based evaluators for them, using traditional, well-established AG techniques (in our
                 case, using the FNC-2 system)",
  keywords =     "vari.FP",
}

@Manual{FNC2MANUAL,
  author =       "Martin Jourdan and Didier Parigot",
  address =      "Rocquencourt",
  edition =      "1.9",
  organization = "INRIA",
  title =        "{T}he {FNC-2} {S}ystem {U}ser's {G}uide and {R}eference {M}anual",
  postscript =   "../../ftp/fnc2/f2manual.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/f2manual.ps.gz",
}

@PhdThesis{Meulen94,
  author =       "E. A. van der Meulen",
  school =       "University of Amsterdam",
  title =        "Incremental Rewriting",
  year =         "1994",
  url =          "ftp://ftp.cwi.nl/pub/gipe/reports/Meu94.ps.Z",
  keywords =     "vari.PRS incr vari.rw",
}

@InProceedings{Farnum92,
  author =       "Charles Farnum",
  title =        "Pattern-Based Tree Attribution",
  booktitle =    "Conference Record of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages",
  address =      "Albuquerque, New Mexico",
  month =        jan # " 19--22",
  year =         "1992",
  pages =        "211--222",
  abstract =     "Attribute grammars have been used for many language-oriented tasks, including the formal description
                 of semantics and the implementation of compilation tasks from simple type checking through code
                 generation. Despite their successful use, attribute grammars have some disadvantages, including the
                 monolithic nature of the grammar and the fixed factoring of all attribute descriptions by a single set
                 of grammar productions. Attribute pattern sets provide a more expressive attribution system by using
                 pattern matching, instead of grammar productions, to perform case analysis. Attribute pattern sets can
                 be implemented in terms of attribute grammars in a way that maintains the dependency structure of the
                 attribute system, making it straightforward to convert many of the practical results from attribute
                 grammar theory to similar results for attribute pattern sets",
  keywords =     "vari.FP",
}

@TechReport{Duris96,
  author =       "Etienne Duris and Didier Parigot and Gilles Roussel and Martin Jourdan",
  title =        "Attribute Grammars and Folds: Generic Control Operators",
  type =         "Rapport de recherche",
  number =       "2957",
  year =         "1996",
  month =        aug,
  institution =  "INRIA",
  postscript =   "../../ftp/fnc2/publications/RR-2957.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-2957.ps.gz",
  abstract =     "Generic control operators, such as \emph{fold}, have been introduced in functional programming to
                 increase the power and applicability of data-structure-based transformations. This is achieved by
                 making the structure of the data more explicit in program specifications. We argue that this very
                 important property is one of the original concepts of attribute grammars. In this paper, we informally
                 show the similarities between the fold formalism and attribute grammar specifications. We also compare
                 their respective method to eliminate the intermediate data structures introduced by function
                 composition (notion of deforestation or fusion): the normalization algorithm for programs expressed
                 with folds and the descriptional composition of attribute grammars. Rather than identify the best way
                 to achieve deforestation, the main goal of this paper is merely to intuitively present two programming
                 paradigms to each other's supporting community and provide an unbiased account of their similarities
                 and differences, in the hope that this leads to fruitful cross-fertilization.",
  keywords =     "vari.FP",
}

@Article{Fokkinga91,
  author =       "M. M. Fokkinga and J. Jeuring and L. Meertens and E. Meijer",
  title =        "A translation from attribute grammars to catamorphisms",
  journal =      "The Squiggolist",
  volume =       "2",
  number =       "1",
  pages =        "20--26",
  year =         "1991",
  keywords =     "vari.FP",
}

@InProceedings{Johnsson85,
  author =       "Thomas Johnsson",
  address =      "Mancy",
  booktitle =    "Conf. on Func. Prog. Languages and Computer Architecture.",
  publisher =    "ACM Press",
  title =        "Lambda Lifting: Transforming Programs to Recursive Equations",
  year =         "1985",
  url =          "http://www.cs.chalmers.se/\~johnsson/Papers/lambda-lifting.ps.gz",
}

@PhdThesis{Hedin92,
  author =       "G. Hedin",
  title =        "Incremental Semantic Analysis",
  school =       "Lund University, Lund, Sweden, 1992",
  type =         "Ph.{D}. Thesis",
  note =         "LUTEDX/(TECS-1003)/1-276/(1992)",
  url =          "http://www.dna.lth.se/Research/ProgEnv/Abstracts/Thesis.GH.abs.html",
  keywords =     "incr",
}

@PhdThesis{Vogt93,
  author =       "H. H. Vogt",
  title =        "Higher order Attribute Grammars",
  school =       "Faculteit Wiskunde en Informatica",
  type =         "Ph.{D}. Thesis",
  year =         "1993",
  url =          "http://www.serc.nl/People/vogt/thesis/thesis.html",
}

@PhdThesis{boyland:96phd,
  author =       "John Tang Boyland",
  title =        "Descriptional Composition of Compiler Components",
  school =       "University of California, Berkeley",
  month =        sep,
  year =         "1996",
  note =         "Available as technical report UCB//CSD-96-916",
  url =          "http://cs-tr.cs.berkeley.edu:80/Dienst/UI/2.0/Describe/ncstrl.ucb%2fcsd-96-916?abstract=",
}

@PhdThesis{Attali96,
  author =       "Isabelle Attali",
  school =       "Universit{\'e} de Nice Sophia Antipolis",
  title =        "{S}\'emantique Naturelle: Evaluation et Expressivit\'e",
  type =         "M{\'e}moire d'habilitation",
  year =         "1996",
  url =          "http://www.inria.fr/croap/personnel/Isabelle.Attali",
  postscript =   "ftp://ftp-croap/pub/croap/attali/hdr.ps",
  keywords =     "vari.LP",
}

@TechReport{L\"ammel95,
  author =       "Ralf L\"ammel and G\"unter Riedewald",
  institution =  "Rostocker Informatik-Berichte",
  month =        nov,
  title =        "Motivating Operations on Attribute Grammars",
  year =         "1995",
  postscript =   "http://www.informatik.uni-rostock.de/\~rlaemmel/oponag.ps",
  url =          "http://www.informatik.uni-rostock.de/~rlaemmel/papers.html",
}

@InProceedings{Batory96,
  author =       "Don Batory and Bart J. Geraci",
  address =      "Florida",
  booktitle =    "International Conference on Software Reuse",
  publisher =    "",
  title =        "Validating Component Compositions in Software System Generators",
  year =         "1996",
  postscript =   "ftp://ftp.cs.utexas.edu/pub/predator/tr-95-03.ps.Z",
  url =          "http://www.cs.utexas.edu/users/schwartz/pub.htm",
  abstract =     "Generators synthesize software systems by composing components from reuse libraries. In general, not
                 all syntactically correct compositions are semantically correct. In this paper, we present
                 domain-independent algorithms for the GenVoca model of software generators to validate component
                 compositions. Our work relies on attribute grammars and offers powerful debugging capabilities with
                 explanation-based error reporting. We illustrate our approach by showing how compositions are debugged
                 by a GenVoca generator for container data structures.",
  keywords =     "composing components applic.compose",
}

@TechReport{Andrey96,
  author =       "Laurent Andrey and Andr\'e Schaff",
  institution =  "Centre de recherche en Informatique de Mancy",
  title =        "Description et prototypage d'entit\'e de protocole {OSI} par grammaire attribu\'ees",
  year =         "1996",
  url =          "http://www.loria.fr/\~andrey/rir.ps",
  keywords =     "applic.protocol",
}

@TechReport{Andrey95a,
  author =       "Laurent Andrey and Andr\'e Schaff",
  institution =  "Centre de recherche en Informatique de Mancy",
  title =        "Description and prototyping of {OSI} protocol entities using attribute grammars",
  year =         "1995",
  number =       "95-R-271",
  keywords =     "applic.protocol",
}

@PhdThesis{Andrey95,
  author =       "Laurent Andrey",
  school =       "Universit{\'e} de Mancy",
  title =        "Protocoles de communication et grammaires attribu\'ees",
  year =         "1995",
  url =          "http://www.loria.fr/\~andrey/",
  keywords =     "applic.protocol",
}

@InProceedings{Moble95,
  author =       "Andrea M\"o\ss{}le and Heiko Vogler",
  booktitle =    "Proceedings of the Fuji International Workshop in Functional and Logic Programming",
  publisher =    "World Scientific Publishing Co. Pte Ltd.",
  title =        "Efficient Call-by-value Evaluation Strategy of Primitive Recursive Program Schemes",
  year =         "1995",
  url =          "http://orchid.inf.tu-dresden.de/gdp/Fuji_FunLogProgr.ps.gz",
  keywords =     "vari.PRS vari.TT tree transducers",
}

@TechReport{Thomas90,
  author =       "L Thomas and S. Cruz-lara",
  institution =  "Centre de recherche en Informatique de Mancy",
  title =        "A Concurrent Object-Oriented Paradigm for Attribute Grammars",
  year =         "1990",
  keywords =     "Object-Oriented vari.00",
}

@InCollection{Micallef94,
  author =       "Josephine Micallef and Gail E. Kaiser",
  title =        "Extending Attribute Grammars to Support Programming-in-the-Large",
  booktitle =    "ACM Transactions on Programming Languages and Systems",
  publisher =    "ACM press",
  pages =        "1572--1612",
  month =        sep,
  year =         "1994",
  volume =       "16",
  series =       "5",
  keywords =     "divers.extension applic.prog",
}

@TechReport{Micallef93,
  author =       "Josephine Micallef and Gail E. Kaiser",
  institution =  "Computer Science, Columbia University",
  title =        "Extending Attribute Grammars to Support Programming-in-the-Large",
  year =         "1993",
  number =       "CUCS-003-93",
  url =          "ftp://ftp.cs.columbia.edu/reports/reports-1993/cucs-003-93.ps.Z",
  keywords =     "divers.extension applic.prog",
}

@InCollection{Kaiser93,
  author =       "Gail E. Kaiser and Simon M. Kaplan",
  title =        "Parallel and Distributed Incremental Attribute Evaluation Algorithms for Multi-User Software
                 Development Environments",
  booktitle =    "ACM Transactions on Software Engineering and Methodology",
  publisher =    "ACM press",
  pages =        "47--92",
  month =        jan,
  year =         "1993",
  volume =       "2",
  series =       "1",
  abstract =     "The problem of {\it change propagation} in multiuser software development environments distributed
                 across a local-area network is addressed. The program is modeled as an attributed parse tree segmented
                 among multiple user processes and changes are modeled as subtree replacements requested asynchronously
                 by inidividual users. Change propagation is then implemented using decentralised incremental evaluation
                 of an attribute grammar that defines the static semantic properties of the programming language.
                 Building up to our primary result, we first present algorithms that support parallel evaluation on a
                 centralised tree in response to single edits using a single diting cursor and multiple dits with
                 multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized
                 tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of
                 the decentralized tree become unavailable due to failures and return to availability.",
  keywords =     "Attribute Grammar Change Propagation Distributed Incremental Algorithm Parallel Reliability incr para
                 incr",
}

@InCollection{Micallef93a,
  author =       "Josephine Micallef and Gail E. Kaiser",
  title =        "Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements",
  booktitle =    "IEEE Transactions on Software Engineering",
  pages =        "231--252",
  month =        mar,
  year =         "1993",
  volume =       "19",
  series =       "3",
  keywords =     "incr",
}

@TechReport{Grosch92,
  author =       "Josef Grosch",
  institution =  "GMD, Karlsruhe University",
  title =        "Multiple Inheritance in Object-Oriented Attribute Grammars",
  year =         "1992",
  number =       "28",
  keywords =     "vari.00",
}

@InProceedings{Duris96a,
  author =       "Etienne Duris and Didier Parigot and Gilles Roussel and Martin Jourdan",
  title =        "Grammaires Attribu\'ees et Folds: Op\'erateurs de Contr\^ole {G}\'en\'eriques",
  booktitle =    "journ\'ees du GDR de programmation",
  address =      "Orl\'eans",
  year =         "1996",
  keywords =     "Functional programing ML vari.FP",
  postscript =   "../../ftp/fnc2/publications/gdr96.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/gdr96.ps.gz",
  abstract =     "Les op\'erateurs de contr\^ole g\'en\'eriques tels que \emph{fold} ont \'et\'e introduits en programmation
                 fonctionnelle pour augmenter la puissance et le champ d'application des transformations fond\'ees sur la
                 structure des donn\'ees. Ceci est possible en rendant cette structure plus explicite dans la
                 sp\'ecification des programmes. Nous consid\'erons que cette caract\'eristique fondamentale est l'un des
                 concepts de base des grammaires attribu\'ees. Dans cet article, nous exposons informellement les
                 similitudes qui existent entre le formalisme du fold et la sp\'ecification par grammaires attribu\'ees.
                 Nous comparons \'egalement leurs m\'ethodes respectives d'\'elimination des structures interm\'ediaires
                 introduites lors de la composition de fonctions (notion de d\'eforestation ou de fusion)\,: l'algorithme
                 de normalisation pour les programmes exprim\'es \`a l'aide de folds et la composition descriptionnelle pour
                 les grammaires attribu\'ees. Le but principal de cet article est de pr\'esenter intuitivement chacun de ces
                 deux paradigmes, ainsi que leurs similitudes qui offrent des possibilit\'es de fertilisation crois\'ee.",
}

@TechReport{Duris97gen,
  author =       "Etienne Duris and Didier Parigot and Gilles Roussel and Martin Jourdan",
  title =        "Structure-directed Genericity in Functional Programming and Attribute Grammars",
  institution =  "INRIA",
  year =         "1997",
  type =         "Rapport de Recherche",
  number =       "3105",
  month =        feb,
  postscript =   "../../ftp/fnc2/publications/RR-3105.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-3105.ps.gz",
  abstract =     "Generic control operators, such as \emph{fold}, have been introduced in functional programming to
                 increase the power and applicability of data-structure-based transformations. This is achieved by
                 making the structure of the data more explicit in program specifications.\\ We argue that this very
                 important property is one of the original concepts of attribute grammars. In this paper, we present the
                 similarities between the \emph{fold} formalism and attribute grammars. In particular, we show the
                 equivalence of their respective deforestation methods.\\ Given these results and the fundamental role
                 of deforestation in the concept of \emph{structure-directed genericity}, first devised for attribute
                 grammars with descriptional composition, we show how the \emph{fold} operator with its fusion method
                 allow to transport this concept in the area of functional programming.",
  keywords =     "Functional programing ML vari.FP",
}

@PhdThesis{Carle92,
  author =       "Alan Carle",
  school =       "Computer Science, Rice University",
  title =        "Hierarchical Attribute Grammars: Language, Evaluation and Applications",
  type =         "Ph.D. Dissertation",
  year =         "1992",
  url =          "http://www.cs.rice.edu/\~carle/hierarchical.ps",
  keywords =     "divers.extension",
}

@Article{Carle96,
  author =       "Alan Carle and Lori Pollock",
  journal =      TOPLAS,
  number =       "1",
  title =        "On the Optimality of Change Propagation for Incremental Evaluation of Hierarchical Attribute
                 Grammars",
  volume =       "18",
  year =         "1996",
  keywords =     "incr",
}

@Article{Carle95a,
  author =       "Alan Carle and Lori Pollock",
  journal =      "Journal of Programming Languages",
  month =        mar,
  title =        "A Context-Based Incremental Evaluator for Hierachical Attribute Grammars",
  volume =       "3",
  year =         "1995",
  keywords =     "divers.extension incr",
}

@PhdThesis{Rosendahl91,
  author =       "Mads Rosendahl",
  title =        "Abstract Interpretation and Attribute Grammars",
  school =       "Cambridge University",
  year =         "1991",
  keywords =     "vari.AbI Abstract interpretation, attribute grammars, fixpoint iteration, correctness of attribute
                 grammars",
  abstract =     "The thesis explores the connection between attribute grammars and abstract interpretation as
                 frameworks in program analysis. It is shown how methods from abstract interpretation can be used for
                 proving the correctness of attribute grammars and how attribute grammars can be used to implement
                 abstract interpretations",
}

@Article{Desainte-Catherine94,
  author =       "M. Desainte-Catherine and K. Barbar",
  title =        "Using attribute grammars to find solutions for musical equational programs",
  journal =      "ACM SIG{\-}PLAN Notices",
  volume =       "29",
  number =       "9",
  pages =        "56--63",
  month =        sep,
  year =         "1994",
  ISSN =         "0362-1340",
}

@InCollection{Rosendahl92,
  author =       "Mads Rosendahl",
  title =        "Strictness analysis for attribute grammars",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '92)",
  series =       "LNCS",
  volume =       "631",
  pages =        "145--157",
  publisher =    "Springer-Verlag",
  year =         "1992",
  keywords =     "vari.AbI Abstract interpretation, attribute grammars",
  url =          "http://www.diku.dk/research-groups/topps/bibliography/1992.html#D-132",
}

@Article{Papakonstoninou88,
  author =       "G Papakonstoninou and P Tsanakas",
  title =        "Attribute grammars and dataflow computing",
  journal =      "Inf. Softw. Technol.",
  volume =       "30",
  number =       "5",
  pages =        "306--313",
  month =        jun,
  year =         "1988",
}

@PhdThesis{Pennings94,
  author =       "Maarten C. Pennings",
  title =        "Generating incremental attribute evaluators",
  school =       "Computer Science, Utrecht University",
  type =         "Ph.{D}. Thesis",
  month =        nov,
  year =         "1994",
  keywords =     "eval circ incr",
  url =          "ftp://ftp.cs.ruu.nl/pub/RUU/CS/phdtheses/Pennings",
}

@TechReport{Bauer94,
  author =       "Bernhar Bauer",
  institution =  "M\"unchen University",
  title =        "Attributed Term Induction - {A} Proof Principle for Attribute Grammars",
  year =         "1994",
  number =       "Bericht 9403",
  url =          "http://www2.informatik.tu-muenchen.de/persons/bauer/papers/tum.94.03.ps",
  keywords =     "valid",
}

@PhdThesis{Adams91,
  author =       "Stephen R. Adams",
  title =        "Modular Grammar for Programming Language Prototyping",
  school =       "Southampton University",
  type =         "Ph.{D}. Thesis",
  year =         "1991",
  keywords =     "lazy functional programs vari.FP",
}

@TechReport{Tokuda93,
  author =       "Takehiro Tokuda and Yoshimichi Watanabe",
  institution =  "Tokyo Institute of Technology",
  title =        "An attribute grammar modelling of interactive figures",
  year =         "1993",
  number =       "93TR-0034",
  url =          "http://www.cs.titech.ac.jp/TR/tr-abst93.html#93TR-0034",
  abstract =     "Interactive figures are figures which we can interact with, and we can perform semantic computations
                 on the structure. This paper presents a new modelling of interactive figures based on the concept of
                 attribute grammars. Traditional methodologies such as that of C++, HyperTalk, and Lingo cannot define
                 semantic computations on figures in a clear way. Our model can define semantic computations inductively
                 on the structure of the figure.",
}

@TechReport{Tokuda93a,
  author =       "Takehiro Tokuda and Yoshimichi Watanabe",
  institution =  "Tokyo Institute of Technology",
  title =        "An efficient semantic evaluator for warped {LC}(1) attributed grammars",
  year =         "1993",
  number =       "93TR-0035",
  url =          "http://www.cs.titech.ac.jp/TR/tr-abst93.html#93TR-0035",
  abstract =     "We present an efficient construction method for a new class of one-pass evaluatable attribute grammars
                 called warped LC(1) attributed grammars. Unlike top-down parsing based LL-attributed grammars and
                 bottom-up parsing based LR-attributed grammars, we use the left corner parsing (LC(k) parsing) method
                 which is a combination of bottom-up parsing and top-down parsing. As a very wide class of LC(1) parsing
                 based attribute grammars, there exists a class called LC-attributed grammars. LC-attributed grammars
                 require a substantial precomputation for constructing an evaluator from a parser. Our warped LC(1)
                 attributed grammars allow us to execute an evaluator simultaneously with an LC(1) parser without
                 requiring any precomputation",
}

@TechReport{Tokuda93b,
  author =       "Takehiro Tokuda and Yoshimichi Watanabe",
  institution =  "Tokyo Institute of Technology",
  title =        "An attribute evaluation of context-free languages",
  year =         "1993",
  number =       "93TR-0036",
  url =          "http://www.cs.titech.ac.jp/TR/tr-abst93.html#93TR-0036",
  abstract =     "We present a method of evaluating attributes of input strings defined by attribute grammars having
                 general context-free underlying grammars and naturally restricted semantic rules. Our attribute
                 evaluation method is based on Earley's parsing method. Hence we can evaluate attributes without
                 building corresponding derivation trees or attribute dependency graphs. Also we can compute all the
                 possible attribute values for unambiguous or ambiguous context-free underlying grammars. Our method
                 serves as a solution to the local constant inherited attribute problem",
}

@TechReport{Kikuchi93,
  author =       "Yutaka Kikuchi",
  institution =  "Tokyo Institute of Technology",
  title =        "An evaluation method of an attribute grammar based language by extended term rewriting systems",
  year =         "1993",
  number =       "93TR-0033",
  url =          "http://www.cs.titech.ac.jp/TR/tr-abst93.html#93TR-0033",
  abstract =     "I propose new rewriting systems and an evaluation method of the language AG on them. The rewriting
                 systems are extended from regular term rewriting systems, that permit multi-valued function symbols and
                 sharing computation trees. The language AG is a functional programming language based on attribute
                 grammars, whose naive evaluator tends to make redundant copies of same attributes and evaluates only
                 eagerly. An evaluator using the rewriting systems prevents needless copies and can work as lazy
                 evaluation.",
  keywords =     "rewriting vari.rw vari.FP",
}

@TechReport{Gondow93,
  author =       "Katsuhiko Gondow and Takuya Katayama",
  institution =  "Tokyo Institute of Technology",
  title =        "Attribute grammars as record calculus",
  year =         "1993",
  number =       "93TR-0047",
  url =          "http://www.cs.titech.ac.jp/TR/tr-abst93.html#93TR-0047",
  abstract =     "We present a new denotational semantics of attribute grammars that are based on Cardelli's record and
                 lambda calculus. Our goal is to define, using the semantics, computational models based on attribute
                 grammars for describing structure-oriented software development environments. As the first step toward
                 the end, we present as extensions of the semantics formal definitions of OOAG (object oriented
                 attribute grammars) and higher order attribute grammars. They have the capability to transform
                 structures of attributed trees depending on their attribute values. The rest of this paper is written
                 in Japanese.",
  keywords =     "divers.denot vari.OO",
}

@TechReport{Gondow95,
  author =       "Katsuhiko Gondow and Takuya Katayama",
  institution =  "Tokyo Institute of Technology",
  title =        "On formalization of object oriented attribute grammars {OOAG} and higher order attribute grammars
                 using record calculus",
  year =         "1995",
  number =       "95TR-0020",
  keywords =     "vari.00 divers.denot",
  url =          "http://www.cs.titech.ac.jp/TR/tr-abst95.html#95TR-0020",
  abstract =     "The purpose of this paper is twofold. First we present a denotational semantics of attribute
                 grammars(AGs) by using Cardelli's record calculus. The denotational semantics is simple and natural. In
                 our semantics, an attributed tree is represented by nested records to preserve the structural
                 information of the attributed tree, while in traditional denotational semantics AGs are formalized by
                 either valuation mapping from attributes (often in the root) to their values or mapping from inherited
                 attributes to synthesized attributes in the root. It is a positive characteristic of our semantics to
                 deal with attributed tree as AG's semantics rather than attribute valuation. For the purpose of
                 describing structure-oriented software development environments, many computational models based on AGs
                 have already been proposed. These computational models are usually extended so as to deal with tree
                 transformation. We believe that our semantics can be a good formal basis to define these computational
                 models. To show this, we formalize OOAG(Object-Oriented AGs) and higher order AGs(HAGs) by extending
                 our denotational semantics of AGs. This is the second purpose of this paper. Both of them are
                 computational models to deal with tree transformation depending upon attribute values. As the result of
                 these formalizations, we can formally discuss the differences between OOAG and HAGs. For example, we
                 show that tree transformation in OOAG is modeled as a function to determine the next state, while that
                 in HAGs is just a static tree construction. This paper is the revised English version of {"}Attribute
                 Grammars as Record Calculus{"} (Technical Report No.93TR-0047), which is written in Japanese.",
}

@TechReport{Suzuki96,
  author =       "Masato Suzuki and Takuya Katayama and Richard Schlichting",
  institution =  "Arizona University, Computer Science",
  title =        "{FTAG}: {A} Functional and Attribute Based Model for Writing Fault-Tolerant Software",
  year =         "1996",
  number =       "TR96-05",
  url =          "http://www.cs.arizona.edu/research/reports.html",
  keywords =     "Fault-Tolerant Software",
}

@TechReport{Suzuki93,
  author =       "Masato Suzuki and Takuya Katayama and Richard D. Schlichting",
  institution =  "Arizona University, Computer Science",
  title =        "A Functional and Attribute Based Computational Model for Fault-Tolerant Software",
  year =         "1993",
  number =       "TR93-08",
  url =          "http://www.cs.arizona.edu/research/reports.html",
  keywords =     "Fault-Tolerant Software",
}

@TechReport{L\"ammel94,
  author =       "Ralf L\"ammel",
  institution =  "Rostocker Informatik-Berichte",
  title =        "{DSDL} - Denotational Semantics Description Language",
  year =         "1994",
  number =       "16",
  keywords =     "divers.denot",
}

@TechReport{Pitt,
  author =       "Jeremy Pitt and Jim Cunningham",
  institution =  "",
  title =        "Attribute Grammars and the Semantics of Natural Language",
  year =         "1990",
  number =       "",
  url =          "http://medlar.doc.ic.ac.uk/\~jvp/abstracts.html#PC90",
  abstract =     "When Knuth introduced attribute grammars, he observed that although ``oriented primarily towards
                 programming languages, the same methods appear to be relevant also in the study of natural languages''.
                 We demonstrate that his intuition is computationally justifiable, based on the algebraic equivalence of
                 attribute grammars and Montague's theory of Universal Grammar. We discuss the relationship between
                 attribute grammars, axiomatic theories and logic programming. We find that attribute grammars can be
                 used to encode an algebraic specification of a natural language, attributed translation used to compute
                 representations of the `meaning' of a sentence at different levels of abstraction, and that the
                 specifications can be implemented as logic programs. We illustrate the application of non-deterministic
                 attributed translation to natural language by the specification of a subset of Montague's PTQ,
                 including a treatment of some semantic ambiguities",
  keywords =     "applic.NL Natural Language, Montague",
}

@TechReport{Vilo92,
  author =       "Jaak Vilo",
  institution =  "Institute of Cybernetics of Estonian Academy of Sciences",
  title =        "Attribute grammars and computational models as combined language development tools",
  year =         "1992",
  number =       "CS 43/92",
  url =          "http://greta.cs.ioc.ee/soft/science/papers/res/1992/aru92.htm",
  abstract =     "We will describe the implementation of languages based on attribute grammars and computational models.
                 Computational models allow automatic program synthesis(using intuitionistic propositional calculus) and
                 thus can be used to synthesize syntax tree decoration algorithms both dynamically and statically. The
                 easy way to build language models that allow implementation of wide class of attribute grammars will be
                 described. The form and properties of computational models that allow automatic synthesis of
                 multi-visit tree traversal algorithms are considered more closely. Experimental tools used to implement
                 attribute grammars by such strategy will be presented and further directions to improve such systems
                 will be outlined",
}

@InProceedings{Vilo92a,
  title =        "Implementing Attribute Grammars by Computational Models",
  author =       "J. Vilo",
  booktitle =    "Programming Language Implementation and Logic Programming (PLILP '92)",
  editor =       "M. Bruynooghe and M. Wirsing",
  publisher =    "LNCS 631, Springer-Verlag",
  year =         "1992",
  address =      "Leuven, Belgium",
  pages =        "485--486",
  keywords =     "vari.LP",
}

@Article{Isakowitz91,
  author =       "Tom\'as Isakowitz",
  title =        "Can we transform Logic Programs into Attribute Grammars?",
  journal =      "Journal of Theoretical Informatics and Application",
  volume =       "25",
  number =       "6",
  pages =        "499--543",
  year =         "1991",
  keywords =     "vari.LP",
}

@InProceedings{Gondow93a,
  author =       "Katsuhiko Gondow and Takashi Imaizumi and Yoichi Shinoda and Takuya Katayama",
  authororg =    "{Tokyo Institute of Technology}",
  title =        "Change Management and Consistency Maintenance in Software Development Environments Using Object
                 Oriented Attribute Grammars",
  volume =       "742",
  series =       "Lecture Notes in Computer Science",
  pages =        "77--94",
  booktitle =    "Object Technologies for Advanced Software",
  year =         "1993",
  keywords =     "vari.OO applic.maintenance",
  organization = "First JSSST International Symposium",
  month =        nov,
  abstract =     "In this paper, we consider describing software development environments (SDEs) using a computational
                 model OOAG (Object Oriented Attribute Grammar), which incorporates functions for managing changes and
                 maintaining consistency. In SDEs, the change management and consistency maintenance are key issues and
                 OOAG is suitable for describing them. Software objects in SDEs have many derived values, and software
                 objects and their derived values have complex relations with each other. Careless human activities
                 often cause inconsistencies among software objects and it usually costs a lot to recover them. OOAG
                 provides declarative descriptions to re-compute automatically derived values based on change
                 propagation and to check relations among software objects, which help recovering activities of
                 programmers. OOAG treats SDEs as aggregated active objects, i.e. tree structures, where software
                 products are distributed. Managing changes of derived values and consistency among software objects are
                 described over tree structures in declarative manner. Attributes associated with nodes are re-computed
                 automatically, if necessary. OOAG is a computational model with the following extensions to standard
                 attribute grammars (AGs): (1) OOAG can change tree structures depending upon their attribute values.
                 (AGs hat have this function are called higher order attribute grammars). (2) OOAG can describe message
                 passing which pastes temporary attributes and their attribution rules to the tree structure. The aim of
                 this paper is to show that our approach of treating SDEs as aggregated objects is natural and OOAG's
                 features are suited for the task of describing change management and consistency control in
                 structure-oriented software development environments.",
}

@InProceedings{Lichao90,
  author =       "Tan. Lichao and Y. Shinoda and T. Katayama",
  title =        "{Coping with Changes in an Object Management System based on Attribute Grammars}",
  booktitle =    "Proceedings of the Fourth ACM SIGSOFT '90 Symposium on Software Development Environments",
  pages =        "56--65",
  month =        dec,
  year =         "1990",
  abstract =     "Methods of dealing with change in an object management system OS/0 are discussed. OS/0 is a prototype
                 of an attribute grammar based object management model, called object-oriented attribute grammars (OOAG)
                 by Y. Shinoda et al. (1990). OOAG is a hybrid model that combines features of functional and
                 object-oriented paradigms. Various aspects of software object databases can be described using its
                 capabilities. Software objects in OOAG are managed as autonomous, hierarchical trees containing
                 attributes. The OOAG is also capable of describing software processes as hierarchies of software
                 objects, with data driven process enaction mechanism. Many aspects of changes to such a tree, including
                 the evolution of the tree type definition, or the dynamic transformation of its internal structure can
                 be dealt with easily by the benefits of a combined attribute grammars based and object oriented
                 paradigm. The authors also introduce a mechanism that helps to provide an efficient way for
                 manipulating changed objects. The mechanism is characterized by meta-objects that are used to control
                 the evaluation of the changes. Meta-objects prove to be a suitable mechanism for handling change
                 management tasks in evolving object environments.",
  note =         "Published as SIGSOFT Software Engineering Notes, volume 15, number 6.",
  keywords =     "vari.OO applic.maintenance",
}

@TechReport{Liu89,
  author =       "Sying-Syang Liu and Kurt R. Johmann",
  title =        "A Tool Specification Language for Software Maintenance: Part {I} Language Design",
  institution =  "Software Engineering Research Centre",
  number =       "SERC-TR-36-F",
  month =        nov,
  year =         "1989",
  abstract =     "Software maintenance tools can help reduce the number of errors which maintenance programmers make
                 when they modify programs. Attribute grammars have been used to create programming development
                 environments, as has been done using the Synthesizer Generator and its Synthesizer Specification
                 Language (SSL). However, conventional attribute-grammar languages, such as SSL, lack modularity and
                 information sharing and are used with difficulty to specify a group of integrated tools. To overcome
                 this difficulty and to improve system performance, a modified attribute-grammar language, to be used
                 for specifying tools in a software maintenance environment, is proposed. This language is called Tool
                 Specification Language (TSL). TSL allows an orderly sharing of specifications between different tools.
                 It also allows the sharing of computed attribute values between different tools. For a suite of related
                 tools which would support the maintenance programmer, using TSL as the specification language would
                 result in a concise, shared specification. There would also be the benefit of less memory space and
                 faster tool execution when computed attribute values are shared.",
  keywords =     "applic.prog applic.maintenance",
}

@Article{Chapman92,
  author =       "Chapman",
  title =        "On Extended Attribute Grammars",
  journal =      "BEATCS: Bulletin of the European Association for Theoretical Computer Science",
  volume =       "46",
  year =         "1992",
  keywords =     "divers.affix divers.extension",
}

@Article{Gombas89,
  author =       "Gombas and Bartha",
  title =        "Two Transformations on Attribute Grammars Improving the Complexity of their Evaluation",
  journal =      "ACTACYB: Acta Cybernetica",
  volume =       "9",
  year =         "1989",
}

@InProceedings{Klaiber89,
  author =       "Klaiber and Gokhale",
  title =        "Parallel Evaluation of Attribute Grammars",
  booktitle =    "ICPP: 18th International Conference on Parallel Processing",
  year =         "1989",
  keywords =     "para",
}

@InProceedings{Saraiva93,
  author =       "Jo\~ao Saraiva and P. Henriques",
  booktitle =    "VEC/PAR'93, First International Meeting on Vector and Parallel Processing",
  title =        "Concurrent Attribute Evaluation",
  year =         "1993",
  url =          "http://www.di.uminho.pt/\~jas/Research/PUBLICACOES/CONC_ATTRIB_EVAL/Relat.ps",
  keywords =     "Parallel Compilation para",
  month =        "Set",
  publisher =    "Pergamon Press",
  scope =        "hpc",
}

@Article{Mernik95,
  author =       "Marjan Mernik and Nikolaj Korbar and Viljem Zumer",
  journal =      "ACM SIGPLAN Notices",
  title =        "{LISA}: {A} Tool for Automatic Language Implementation",
  year =         "1995",
  url =          "http://marcel.uni-mb.si/nikolaj/sigplan.htm",
  keywords =     "attribute grammars syst.LISA",
  month =        apr,
  number =       "4",
  pages =        "71--79",
  volume =       "30",
  scope =        "tools",
}

@Article{Buckles89,
  title =        "Attribute grammars for the heuristic translation of query languages",
  author =       "Bill P. Buckles and Frederick E. Petry and Yuet-Ying Cheung",
  journal =      "Information Systems",
  pages =        "507--514",
  year =         "1989",
  volume =       "14",
  number =       "6",
  keywords =     "applic.DB",
}

@TechReport{Paakki93,
  author =       "J. Paakki",
  title =        "Multi-Pass Evaluation of Functional Logic Programs",
  institution =  "Link\"oping University",
  number =       "LiTH-IDA-R-93-02",
  year =         "1993",
  abstract =     "An operational semantics for logic programming languages with external functions (procedures) is
                 presented. The external procedures stand for arbitrary functions, implemented in any programming
                 language. In addition to ordinary constructor terms, a program written in a functional logic language
                 includes special functional terms that represent calls to external functions. The central dynamic
                 requirement is that external functions can be called only with ground constructor terms as arguments.
                 Methods are presented for statically analyzing the groundness of functional terms, and for arranging
                 the corresponding external function calls into a proper execution order. The methods are based on
                 techniques developed for attribute grammars. Consequently, execution of a functional logic program is
                 divided into two phases: first an incomplete skeleton of a proof tree is constructed in conjunction
                 with a modified SLD-resolution scheme, and then the skeleton is completed into a proof tree by
                 traversing its labels and executing the associated function calls. The analysis guarantees that
                 whenever a term is subject to functional evaluation, all its arguments are ground. The completing
                 traversal phase can consist of multiple passes over the skeleton. The execution scheme is generated
                 from an annotated version of the program, based on dividing the arguments of predicates into inherited
                 and synthesized ones and on analyzing the data dependencies between them in the spirit of attribute
                 grammars. Algorithms are given for automatically inferring a proper (partial) annotation. Several
                 special program classes are defined. One-pass programs, such as L-annotated and one-sweep programs, can
                 be executed during the modified SLD-resolution phase without building and traversing an explicit
                 skeleton. This is not possible for general multi-pass programs, such as absolutely non-circular
                 programs, that always require an explicit skeleton to be constructed due to complex mutual data
                 dependencies between different atoms of the program.Finally, implementation and optimization methods in
                 terms of the operatio- nal semantics are discussed",
  keywords =     "Multi-pass execution; Functional logic programs; Operational semantics; Functional terms; Multi pass
                 evaluation techniques; Attribute grammars; Incomplete proof tree; Complete proof tree; Construction
                 phase; Modified SLD resolution scheme; Partial traversal; Phase partition; Static analysis; Data
                 dependencies; Functional elements vari.LP vari.FLP",
}

@InProceedings{Paakki94,
  author =       "J. Paakki",
  title =        "Multi-pass execution of functional logic programs",
  booktitle =    "Conference record of {POPL} '94, 21st {ACM} {SIGPLAN-SIGACT} Symposium on Principles of Programming
                 Languages: papers presented at the Symposium: {Portland, Oregon}, {January} 17--21, 1994",
  publisher =    "ACM Press",
  address =      "New York, NY, USA",
  year =         "1994",
  ISBN =         "0-89791-636-0",
  pages =        "361--374",
  abstract =     "An operational semantics for functional logic programs is presented. In such programs, functional
                 terms provide for reduction of expressions, provided that they ground. The semantics is based on multi
                 pass evaluation techniques originally developed for attribute grammars. Program execution is divided
                 into two phases: construction of an incomplete proof tree; and its decoration into a complete proof
                 tree. The construction phase applies a modified SLD resolution scheme, and the decoration phase a
                 partial (multipass) traversal over the tree. The phase partition is generated by static analysis where
                 data dependencies are extracted for the functional elements of the program. The method guarantees that
                 all the functional terms of a program can be evaluated, and no dynamic groundness checks are needed.",
  keywords =     "Multi-pass execution; Functional logic programs; Operational semantics; Functional terms; Multi pass
                 evaluation techniques; Attribute grammars; Incomplete proof tree; Complete proof tree; Construction
                 phase; Modified SLD resolution scheme; Partial traversal; Phase partition; Static analysis; Data
                 dependencies; Functional elements vari.LP vari.DFA",
}

@InProceedings{mathieu89,
  author =       "Philippe Mathieu and Torbj{\"o}rn Keisu",
  title =        "Relating Attribute Grammars and a Constraints-Prolog Programming Environment",
  note =         "SICS Research Report 0283-3638 (?)",
  booktitle =    "Workshop on Programming Environment",
  address =      "N{\"a}sslingen (?)",
  month =        aug,
  year =         "1989",
  keywords =     "vari.LP vari.CLP",
}

@TechReport{mathieu90,
  author =       "Philippe Mathieu and Torbj{\"o}rn Keisu",
  title =        "Relating Attribute Grammars and a Constraints-Prolog Programming Environment",
  institution =  "SICS Swedish Institute of Computer Science",
  number =       "R90004",
  year =         "1990",
  url =          "http://www.sics.se/titles.html",
  keywords =     "vari.LP vari.CLP",
}

@InBook{Frost93,
  author =       "R. A. Frost and S. Karamatos",
  title =        "Supporting the Attribute Grammar Programming Paradigm in a Lazy Functional Programming Language",
  booktitle =    "Functional Programming, Concurrency, Simulation and Automated Reasoning",
  editor =       "Peter E. Lauer",
  publisher =    "Springer Verlag",
  series =       "Lecture Notes in Computer Science",
  volume =       "693",
  year =         "1993",
  pages =        "278--295",
  abstract =     "Attribute grammars were introduced in the late 60's. In the 70's they found use in compiler work, a
                 use that is continuing to grow. A more recent development is that of the ``attribute grammar
                 programming paradigm''. A number of environments have been built to support this paradigm. W/AGE is one
                 such environment. It consists of several functions that extend the standard environment of the pure
                 lazy functional programming language Miranda. W/AGE has been used in the construction of various types
                 of program including natural language interpreters, database front-ends, file-processors, theorem
                 provers, and VLSI specification transformers.",
  keywords =     "vari.FP, applic.NL functional program",
}

@TechReport{Lehrmann80,
  author =       "Ole Lehrmann Madsen",
  title =        "On Defining Semantics by Means of Extended Attribute Grammars",
  institution =  "Comp. Sc. Department, Aarhus University",
  number =       "DAIMI PB-109",
  month =        jan,
  year =         "1980",
  keywords =     "divers.denot",
  abstract =     "The possibilities for defining predicate transformers, denotational semantics, and operational
                 semantics by means of extended attribute grammars are treated. The approach to operational semantics
                 consists of a set of attribute grammar rules that specifies the possible transformations upon a given
                 program. A proposal for defining the domains of an attribute grammar within the formalism is given. It
                 is also shown how an attribute grammar may be reformulated as a tree rewriting system. Finally an
                 efficient evaluator that works for all attribute grammars (including some circular ones) is described.
                 This evaluator constructs during a left-to-right scan of a linear representation of the parse tree (a
                 right-parse) a directed (acyclic) graph that represents the values of the attributes at the root of the
                 parse tree. The parse tree itself need not be constructed. During a (recursive) scan of this graph the
                 attribute values may be evaluated.",
}

@InProceedings{Feng94,
  author =       "An Feng An and Toshiro Wakayama",
  title =        "{SIMON}: {A} Grammar-based Transformation System for Structured Documents",
  booktitle =    "Fifth International Conference on Electronic Publishing",
  pages =        "361--372",
  publisher =    "Origination, Dissemination, and Design (EPODD) EP '94",
  address =      "Darmstadt, Germany",
  year =         "1994",
  abstract =     "SIMON is a grammar-based transformation system for restructuring documents. Its target applications
                 include meta-level specification of document assembly, view definition and retrieval for multiview
                 documents, and document type evolution. The internal document model is based on attribute grammars, and
                 it interfaces with external document models such as SGML through input and output conversion. The
                 transformation engine of SIMON is an amalgamation of syntax-directed computation and content-oriented
                 computation: the former is through higher-order (and related) extensions of attribute grammars, whereas
                 the latter is done by externally defined programs and it is for computation not naturally amenable to
                 the syntax-directed paradigm. The current implementation of SIMON employs the higher-order extension
                 proposed by H. H. Vogt, S. D. Swierstra, and M. F. Kuiper for the syntax-directed computation, and C++
                 for the content-oriented computation",
  keywords =     "Structured documents, Document transformation, Document type evolution, Document assembly, Multiview
                 documents, Attribute grammars applic.document",
}

@Book{Reghizzi96,
  editor =       "S. Crespi Reghizzi",
  title =        "Le Grammatiche ad Attributi: Semantica dei Linguaggi artificiali",
  publisher =    "Citt\`a Studi Ed.",
  address =      "Milano",
  year =         "1996",
  keywords =     "survey book",
  note =         "(in Italian) (Attribute Grammars: Semantic of artificial Languages)",
}

@PhdThesis{Vicu90,
  author =       "F. Vicu na",
  title =        "Semantic Formalization in Mathematical Modeling Languages",
  school =       "Computer Science Department, UCLA",
  year =         "1990",
  abstract =     "Most existing languages for mathematical programming have semantics that are only incompletely
                 formalized. This situation -- studied in detail for AMPL, GAMS, and LINGO -- inhibits efforts to
                 achieve a high level of automation for diagnosing errors and generating major components of a
                 computer-based modeling environment (e.g., language-based editors, type inference tools, and immediate
                 expression evaluators). The focus of this dissertation is to demonstrate that attribute grammars
                 furnish a suitable declarative formalism with which to overcome this serious deficiency. SML is the
                 main target language, although a similar development should be possible for most other mathematical
                 modeling languages. The feasibility of the proposed approach is demonstrated by expressing the full
                 syntax and semantics of SML in attribute grammar equations, and by using them in conjunction with the
                 Cornell Synthesizer Generator to generate a language-directed editor for SML on a UNIX workstation.
                 Both the automatic detection of missing language constructs and the immediate evaluation of numerical
                 and logical expressions are addressed.",
}

@TechReport{McAllester94,
  author =       "David McAllester",
  title =        "Variational Attribute Grammars for Computer Aided Design",
  institution =  "MIT",
  number =       "ADAGE-MIT-94-01",
  month =        jun,
  year =         "1994",
  url =          "http://www.owego.com/dssa/mit-docs/mit9401.ps",
  keywords =     "divers.extension",
}

@TechReport{McAllester94a,
  author =       "David McAllester",
  title =        "Variational Attribute Grammars for Computer Aided Design (Release 3.0)",
  institution =  "MIT",
  number =       "ADAGE-MIT-94-01",
  month =        jun,
  year =         "1994",
  url =          "http://www.owego.com/dssa/mit-docs/mit9402.ps",
  keywords =     "divers.extension",
}

@PhdThesis{Micallef91,
  author =       "Josephine Micallef",
  title =        "Incremental attribute evaluation for multi-user semantics-based editors",
  school =       "Computer Science, Columbia University",
  year =         "1991",
  type =         "Ph.D.~Thesis",
  number =       "CUCS-023-91",
  keywords =     "incr",
  abstract =     "This thesis addresses two fundamental problems associated with performing incremental attribute
                 evaluation in multi-user editors based on the attribute grammar formalism: (1) multiple asynchronous
                 modifications of the attributed derivation tree, and (2) segmentation of the tree into separate modular
                 units. Solutions to these problems make it possible to construct semantics-based editors for use by
                 teams of programmers developing or maintaining large software systems. Multi-user semantics-based
                 editors improve software productivity by reducing communication costs and snafus. The objectives of an
                 incremental attribute evaluation algorithm for multiple asynchronous changes are that (a) all
                 attributes of the derivation tree have correct values when evaluation terminates, and (b) the cost of
                 evaluating attributes necessary to reestablish a correctly attributed derivation tree is minimized. We
                 present a family of algorithms that differ in how they balance the tradeoff between algorithm
                 efficiency and expressiveness of the attribute grammar. This is important because multi-user editors
                 seem a practical basis for many areas of computer-supported cooperative work, not just programming.
                 Different application areas may have distinct definitions of efficiency, and may impose different
                 requirements on the expressiveness of the attribute grammar. The characteristics of the application
                 domain can then be used to select the most efficient strategy for each particular editor. To address
                 the second problem, we define an extension of classical attribute grammars that allows the
                 specification of interface consistency checking for programs composed of many modules. Classical
                 attribute grammars can specify the static semantics of monolithic programs or modules, but not
                 inter-module semantics; the latter was done in the past using @i[ad hoc] techniques. Extended attribute
                 grammars support programming-in-the-large constructs found in real programming languages, including
                 textual inclusion, multiple kinds of modular units and nested modular units. We discuss attribute
                 evaluation in the context of programming-in-the-large, particularly the separation of concerns between
                 the local evaluator for each modular unit and the global evaluator that propagates attribute flows
                 across module boundaries. The result is a uniform approach to formal specification of both intra-module
                 and inter-module static semantic properties, with the ability to use attribute evaluation algorithms to
                 carry out a complete static semantic analysis of a multi-module program.",
}

@TechReport{Peckham90a,
  author =       "Stephen B. Peckham",
  title =        "Incremental Attribute Evaluation and Multiple Subtree Replacements",
  institution =  "Department of Comp. Sc., Cornell University",
  type =         "Technical Report",
  number =       "TR90-1093",
  address =      "Ithaca, NY",
  month =        feb,
  year =         "1990",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR90-1093",
  abstract =     "The standard model for incremental attribute evaluation allows single subtree replacements followed by
                 attribute reevaluation to restore consistency to a derivation tree. This thesis advocates an extended
                 model that allows multiple subtree replacements. A static (tree-walking) algorithm for performing
                 incremental updating after such changes is developed. The algorithm cannot be used with all attribute
                 grammars, but is restricted to grammars contained in the new class of ``globally partitionable
                 attributer grammars'' (GPAGs). A test for determining whether an attribute grammar is GPAG is
                 described. The multiple subtree replacement algorithm (GPAG-evaluate) in this thesis improves on two
                 shortcomings of existing algorithms. First, many evaluators have a running time that depends linearly
                 on the size of the derivation tree of on the number of concurrent subtree replacements. GPAG-evaluate
                 has a running time of O(log n \cdot |AFFECTED|), where n is the number of nodes in the derivation tree
                 and AFFECTED is the set of attributes needing reevaluation. Second, experience with incremental,
                 attribute grammar-based environments demonstrates that dynamic evaluators are noticeably slower than
                 static evaluators because they require time-consuming data structure manipulations. Most existing
                 algorithms for multiple subtree replacements are dynamic, but GPAG-evaluate is static. A second problem
                 treated in this thesis is asynchronous subtree replacements, that is, allowing changes to be made while
                 propagation continues after previous changes. A method for analyzing the efficiency of asynchronous
                 subtree replacement algorithms is presented. An asynchronous evaluator (ASYNCH-evaluate) is described
                 that, like GPAG-evaluate, guarantees that no attributes will be evaluated unnecessarily. Under some
                 restrictions, ASYNCH-evaluate is as efficient as GPAG-evaluate. In particular, propagation in trees
                 containing dynamically generated, nonlocal dependency edges can be supported. Both GPAG-evaluate and
                 ASYNCH-evaluate must find lowest common ancestors of nodes in a tree where subtree replacements were
                 made. A simple technique performs this operation in time O(n). To make the evaluators more efficient,
                 this thesis describes an algorithm that uses self-adjusting binary trees to perform the necessary
                 operations in amortized O(log n) time. These operations are not restricted to attributed derivation
                 trees, but can be used for any application using trees.",
}

@TechReport{Reps92,
  author =       "Thomas Reps",
  title =        "Scan Grammars: Parallel Attribute Evaluation Via Data-Parallelism",
  institution =  "University of Wisconsin-Madison",
  year =         "1992",
  number =       "TR 1120a",
  month =        nov,
  note =         "Revised March 1993",
  abstract =     "This paper concerns the problem of how to exploit parallelism during the phases of compilation
                 involving syntax-directed analysis and translation. In particular, we address the problem of how to
                 exploit parallelism during the evaluation of the attributes of a derivation tree of a non-circular
                 attribute grammar. What distinguishes the ideas presented in this paper from earlier work on parallel
                 attribute evaluation is the use of a data-parallel model: We define a new variant of attribute
                 grammars, called scan grammars, that incorporates a data-parallel attribution construct",
  url =          "ftp://ftp.cs.wisc.edu/tech-reports/reports/92/tr1120a.ps.Z",
}

@InProceedings{Reps93,
  author =       "Thomas Reps",
  title =        "Scan Grammars: Parallel Attribute Evaluation Via Data-Parallelism",
  booktitle =    "Proceedings of the Fifth ACM Symposium on Parallel Algorithms and Architectures",
  year =         "1993",
  publisher =    "ACM",
  address =      "Velen, Germany",
  month =        jun,
  abstract =     "This paper concerns the problem of how to exploit parallelism during the phases of compilation
                 involving syntax-directed analysis and translation. In particular, we address the problem of how to
                 exploit parallelism during the evaluation of the attributes of a derivation tree of a non-circular
                 attribute grammar. What distinguishes the ideas presented in this paper from earlier work on parallel
                 attribute evaluation is the use of a data-parallel model: We define a new variant of attribute
                 grammars, called scan grammars, that incorporates a data-parallel attribution construct",
}

@TechReport{Muthukkaruppan94,
  author =       "Kannan Muthukkaruppan",
  title =        "Spine: {A} Synthesizer for Practical Incremental Evaluators",
  institution =  "California Berkeley",
  year =         "1994",
  number =       "UCB//CSD-94-81",
  month =        may,
  abstract =     "SPINE is a system for efficiently generating practical incremental evaluators based on recursive
                 procedures for the Strongly Non-Circular class of attribute grammars. Several interactive
                 language-based software development environments use incremental evaluation of attribute grammars for
                 context-sensitive static semantic analysis. Ease of evaluator construction, effective consumption of
                 space, applicability to a large class of AGs, ability to handle multiple site attribute tree
                 transformations and close to optimal performance are the key advantages this system offers over other
                 existing incremental AG systems. SPINE has been used innovatively in the Ensemble software environment
                 to provide advanced incremental formatting of documents. As part of this work, an AG-description
                 language, ASPEC, was developed to serve as the presentation (layout) specification tool for Ensemble
                 documents. The ASPEC language provides several powerful default mechanisms that make presentation
                 specifications very concise",
  url =          "ftp://tr-ftp.cs.berkeley.edu/pub/tech-reports/csd/csd-94-819/",
  keywords =     "incr",
}

@TechReport{Hernek89,
  author =       "Diane Hernek and David P. Anderson",
  title =        "Efficient Automated Protocol Implementation Using {RTAG}",
  institution =  "California Berkeley",
  year =         "1989",
  number =       "UCB//CSD-89-526",
  month =        aug,
  abstract =     "RTAG is a system for automated implementation of communication protocols from formal specifications.
                 The RTAG specification language is based on attribute grammars, and allows complex protocols to be
                 specified concisely and with minimal need for additional program code. This paper describes a set of
                 techniques for efficient automated implementation of protocols from RTAG specifications, and compares
                 the performance to that of hand-coded protocol implementations. We conclude that in many cases the
                 performance of RTAG-based protocol implementation is acceptable for experimental or production uses",
  url =          "ftp://tr-ftp.cs.berkeley.edu/pub/tech-reports/csd/csd-89-526/",
  keywords =     "applic.protocol",
}

@Article{Engelfriet92,
  author =       "Joost Engelfriet and Linda Heyker",
  title =        "Context-Free Hypergraph Grammars Have the Same Term-Generating Power as Attribute Grammars",
  journal =      "Acta Informatica",
  volume =       "29",
  pages =        "161--210",
  year =         "1992",
  keywords =     "vari.hyper",
}

@TechReport{Herndon86b,
  author =       "Robert M. Herndon and Valdis A. Berzins",
  title =        "An Interpretive Technique for Evaluating Functional Attribute Grammars",
  institution =  "University of Minessota, Department of Computer Science",
  number =       "TR 86-5 1986",
  keywords =     "vari.FP",
}

@TechReport{Herndon86a,
  author =       "Robert M. Herndon and Valdis A. Berzins",
  title =        "A Method for the Construction of Dynamic, Lazy Evaluators for Functional Attribute Grammars",
  institution =  "University of Minessota, Department of Computer Science",
  number =       "86-6 1986",
  keywords =     "vari.FP",
}

@Article{Dilger80,
  author =       "Werner Dilger",
  title =        "Automatic translation with attribute grammars",
  journal =      "COLING-80",
  pages =        "397--404",
  year =         "1980",
}

@Article{Hudson86a,
  author =       "S. E. Hudson and R. King",
  title =        "A Generator of Direct Manipulation Office Systems",
  journal =      "ACM Trans. on Office Inf. Sys.",
  series =       "Res. Contributions",
  volume =       "4",
  number =       "2",
  pages =        "132",
  year =         "1986",
  keywords =     "TOOIS TOIS Database management, Logical design, Data models, Inf. systems applications, Office
                 automation, Computer graphics, Methodology and techniques, Interaction techniques, Design, Human
                 factors, Languages, Management, Application development tools, Direct manipulation, Graphical user
                 interfaces, Semantic models",
  abstract =     "A system for generating direct manipulation office systems is described. In these systems, the user
                 directly manipulates graphical representations of office entities instead of dealing with these
                 entities abstractly through a command language or menu system. These systems employ a new semantic data
                 model to describe office entities. New techniques based on attribute grammars and incremental attribute
                 evaluation are used to implement this data model in an efficient manner. In addition, the system
                 provides a means of generating sophisticated graphics-based user interfaces that are integrated with
                 the underlying semantic model. Finally, the generated systems contain a general user reversal and
                 recovery (or undo) mechanism that allows them to be much more tolerant of human errors.",
}

@Article{Nishino:92,
  author =       "Tetsuro Nishino",
  title =        "Relating Attribute grammars and Lexical-Functional Grammars.",
  journal =      "Information sciences.",
  volume =       "66",
  year =         "1992",
  number =       "1/2",
  pages =        "1",
}

@Article{Frost90a,
  author =       "R. A. Frost and W. S. Saba",
  title =        "A Database Interface Based on Montague's Approach to the Interpretation of Natural Language",
  journal =      "International Journal of Man-Machine Studies",
  volume =       "33",
  number =       "2",
  pages =        "149--176",
  year =         "1990",
  copyright =    "(c) Copyright 1990 Academic Press",
  abstract =     "In this paper we describe a database interface that is loosely based upon some of the concepts
                 proposed by Richard Montague in his approach to the interpretation of natural language. The system is
                 implemented as an executable attribute grammar specified in a higher order, lazy, pure functional
                 programming language. The attribute grammar formalism provides a simple means of implementing
                 Montague's notion of {"}semantic rule to syntactic rule correspondence{"} and the higher order
                 functional language in which the attributes grammar is constructed provides an appropriate vehicle for
                 implementing Montague's higher order semantics. The purpose of the paper is two-fold: (i) to
                 demonstrate that many of Montague's ideas can be used to advantage in creating natural language
                 interfaces to databases, and (ii) to introduce a method for implementing attribute grammars in
                 functional languages that is suitable for investigating both grammars and semantic theories of
                 language.",
  keywords =     "applic.NL vari.FP",
}

@InProceedings{wagner,
  keywords =     "incr",
  title =        "Using Attribute Grammars to Control Incremental, Concurrent Builds of Modular Systems",
  author =       "Mary Pfreundschuh Wagner and Ray Ford",
  booktitle =    "Proceedings of the International Workshop on Software Version and Configuration Control",
  address =      "Grassau, Germany",
  month =        jan,
  year =         "1988",
  pages =        "285--304",
}

@Article{Frost93a,
  author =       "R. A. Frost",
  title =        "Guarded Attribute Grammars",
  journal =      "Software - Practice and Experience",
  volume =       "23",
  number =       "10",
  pages =        "1139--1156",
  year =         "1993",
  keywords =     "sql vlsi functional applic.NL",
  abstract =     "Contrary to a widely-held belief it is possible to construct executable specifications of language
                 processors that use a top-down parsing strategy and which have structures that directly reflect the
                 structure of grammars containing left-recursive productions. A novel technique has been discovered by
                 which the non-termination that would otherwise occur is avoided by 'guarding' top-down left-recursive
                 language processors by non-left-recursive recognizers. The use of a top-down parsing strategy increases
                 modularity and the use of left-recursive productions facilitates specification of semantic equations. A
                 combination of the two is of significant practical value because it results in modular and expressively
                 clear executable specifications of language processors. The new approach has been tested in an
                 attribute grammar programming environment that has been used in a number of projects including the
                 development of natural language interfaces, SQL processors and circuit design transformers within a
                 VLSI design package.",
}

@InProceedings{Frost95,
  title =        "{W}/{AGE} The Windsor Attribute Grammar Programming Environment",
  author =       "R. A. Frost",
  booktitle =    "Schloss Dagstuhl International Workshop on funtional programming in the Real World",
  address =      "Dagstuhl, Germany",
  year =         "1995",
}

@TechReport{Frost96,
  author =       "R. A. Frost and Barbara Szydlowski",
  institution =  "University of Windsor",
  title =        "Memoizing purely-functional top-down backtracking language processors",
  year =         "1996",
  url =          "ftp://ftp.cs.uwindsor.ca/pub/wage",
  keywords =     "parsing, higher-order function, monadic vari.FP",
}

@InProceedings{Pennings92,
  author =       "M. Pennings and D. Swierstra and H. Vogt",
  editor =       "M. Bruynooghe and M. Wirsing",
  title =        "Using Cached Functions and Constructors for Incremental Attribute Evaluation",
  booktitle =    "Proceedings of the 4th International Symposium of Programming Language Implementation and Logic
                 Programming, Leuven, BE: PLILP '92",
  pages =        "130--144",
  publisher =    "Springer-Verlag",
  address =      "Berlin, DE",
  year =         "1992",
  keywords =     "functional higher order vari.FP incr",
  ISBN =         "3-540-55844-6",
  abstract =     "A technique is presented for the efficient incremental evaluation of attribute grammars. Through its
                 generality, the applied approach may be affective too in the evaluation of higher order attribute
                 grammars. The authors' approach is an extension of a simpler algorithm for incremental evaluation,
                 where functions, corresponding to visit sequences, are cached. Consequently, attributes are either
                 found in the cache or they are recomputed, so there is no longer need to represent the attributed tree
                 explicitly. One may share common subtrees, avoiding repeated attribute evaluation, thus solving a
                 typical HAG problem. The authors propose the following change: instead of explicitly representing the
                 tree and calling visit sequence functions to compute the attributes, the tree is represented through a
                 set of visit functions corresponding to the successive visits. These functions are constructed using
                 the visit sequences as building blocks. This technique has two major advantages. Firstly, a visit
                 function characterizes precisely that part of the tree that would actually have been visited in the
                 previous approach, thus increasing the number of cache hits. Secondly, copyrules may be removed during
                 the construction phase. This results in shortcircuiting copychains and in minimizing the number of
                 recomputed functions.",
}

@TechReport{kaiser86a,
  key =          "Kaiser \& Garlan",
  author =       "G. E. Kaiser and D. Garlan",
  title =        "{MELD}: {A} Declarative Language for Writing Methods",
  institution =  "Carnegie-Mellon University",
  address =      "SEI, Pittsburgh, PA",
  year =         "1986",
  month =        jun,
  pages =        "1--20",
  keywords =     "vari.00 incr",
  abstract =     "Object-oriented programs are written as collections of messages. When an object receives a message,
                 the system attempts to find a method with the same name as given in the message. The system queries the
                 class that defines the object. If the class provides a corresponding method, the method is performed.
                 The method may return a value to the sender of the message. It may have side-effects on the local
                 memory of the object. The method may send messages to additional objects as part of it computation.
                 This notion of encapsulating operations, in the form of methods, within the definition of an object is
                 common to essentially all object-oriented programming languages. Messages and methods are currently
                 written in what is fundamentally a procedural style. A messagge is a procedure call with several
                 parameters, where one parameter is distinguished as the object to which the message is sent. A method
                 is a procedure: it may return a value, have side-effects, and invoke other procedures by sending
                 messages. We believe that the object-oriented framework lends itself quite easily to the description of
                 programs in a declarative language. In this paper, we propose a declarative language for writing
                 messages and methods. Our notation retains all the important features of object-oriented programming,
                 but adds a higher level of abstraction to the description of object behavior. Our language, called
                 MELD, is an extension of attribute grammars. Its implementation takes advantage of algorithms developed
                 for incremental attribute grammar evaluation in the context of language-based programming
                 environments.",
}

@TechReport{Noll92,
  author =       "Th. Noll and H. Vogler",
  institution =  "Aachen University of Technology",
  title =        "Top-down Parsing with Simultaneous Evaluation on Noncircular Attribute Grammars",
  year =         "92",
  url =          "ftp://ftp.informatik.rwth-aachen.de/pub/reports/1992/92-14.ps.gz",
  number =       "92-14",
  abstract =     "This paper introduces a machinery called attributed top-down parsing automaton which performs
                 top--down parsing of strings and, simultaneously, the evaluation of arbitrary noncircular attribute
                 grammars. The strategy of the machinery is based on a single depth--first left--to--right traversal
                 over the syntax tree. There is no need to traverse parts of the syntax tree more than once, and hence,
                 the syntax tree itself does not have to be maintained. Attribute values are stored in a graph
                 component, and values of attributes which are needed but not yet computed are represented by particular
                 nodes. Values of attributes which refer to such uncomputed attributes are represented by trees over
                 operation symbols in which pointers to the particular nodes at their leaves are maintained. Whenever
                 eventually the needed attribute value is computed, it is glued into the graph at the appropriate nodes.
                 [Note: In this PostScript version in some figures the edges are missing because they were added by hand
                 afterwards. ]",
  keywords =     "vari.TT",
}

@TechReport{Uddeborg88,
  author =       "G. O. Uddeborg",
  title =        "A functional parser generator.",
  institution =  "Programming Methodology Group, University of Goteborg and Chalmers University of Technology.",
  number =       "43",
  month =        feb,
  year =         "1988",
  keywords =     "PMG, TR43 TR 43, functional programming, vari.FP, lazy, parser generator, FPG, LML, ML",
  abstract =     "a parser generator, written in LML, to accept attribute grammars.",
}

@TechReport{Pugh88,
  author =       "William W. Pugh",
  title =        "Incremental Computation and the Incremental Evaluation of Functional Programs",
  institution =  "Cornell University, Computer Science Department",
  type =         "Technical Report",
  number =       "CORNELLCS//TR88-936",
  pages =        "80",
  month =        aug,
  year =         "1988",
  copyright =    "William W. Pugh, Jr. 1988 - All Rights Reserved",
  language =     "English",
  abstract =     "Incremental computation is generally thought of as the technique of efficiently updating the result of
                 a computation when the input is changed. This idea is used in doing semantic checking in programming
                 environments, document formatting in WYSIWYG editors and other applications. More generally,
                 incremental computation is the technique of efficiently applying a function to a series of similar
                 inputs. Much of the previous work on incremental computation has centered on incremental attribute
                 grammar and incremental dependency graph evaluation schemes, but these techniques are only suitable for
                 certain applications. This thesis examines an alternative method for providing incremental computation.
                 Our results provide practical methods that can be used for applications such as theorem provers for
                 which attribute grammars are unusable. Even for those problems for which attribute grammars are best
                 suited, our methods perform almost as well as attribute grammars. We describe an incremental evaluator
                 for functional programs that makes use of function caching. Function caching, or memoising, allows
                 reuse of solutions to problems that were solved previously. We examine how function caching can be
                 effectively used when solving problems that are similar to problems that were solved previously. In
                 order for function caching to provide incremental evaluation, two similar problems must be solved by
                 decomposing them into sub-problems in such a way that they share many common sub-problems. We formalize
                 and quantify this idea with the notion of a stable decomposition, and we present data structures for
                 representing sets and sequences that have stable decompositions. We solve several problems related to
                 the efficient implementation of function caching. To perform function caching efficiently, one must be
                 able to determine if two values are equal in constant time and perform updates applicatively. The data
                 structures we present for sets and sequences support these features. This was previously an open
                 problem for representations that also supported efficient updates. We also examine how to calculate
                 hash keys and perform fast equality tests for S-expressions and how to determine what to purge from a
                 function cache when it is full. We report benchmarks that show our function caching implementation
                 produces significant speed-ups in complex programs such as incremental theorem provers.",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR88-936",
  keywords =     "vari.FP",
}

@InProceedings{Barbar94,
  author =       "K. Barbar and K. Musumbu",
  title =        "Implementation of {A}bstract {I}nterpretation {A}lgorithm by means of {A}ttribute {G}rammars",
  booktitle =    "Proceedings of the 26th Southeastern Symposium on System Theory",
  year =         "1994",
  pages =        "87--93",
  publisher =    "IEEE Computer Society",
  month =        mar,
  keywords =     "vari.AbI abstract interpretation",
  url =          "http://www.labri.u-bordeaux.fr/Annuaire/musumbu.html",
}

@Article{WalzJ95,
  title =        "Inductive Attribute Grammars: {A} Basis for Incremental Program Execution",
  author =       "Janet A. Walz and Gregory F. Johnson",
  journal =      "Acta Informatica",
  pages =        "117--144",
  year =         "1995",
  volume =       "32",
  number =       "2",
  keywords =     "incr",
}

@Article{miloucheva91,
  author =       "I. Miloucheva and H. Loeper",
  title =        "Compiler structure engineering with attribute grammars",
  journal =      "SIGPLAN Notices",
  volume =       "26",
  number =       "10",
  pages =        "73--82",
  month =        oct,
  year =         "1991",
}

@InProceedings{Duris97,
  author =       "Etienne Duris and Didier Parigot and Gilles Roussel and Martin Jourdan",
  address =      "Dolomieu, France",
  booktitle =    "Journ\'ees Francophones des Langages Applicatifs",
  title =        "Grammaires attribu\'ees et folds : op\'erateurs de contr\^ole g\'en\'eriques",
  year =         "1997",
  month =        jan,
  postscript =   "../../ftp/fnc2/publications/jfla97.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/jfla97.ps.gz",
  abstract =     "Les op\'erateurs de contr\^ole g\'en\'eriques tels que \emph{fold} ont \'et\'e introduits en programmation
                 fonctionnelle pour augmenter la puissance et le champ d'application des transformations fond\'ees sur la
                 structure des donn\'ees. Ceci est possible en rendant cette structure plus explicite dans la
                 sp\'ecification des programmes. Nous consid\'erons que cette caract\'eristique fondamentale est l'un des
                 concepts de base des grammaires attribu\'ees. Dans cet article, nous exposons informellement les
                 similitudes qui existent entre le formalisme du \emph{fold} et la sp\'ecification par grammaires
                 attribu\'ees. Nous comparons \'egalement leurs m\'ethodes respectives d'\'elimination des structures
                 interm\'ediaires introduites lors de la composition de fonctions (notion de d\'eforestation ou de
                 fusion)\,: l'algorithme de normalisation pour les programmes exprim\'es \`a l'aide de \emph{folds} et la
                 composition descriptionnelle pour les grammaires attribu\'ees. Le but principal de cet article est de
                 pr\'esenter intuitivement chacun de ces deux paradigmes, ainsi que leurs similitudes qui offrent des
                 possibilit\'es de fertilisation crois\'ee",
  keywords =     "functional vari.FP",
}

@TechReport{Ridoux96,
  author =       "Olivier Ridoux",
  title =        "Engineering Transformations of Attributed Grammars in LambdaProlog",
  institution =  "IRISA Rennes",
  year =         "1996",
  url =          "http://www-rocq.inria.fr/oscar/FNC-2/Postscript/Ridoux96.ps",
  keywords =     "vari.FP",
}

@Article{Gil89,
  author =       "Gil and Makay",
  title =        "Parallel Programming Structures and Attribute Grammars",
  journal =      "ACTACYB: Acta Cybernetica",
  volume =       "9",
  year =         "1989",
  keywords =     "para",
}

@TechReport{Vivien96,
  author =       "Bruno Vivien",
  title =        "Etude du syst\`eme Syntax/{FNC}-2 pour la g\'en\'eration de compilateur",
  institution =  "Conservatoire national des arts et metiers, Grenoble",
  year =         "1996",
  url =          "http://www-rocq.inria.fr/oscar/FNC-2/Postscript/Vivien96.ps",
  keywords =     "applic.protocol",
}

@Article{fulhervagvog93,
  author =       "Z. F{\"u}l{\"o}p and F. Herrmann and S. V\'agv{\"o}lgyi and H. Vogler",
  journal =      "Theoret. Comput. Sci.",
  pages =        "185--236",
  title =        "Tree transducers with external functions",
  volume =       "108",
  year =         "1993",
  keywords =     "tree transducers vari.TT",
}

@Article{kuevog94b,
  author =       "A. K{\"u}hnemann and H. Vogler",
  journal =      "Acta Cybernetica",
  pages =        "261--305",
  title =        "A pumping lemma for output languages of attributed tree transducers",
  volume =       "11",
  year =         "1994",
  keywords =     "tree transducers vari.TT",
}

@Article{kuevog94a,
  author =       "A. K{\"u}hnemann and H. Vogler",
  journal =      "Acta Informatica",
  pages =        "431--477",
  title =        "Synthesized and inherited functions - a new computational model for syntax-directed semantics",
  volume =       "31",
  year =         "1994",
  keywords =     "vari.TT",
}

@Conference{Gupta90a,
  author =       "Rajiv Gupta and Lori Pollock and Mary Lou Soffa",
  title =        "Parallelizing Data Flow Analysis",
  booktitle =    "Proceedings of the Workshop on Parallel Compilation",
  address =      "Kingston, Ontario, Canada",
  month =        may,
  year =         "1990",
  keywords =     "compiler distprog data flow applic.DFA",
}

@TechReport{Liu95,
  author =       "Yanhong A. Liu",
  title =        "{CACHET}:An interactive, incremental-attribution-based program transformation system for deriving
                 incremental programs",
  institution =  "Cornell University",
  year =         "1995",
  url =          "ftp://ftp.cs.cornell.edu/pub/yanhong/Cachet-KBSE95.ps.Z",
  keywords =     "Deriving Incremental Programs incr",
}

@InProceedings{Deursen93,
  author =       "A. van Deursen",
  title =        "Origin Tracking in Primitive Recursive Schemes",
  booktitle =    "Conference Proceedings Computing Science in the Netherlands (CSN'93)",
  year =         "1993",
  editor =       "H. A. Wijshoff",
  pages =        "132--143",
  url =          "ftp://ftp.cwi.nl/pub/gipe/reports/Deu94.ps.Z",
  keywords =     "vari.PRS vari.rw",
}

@PhdThesis{Luttighuis93,
  author =       "P. H. W. M. Oude Luttighuis",
  title =        "Parallel algorithms for parsing and attribute evaluation",
  school =       "University of Twente",
  year =         "1993",
  note =         "ISBN 90-9006247-5",
  keywords =     "para",
}

@TechReport{Gilst93,
  author =       "P. M. van den Broek and F. A. van Gilst",
  title =        "A new programming methodology for lazy functional languages",
  institution =  "University of Twente",
  year =         "1993",
  abstract =     "In this paper we present a new programming methodology for lazy functional programming languages. It
                 is based on divide and conquer: the division of problems into sub problems. Such a division will be
                 represented by a call graph. A class of program schemes, which implement call graphs, is derived based
                 on Johnsson's approach to attribute evaluation in attribute grammars. The key idea is to consider the
                 passing of arguments to functions and the return of results by functions in a call graph as the
                 propagation of inherited and synthesised attributes respectively in an attribute grammar. The new
                 methodology is illustrated by several small examples and a case study: the design and implementation of
                 a compiler generator.",
  keywords =     "vari.FP lazy functional programming",
}

@InProceedings{Berzins93,
  author =       "Luqi V. Berzins and Y. Lee",
  title =        "Generating Displays for Specifications Using Attribute Grammars",
  booktitle =    "Proceedings COMPSAC89",
  year =         "1989",
  pages =        "596--602",
  month =        sep,
}

@Book{Wilhelm94,
  author =       "Reinhard Wilhelm and R. Maurer",
  title =        "Les compilateurs - theorie, construction, generation",
  publisher =    "Masson",
  year =         "1994",
  keywords =     "survey book",
}

@Book{Wilhelm95,
  author =       "Reinhard Wilhelm and R. Maurer",
  title =        "Compiler Design",
  publisher =    "Addison Wesley",
  year =         "1995",
  keywords =     "survey book",
}

@InProceedings{Duris-icfp97,
  author =       "Etienne Duris",
  booktitle =    "Proc.of the International Conference on Functional Programming (ICFP'97) -- Poster Session",
  publisher =    "ACM Press",
  title =        "Functional Programming and Attribute Grammar Deforestation",
  address =      "Amsterdam, The Netherlands",
  pages =        "",
  month =        jun,
  year =         "1997",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/icfp97.ps.gz",
  postscript =   "../../ftp/fnc2/publications/icfp97.ps.gz",
  keywords =     "vari.FP deforestation functional program",
}

@InProceedings{Correnson97,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  booktitle =    "Fourth International Static Analysis Symposium -- Poster Session",
  title =        "Attribute Grammars and Functional Programming Deforestation",
  address =      "Paris, France",
  month =        sep,
  year =         "1997",
  postscript =   "../../ftp/fnc2/publications/sas97.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/sas97.ps.gz",
  abstract =     "The functional programming community is paying increasing attention to static structure-based
                 transformations. For example, generic control operators, such as \emph{fold}, have been introduced in
                 functional programming to increase the power and applicability of a particular kind of static
                 transformation, called \emph{deforestation}, which prevents the construction of useless intermediate
                 data structures in function composition. This is achieved by making the structure of the data more
                 explicit in program specifications. We argue that one of the original concepts of Attribute Grammars is
                 precisely to make data structures explicit in program specifications. Furthermore, there exists a
                 powerful static deforestation-like transformation in their context. In this paper, we present
                 similarities between deforestation methods, on the one hand with the functional approach, and on the
                 other hand with the Attribute Grammars approach. In order to gain a grasp of these similarities, we
                 first make a simple comparison: purely-synthesized Attribute Grammars and first order folds. In this
                 context, deforestation transformations are equivalent. This allows us to highlight the limitations of
                 the fold formalism and to present how the hylomorphism approach generalizes it; hylomorphisms and
                 attribute grammars are surprisingly alike. Finally, we show how the inherited attribute notion in
                 Attribute Grammars solves some transformation problems in higher order functional programs.",
  keywords =     "vari.FP deforestation functional program",
}

@Article{Sassa95,
  author =       "M. Sassa and H. Ishizuka and I. Nakata",
  title =        "{Rie}, a Compiler Generator Based on a One-pass-type Attribute Grammar",
  journal =      "Software Practice and Experience",
  volume =       "25",
  number =       "3",
  pages =        "229--250",
  month =        mar,
  year =         "1995",
  coden =        "SPEXBL",
  ISSN =         "0038-0644",
  bibdate =      "Tue Apr 09 13:40:08 1996",
  acknowledgement = ack-nhfb,
  keywords =     "syst.rie",
}

@TechReport{Vorthmann93,
  author =       "Scott A. Vorthmann",
  title =        "Modelling and Specifying Name Visibility and Binding Semantics",
  institution =  "Carnegie Mellon University, School of Computer Science",
  type =         "Technical Report",
  number =       "CMU//CS-93-158",
  pages =        "15",
  month =        jul,
  year =         "1993",
  abstract =     "This paper describes visibility networks, a graphical model of static name visibility and binding. A
                 visibility network is a visual representation of the search algorithm performed when binding a name
                 reference to a declaration. In conjunction with an extended attribute grammar mechanism, visibility
                 networks allow clear and precise specification of the naming semantics of programming languages. The
                 power of the model is demonstrated through its description of several examples of complex visibility
                 constraints in Ada. As a specification technique, the model has several advantages for the language
                 designer, including support for prototyping, analysis, formal description, and documentation of naming
                 semantics. Similar advantages make the visibility network model pedagogically attractive. Finally, it
                 has been demonstrated that the specifications can be used to automatically generate naming semantics
                 modules for compilers and language-based editors, reducing the burden of the language implementor.",
  keywords =     "Software engineering: coding - program editors; programming environments - interactive; programming
                 languages: formal definitions and theory - semantics; language constructs and features - modules,
                 packages; logics and meadings of programs: semantics of programming languages - algebraic approaches to
                 semantics applic.DFA",
}

@TechReport{Holdsworth95,
  author =       "Jason Holdsworth and Anthony M. Sloane",
  title =        "Beyond Traditional Program Slicing",
  institution =  "Department of Computer Science, James Cook University",
  number =       "JCU-CS-95/8",
  month =        aug # " 1",
  year =         "1995",
  url =          "http://www.cs.jcu.edu.au/ftp/pub/techreports/95-8.ps.gz",
  abstract =     "Traditional program slices are based on variables and statements. Slices consist of statements that
                 potentially affect (or are affected by) the value of a particular variable at a given statement. Two
                 assumptions are implicit in this definition: 1) that variables and statements are concepts of the
                 programming language in which the program is written, and 2) that slices consist solely of statements.
                 $<$p$>$ Generalised slicing is an extension of traditional slicing where variables are replaced by
                 arbitrary named program entities and statements by arbitrary program constructs. A model of generalised
                 slicing is presented that allows the essence of any slicing tool to be reduced to a node marking
                 process operating on a program syntax tree. Slicing tools can thus be implemented in a straight-forward
                 way as reusable modules using tree-based techniques such as attribute grammars. $<$p$>$ A variety of
                 useful program decompositions are shown to be instances of generalised slicing. Examples include call
                 graph generation and interface extraction. To show the wide applicability of generalised slicing
                 examples are also given of how slicing can enhance understanding of formal compiler specifications and
                 make it possible to create subset language specifications. $<$p$>$",
  keywords =     "program slices",
}

@TechReport{Bischoff92,
  author =       "Kurt M. Bischoff",
  title =        "User Manual for Ox: An Attribute-Grammar Compiling System based on Yacc, Lex, and {C}",
  type =         "Technical Report",
  number =       "IASTATECS//TR92-30",
  month =        dec # " 1",
  year =         "1992",
  abstract =     "User Manual for Ox: An Attribute Grammar Compiling System based on Yacc, Lex, and C by Kurt M.
                 Bischoff TR\#92-30 Iowa State University December 1992 Ox generalizes the function of Yacc in the way
                 that attribute grammars generalize context-free grammars. Ordinary Yacc and Lex specifications may be
                 augmented with definitions of synthesized and inherited attributes written in C syntax. From these
                 specifications, Ox generates a program that builds and decorates attributed parse trees. Ox accepts a
                 most general class of attribute grammars. The user may specify postdecoration traversals for easy
                 ordering of side effects such as code generation. Ox handles the tedious and error-prone details of
                 writing code for parse-tree management, so its use eases problems of security and maintainability
                 associated with that aspect of translator development. The translators generated by Ox use internal
                 memory management that is often much faster than the common technique of calling malloc once for each
                 parse-tree node. Ox is a Yacc/Lex/C preprocessor, and is designed to bring attribute grammars closer to
                 the mainstream of Unix-based language development. Ox inherits all of the familiar syntax and semantics
                 of Yacc, Lex, and C. It is relatively easy to convert programs between Ox code and {"}pure
                 Yacc/Lex/C{"} code. Ox has been used to build a compiler for a small (eighty grammar rules)
                 block-structured imperative programming language. This document is the main reference for using Ox.",
  keywords =     "syst.ox",
  postscript =   "http://www.cs.iastate.edu/tech-reports/TR92-30.ps",
}

@TechReport{Bischoff92a,
  author =       "Kurt M. Bischoff",
  title =        "Design, Implementation, Use, and Evaluation of Ox: An Attribute-Grammar Compiling System based on
                 Yacc, Lex, and {C}",
  type =         "Technical Report",
  number =       "IASTATECS//TR92-31",
  month =        dec # " 1",
  year =         "1992",
  keywords =     "syst.ox",
  postscript =   "http://www.cs.iastate.edu/tech-reports/TR92-31.ps",
}

@Unpublished{Meijer94,
  author =       "Erik Meijer",
  title =        "More Advice on Proving Compilers Correct: Improve Correct Compilers",
  month =        sep,
  year =         "1994",
  scope =        "tools",
  abstract =     "As an alternative to the classical approach to the compiler correctness problem where a given compiler
                 is proved correct from scratch, we propose a method for deriving correct compilers from a denotational
                 semantics via a series of refinements. Each such optimization step corresponds to an efficiency
                 improvement in the corresponding compiler. Our technique combines the standard initial algebra
                 semantics approach with aspects of Action Semantics. Instead of expressing semantic functions as
                 homomorphisms from the initial algebra (syntax) to some semantic domain, they are factored through an
                 algebra of actions. Compilers can then be obtained by viewing semantic functions as translations from
                 the source language to the initial action algebra. We illustrate our method by deriving several
                 compilers for a language of arithmetic expressions. Though simple, this example shows all the steps
                 necessary to deal with more realistic languages.",
  url =          "http://www.cs.ruu.nl/\~erik/advice.html",
  postscript =   "http://www.cs.ruu.nl/\~erik/advice.ps",
  keywords =     "applic.CP semantics directed compiler generation, Squiggol divers.denot",
}

@InProceedings{Green96,
  author =       "Edward A. Green and M. Viswanathan and M. S. Krishnamoorthy",
  title =        "Document Recognition: An Attribute Grammar Approach",
  booktitle =    "IS & T / SPIE Symposium on Electronic Imaging",
  year =         "1996",
  series =       "Science and Technology",
  month =        jan,
  url =          "http://tardis.union.edu/\~greene/resume1.html",
  keywords =     "applic.document",
}

@Article{Economakos95,
  author =       "G. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "An Attribute Grammar Approach to the High-Level Automated Hardware Synthesis",
  journal =      "Information and Software Technology",
  year =         "1995",
  volume =       "37",
  number =       "9",
  month =        jan,
  page =         "493--502",
  url =          "http://www.dsclab.ece.ntua.gr/\~george/publications.html",
  keywords =     "applic.hardware",
  abstract =     "Attribute grammars have been used extensively in every phase of traditional compiler construction.
                 Since some of these phases have also been used in automated hardware synthesis (hardware compilation),
                 attribute grammars can be effectively adopted to handle the two major tasks of high level hardware
                 synthesis, operation scheduling and hardware allocation, implementing various algorithms. The paper
                 presents an attribute grammar driven scheduling system, as a more abstract way of handling the whole
                 high level hardware synthesis task, while maintaining the desired functionality by the utilization of
                 existing and well tested tools and techniques transferred from traditional compiler construction",
}

@InProceedings{Economakos97,
  author =       "G. Economakos and G. Papakonstantinou and K. Pekmestzi and P. Tsanakas",
  title =        "Hardware Compilation Using Attribute Grammars",
  booktitle =    "IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods,
                 CHARME",
  year =         "1997",
  keywords =     "applic.hardware",
}

@InProceedings{Economakos97a,
  author =       "G. Papakonstantinou G. Economakos and P. Tsanakas",
  title =        "Global Scheduling in an Attribute Grammar Driven Silicon Compilation Environment",
  booktitle =    "IEEE/VIUF International Workshop on Behavioral Modeling and Simulation, BMAS",
  year =         "1997",
  keywords =     "Silicon applic.hardware",
}

@Article{Mernik96,
  author =       "Nikolaj Korbar Marjan Mernik and Vijem Zumer",
  title =        "Object-Oriented Evaluation Paradigm in Attribute Grammar-Based",
  journal =      "Computing and Information",
  year =         "1996",
  volume =       "2",
  number =       "1",
  page =         "1193--1202",
  url =          "http://phoenix.trentu.ca/jci/papers/icci96/E120/P001.html",
  month =        jun,
  keywords =     "vari.00",
}

%       K.H.Lee, "Research about evaluation of recursive attribute
%	grammar", KISS vol 20, p281-284, April 1993


% Description and Implementation of File Management System Using
%             Attribute Grammar
% Imaizumi T., Shinoda Y., Katayama T., Dept of Computer
% Science, Tokyo Institute of Technology.
%	10th Software Symposium, Kyoto 6-8 June 1990


@InProceedings{Suzuki94,
  author =       "M. Suzuki and T. Katayama and R. Schlichting",
  title =        "Implementing Fault-Tolerance with an Attribute and Functional Based Model",
  booktitle =    "24th Symp. on Fault-Tolerant Computing",
  year =         "1994",
  pages =        "244--253",
  address =      "Austin",
  month =        jun,
  url =          "http://cs.arizona.edu/japan/www/rick.html",
  keywords =     "Fault-Tolerance",
}

@InProceedings{Wills94,
  author =       "Linda M. Wills",
  title =        "Using Attributed Flow Graph Parsing to Recognize Programs",
  booktitle =    "Int. Workshop on Graph Grammars and Their Application to Computer Science",
  address =      "Williamsburg, Virginia",
  year =         "1994",
  month =        nov,
  postscript =   "ftp://ftp.cc.gatech.edu//pub/groups/reverse/repository/ggram.ps",
  where =        "ggram.ps.gz",
}

@InProceedings{Dulz91,
  author =       "Winfried Dulz and Stefan Hofmann",
  title =        "Grammar-based Workload Modeling of Communication Systems",
  booktitle =    "Modeling Techniques and Tools for Computer Performance Evaluation",
  year =         "1991",
  address =      "Turin",
  url =          "http:
                 //www7.informatik.uni-erlangen.de/\~dulz/own/own-papers/Grammar-based-Woarkload-Modeling/paper.html",
  abstract =     "Profound results in the performance evaluation of communication systems can only be achieved if an
                 abstract model of the system as well as the system's workload is given. Most techniques for workload
                 characterization of communication systems either use stochastic descriptions based on characteristic
                 performance parameters or represent the workload demands by deterministic sequences of service
                 primitives. In this paper we present a new approach to describe workload models by means of attributed
                 grammars: productions specify the syntax of protocol data units whereas attribute functions, as part of
                 semantic rules, formalize the influence of characteristic workload parameters, such as packet length,
                 interarrival times or timeouts. Proceeding from this basic model we built a grammatical inference
                 system for automated construction of proper attributed grammars and a syntax-driven workload generator
                 which can easily be adjusted to any performance modeling environment running under the UNIX operating
                 system. We also show how attributed grammers can be used to emulate other workload characterizing
                 techniques, i.e. compound poisson arrivals and train models.",
}

@Article{Gray92,
  author =       "R. W. Gray and V. P. Heuring and S. P. Levi and A. M. Sloane",
  title =        "Eli: {A} Complete, Flexible Compiler Construction System",
  journal =      "Communications of the ACM",
  year =         "1992",
  volume =       "35",
  number =       "2",
  pages =        "121--131",
  month =        "Februar",
  keywords =     "syst.eli",
}

@InProceedings{Pfahler97,
  author =       "Peter Pfahler and Uwe Kastens",
  title =        "Language Design and Implementation by Selection",
  booktitle =    "In Proc. 1st ACM-SIGPLAN Workshop on Domain-Specific-Languages, DSL '97",
  year =         "1997",
  pages =        "97--108",
  address =      "Paris France",
  url =          "http://www.uni-paderborn.de/fachbereich/AG/agkastens/AGKasUE.ELI.html",
  postscript =   "http://www.uni-paderborn.de/fachbereich/AG/agkastens/paper/dsl97.ps.Z",
}

@MastersThesis{Nitta95,
  author =       "Tetsuya Nitta",
  title =        "Construction of Compiler Generator based on the Attribute Grammar and Object-Oriented Language",
  school =       "Watanabe Laboratory",
  year =         "1995",
  url =          "http://wonder2.aist-nara.ac.jp/mthesis95-e.html#tetuya-n",
  keywords =     "vari.00",
  abstract =     "Present compiler generators have several problems. First, there are many restrictions in describing
                 the specifications of compilers. Secondly, compilers generated by present compiler generators are hard
                 to read. In this paper, we propose a compiler generator based on the attribute grammar and an
                 object-oriented language. Compilers generated by the proposed method have the following properties: (1)
                 a syntactic tree is constructed before evaluating attributes, (2) a top-down parsing without
                 backtracking and left-recursion is used. By these properties, the class of attribute grammars
                 acceptable by the compiler generator is larger than that of L-attribute grammars, and the readability
                 of the generated compilers is better than that of compilers generated by other generators.",
  keywords =     "vari.OO",
}

@Book{Deransart93,
  author =       "P. Deransart and J. Maluszynski",
  title =        "A Grammatical View of Logic Programming",
  publisher =    "The MIT Press",
  year =         "1993",
  keywords =     "logical dependency schemes vari.LP",
}

@PhdThesis{Renault96,
  author =       "Sophie Renault",
  title =        "Verification de programmes normaux",
  school =       "Universit\'e d'Orl\'eans-LIFO",
  year =         "1996",
  keywords =     "logical dependency schemes vari.LP",
}

@PhdThesis{Chambre97,
  author =       "Pascal Chambre",
  title =        "Contribution \`a la validation de programmes concurrents avec contraintes",
  school =       "Orl\'eans-LIFO",
  year =         "1997",
  keywords =     "logical dependency schemes vari.LP",
}

@PhdThesis{T\'eguia90,
  author =       "Michel T\'eguia",
  title =        "Construction de grammaires attribu\'ees associ\'ees \`a un programme logique et application au probl\`eme du
                 test d'occurrence",
  school =       "Orl\'eans-LIFO",
  year =         "1990",
  keywords =     "logical dependency schemes vari.LP",
}

@PhdThesis{Bouquart92,
  author =       "Jean-Louis Bouquart",
  title =        "Etude des rapports entre grammaires attribu\'ees et programmation logique: application au test
                 d'occurrence et \`a l'analyses statique",
  school =       "Orl\'eans-LIFO",
  year =         "1992",
  keywords =     "logical dependency schemes vari.LP",
}

@PhdThesis{Dumant96,
  author =       "Bruno Dumant",
  title =        "Analyses statiques en programmation logique avec contraintes",
  school =       "Paris 7",
  year =         "1996",
  keywords =     "logical dependency schemes vari.LP",
}

@MastersThesis{Liang92,
  author =       "Yu-Min Liang",
  title =        "The Equational Logic Transformation System",
  school =       "Department of Computer Science Cornell University",
  year =         "1992",
  address =      "Ithaca, New York",
  month =        dec,
  note =         "CS Masters of Engineering Project (CS MEng 445416)",
  url =          "http://www.cs.cornell.edu/Info/People/aswin/Fun/liang.ps.Z",
}

@MastersThesis{Berg90,
  author =       "A. van den Berg",
  title =        "Attribute Grammar Based Transformation Systems",
  school =       "Utrecht University",
  year =         "1990",
  address =      "The Netherlands",
  month =        jun,
  type =         "INF/SCR-90-16",
}

@InProceedings{Jacob92,
  author =       "T. Jacob and P. Cahill",
  title =        "Software Product Metrics as Attributes in an Attribute Grammar",
  booktitle =    "Proceedings of the Second International Conference on Software Quality",
  year =         "1992",
  pages =        "40--49",
  address =      "Research Triangle Park, NC",
  month =        oct,
}

@PhdThesis{Bloem96,
  author =       "Roderick Bloem",
  title =        "Attribute Grammars and Monadic Second Order Logic",
  school =       "Leiden University",
  year =         "1996",
  address =      "Leiden, The Netherlands",
  month =        aug,
  abstract =     "It is shown that formulas in monadic second order logic (MSO) with one free variable can be mimicked
                 by attribute grammars with a designated boolean attribute and vice versa. We prove that MSO formulas
                 with two free variables have the same power in defining binary relations on nodes of a tree as regular
                 path languages have. For graphs in general, MSO formulas turn out to be stronger. We also compare path
                 languages against the routing languages of Klarlund and Schwartzbach. We compute the complexity of
                 evaluating MSO formulas with free variables, especially in the case where there is a dependency between
                 free variables of the formula. Last, it is proven that MSO tree transducers have the same strength as
                 attributed tree transducers with the single use requirement and flags",
  url =          "ftp://ftp.wi.leidenuniv.nl/pub/CS/MScTheses/bloem.96.ps.gz",
  keywords =     "tree transducers vari.TT",
}

@PhdThesis{Vugt96,
  author =       "N. van Vugt",
  title =        "Generalized Context-Free Grammars",
  school =       "Leiden University",
  year =         "1996",
  address =      "Leiden, The Netherlands",
  abstract =     "We consider several language generating formalisms from the literature, such as string-valued
                 attribute grammars with only s-attributes, parallel multiple context-free grammars, relational grammars
                 and top-down tree-to-string transducers, of which we have chosen the OnlyS string-valued attribute
                 grammars to be our vantage point. We prove that OnlyS string-valued attribute grammars, parallel
                 multiple context-free grammars and relational grammars generate the same class of languages, and we
                 prove that every language accepted by an OnlyS string-valued attribute grammar is the image of a
                 top-down tree-to-string transducer. The main result of this thesis is the proof of equivalence of the
                 special string-valued attribute grammars, the multiple context-free grammar, the special relational
                 grammar and the finite copying top-down tree-to-string transducer. In order to prove these
                 equivalences, definitions of some of these formalisms have been slightly modified, and normal forms
                 have been (re)defined and proven",
  url =          "ftp://ftp.wi.leidenuniv.nl/pub/CS/MScTheses/vvugt.96.ps.gz",
  keywords =     "tree transducers vari.TT",
}

@Unpublished{Jourdan94,
  author =       "Martin Jourdan and Bruno Marmol and Didier Parigot",
  note =         "En pr\'eparation pour soumission",
  title =        "{E}xperiments with a {R}eal {P}arallel {A}ttribute {E}valuator",
  year =         "1994",
  postscript =   "../../ftp/fnc2/publications/parevaldraff.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/parevaldraff.ps.gz",
  abstract =     "We present a simple but effective method for constructing efficient attribute evaluators for the class
                 of \lord\ attribute grammars that run on tightly-coupled (shared-memory) multi-processor machines. We
                 also give an account of how we implemented this method in practice. Lastly, we give some figures drawn
                 from realistic experiments, i.e.\ actual implementation of parallel evaluators for meaningful AGs and
                 their runs on meaningful source texts. The results we have obtained are quite satisfactory, since we
                 observe a quasi-linear speedup with a number of processors varying up to a reasonable number, while the
                 performance with one processor is already quite acceptable.",
  keywords =     "para",
}

@TechReport{Roudet94,
  author =       "Christophe Roudet",
  institution =  "Universit\'e {N}ICE",
  title =        "Visualisation graphique incr\'ementale par \'evaluation d'attributs",
  type =         "Stage de {DEA} Informatique de l'{ESSI}",
  postscript =   "OpenPostscript/Roudet.ps.gz",
  year =         "1994",
}

@TechReport{Zylberman90,
  author =       "Catherine Zylberman",
  institution =  "Telecom Paris",
  title =        "{R}{\'e}alisation du Constructeur d'arbre abstrait ({ATC}) du syst\`eme de grammaire attribu\'ee {FNC-2}
                 au dessus de l'analyseur lexico-syntaque Lex-Yacc",
  type =         "Rapport de stage de troisi\`eme ann\'ee",
  year =         "1990",
}

@TechReport{Correnson97-dea,
  author =       "Lo\"ic Correnson",
  institution =  "Universit\'e de Paris VII",
  month =        sep,
  title =        "Programmation Polytypique avec les Grammaires Attribu\'ees",
  type =         "Rapport de {DEA}",
  year =         "1997",
  postscript =   "../../ftp/fnc2/publications/Rapport/Correnson97-dea.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/Correnson97-dea.ps.gz",
  abstract =     "",
  keywords =     "vari.FP",
}

@InProceedings{Saraiva97,
  author =       "Jo\~ao Saraiva and Matthis Kuiper and Doaitse Swierstra",
  title =        "Specialing Trees for Efficient Functional Tree Decoration",
  booktitle =    "Proceedings of the International Workshop on Specialization of Declarative Programs and its
                 Applications",
  year =         "1997",
  address =      "Port Jefferson, NY",
  month =        oct,
}

@InProceedings{Correnson97-gdr,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  title =        "Composition Symbolique",
  booktitle =    "journ\'ees du GDR de programmation",
  address =      "Rennes",
  year =         "1997",
  month =        nov,
  postscript =   "../../ftp/fnc2/publications/gdr97.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/gdr97.ps.gz",
  abstract =     "",
}

@TechReport{Forax97,
  author =       "R\'emi Forax",
  institution =  "Universit\'e de Marne la Vall\'ee",
  month =        jul,
  title =        "Le langage Chocolat",
  type =         "Rapport de stage de Ma\^itrise d'Informatique",
  year =         "1997",
  postscript =   "../../ftp/fnc2/publications/Rapport/Forax97.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/Forax97.ps.gz",
  keywords =     "vari.00",
}

@InProceedings{Correnson98-jfla,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  title =        "Composition Symbolique",
  booktitle =    "Journ\'ees Francophones des Langages Applicatifs",
  address =      "Come, Italie",
  year =         "1998",
  month =        feb,
  postscript =   "../../ftp/fnc2/publications/jfla98.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/jfla98.ps.gz",
  abstract =     "La d\'eforestation d'un programme fonctionnel est une transformation qui consiste \`a \'eliminer la
                 construction des structures interm\'ediaires qui sont introduites par les compositions de fonctions. La
                 composition descriptionnelle, initialement introduite par Ganzinger et Giegerich, est une m\'ethode de
                 d\'eforestation sp\'ecifique, qui s'applique \`a la composition de deux grammaires attribu\'ees. Cet article
                 propose une nouvelle technique de d\'eforestation, appel\'ee composition symbolique, qui est une extension
                 et une am\'elioration de la composition descriptionnelle. En traduisant automatiquement un programme
                 fonctionnel en une grammaire attribu\'ee \'equivalente, il est possible de lui appliquer la composition
                 symbolique, et de traduire le r\'esultat en un programme fonctionnel (par exemple, en utilisant la
                 transformation de Johnsson). On obtient alors une transformation source \`a source de programmes
                 fonctionnels. La m\'ethode de d\'eforestation ainsi obtenue donne de meilleurs r\'esultats que les m\'ethodes
                 fonctionnelles existantes. La composition symbolique, compl\`etement d\'edi\'ee au caract\`ere d\'eclaratif et
                 descriptionnel des grammaires attribu\'ees est intrins\`equement plus puissante que les transformations
                 bas\'ees sur les notions cat\'egorielles, dont les sch\'emas de r\'ecursions sont fig\'es par des foncteurs. Ces
                 r\'esultats confirment que la notation des grammaires attribu\'ees est une repr\'esentation interm\'ediaire
                 simple et particuli\`erement adapt\'ee aux transformations de programmes.",
  keywords =     "vari.FP deforestation",
}

@TechReport{Vivien97,
  author =       "Bruno Vivien",
  title =        "Etude et r\'ealisation d'un compilateur {E}-{LOTOS} \`a l'aide du g\'en\'erateur de compilateurs
                 {SYNTAX}/{FNC}-2",
  institution =  "Conservatoire National des Arts et M\'etiers",
  year =         "1997",
  type =         "Diplome d'Ingenieur {CNAM} en Informatique",
  month =        "D\'ecembre",
  url =          "ftp://ftp.inrialpes.fr/pub/vasy/publications/theses/Vivien-97.ps.Z",
  keywords =     "applic.protocol",
}

@InProceedings{,
  OPTcrossref =  "",
  OPTkey =       "",
  author =       "Yannis A. Dimitriadis and Juan Lopez Coronado end Cristina de la Maza",
  title =        "A new interactive mathematical editor, using on-line handwritten symbol recognition, and error
                 detection-correction with an attribute grammar",
  booktitle =    "Proceedings of First International Conference on Document Analysis and Recognition",
  year =         "1991",
  pages =        "885--893",
  address =      "Saint Malo, France",
  month =        "octobre",
  keywords =     "applic.document",
}

@Article{Sassa97,
  author =       "Masataka Sassa and Takuya Ookubo",
  title =        "Systematic Debugging Method for Attribute Grammar Description",
  journal =      "Information Processing Letters",
  year =         "1997",
  volume =       "62",
  number =       "6",
  pages =        "305--313",
}

@TechReport{Correnson98,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  title =        "Symbolic Composition",
  year =         "1998",
  number =       "3348",
  institution =  "INRIA",
  month =        jan,
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-3348.ps.gz",
  postscript =   "../../ftp/fnc2/publications/RR-3348.ps.gz",
  abstract =     "The deforestation of a functional program is a transformation which gets rid of intermediate data
                 structures constructions that appear when two functions are composed. The descriptional composition,
                 initially introduced by Ganzinger and Giegerich, is a deforestation method dedicated to the composition
                 of two attribute grammars. This article presents a new functional deforestation technique, called
                 symbolic composition, based on the descriptional composition mechanism, but extending it. An automatic
                 translation from a functional program into an equivalent attribute grammar allows symbolic composition
                 to be applied, and then the result can be translated back into a functional program. This yields a
                 source to source functional program transformation. The resulting deforestation method provides a
                 better deforestation than other existing functional techniques. Symbolic composition, that uses the
                 declarative and descriptional features of attribute grammars is intrinsically more powerful than
                 categorical-flavored transformations, whose recursion schemes are set by functors. These results tend
                 to show that attribute grammars are a simple intermediate representation, particularly well-suited for
                 program transformations.",
  urlrejected =  "../../ftp/fnc2/publications/esop98rejected.txt",
  keywords =     "vari.FP deforestation",
}

@InProceedings{Correnson98a,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  title =        "Generic Programming by Program Composition (position paper)",
  booktitle =    "Workshop on Generic Programming",
  year =         "1998",
  address =      "Marstrand, Sweden",
  note =         "conjunction with MPC'98",
  month =        jun,
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Correnson98a.ps.gz",
  postscript =   "../../ftp/fnc2/publications/Correnson98a.ps.gz",
  abstract =     "Recently, generic programming becomes of a major interest in several programming paradigms. A
                 recurrent idea to achieve genericity is to abstract computations from their representative data
                 structures. This allows these generic specifications to be instantiated onto a large number of
                 neighboring data structures. Moreover the program can be adapted when the data structures have to
                 evolve. Polytypic programming, adaptive programming and generic attribute grammars are generic
                 programming methods related to this approach. Their comparison leads us to propose a common framework
                 for generic programming: automatic generation of programs that compute morphisms between data
                 structures, and program composition. Thanks to this compositional approach, the complete specialization
                 of generic programs could be advantageously delegated to some powerful and general deforestation
                 method.",
}

@TechReport{Kutter96,
  author =       "Philipp W. Kutter and Alfonso Pierantonio",
  title =        "Montages: Unified Static and Dynamic Semantics of Programming Languages",
  institution =  "Universita de L'Aquila",
  year =         "1996",
  type =         "Technical Report",
  number =       "118",
  month =        jul,
  url =          "http://www.kestrel.edu/HTML/publications.html",
  postscript =   "ftp://ftp.kestrel.edu/pub/papers/kutter/montages.ps.Z",
  keywords =     "vari.EA evolving algebras",
}

@InProceedings{Boyland98,
  author =       "John Tang Boyland",
  title =        "Analyzing Direct Non-local Dependencies in Attribute Grammars",
  booktitle =    "Compiler Construction CC'98",
  year =         "1998",
  editor =       "Kai Koskimies",
  volume =       "1383",
  series =       LNCS,
  pages =        "31--49",
  publisher =    SPRINGER,
  address =      "portugal",
  month =        apr,
}

@InProceedings{Mizushima98,
  author =       "Kazunori Mizushima and Takuya Katayama",
  title =        "Storage Allocation Strategies for Recursive Attribute Evaluators",
  booktitle =    "Compiler Construction CC'98",
  year =         "1998",
  editor =       "Kai Koskimies",
  volume =       "1383",
  series =       LNCS,
  pages =        "50--64",
  publisher =    SPRINGER,
  address =      "portugal",
  month =        apr,
}

@InProceedings{Nielson98,
  author =       "Hanne Riis Nielson and Flemming Nielson",
  title =        "Flow Logics for Contraint Based Analysis",
  booktitle =    "Compiler Construction CC'98",
  year =         "1998",
  editor =       "Kai Koskimies",
  volume =       "1383",
  series =       LNCS,
  pages =        "109--127",
  publisher =    SPRINGER,
  address =      "portugal",
  month =        apr,
  abstract =     "Flow logic offers a compact and versatile notation for expressing the acceptability of solutions to
                 program analysis problems. In contrast to previous logical formulations of program analysis it aims at
                 integrating existing approaches to data flow analysis and control flow analysis. It is able to deal
                 with a broad variety of language paradigms, program properties, kinds of formal semantics, and methods
                 used for computing the best solution. In this paper we illustrate how a compositional flow logic (in
                 ``succinct'' form) can be systematically transformed into an efficient exhaustive procedure for
                 computing the best solution of a set of constraints generated. This involves transformations to
                 attribute grammars and to specifications of the (``verbose'') form used in control flow analysis.",
  keywords =     "applic.DFA",
}

@InProceedings{Kastens98,
  author =       "Uwe Kastens and Peter Pfahler and Matthias Jung",
  title =        "The Eli System",
  booktitle =    "Compiler Construction CC'98",
  year =         "1998",
  editor =       "Kai Koskimies",
  volume =       "1383",
  series =       LNCS,
  pages =        "",
  publisher =    SPRINGER,
  address =      "portugal",
  month =        apr,
  note =         "tool demonstration",
}

@InProceedings{Kuiper,
  author =       "Matthijs Kuiper and Jo\~ao Saraiva",
  title =        "Lrc {A} generator for Incremental Language-Oriented Tools",
  booktitle =    "Compiler Construction CC'98",
  year =         "1998",
  editor =       "Kai Koskimies",
  volume =       "1383",
  series =       LNCS,
  pages =        "298--301",
  publisher =    SPRINGER,
  address =      "portugal",
  month =        apr,
  note =         "tool demonstration",
}

@Article{Adorni97,
  author =       "A. Poggi G. Adorni and G. Ferrari",
  title =        "Attribute Grammars as a Robust Technical Basis for a Human-Computer Interaction General Purpose
                 Architecture",
  journal =      "Int. Journal of Human-Computer Studies",
  year =         "1997",
  volume =       "47",
  pages =        "531--563",
  abstract =     "In this paper, we present a Natural Language Interface (NLI), which combines some of the advantages of
                 using general purpose grammars with some of the features found in semantic grammars. This is achieved
                 by an Attribute Grammar so as to create an intermediate representation which is interpreted in terms of
                 domain-specific routines. NLI has been used as a component of a Man-Machine Interaction (MMI) system,
                 working on different domains. After a discussion of the theory underlying the system, two examples of
                 the use of NLI on practical domains are described: the first is in the field of three-dimensional scene
                 generations, the second in the field of road map car planning. Some evaluation issues are also included
                 in this paper.",
}

@InProceedings{Thomas91,
  author =       "L. Thomas and S. Cruz-Lara",
  title =        "A Concurrent Object-Oriented Paradigm for Attribute Grammars",
  booktitle =    "Plenum Publishing Corporation 1992 COMPUTER SCIENCE : Research and Applications",
  year =         "1992",
  postscript =   "ftp://camille.is.s.u-tokyo.ac.jp/pub/members/thomas/sccc91.ps",
  url =          "http://web.yl.is.s.u-tokyo.ac.jp/members/thomas/mypap.html",
  keywords =     "vari.OO",
  email =        "thomas@is.s.u-tokyo.ac.jp",
}

@Article{Delest92,
  author =       "M. P. Delest and J. M. Fedou",
  title =        "Attribute grammars are useful for combinatorics",
  journal =      "Theoretical Computer Science",
  year =         "1992",
  volume =       "98",
  number =       "1",
  pages =        "65--76",
  month =        may,
}

@Article{Ghani96,
  author =       "A. A Ghani and R. B. Hunter",
  title =        "An Attribute Grammar Approach to Specifying Halstead's Metrics",
  journal =      "Malaysian Journal of Computer Science",
  year =         "1996",
  volume =       "9",
}

@InProceedings{Cheng92,
  author =       "H. D. Cheng and X. Cheng",
  title =        "Attribute Grammar for Shape Recognition and Its {VLSI} Implementation",
  booktitle =    "International Conference on Pattern Recognition ICPR'92",
  year =         "1992",
  pages =        "I:104--107",
}

@InProceedings{K\'okai,
  author =       "G. K\'okai and Z. Alexin and T. Gyim\'othy",
  title =        "Analyzing and Learning {ECG} Waveforms",
  booktitle =    "The Sixth International Workshop on Inductive Logic Programming (ILP'96)",
  year =         "1996",
  pages =        "152--171",
  url =          "http://www.inf.u-szeged.hu/\~kokai/pecg.html",
  address =      "Stockholm, Sweden",
  abstract =     "The PECG system contains three main parts: the ECG processing, the IDT and graphic viewer modules. It
                 is based on an attribute grammar approach of ECG waveform analysis published by Skordalakis.",
}

@TechReport{Gr\"onfors92,
  author =       "Tapio Gr\"onfors",
  title =        "Peak Identification of Auditory Brainstem Responses with Multifilters and Attributed Automaton",
  institution =  "University of Turku",
  year =         "1992",
  email =        "Tapio.Gronfors@cs.utu.fi",
  number =       "R-92-4",
  abstract =     "An attributed automaton, a special case of attribute grammar, is a flexible tool in pattern
                 recognition. It allows the utilization of contextual information from previously analyzed patterns in
                 the analysis of the current pattern, and offers the possibility of describing those structural
                 characteristics of patterns which cannot be described by classic methods of syntactic pattern
                 recognition. Auditory brainstem responses are routinely used in audiology and otoneurology. Many
                 studies on using the spectral analysis of averaged auditory brainstem responses have described at least
                 two frequency bands, corresponding to the slow fast components. Selective nonrecursive digital filters
                 for each frequency band in the spectrum of the auditory brainstem response have revealed enhancement or
                 attenuation of components, depending on the band. In this study, multifilters and an attributed
                 automaton were combined for the identification peaks.",
  url =          "http://www.cs.utu.fi/reports/R-92-4.html",
}

@InProceedings{Correnson98b,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  booktitle =    "Approches Formelles dans l'Assistance au D\'eveloppement de Logiciel AFADL'98",
  title =        "Sch\'ema g\'en\'erique de d\'eveloppement par composition",
  year =         "1998",
  postscript =   "../../ftp/fnc2/publications/Correnson98b.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Correnson98b.ps.gz",
  abstract =     "Depuis peu, la programmation g\'en\'erique suscite un int\'er\^et grandissant dans diff\'erents paradigmes de
                 programmation. Un principe souvent utilis\'e pour obtenir de la g\'en\'ericit\'e est d'abstraire les calculs
                 d'un programme par rapport \`a leur structure de donn\'ees. Cette approche permet \`a ces sp\'ecifications
                 g\'en\'eriques d'\^etre instanci\'ees pour un grand nombre de structures de donn\'ees voisines. De plus, le
                 programme peut ainsi \^etre automatiquement adapt\'e lorsque les structures de donn\'ees \'evoluent. La
                 programmation polytypique, la programmation adaptive et les grammaires attribu\'ees g\'en\'eriques sont des
                 m\'ethodes formelles de programmation g\'en\'eriques qui adoptent cette approche. La comparaison de ces
                 m\'ethodes nous a conduit \`a proposer un sch\'ema commun de d\'eveloppement de programmes g\'en\'eriques. Cette
                 m\'ethode est bas\'ee sur deux concepts fondamentaux\,: la g\'en\'eration automatique de morphismes entre
                 structures de donn\'ees, et l'instanciation formelle des programmes g\'en\'eriques par composition, assist\'ee
                 par des outils de sp\'ecialisation.",
  address =      "Poitiers - futuroscope",
}

@Unpublished{Correnson98c,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  note =         "English version of",
  title =        "A Generic Framework for Genericity",
  year =         "1998",
  postscript =   "../../ftp/fnc2/publications/Correnson98c.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Correnson98c.ps.gz",
  abstract =     "Recently, generic programming becomes of a major interest in several programming paradigms. A
                 recurrent idea to achieve genericity is to specify algorithms on their convenient data structure, and
                 to allow these specifications to be instantiated onto a large number of neighboring data structures.
                 Polytypic programming, shapely types and generic attribute grammars are generic programming methods
                 related to this approach. A framework for generic programming is proposed to embed these methods. It
                 consists in tools for automatic generation of morphisms between data structures, and for program
                 composition. Thanks to this compositional approach, the complete specialization of generic programs
                 could be advantageously delegated to a general and powerful mechanism of ``symbolic composition'',
                 which performs deforestation and partial evaluation.",
}

@InProceedings{Bjarnason97,
  author =       "E. Bjarnason and G\"orel Hedin",
  title =        "Tool Support for Framework-Specific Language Extensions",
  booktitle =    "Object-Oriented Technology. ECOOP'97 Workshop Reader",
  year =         "1997",
  editor =       "Bosch and Mitchell",
  volume =       "1357",
  series =       "LNCS",
  pages =        "137--140",
  publisher =    "Springer Verlag",
  keywords =     "vari.OO",
}

@Article{Hedin97,
  author =       "G. Hedin",
  title =        "Attribute Extension - {A} Technique for Enforcing Programming Language Conventions",
  journal =      "Nordic Journal of Computing",
  year =         "1997",
  volume =       "4",
  pages =        "93--122",
}

@InProceedings{Hedin97a,
  author =       "G\"orel Hedin",
  title =        "Language Support for Design Patterns using Attribute Extension",
  booktitle =    "Language Support for Design Patterns and Frameworks",
  note =         "Workshop in conjunction with ECOOP'97",
  year =         "1997",
  address =      "Jyv\"askyl\"a, Finland",
  url =          "http://bilbo.ide.hk-r.se:8080/\~bosch/lsdf/",
  keywords =     "applic.DP",
}

@PhdThesis{Augusteijn93,
  author =       "Lex Augusteijn",
  title =        "Functional Programming, Program Transformations and Compiler Construction",
  school =       "Eindhoven Technical University",
  month =        oct,
  year =         "1993",
}

@InProceedings{Neven98,
  author =       "Frank Neven and Jan Van den Bussche",
  title =        "Expressiveness of structured document query languages based on attribute grammars",
  booktitle =    "PODS '98. Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database
                 systems",
  keywords =     "applic.DB",
  year =         "1998",
  editor =       "",
  volume =       "",
  series =       "",
  pages =        "11--17",
  publisher =    "ACM press",
  url =          "http://www.luc.ac.be/\~fneven/expr_ag.ps.gz",
  email =        "fneven@luc.ac.be",
}

@InProceedings{Fegaras93,
  author =       "L. Fegaras and D. Maier and T. Sheard.",
  title =        "Specifying Rule-based Query Optimizers in a Reflective Framework",
  booktitle =    "Third International Conference on Deductive and Object-Oriented Databases",
  year =         "1993",
  abstract =     "Numerous structures for database query optimizers have been proposed. Many of those proposals aimed at
                 automating the construction of query optimizers from some kind of specification of optimizer behavior.
                 These specification frameworks do a good job of partitioning and modularizing the kinds of information
                 needed to generate a query optimizer. Most of them represent at least part of this information in a
                 rule-like form. Nevertheless, large portions of these specifications still take a procedural form. The
                 contributions of this work are threefold. We present a language for specifying optimizers that captures
                 a larger portion of the necessary information in a declarative manner. This language is in turn based
                 on a model of query rewriting where query expressions carry annotations that are propagated during
                 query transformation and planning. This framework is reminiscent of inherited and synthesized
                 attributes for attribute grammars, and we believe it is expressive of a wide range of information:
                 logical and physical properties, both desired and delivered, cost estimates, optimization contexts, and
                 control strategies. Finally, we present a mechanism for processing optimizer specifications that is
                 based on compile-time reflection. This mechanism proves to be succinct and flexible, allowing
                 modifications of the specification syntax, incorporation of new capabilities into generated optimizers,
                 and retargeting the translation to a variety of optimization frameworks. We report on an implementation
                 of our ideas using the CRML reflective functional language and on optimizer specifications we have
                 written for several query algebras",
  url =          "http://ranger.uta.edu/\~fegaras/dood93.ps.Z",
  pages =        "146--168",
  address =      "Phoenix, Arizona",
  month =        dec,
  keywords =     "applic.DB",
}

@Article{Makoto97,
  author =       "Murata Makoto and H. Nakatsuyama",
  title =        "A Theoretical Foundation of the {DSSSL} Location Model",
  journal =      "Mathematical and Computer Modelling",
  year =         "1997",
  volume =       "25",
  number =       "4",
  pages =        "05--107",
  abstract =     "In the location model of the Document Style Semantics and Specification Language (DSSSL), one can use
                 tree patterns to locate nodes in logical structures of documents. A tree pattern consists of conditions
                 on nodes and those on their hierarchical relationships. As a first step towards efficient
                 implementations, the paper shows a theoretical foundation of the location model. Tree patterns are
                 first expressed by sentences of branching time temporal logic. These sentences are then converted to
                 well formed attribute grammars. Thus, the library of attribute grammar evaluation techniques can be
                 used to implement the location model. It is our belief that this observation is significant for future
                 implementers of DSSSL. Furthermore, the converted attribute grammars can be evaluated by traversing
                 logical structures several times. The number of required traversals can be found by examining the
                 original sentences.",
  month =        feb,
}

@Article{Yang,
  author =       "W. Yang and Y. T. Liu",
  title =        "{SSCC}: {A} software tool based on extended ordered attribute grammars",
  journal =      "Proc. National Science Council Part A: Physical Science and Engineering",
  year =         "1998",
  annote =       "(NSC 86-2213-E-009-021)",
  url =          "http://www.cis.nctu.edu.tw/~wuuyang/papers/SSCC.NSC98.ps",
}

@Article{Alexin,
  OPTcrossref =  "",
  author =       "Zolt\'an Alexin and Tibor Gyim\'othy and Henrik Bostr\"om",
  title =        "{IMPUT}: An Interactive Learning Tool Based on Program Specialization",
  journal =      "Intelligent Data Analysis IDA",
  year =         "1997",
  volume =       "1",
  number =       "4",
  OPTpages =     "",
  month =        oct,
  note =         "published by Elsevier Science Inc",
  url =          "http://www-east.elsevier.com/ida/browse/0104/ida00015/ida00015.htm",
  abstract =     "The algorithm SPECTRE specializes logic programs with respect to positive and negative examples by
                 applying the transformation rule unfolding together with clause removal. The method IMPUT presented in
                 this paper gives a modified version of this algorithm by integrating the algorithmic debugging system
                 IDTS with SPECTRE. The main idea of the IMPUT method, is that the identification of a clause to be
                 unfolded has a crucial importance on the effectiveness of the specialization process. The debugging
                 system IDTS is used to identify this buggy clause.",
  keywords =     "logic program",
}

@InProceedings{Sloane96,
  author =       "Anthony M. Sloane and Jason Holdsworth",
  title =        "Beyond Traditional Program Slicing",
  booktitle =    "the International Symposium on Software Testing and Analysis",
  year =         "1996",
  pages =        "180--186",
  publisher =    "ACM Press",
  address =      "San Diego, CA",
  month =        jan,
  url =          "http://www.comp.mq.edu.au/~asloane/pubs.html",
  postscript =   "http://www.comp.mq.edu.au/~asloane/papers/issta96.ps.gz",
  keywords =     "program slicing",
  email =        "asloane@mpce.mq.edu.au",
}

@InProceedings{Sloane97,
  author =       "Anthony M. Sloane",
  title =        "Generating dynamic program analysis tools",
  booktitle =    "the Australian Software Engineering Conference (ASWEC'97)",
  year =         "1997",
  pages =        "166--173",
  publisher =    "IEEE CS Press",
  address =      "Sydney",
  url =          "http://www.comp.mq.edu.au/~asloane/pubs.html",
  abstract =     "Sophisticated instrumentation-based systems exist for building dynamic analysis tools but to use these
                 systems a developer must write the instrumentation and analysis code by hand. This paper describes how
                 analysis tools can be generated automatically by specifying analysis algorithms using attribute
                 grammars based on the static and dynamic structure of the program being analysed. Using methods similar
                 to those used to generate compilers, this approach enables implicit storage allocation for analysis
                 data, automatic sequencing of analysis steps and transparently supports a variety of data sources and
                 independence from the underlying implementation technology. Furthermore, analysis algorithms can be
                 described in a modular way, enabling reuse. To demonstrate the approach the paper describes the Wyong
                 system that generates dynamic analysis tools from specifications. An example analysis module
                 specification is described and its reuse is illustrated. Wyong is based on the Eli compiler generation
                 system and the ATOM program instrumentation system. To avoid having to build extremely large trees
                 describing the dynamic structure of a program, Wyong automatically generates instrumentation code for
                 ATOM. Combined with other modules generated by Eli, the ATOM-instrumented binary evaluates the
                 specified analysis attribute computations as it executes. Thus the benefits of a specification-based
                 method are combined with the efficiency of an instrumentation-based implementation.",
}

@TechReport{Forg\'acs97,
  type =         "Technical Report",
  number =       "TR97-7",
  title =        "An efficient interprocedural slicing method for large programs",
  language =     "English",
  month =        jun,
  pages =        "10",
  year =         "1997",
  bibdate =      "May 14, 1998",
  author =       "Istv\'an Forg\'acs and Tibor Gyim\'othy",
  abstract =     "In this paper a method is introduced for the interprocedural static slicing of large programs. The
                 most time-consuming part of interprocedural slicing methods is the computation of transitive
                 dependencies (i.e., summary edges) due to the procedure calls. From these dependencies and program
                 dependence graphs the system dependence graph of a program can be constructed. It is straightforward to
                 compute interprocedural slices from the system dependence graph. Horwitz et al. introduced an algorithm
                 based on attribute grammars for computing summary edges, while Reps et al. suggested an improved
                 technique for this task. This paper defines a method which improves the space requirement of Reps'
                 method.",
  institution =  "Informatics Lab., MTA SZTAKI",
  keywords =     "interprocedural slicing, software testing, applic.slicing",
  email =        "gyimi@inf.u-szeged.hu",
  url =          "http://www.inf.u-szeged.hu/~gyimi/",
}

@TechReport{Leung94,
  author =       "Theodore W. Leung",
  title =        "Compiling Object-Oriented Queries",
  institution =  "Department of Computer Science, Brown University",
  number =       "CS-94-05",
  month =        feb,
  year =         "1994",
  url =          "ftp://ftp.cs.brown.edu/pub/techreports/94/cs94-05.ps.Z",
  abstract =     "The effectiveness of database query optimization is dependent on the optimizer's ability to make
                 efficient use of physical resources in a computer system. The optimizer decides how to use those
                 resources in the plan generation step. We describe an approach to plan generation where physical level
                 rewriting produces performance increases which cannot be obtained via source level transformations.
                 Example optimizations serve as a demonstration of a new rule language based on list and tree pattern
                 matching. A formalism similar to attribute grammars computes information needed by the plan generator.
                 Many of the techniques presented are reminiscent of compiler optimizations. We conclude by describing
                 the work that will be completed in the thesis.",
  keywords =     "database query, applic.DB vari.00",
}

@TechReport{Micallef90,
  author =       "Josephine Micallef and Gail E. Kaiser",
  title =        "Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements",
  institution =  "University of Columbia",
  number =       "CUCS-033-90",
  year =         "1990",
  url =          "ftp://ftp.cs.columbia.edu/reports/reports-1990/cucs-033?-90.ps.Z",
  abstract =     "We attack the problem of incremental attribute evaluation algorithm for multiple asynchronous subtree
                 replacements applicable to arbitrary noncircular attribute grammars. Our algorithm supports multiple
                 independent editing cursors. Concurrent evaluations processes proceed independently as long as they
                 cover disjoint regions of the derivation tree. Evaluation processes are merged when they overlap, to
                 prevent unnecessary attribute evaluations. The algorithm ensures that when evaluation terminates, the
                 tree is consistently attributed. Our results fill two open problems in the original algorithm for
                 asynchronous subtree replacements reported by Kaplan and Kaiser.",
}

@TechReport{Koskimies91b,
  author =       "Kai Koskimies",
  title =        "Object-orientation in attribute grammars",
  institution =  "Department of Computer Science, University of Tampere",
  year =         "1991",
  number =       "A-1991-1",
  note =         "available as a paper copy only",
  keywords =     "vari.OO",
}

@TechReport{Cohen92,
  author =       "Robert F. Cohen",
  title =        "Combine and Conquer",
  institution =  "Department of Computer Science, Brown University",
  number =       "CS-92-45",
  month =        oct,
  year =         "1992",
  url =          "ftp://ftp.cs.brown.edu/pub/techreports/92/cs92-45.ps.Z",
  abstract =     "The development of dynamic algorithms and data structures is a challenging area of research that has
                 received much attention in the last years. For example, generalized techniques have been developed to
                 dynamize large classes of geometric algorithms. In the area of graph algorithms such techniques are
                 lacking. The goal of this thesis is to demonstrate generalized techniques to maintain the solutions of
                 dynamic algorithms for graph problems, and to present dynamic algorithms based on our techniques. We
                 provide a framework, called {\em tree attribute system}, for maintaining the values of attributes on
                 trees in a fully-dynamic environment. Our technique extends and generalizes the dynamic trees of
                 Sleator and Tarjan and the decomposable search problems of Overmars. We use this technique to show two
                 new dynamic data structures, {\em linear expression tree} and {\em linear attribute grammar}, for
                 maintaining the solutions to tree-based expressions. These data structures are used to present
                 fully-dynamic algorithms for a large class of problems on tree-width-two graphs, a class of graphs
                 which include trees and series-parallel graphs. Additionally, we present a framework for the dynamic
                 drawing of planar graphs, and demonstrate a number of fully-dynamic algorithms to draw trees,
                 series-parallel graphs, planar $st$-graphs, and general planar graphs.",
  note =         "Sun, 13 Jul 1997 18:30:16 GMT",
}

@TechReport{Vorthmann90a,
  type =         "Technical Report",
  number =       "GIT-CC-90-03",
  institution =  "Georgia Institute of Technology. College of Computing",
  title =        "Syntax-Directed Editor Support for Incremental Consistency Maintenance",
  author =       "Scott A. Vorthmann",
  keywords =     "component software",
}

@InProceedings{Groller92a,
  author =       "Eduard Groller",
  title =        "Fractals and solid modeling",
  pages =        "415--424",
  journal =      "Computer Graphics Forum (EUROGRAPHICS '92 Proceedings)",
  volume =       "11",
  number =       "3",
  year =         "1992",
  month =        sep,
  editor =       "A. Kilgour and L. Kjelldahl",
  conference =   "held in Cambridge, UK; 7-11 September 1992",
  keywords =     "csg, ray tracing, attribute grammar, l-system",
}

@Article{Groller92,
  author =       "E. Groller",
  title =        "Fractals and solid modeling",
  journal =      "Com{\-}pu{\-}ter Graphics Forum",
  volume =       "11",
  number =       "3",
  pages =        "C415--C424, C484--C485",
  month =        "????",
  year =         "1992",
  coden =        "CGFODY",
  ISSN =         "0167-7055",
  classification = "C6130B (Graphics techniques)",
  conflocation = "Cambridge, UK; 7-11 Sept. 1992",
  conftitle =    "European Association for Computer Graphics 13th Annual Conference. EUROGRAPHICS 92",
  corpsource =   "Inst. fur Computergraphik, Tech. Univ. Wien, Wien, Austria",
  keywords =     "3D objects; 3D solid micro structure; attribute grammars; Constructive solid geometry; constructive
                 solid geometry; CSG-modeling; fractal geometry; Fractal geometry; fractal macro structure; Fractal
                 macro structure; fractal macro structure; fractals; geometric; Geometric grammars; geometrical optics;
                 geometrically complex objects; Geometrically complex objects; geometrically complex objects; grammars;
                 high; High quality images; modelling; quality images; ray tracing; Ray tracing; ray tracing; solid;
                 solid modeling; Solid modeling; solid modeling",
  thesaurus =    "Attribute grammars; Fractals; Geometrical optics; Solid modelling",
  treatment =    "P Practical",
}

@TechReport{Insalaco94,
  author =       "C. Insalaco and W. Tracz",
  title =        "{GLUE} (Graphical Layout User Environment) User Guide",
  institution =  "Loral Federal Systems",
  year =         "1995",
  month =        aug,
  number =       "ADAGE-LOR-94-04A",
  available =    "1",
  localurl =     "ADAGE/LOR9404.ps.gz",
  url =          "http://www.owego.com/dssa/lm-docs/LOR9404.ps",
  OPTnote =      "This report is also available as {\tt ADAGE-LOR-94-04A} from {\tt http://www.owego.com}",
  category =     "Tool",
  method =       "ADAGE-DSSA",
  context =      "DI",
  abstract =     "GLUE along with VAGS (Variational Attribute Grammar System) provide a graphical user interface for
                 configuring/viewing the reference architecture with a multimedia help facility, constraint checker, and
                 design decision rationale capture and playback mechanism.",
}

@Article{McNamee91,
  author =       "Carole M. McNamee and Ronald A. Olsson",
  title =        "An Attribute Grammar Approach to Compiler Optimization of {IntraModule} Interprocess Communication",
  journal =      "International Journal of Parallel Programming",
  volume =       "20",
  number =       "3",
  pages =        "181--202",
  month =        jun,
  year =         "1991",
  coden =        "IJPPE5",
  ISSN =         "0885-7458",
  affiliation =  "California State Univ Sacramento",
  affiliationaddress = "Sacramento, CA, USA",
  classification = "723; C4210 (Formal logic); C6110P (Parallel programming); C6140D (High level languages); C6150C
                 (Compilers, interpreters and other processors)",
  corpsource =   "Dept. of Comput. Sci., California State Univ., Sacramento, CA, USA",
  journalabr =   "Int J Parallel Program",
  keywords =     "attribute grammar approach; Attribute Grammars; Automata Theory --- Grammars; Compiler Optimization;
                 compiler optimization; Computer Operating Systems; Computer Software --- Optimization; Computer
                 Systems, Digital --- Parallel Processing; Concurrent Programming Languages; Data Processing --- Data
                 Handling; Dataflow Analysis; dataflow analysis; dynamic channels; grammars; Information Theory ---
                 Communication Channels; interprocedural analysis; Interprocess Communication Mechanisms; intra-module
                 interprocess communication; optimisation; parallel languages; parallel programming; Program Compilers;
                 program compilers; real concurrent programming languages; Static Analysis; static analysis; static
                 model; synchronization",
  treatment =    "P Practical",
}

@Article{Klaiber92,
  author =       "Alexander Klaiber and Maya Gokhale",
  title =        "Parallel evaluation of attribute grammars",
  journal =      "IEEE Transactions on Parallel and Distributed Systems",
  volume =       "3",
  number =       "2",
  pages =        "206--220",
  month =        mar,
  year =         "1992",
  coden =        "ITDSEO",
  ISSN =         "1045-9219",
  affiliation =  "Dept of Comput Sci \& Eng, Univ of Washington, Seattle, WA, USA",
  classification = "721; 722; 723; C4210 (Formal logic); C4240P (Parallel programming and algorithm theory)",
  corpsource =   "Dept. of Comput. Sci. and Eng., Washington Univ., Seattle, WA, USA",
  journalabr =   "IEEE Trans Parallel Distrib Syst",
  keywords =     "abstract syntax; attribute grammars; Attribute Grammars; Automata Theory--Grammars; coarse-grain;
                 Computer Systems, Digital; computers; inherent parallelism; list-productions; parallel evaluators;
                 Parallel Processing; parallel programming; parallelism; process scheduling; programming theory;
                 semantic rules; shared-memory MIMD; synchronization",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Anderson88,
  author =       "D. P. Anderson",
  title =        "Automated Protocol Implementation with {RTAG}",
  pages =        "291--300",
  journal =      "IEEE Transactions on Software Engineering",
  volume =       "14",
  number =       "3",
  month =        mar,
  year =         "1988",
  abstract =     "RTAG is a language based on an attribute grammar notation for specifying protocols. Its main design
                 goals are: 1) to support concise and easily understood expression of complex real-world protocols, and
                 2) to serve as the basis of a portable software system for automated protocol implementation. This
                 paper summarizes the RTAG language, gives examples of its use, sketches the algorithms used in
                 generating implementation from these specifications, and describes a UNIX-based automated
                 implementation system for RTAG.",
  keywords =     "applic.protocol Implementation",
}

@InProceedings{Hussain98,
  author =       "Talib S. Hussain and Roger A. Browse",
  title =        "Basic Properties of Attribute Grammar Encoding",
  booktitle =    "Late Breaking Papers at the Genetic Programming 1998 Conference",
  year =         "1998",
  editor =       "John R. Koza",
  address =      "University of Wisconsin, Madison, Wisconsin, USA",
  publisher_address = "Stanford, CA, USA",
  month =        "22-25 " # jul,
  publisher =    "Stanford University Bookstore",
  keywords =     "genetic algorithms, genetic programming",
  url =          "http://www.ai.mit.edu/people/unamay/phd-ws-abstracts/gp-workshop-hussain.ps",
  size =         "pages",
  notes =        "GP-98LB, GP-98PhD Student Workshop",
}

@InProceedings{Hollander80,
  author =       "Clifford R. Hollander",
  title =        "Use of an attribute grammar in network-based representation schemes",
  booktitle =    "Proceedings of the Third Biennial Conference of the Canadian Society for Computational Studies of
                 Intelligence",
  pages =        "95--100",
  year =         "1980",
  keywords =     "gjmg QZ 1240 Pro",
}

@TechReport{Neirynck88,
  pages =        "139",
  year =         "1988",
  type =         "Technical Report",
  number =       "TR88-896",
  title =        "Static Analysis of Aliases and Side Effects in Higher-Order Languages",
  author =       "Anne Neirynck",
  abstract =     "In recent years, there has been substantial interest in the development of programming languages for
                 new parallel architectures. A basic design conflict arises because languages with simple semantics tend
                 to use storage inefficiently, whereas languages allowing the programmer to access storage explicitly
                 are difficult to analyze. We present a compile-time estimation scheme for determining whether an
                 expression in an imperative language either uses or updates the store. We also determine the aliasing
                 behavior of expressions and in general, we can tell whether the evaluation of two expressions
                 interfere. Current interprocedural dataflow techniques for aliasing and side effect inference are valid
                 for first-order languages. Our inference schemes provide information about aliasing and side effects in
                 a higher-order expression language with call-by-value semantics. The higher order character of the
                 language represents only a partial obstacle. On the other hand, the presence of l-valued expressions
                 has the consequence that aliasing information must be computed for all expressions, and cannot be
                 represented as a relation among identifiers. Furthermore, the introduction of pointers make aliasing
                 and side effects flow-dependent properties. Abstract interpretation techniques allow us to define
                 compositional static inference schemes for aliasing and side effects, which can be proved sound with
                 respect to the standard semantics by structural induction. The abstract interpretation functions are
                 easy to modify, in case a different type of information is requested. We also discuss how different
                 language features may affect the static analyses, simplifying them or making them untractable. The
                 abstract interpretation functions implicitly define static inference algorithms, which can easily be
                 implemented by an attribute grammar, or any other tool capable of performing computations on the
                 abstract syntax tree. The accuracy of these algorithms is better than for the dataflow ones, because we
                 make use of control flow information. Our algorithms also compare favorably in complexity, but the
                 dataflow approach is probably cheaper in most practical settings. In addition, our schemes can give
                 information even in the presence of dynamically allocated data structures.",
  language =     "English",
  institution =  "Cornell University, Computer Science Department",
  month =        feb,
  copyright =    "Anne Denise Neirynck 1988 - All Rights Reserved",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/1.0/Display/ncstrl.cornell/TR88-896",
}

@Article{Desmarais93,
  author =       "Michel C. Desmarais and Luc Giroux and Serge Larochelle",
  title =        "An Advice-Giving Interface Based on Plan-Recognition and User-Knowledge Assessment",
  journal =      "International Journal of Man-Machine Studies",
  volume =       "39",
  number =       "6",
  pages =        "901--924",
  year =         "1993",
  copyright =    "(c) Copyright 1993 Academic Press",
  mrnumber =     "J.IJMMS.39.6.901",
  abstract =     "Users of powerful but complex software packages do not take full advantage of the functionality of
                 their tools. Advisory systems, or consultants, offer a solution to this problem by providing continuous
                 and on-the-job help and training advice. However, consultants have not yet had any practical
                 implementation outside an experimental setting. We propose an architecture for a consultant that is
                 feasible and scalable in a practical context. The architecture is implemented in a system called
                 EdCoach. It addresses two important issues for advisory systems: (1) the task analysis problem and (2)
                 the user knowledge assessment problem. The system's task analysis module infers the user's goals (task)
                 from the analysis of actions and identifies the method chosen to complete the task. It is based on the
                 parsing of user actions with an attribute grammar. The second component is an {"}overlay model{"} of
                 the user's knowledge state (KS). The knowledge of the user is represented by a subset of known and
                 unknown nodes in a set of knowledge units (KUs), representing the whole knowledge domain. The knowledge
                 assessment module uses a probabilistic model combined with an implication network to infer user
                 knowledge from the result of the task analysis. A third component of the system is the didactic module,
                 which consists essentially in the application of a straightforward principle: if the user adopts an
                 inefficient method to complete a goal, the system first checks that the efficient method is unknown
                 and, if so, it advises the user about that method. The system's performance was empirically tested with
                 a text-editing application. A simulation of all three modules integrated in EdCoach shows that after
                 about two weeks, 75\% of the potential recommendations were progressively and correctly administered,
                 or withheld, according to whether or not the efficient methods were known or unknown. The advantages
                 and limits of the general approach adopted in EdCoach are discussed.",
}

@Article{Perraud92,
  author =       "J. Perraud and O. Roux and M. Huou",
  title =        "Operational semantics of a kernel of the language {ELECTRE}",
  journal =      "Theoretical Computer Science",
  volume =       "97",
  number =       "1",
  pages =        "83--103",
  day =          "20",
  month =        apr,
  year =         "1992",
  coden =        "TCSCDI",
  ISSN =         "0304-3975",
  classification = "C4210 (Formal logic)",
  corpsource =   "LAN/ENSM, Nantes, France",
  keywords =     "attribute evaluation; context-free grammar; context-free grammars; ELECTRE language; formal languages;
                 kernel; language ELECTRE; modules; operational semantics; real-time application; real-time language;
                 transition system",
  pubcountry =   "Netherlands",
  treatment =    "P Practical; T Theoretical or Mathematical",
}

@TechReport{Johnsson87a,
  author =       "T. Johnsson",
  title =        "Target code generation from the {G}-machine code",
  institution =  "Programming Methodology Group, University of Goteborg and Chalmers University of Technology",
  number =       "39",
  month =        feb,
  year =         "1987",
  keywords =     "lazy, functional, applicative, programming, implementation, graph reduction, compile, compiler, PMG,
                 TR39, TR 39, lazy ML, LML, vari.FP",
  abstract =     "G machine is a stack machine for von-Neumann-like execution of lazy functional languages using graph
                 reduction. Paper describes target code generation from G-machine code in a compiler for lazy-ML. 2
                 methods: (a) generates naive code like macro expansion (b) better, avoids redundant operations Code
                 generation expressed as an attribute grammar over G-machine code sequences.
                 http://cs.chalmers.se/welcome.eng.html (CSci Chalmers) ('94)",
  note =         "Part of the PhD thesis: Compiling Lazy Functional Languages, 1987. Presented at the Graph Reduction
                 Workshop, Santa Fe, Sep 1986",
}

@TechReport{Bloem98,
  author =       "R. Bloem and J. Engelfriet",
  title =        "A comparison of tree transductions defined by monadic second order logic and by attribute grammars",
  institution =  "Leiden University Technical Report",
  number =       "98-02",
  year =         "1998",
  keywords =     "vari.TT",
  abstract =     "Formulas from monadic second order (MSO) logic with one and two free variables can be used to define
                 the nodes and edges (respectively) of a graph, in terms of a given graph. Such MSO definable graph
                 transductions play a role in the theory of graph grammars. Here we investigate the special case of
                 trees. The main result is that the MSO definable tree transductions are exactly those tree
                 transductions that can be computed by attributed tree transducers with look-ahead, which are a specific
                 type of two-stage attribute grammar: in the first (look-ahead) stage all attributes have finitely many
                 values, in the second stage all attributes are trees, and the second stage satisfies the single use
                 restriction (i.e., each attribute is used at most once). Moreover, if we allow the MSO transductions to
                 produce trees with shared subtrees (i.e., term graphs, that have to be unfolded), then the single use
                 restriction can be dropped.",
  url =          "http://www.wi.leidenuniv.nl/TechRep/1998/tr98-02.html",
  postscript =   "http://www.wi.leidenuniv.nl/TechRep/1998/tr98-02.ps.gz",
}

@InProceedings{Hedin98,
  author =       "Gorel Hedin and Lennart Ohlsson and John McKenna",
  title =        "Product Configuration using Object Oriented Grammars",
  booktitle =    "8th International Symposium on System Configuration Management (SCM-8)",
  year =         "1998",
  address =      "Brussels",
  month =        jul,
  note =         "(co-located with ECOOP'98)",
  abstract =     "This paper presents a technique for product configuration modelling based on object-orientation and
                 attribute grammars. The technique allows efficient interactive configurator tools to be generated for
                 specified product families. Additional benefits include a high degree of checkability, early
                 validation, readability, and reusability. The mechanical configuration of plate heat exchangers is used
                 to demonstrate these benefit",
  keywords =     "vari.OO",
}

@TechReport{Maddox98,
  author =       "William Maddox",
  title =        "Incremental Static Semantic Analysis",
  institution =  "University of California, Berkeley",
  number =       "ucb/CSD-97-948",
  year =         "1998",
  keywords =     "incr circ vari.FP vari.OO Ensemble",
  url =          "http://cs-tr.cs.cornell.edu:80/Dienst/UI/1.0/Display/ncstrl.ucb/CSD-97-948",
}

@TechReport{Hohenstein91,
  author =       "U. Hohenstein and G. Engels",
  title =        "{SQL}/{EER} - Syntax and Semantics of an Entity-Relationship-Based Query Language",
  institution =  "Technischen Universit\"at Braunschweig",
  year =         "1991",
  keywords =     "applic.DB",
  abstract =     "This paper presents the high-level query language SQL/EER for an extended Entity- Relationship model
                 (EER model). SQL/EER directly supports all the concepts of the EER model and takes into account
                 well-known features that are integral part of contemporary query languages, e.g., arithmetic and
                 aggregate functions. In contrast to usual descriptions of query languages, we give SQL/EER a complete
                 formal specification of syntax and semantics. The syntax is defined by using an attribute grammar which
                 fixes the context-free structure and the context-sensitive rules. The operational semantics is defined
                 by formally translating SQL/EER queries into queries of an existing, semantically well-defined
                 calculus. This translation is also described by this attribute grammar. The query language SQL/EER is
                 used in a database design environment. In this context, the formal specification of its syntax and the
                 semantics has been used to implement a syntax-directed editor and a query interpreter for SQL/EER.",
}

@Article{Voliotis96,
  author =       "C. Voliotis and N. Sgouros and G. Papakonstantinou",
  title =        "Attribute grammar based modeling of concurrent constraint logic programming",
  journal =      "International Journal on Artificial Intelligence Tools",
  year =         "1996",
  volume =       "4",
  number =       "3",
  pages =        "383--411",
  month =        "",
  url =          "http://www.dsclab.ece.ntua.gr/dsclab_recent_publication.htm",
  keywords =     "vari.LP vari.CLP",
}

@PhdThesis{Duris98,
  author =       "Etienne Duris",
  title =        "Contribution aux relations entre les grammaires attribu\'ees et la programmation fonctionnelle",
  school =       "Universit\'e d'Orl\'eans",
  year =         "1998",
  keywords =     "vari.FP deforestation",
  abstract =     "Software engineering has to reconcile modularity, that is required for development and maintenance
                 phases, with efficiency, obviously essential in the practical implementation of applications. This
                 dilemma implies that methods and techniques must be developed in order to increase the efficiency of
                 modular programs. The aim of deforestation transformations is to discard intermediate data structures
                 that appear when software components are composed. Thus, these transformations are of great interest,
                 especially to attribute grammar and functional programming communities. In spite of the variety of
                 formalisms they used, this thesis compares several existing techniques and develops a new general
                 deforestation method drawn from their advantages. First, a natural attribute grammar extension is
                 introduced, allowing a larger functional programming class to be expressed. Then, dynamic attribute
                 grammars are no more tied to concrete trees, to direct computations and transformations. Nevertheless,
                 they could always be evaluated with classical attribute grammar evaluation methods. Next, the main
                 functional deforestation methods (Wadler's algorithm, elimination of foldr/build rule, normalization of
                 folds, fusion of hylomorphisms) are studied and compared with the descriptional composition of
                 attribute grammars. Limitations of each method are established and allow suitable features for these
                 program transformations to be determined. Finally, a new deforestation method is introduced. The
                 symbolic composition uses the power of attribute grammar formalism and also includes a partial
                 evaluation mechanism. This general technique can be applied to attribute grammars or to functional
                 programs and it deforests programs for which existing methods were insufficient.",
  postscript =   "../../ftp/fnc2/publications/theses/Duris98.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/theses/Duris98.ps.gz",
}

@PhdThesis{kue97,
  author =       "A. K{\"u}hnemann",
  title =        "Berechnungsst{\"a}rken von Teilklassen primitiv-rekursiver Programmschemata",
  school =       "Technical University of Dresden",
  year =         "1997",
  note =         "Shaker Verlag, Aachen",
  abstract =     "In this thesis the concept of macro attributed tree transducer is introduced in order to integrate
                 various extensions of the scheme of primitive recursion over trees and the concept of attribute
                 grammar. Thus macro attributed tree transducers can handle context information implicitly with
                 parameters of functions and explicitly with inherited attributes. To every noncircular macro attributed
                 tree transducer a total tree-to-tree transformation can be assigned. In this thesis we compare the
                 tree-to-tree transformation classes of different subclasses of macro attributed tree transducers which
                 are known from the literature. To this end we develop and use composition and decomposition results on
                 the one hand and pumping lemmata on the other hand.",
  keywords =     "vari.FP deforestation vari.TT",
  email =        "kuehne@orchid.inf.tu-dresden.de",
}

@Article{Eco95IST,
  author =       "G. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "An Attribute Grammar Approach to High-Level Automated Hardware Synthesis",
  journal =      "Information and Software Technology",
  year =         "1995",
  volume =       "37",
  number =       "9",
  pages =        "493--502",
}

@InProceedings{Eco97CHARME,
  author =       "G. Economakos and G. Papakonstantinou and K. Pekmestzi and P. Tsanakas",
  title =        "Hardware Compilation Using Attribute Grammars",
  booktitle =    "Advanced Research Working Conference on Correct Hardware Design and Verification Methods",
  year =         "1997",
  pages =        "273--290",
  organization = "IFIP WG 10.5",
}

@InProceedings{Eco97BMAS,
  author =       "G. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "Global Scheduling in an Attribute Grammar Driven Silicon Compilation Environment",
  booktitle =    "International Workshop on Behavioral Modeling and Simulation",
  year =         "1997",
  pages =        "167--176",
  organization = "IEEE/VIUF",
}

@InProceedings{Eco97IWLAS,
  author =       "G. Economakos and P. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "Integrating Different {VHDL} Coding Styles in an Attribute Grammar Driven High-Level Synthesis
                 Environment",
  booktitle =    "International Workshop on Logic and Architecture Synthesis",
  year =         "1997",
  pages =        "175--184",
  organization = "IFIP",
}

@InProceedings{Eco98SAC,
  author =       "G. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "Incorporating Multi-pass Attribute Grammars for the High-Level Synthesis of {ASIC}s",
  booktitle =    "Symposium on Applied Computing",
  year =         "1998",
  pages =        "45--49",
  organization = "ACM",
}

@InProceedings{Eco98DATE,
  author =       "G. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "{AGENDA}: An Attribute Grammar Driven Environment for the Design Automation of Digital Systems",
  booktitle =    "Design Automation and Test in Europe Conference and Exhibition",
  year =         "1998",
  pages =        "933--934",
  organization = "ACM/IEEE",
}

@InProceedings{Eco98EURISCON,
  author =       "G. Economakos and G. Papakonstantinou",
  title =        "An Attribute Grammar Driven High-Level Synthesis Paradigm for Control Applications",
  booktitle =    "3rd European Robotics, Intelligent Systems and Control Conference",
  year =         "1998",
}

@InProceedings{Eco98EUROMICRO,
  author =       "G. Economakos and G. Papakonstantinou",
  title =        "Exploiting the Use of {VHDL} Specifications in the {AGENDA} High-Level Synthesis Environment",
  booktitle =    "24th EUROMICRO Conference, Workshop on Digital System Design",
  year =         "1998",
  pages =        "91--98",
  organization = "EUROMICRO",
}

@InProceedings{Eco98EUSIPCO,
  author =       "G. Economakos and G. Papakonstantinou and P. Tsanakas",
  title =        "Behavioral Synthesis of Digital Filters Using Attribute Grammars",
  booktitle =    "IX European Signal Processing Conference",
  year =         "1998",
  pages =        "519--522",
  organization = "EURASIP",
}

@Article{PapSkoGri86,
  author =       "G. Papakonstantinou and E. Skordalakis and F. Gritzali",
  title =        "An attribute grammar for {QRS} detection",
  journal =      "Pattern Recognition",
  volume =       "19",
  number =       "4",
  pages =        "297--303",
  year =         "1986",
}

@InProceedings{SidPapSkoEfr86,
  author =       "M. Sideri and G. Papakonstantinou and E. Skordalakis and S. Efraimidis",
  title =        "Error recovery using attribute grammars",
  booktitle =    "First European Workshop on Fault Diagnostics, Reliability and Related Knowledge-Based Approaches",
  address =      "Rhodes, Greece",
  year =         "1986",
}

@InProceedings{MorPapTza86,
  author =       "C. Moraitis and G. Papakonstantinou and S. Tzafestas",
  title =        "Attribute grammars as a diagnostic tool",
  booktitle =    "First European Workshop on Fault Diagnostics, Reliability and Rel ated Knowledge-Based Approaches",
  address =      "Rhodes, Greece",
  year =         "1986",
}

@Article{PapMorPan86,
  author =       "G. Papakonstantinou and C. Moraitis and T. Panayiotopoulos",
  title =        "An attribute grammar interpreter as a knowledge engineering tool",
  journal =      "Angewandte Informatik",
  number =       "9",
  pages =        "382--388",
  year =         "1986",
}

@InProceedings{MorPap86,
  author =       "C. Moraitis and Papakonstantinou",
  title =        "Attribute grammars in decision making",
  booktitle =    "25th IEEE Conference on Decision and Control",
  address =      "Athens, Greece",
  year =         "1986",
}

@Article{PapTsa88,
  author =       "G. Papakonstantinou and P. Tsanakas",
  title =        "Attribute Grammars and Dataflow Computing",
  journal =      "Information and Software Technology",
  volume =       "30",
  number =       "5",
  pages =        "306--313",
  month =        jun,
  year =         "1988",
}

@Article{PanPapSta88a,
  author =       "T. Panayiotopoulos and G. Papakonstantinou and G. Stamatopoulos",
  title =        "Attribute Grammars and Logic Programming ({AI}-Debot paper)",
  journal =      "Angewandte Informatik",
  number =       "5",
  year =         "1988",
}

@Article{PanPapSta88b,
  author =       "T. Panayiotopoulos and G. Papakonstantinou and G. Stamatopoulos",
  title =        "Attribute grammar theorem prover",
  journal =      "Information and Software Technology",
  volume =       "30",
  number =       "9",
  pages =        "553--560",
  month =        nov,
  year =         "1988",
}

@InCollection{PapTza89,
  author =       "G. Papakonstantinou and S. Tzafestas",
  title =        "Attribute grammar approach to knowledge-based system building: Application to fault diagnosis",
  booktitle =    "Knowledge-based system diagnosis,supervision and control",
  chapter =      "7",
  editor =       "S. Tzafestas",
  publisher =    "Plenum Press",
  year =         "1989",
}

@Article{SidEfrPap89,
  author =       "M. Sideri and S. Efremidis and G. Papakonstantinou",
  title =        "Semantically Driven Parsing of Context Free Languages",
  journal =      "The Computer Journal",
  volume =       "32",
  number =       "1",
  pages =        "91--93",
  year =         "1989",
}

@Article{PanPapSgo90,
  author =       "T. Panayiotopoulos and G. Papakonstantinou and N. Sgouros",
  title =        "An attribute grammar interpreter for inexact reasoning",
  journal =      "Information and Software Technology",
  volume =       "32",
  number =       "5",
  pages =        "347--356",
  year =         "1990",
}

@InProceedings{PapTsaStaKol91,
  author =       "G. Papakonstantinou and P. Tsanakas and A. Stafylopatis and S. Kollias",
  title =        "The transputer implementation of a parallel attribute grammar evaluator",
  booktitle =    "ESPRIT/Parallel Computing Action, Workshop III",
  address =      "Bonn Germany",
  year =         "1991",
}

@Article{PapPanDim92,
  author =       "G. Papakonstantinou and T. Panayiotopoulos and G. Dimitriou",
  title =        "{AGP}: a parallel processor for knowledge and software engineering",
  journal =      "The Computer Journal",
  vol =          "35",
  no =           "2",
  year =         "1992",
}

@InProceedings{PapVolSgo94,
  author =       "G. Papakonstantinou and C. Voliotis and N. Sgouros",
  title =        "Dependency-directed binding of variables for constraint logic programming",
  booktitle =    "DEXA 94 International Confrence",
  year =         "1994",
  address =      "Athens, Greece",
}

@InProceedings{VolThaSgoPap95,
  author =       "C. Voliotis and A. Thanos and N. Sgouros and G. Papakonstantinou",
  title =        "{DAFFODIL}: {A} Framework for Integrating {AND}/{OR} Parallelism",
  booktitle =    "5th Hellenic Conference on Informatics",
  address =      "Athens",
  year =         "Dec 1995",
}

@InProceedings{Thanos96,
  author =       "A. Thanos",
  title =        "A Grammatical Approach to Parallel Logic Programming for Expressing Software Evolution Reasoning",
  booktitle =    "3rd CAiSE 96 Doctoral Consortium",
  address =      "Heraklion, Greece",
  month =        may # " 20-21",
  year =         "1996",
}

@InProceedings{Thanos98a,
  author =       "A. Thanos and G. Papakonstantinou and P. Tsanakas",
  title =        "Attribute Grammar Based System for Multi-Paradigm Distributed Computing: The Concurrent Constraint
                 Logic Programming Paradigm",
  booktitle =    "10th IITT Expersys-98 Conference on Artificial Intelligence Applications",
  address =      "Virginia, U.S.A.",
  pages =        "",
  year =         "16-17 Nov. 1998",
}

@InProceedings{Thanos98b,
  author =       "A. Thanos and G. Papakonstantinou and P. Tsanakas",
  title =        "Towards an Automatic Generator of Multi-Paradigm Programming Languages",
  booktitle =    "Parallel and Distributed Computing and Networks (PDCN 98)",
  address =      "Brisbane, Australia",
  pages =        "",
  year =         "14-16 Dec. 1998",
}

@InProceedings{Thanos98c,
  author =       "A. Thanos and G. Papakonstantinou",
  title =        "An Attribute Grammar Modelling for Generating {CCLP} Languages",
  booktitle =    "Workshop on Modelling and Computing with Concurrent Constraint Programming of the 4th Int. Conf. on
                 Principles and Practice of Constraint Programming (CP98)",
  address =      "Pisa, Italy",
  pages =        "",
  year =         "30 Oct. 1998",
  editor =       "K. Ueda and V. Saraswat and A. Podelski",
}

@InProceedings{Thanos99a,
  author =       "A. Thanos and C. Voliotis and G. Papakonstantinou",
  title =        "Modelling the Control on Parallel Implementations of Declarative Programming Languages",
  booktitle =    "International Conference on Computational Intelligence for Modelling,Control, and Automation
                 (CIMCA99)",
  address =      "Vienna, Austria",
  pages =        "",
  year =         "17--19 Feb. 1999",
}

@Article{Breuer94,
  author =       "Peter T. Breuer and Jonathan P. Bowen",
  title =        "Decompilation: the enumeration of types and grammars",
  journal =      "ACM Trans. Progr. Languages and Systems",
  volume =       "16",
  number =       "5",
  pages =        "1613--1647",
  month =        sep,
  year =         "1994",
  keywords =     "decompilation",
  abstract =     "While a compiler produces low-level object code from high-level source code, a decompiler produces
                 high-level code from low-level code and has applications in the testing and validation of
                 safety-critical software. The decompilation of an object code provides an independent demonstration of
                 correctness that is hard to better for industrial purposes (an alternative is to prove the compiler
                 correct). But, although compiler compilers are in common use in the software industry, a decompiler
                 compiler is much more unusual. It turns out that a data type specification for a programming-language
                 grammar can be remolded into a functional program that enumerates all of the abstract syntax trees of
                 the grammar. This observation is the springboard for a general method for compiling decompilers from
                 the specifications of (nonoptimizing) compilers. This paper deals with methods and theory, together
                 with an application of the technique. The correctness of a decompiler generated from a simple
                 occam-like compiler specification is demonstrated. The basic problem of enumerating the syntax trees of
                 grammars, and then stopping, is shown to have no recursive solution, but methods of abstract
                 interpretation can be used to guarantee the adequacy and completeness of our technique in practical
                 instances, including the decompiler for the language presented here.",
}

@TechReport{Correnson98d,
  author =       "Loic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  title =        "How to deforest in accumulative parameters?",
  institution =  "INRIA",
  number =       "3608",
  month =        jan,
  year =         "1999",
  keywords =     "deforestation",
  abstract =     "Software engineering has to reconcile modularity with efficiency. One way to grapple with this dilemma
                 is to automatically transform a modular-specified program into an efficient-implementable one. This is
                 the aim of deforestation transformations which get rid of intermediate data structures constructions
                 that appear when two functions are composed. Nevertheless, existing functional methods cannot deforest
                 non-trivial intermediate constructions that are processed by symbolic composition. This new
                 deforestation technique is based on the descriptional composition dedicated to attribute grammars. In
                 this paper, we present the symbolic composition, we outline its counterpart in terms of classical
                 deforestation methods and we sketch a way to embed it in a functional framework.",
  postscript =   "../../ftp/fnc2/publications/RR-3608.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/publication/RR/RR-3608.ps.gz",
}

@TechReport{Correnson98e,
  author =       "Loic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  title =        "Equational Semantics",
  institution =  "INRIA",
  type =         "submit",
  month =        oct,
  year =         "1998",
  keywords =     "deforestation, partial evaluation",
  abstract =     "Many methods exist to perform program transformations, but most of them are dedicated to few
                 programming languages. We propose a new formalism able to encode an abstract representation of the
                 operational semantics of a program. With this formalism, we define simple transformations that lead to
                 complex ones such as deforestation or partial evaluation in several programming languages. Though
                 highly theoretical and language-independent, this method can be implemented and especially interfaced
                 with real programming languages. For instance, a prototype dealing with a simple higher-order
                 functional programming language has been implemented (with a call-by-value operational semantics). This
                 prototype produces some more powerful transformations than other known functional methods, especially
                 with deforestation on functions with accumulative parameters.",
  postscript =   "../../ftp/fnc2/publications/Rapport/correnson98e.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Rapport/correnson98e.ps.gz",
}

@InProceedings{Grosch99,
  author =       "Josef Grosch",
  title =        "Using Attribute Grammars in Industry",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "1--16",
  month =        mar,
  mail =         "grosch@cocolab.de",
  abstract =     "Are attribute grammars used in industrial applications? Or are attribute grammars just an academic
                 playground? I would like to answer these two ques- tions based on my personal experience. I have been
                 working with attribute grammars for around 17 years now. Around 10 years ago I started creating the
                 Cocktail Toolbox which contains among other tools for compiler construction the attribute grammar tool
                 ag. Five years ago I founded a company named CoCo- Lab which stands for compiler compiler laboratory.
                 The company develops and markets the Cocktail Toolbox as well as parsers generated with Cocktail. We
                 also do project work in the area of compiler construction and programming lan- guages. My first and
                 very spontaneous answers to the above two questions are: Yes, in both cases. Attribute grammars are
                 used in industry and at the same time they can be regarded as academic playground. This does seem
                 contradictory, doesn't it? Therefore let me explain in more detail why I am giving the above answers.",
  postscript =   "WAGA99/proceedings/grosch/grosch.ps",
  ppdf =         "WAGA99/proceedings/grosch/grosch.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Thanos99,
  author =       "Aggelos Thanos and George Papakonstantinou",
  title =        "Facilitating the {D}evelopment of {P}arallel {I}mplementations of {D}eclarative {P}rogramming
                 {L}anguages {U}sing {A}ttribute {G}rammars",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "17--36",
  month =        mar,
  mail =         "thanos@cslab.ece.ntua.gr",
  abstract =     "This paper presents how we can model different control operations on parallel implementations of
                 declarative programming languages. We use a program analysis method based on Attribute Grammar
                 dependency graphs. We present the PAGE framework, which facilitates the development of parallel
                 implementation of declarative languages. As in compiler technology, we use AG as a specification
                 language for the description of the programming paradigms under consideration. Each of the programming
                 paradigms is outlined from a transformation table or a combination of them. These tables consist of
                 transformation actions that have to be applied, under some conditions. The transformations are
                 described in the form of AG semantic rules. With this analysis we can discern a large part of the
                 control of such languages which we can specify in a programmable way. The remain control part is
                 forming a non-programmable layer which is following the restrictions of the underlying hardware
                 architecture of each implementation. In this way we build a layer between the program executed and the
                 control. Using AG technology to specify this control layer is the semantic basis of PAGE. The method
                 can help towards the automation of the development of modern declarative programming languages, such as
                 Concurrent Constraint Logic Programming Languages. The system has been implemented and tested in a wide
                 range of architectures, exhibiting encouraging results.",
  postscript =   "WAGA99/proceedings/thanos/thanos.ps",
  ppdf =         "WAGA99/proceedings/thanos/thanos.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Lammel99,
  author =       "Ralf L\"ammel and G\"unter Riedewald",
  title =        "Reconstruction of paradigm shifts",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "37--56",
  month =        mar,
  mail =         "rlaemmel@informatik.uni-rostock.de",
  abstract =     "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, \emph{a generic and formal approach to an effective and orthogonal
                 reconstruction} of the concepts underlying some extensions is described. The reconstruction is
                 \emph{effective} in the sense that the reconstructed concepts are presented as executable
                 meta-programs. The approach to reconstruction is \emph{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. Furthermore, it is a \emph{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 \emph{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 \LDL\ and it is used for reusable formal language
                 definition based on attribute grammars and operational semantics.",
  postscript =   "WAGA99/proceedings/laemmel/laemmel.ps",
  ppdf =         "WAGA99/proceedings/laemmel/laemmel.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Mernik99,
  author =       "Marjan Mernik and Mitja Leni\v c and Enis Avdi\v cau\v sevi\' c and Viljem \v Zumer",
  title =        "Multiple {A}ttribute {G}rammar {I}nheritance",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "57--76",
  month =        mar,
  email =        "marjan.mernik@uni-mb.si",
  abstract =     "The language design process should be supported by modularity and abstraction in a manner that allows
                 incremental changes as easily as possible. To at least partially fulfill this ambitious goal a new
                 object-oriented attribute grammar specification language which support multiple attribute grammar
                 inheritance is introduced. Multiple attribute grammar inheritance is a structural organization of
                 attribute grammars where the attribute grammar inherits the specifications from ancestor attribute
                 grammars, may add new specifications or may override some specifications from ancestors specifications.
                 With the proposed approach a language designer has the chance to design incrementally a language or
                 reuse some fragments from other programming language specifications. The multiple attribute grammar
                 inheritance is first introduced using an example, and thereafter by a formal model. The proposed
                 approach is successfully implemented in the compiler/interpreter generator tool LISA ver. 2.0.",
  postscript =   "WAGA99/proceedings/Mernik/Mernik.ps",
  ppdf =         "WAGA99/proceedings/Mernik/Mernik.ps",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Yang99,
  author =       "Wuu lazybug Yang",
  title =        "A finest partitioning algorithm for attribute grammars",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "77--92",
  month =        mar,
  abstract =     "The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute
                 instances in different regions are independent of one other. The advantages of partitioning the
                 attribute dependence graph include simplifying the attribute grammar conceptually and allowing the
                 possibility of parallel evaluation. We present a static partitioning algorithm for attribute grammars.
                 The algorithm builds the set of all feasible partitions for every production by analyzing the grammar.
                 After the attributed syntax tree is constructed, one of the feasible partitions is chosen for each
                 production instance in the syntax tree. Gluing together the selected partitions for individual
                 production instances results in a partition of the attribute dependence graph of the syntax tree. No
                 further merging or partitioning is needed at evaluation time. In addition to static partitioning, the
                 algorithm always produces the finest partition of every attribute dependence graph.",
  mail =         "wuuyang@cis.nctu.edu.tw",
  postscript =   "WAGA99/proceedings/yang/yang.ps",
  ppdf =         "WAGA99/proceedings/yang/yang.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Natori99,
  author =       "Shin Natori and Katsuhiko Gondow and Takashi Imaizumi and Takeshi Hagiwara and Takuya Katayama",
  title =        "On {E}liminating {T}ype 3 {C}ircularities of {O}rdered {A}ttribute {G}rammars",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "93--112",
  month =        mar,
  mail =         "gondow@jaist.ac.jp",
  abstract =     "Ordered attribute grammars (OAGs for short) are a useful class of attribute grammars (AGs). For some
                 attribute grammars, even though they are not circular, OAG circularity test reports that they are not
                 ordered and fails to generate attribute evaluators because of the existence of type 3 circularities.
                 First we discuss that it is sometimes difficult for programmers to eliminate type 3 circularities by
                 hand. Secondly, in order to reduce this difficulty, we propose a new AG class called OAG* that produces
                 less type 3 circularities than OAG while preserving the positive characteristic of OAG. We also show
                 that we obtained good results with our experimental implementation.",
  postscript =   "WAGA99/proceedings/natori/natori.ps",
  ppdf =         "WAGA99/proceedings/natori/natori.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Psaila99,
  author =       "G. Psaila and S. Crespi-Reghizzi",
  title =        "Adding {S}emantics to {XML}",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "113--132",
  month =        mar,
  abstract =     "Starting form the analogy between a document tagged by a mark-up language (XML, SGML) and a source
                 string generated by a BNF grammar, we argue that XML parsers should benefit from the addition of
                 semantic attributes and functions. Currently XML only includes initialized lexical attributes. By our
                 approach a XML parser would be extended into a syntax-directed translator. Deep transformations of a
                 document could be specified, sent over the network, and executed within the XML system. For the
                 specification of the semantic attributes and functions we propose a XML Document Type Definition, that
                 is conceptually similar to the metalanguage of a compiler-compiler. By this approach the additions to
                 the XML standard are kept to a minimum.The differences between attribute grammars and attributed XML
                 specifications are discussed, and the system architecture of a semantic evaluator generator is
                 presented.",
  mail =         "psaila@morgana.elet.polimi.it",
  postscript =   "WAGA99/proceedings/psaila/psaila.ps",
  ppdf =         "WAGA99/proceedings/psaila/psaila.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Alexin99,
  author =       "Zolt\' an Alexin and Szilvia Zvada and and Tibor Gyim\' othy",
  title =        "Application of {AGLEARN} on {H}ungarian {P}art-of-speech {T}agging",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "133--152",
  month =        mar,
  mail =         "alexin@inf.u-szeged.hu,gyimi@inf.u-szeged.hu,zvada@inf.u-szeged.hu",
  abstract =     "In this paper we present an application of the AGLEARN method to the part-of-speech (POS) tagging of
                 Hungarian sentences. The task of AGLEARN is to infer the semantic functions associated with production.
                 In the learning process the grammar, the background semantic functions and the examples can be used. We
                 applied the AGLEARN method to infer context rules to choose the correct tags. A corpus with about 100
                 000 pre-tagged words has been used for training and testing. By using AGLEARN method learning data are
                 generated to the C 4.5 attribute value learner. These generated data contain information about the
                 phrase structure of the sentences. A background attribute grammar has been used to determine these
                 sructural information. Our experinces showed that using this structural background information C4.5
                 learner was able to infer more precise context rules.",
  postscript =   "WAGA99/proceedings/alexin/alexin.ps",
  ppdf =         "WAGA99/proceedings/alexin/alexin.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Hedin99,
  author =       "Gorel Hedin",
  title =        "Reference {A}ttributed {G}rammars",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "153--172",
  month =        mar,
  mail =         "Gorel.Hedin@dna.lth.se",
  abstract =     "An extension to canonical attribute grammars is introduced, permitting attributes to be references to
                 arbitrary nodes in the syntax tree, and attributes to be accessed via the reference attributes.
                 Important practical problems such as name and type analysis for object-oriented languages can be
                 expressed concisely in these grammars, and an optimal evaluation algorithm is available. The proposed
                 formalism and algorithm have been implemented in an interactive language development tool.",
  postscript =   "WAGA99/proceedings/hedin/hedin2.ps",
  ppdf =         "WAGA99/proceedings/hedin/hedin2.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Persson99,
  author =       "Patrik Persson and G\"orel Hedin",
  title =        "Interactive {E}xecution {T}ime {P}redictions {U}sing {R}eference {A}ttributed {G}rammars",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "173--184",
  month =        mar,
  mail =         "Patrik.Persson@cs.lth.se,Gorel.Hedin@dna.lth.se",
  abstract =     "A central problem for real-time scheduling is to acquire tight but conservative bounds on task
                 execution times. We present a prototype for an environment where such bounds are interactively
                 presented, in terms of source code constructs, to the programmer during development. The prototype is
                 based on the language development tool APPLAB and uses an extended attribute grammar formalism,
                 reference attributed grammars (RAGs), which overcomes some drawbacks of conventional attribute grammars
                 in this context (e.g. description of non-local dependencies). In this paper we show how timing schemata
                 can be implemented as RAGs. Our experience is that the RAG approach allows timing schemata to be
                 implemented in a clear, concise, and modular manner.",
  postscript =   "WAGA99/proceedings/persson/persson.ps",
  ppdf =         "WAGA99/proceedings/persson/persson.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Saraiva99,
  author =       "Joao Saraiva and Doaitse Swierstra",
  title =        "Generic {A}ttribute {G}rammars",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "185--204",
  month =        mar,
  mail =         "jas@cs.uu.nl,swierstra@cs.uu.nl",
  abstract =     "This paper introduces generic attribute grammars which provide a support for genericity, reusability
                 and modularity in attribute grammars. A generic attribute grammar is a component which is easily
                 reused, composed and understood. An attribute grammar based system is constructed out of a set of such
                 generic components. These components can be analysed and compiled separately. Furthermore, deforestated
                 attribute evaluator are derived for each component. As result, redundant intermediate data structures
                 used to glue different components are eliminated.",
  postscript =   "WAGA99/proceedings/joao_saraiva/joao_saraiva.ps",
  ppdf =         "WAGA99/proceedings/joao_saraiva/joao_saraiva.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@InProceedings{Correnson99,
  author =       "Loic Correnson",
  title =        "Equational {S}emantics",
  booktitle =    "Second Workshop on Attribute Grammars and their Applications, WAGA'99",
  year =         "1999",
  address =      "Amsterdam, The Netherlands",
  editor =       "D. Parigot and M. Mernik",
  publisher =    "INRIA rocquencourt",
  pages =        "205--222",
  month =        mar,
  abstract =     "Attribute grammars are well-designed to construct complex algorithms by composing several ones
                 together. Actually, there exists a powerful transformation called descriptional composition which
                 highly simplifies the composition of two attribute grammars by removing useless intermediate
                 constructions. However, most of non-linear algorithms can not be expressed with attribute grammars.
                 Thus, many compositions can not be simplified by the decriptional composition. In this paper, we
                 present Equational Semantics, a formalism largely inspired by attribute grammars but where non-linear
                 algorithms can be encoded. More precisely, instead of being restricted to one input static tree as it
                 is the case for attribute grammars, an algorithm encoded with Equational Semantics may use dynamically
                 constructed trees. This formalism consists in an very poor abstract syntax. We present its semantics
                 and some of its transformations such as partial evaluation and decriptionnal composition (also called
                 deforestation).",
  postscript =   "WAGA99/proceedings/correnson/correnson.ps",
  ppdf =         "WAGA99/proceedings/correnson/correnson.pdf",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@Article{Correnson99c,
  author =       "Loic Correnson",
  title =        "Equational {S}emantics",
  journal =      "Informatica (Solvenia)",
  year =         "1999",
  abstract =     "Attribute grammars are well-designed to construct complex algorithms by composing several ones
                 together. Actually, there exists a powerful transformation called descriptional composition which
                 highly simplifies the composition of two attribute grammars by removing useless intermediate
                 constructions. However, most of non-linear algorithms can not be expressed with attribute grammars.
                 Thus, many compositions can not be simplified by the decriptional composition. In this paper, we
                 present Equational Semantics, a formalism largely inspired by attribute grammars but where non-linear
                 algorithms can be encoded. More precisely, instead of being restricted to one input static tree as it
                 is the case for attribute grammars, an algorithm encoded with Equational Semantics may use dynamically
                 constructed trees. This formalism consists in an very poor abstract syntax. We present its semantics
                 and some of its transformations such as partial evaluation and decriptionnal composition (also called
                 deforestation).",
  postscript =   "../../ftp/fnc2/publications/Correnson99c.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Correnson99c.ps.gz",
}

@Proceedings{Parigot99,
  title =        "Second Workshop on Attribute Grammars and their Applications {WAGA}'99",
  year =         "1999",
  editor =       "Didier Parigot and Marjan Mernik",
  publisher =    "INRIA rocquencourt",
  organization = "ETAPS'99",
  address =      "Amsterdam, The Netherlands",
  month =        mar,
  note =         "Satellite event of ETAPS'99",
  url =          "http://www-rocq.inria.fr/oscar/www/fnc2/WAGA99/accept.html",
}

@Unpublished{Correnson99b,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  note =         "accepted at PPDP'99 and early version",
  title =        "Declarative program transformation: \\a deforestation case-study",
  year =         "1999",
  postscript =   "../../ftp/fnc2/publications/Correnson99b.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Correnson99b.ps.gz",
  abstract =     "Software engineering has to reconcile modularity with efficiency. One way to grapple with this dilemma
                 is to automatically transform a modular-specified program into an efficient-implementable one. This is
                 the aim of deforestation transformations which get rid of intermediate data structure constructions
                 that occur when two functions are composed. Beyond classical compile time optimization, these
                 transformations are undeniable tools for generic programming and software component specialization.
                 Despite various and numerous research works in this area, general transformation methods cannot
                 deforest some non-trivial intermediate constructions. Actually, these recalcitrant structures are built
                 inside \emph{accumulating parameters} and then, they follow a construction scheme which is independent
                 from the function scheme itself. Known deforestation methods are too much tied to fixed recursion
                 schemes to be able to deforest these structures. In this article, we show that a fully declarative
                 approach of program transformation allows new deforestation sites to be detected and treated. We
                 present the principle of the \emph{symbolic composition}, based on the attribute grammar formalism,
                 with an illustrative running example stemming from a typical problem of standard functional
                 deforestations.",
}

@Unpublished{Correnson99a,
  author =       "Lo\"ic Correnson and Etienne Duris and Didier Parigot and Gilles Roussel",
  note =         "accepted at SAS'99 and early version",
  title =        "Equational Semantics",
  year =         "1999",
  postscript =   "../../ftp/fnc2/publications/Correnson99a.ps.gz",
  url =          "ftp://ftp.inria.fr/INRIA/Projects/oscar/FNC-2/publications/Correnson99a.ps.gz",
  abstract =     "In the context of functional programming, semantic methods are commonly used to drive program
                 transformations. However, classical semantic domains often rely on recursive objects which embed the
                 control flow of recursive functions. As a consequence, transformations which have to modify the control
                 flow are difficult to define. We propose in this paper a new semantic domain where the control flow is
                 defined implicitly, and thus can be modified. This new theoretical and practical framework allows to
                 homogeneously define and extend powerful transformations related to partial evaluation and
                 deforestation.",
}

@TechReport{Hansson99,
  pages =        "89",
  year =         "1999",
  type =         "Technical Report",
  number =       "CSD-98-1028",
  institution =  "University of California, Berkeley",
  title =        "Bayesian Problem-Solving Applied to Scheduling",
  bibdate =      "January 5, 1999",
  author =       "Othar Hansson",
  abstract =     "This dissertation describes several advances to the theory and practice of artificial intelligence
                 scheduling and constraint-satisfaction techniques. I have developed and implemented these techniques
                 during the construction of DTS, the Decision-Theoretic Scheduler, and its successor, SchedKit, a
                 toolkit of scheduling algorithms and data structures. The dissertation describes and analyzes the three
                 orthogonal approaches to improving a scheduler's performance. These are: (1) reducing the size of the
                 state space to be searched, (2) reducing the per-state cost of state generation and evaluation, and (3)
                 reducing the number of states examined by selective search. To reduce the size of the state space, I
                 have developed several new preprocessing algorithms designed to exploit resource constraints, including
                 resource capacity and resource/task compatibility. Experiments show that it is possible to exploit
                 resource capacity constraints efficiently despite their inherently disjunctive nature. To reduce the
                 cost of state generation, I employ computational geometry data structures that optimize incremental
                 heuristic evaluation, constraint-checking and state-variable maintenance. These data structures can be
                 compiled from a formal attribute grammar specification of the heuristics and constraints. Experience
                 with these techniques in DTS shows significant speedups and other advantages over manually-coded
                 software. Finally, to reduce the number of states examined during search, I have applied the Bayesian
                 Problem-Solving (BPS) approach to the problem of search ordering in backtracking algorithms. The
                 approach estimates, for each subtree, the search cost and probability that a solution exists. These
                 estimates are conditioned on raw heuristic features used by other ordering techniques from the
                 literature. Experiments with the BPS ordering heuristic on a state-of-the-art propositional
                 satisfiability solver show that it overcomes a performance anomaly of an existing strong heuristic on
                 two sets of benchmark problems.",
  month =        jan # " 5,",
}

@TechReport{ncstrl.ucsc_cse//UCSC-CRL-94-38,
  type =         "Technical Report",
  number =       "UCSC-CRL-94-38",
  institution =  "University of California, Santa Cruz, Jack Baskin School of Engineering",
  title =        "{ANALYSIS} {AND} {TRANSFORMATION} {OF} {LOGIC} {PROGRAMS} (Ph.{D}. Thesis)",
  month =        sep,
  year =         "1994",
  bibdate =      "June 15, 98",
  url =          "ftp://ftp.cse.ucsc.edu/pub/tr/ucsc-crl-94-38.ps.Z",
  author =       "Kjell Erik Post",
  abstract =     "Logic programming is based on the idea that inference can be viewed as a computation. The fact that
                 both programs and their specifications can be expressed in the same language makes logic programming
                 very useful for program development. But it is also known that clarity and efficiency are two rather
                 incompatible demands to put on a programming language. It is thus important to develop techniques for
                 systematically transforming clear but inefficient programs into efficient (although probably rather
                 opaque) final programs. This thesis contains some contributions that hopefully bring us closer to this
                 goal. Before transformation can take place the input program must be parsed and analyzed to extract
                 properties that are not explicit in the program itself. Parsing is an area of computer science well
                 understood, but with the advent of modern languages, like Prolog and ML, the programmer was able to
                 introduce and change operator symbols. On one hand, operator symbols made the code more readable but it
                 also complicated the parsing job; standard parsing techniques cannot accommodate dynamic grammars. In
                 the first part of this thesis we present an LR parsing methodology, called ``deferred decision
                 parsing{"}, that handles dynamic operator declarations, that is, operators that are declared at run
                 time. It uses a parser generator much like Yacc. Shift/reduce conflicts that involve dynamic operators
                 are resolved at parse time rather than at parser construction time. As an example of our parser
                 generator we present a grammar for Prolog, a language that has been in use for almost twenty years but
                 still lacks a precise formal syntactic definition. The parser generator can also serve as a replacement
                 implementation for Definite Clause Grammars, a novel parsing feature of Prolog. However, an LR parser
                 does not normally support inherited attributes. In the next part of the thesis we present two
                 transformation methods for (strong) non-circular attribute grammars that allows them to be evaluated
                 within the environment of an LR parser. Our methods represent a compromise in that attribute evaluation
                 is normally performed on the fly except when, in some evaluation rule, the referenced attributes are
                 unavailable, and the execution of the rule has to be postponed. Suspension and resumption points for
                 these evaluation rules can either be determined statically (method 1) or dynamically (method 2). For
                 both methods we guarantee that resumption takes place as soon as possible. In the final part of the
                 thesis we present a technique to detect that pairs of rules in a logic program are ``mutually
                 exclusive''. In contrast to previous work our algorithm derives mutual exclusion by looking not only at
                 built-in, but also user-defined predicates. This technique has applications to optimization of the
                 execution of programs containing these rules. Additionally, the programmer is less dependent on
                 non-logical language features, such as Prolog's ``cut'', thus creating more opportunities for parallel
                 execution strategies.",
}

@Article{Horwitz90,
  author =       " {Susan Horwitz, Thomas Reps} and David Binkley",
  journal =      TOPLAS,
  number =       "1",
  title =        "Interprocedural Slicing Using Dependence Graphs",
  year =         "1990",
  abstract =     "he notion of a program slice, originally introduced by Mark Weiser, is useful in program debugging,
                 automatic parallelization, and program integration. A slice of a program is taken with respect to a
                 program point p and a variable x; the slice consists of all statements of the program that might affect
                 the value of x at point p. This paper concerns the problem of interprocedural slicing---generating a
                 slice of an entire program, where the slice crosses the boundaries of procedure calls. To solve this
                 problem, we introduce a new kind of graph to represent programs, called a system dependence graph,
                 which extends previous dependence representations to incorporate collections of procedures (with
                 procedure calls) rather than just monolithic programs. Our main result is an algorithm for
                 interprocedural slicing that uses the new representation. (It should be noted that our work concerns a
                 somewhat restricted kind of slice: Rather than permitting a program to be sliced with respect to
                 program point p and an arbitrary variable, a slice must be taken with respect to a variable that is
                 defined or used at p.) The chief difficulty in interprocedural slicing is correctly accounting for the
                 calling context of a called procedure. To handle this problem, system dependence graphs include some
                 data-dependence edges that represent transitive dependences due to the effects of procedure calls, in
                 addition to the conventional direct-dependence edges. These edges are constructed with the aid of an
                 auxiliary structure that represents calling and parameter-linkage relationships. This structure takes
                 the form of an attribute grammar. The step of computing the required transitive-dependence edges is
                 reduced to the construction of the subordinate characteristic graphs for the grammar's nonterminals",
  keywords =     "slicing",
  postscript =   "http://www.cs.wisc.edu/wpis/papers/toplas90.ps",
}
