The Genesis of Attribute Grammars

I have always been fascinated by the origin of ideas, so I am pleased that the organizers of this conference have asked me to open the proceedings by taking a look back at how the subject began. In other words, I'm glad that my job is to give this conference a " history attribute. " Attribute grammars were born in the exhilarating days of the mid-60s when a great many fundamental principles of computer science were beginning to be understood. An enormous number of ideas were floating in the air, waiting to be captured in just the right combinations that would prove to be powerful sources of future energy. The human mind is notoriously bad at reconstructing past experiences, so I have tried to make my story as accurate as possible by digging up as many scraps of authentic information from the early days as I could find. People say that nostalgia isn't what it used to be, but I hope that the participants of this conference will be able to share some of the pleasure I have experienced while preparing this retrospective study. Much of my story takes place in 1967, by which time a great many sophisticated computer programs had been written all over the world. Computing machines had come a long way since their invention in the 30s and 40s; for example, the recently announced Burroughs B6500 was aptly called a " third generation " system [35], and J. P. Eckert was noting a trend toward parallelism in new computer designs [37]. Yet many problems without easy solutions made people well aware that the vast potential of computers was only beginning to be tapped and that a great many important issues were not at all well understood. One of the puzzling questions under extensive investigation at the time was the problem of programming language semantics: How should we define the meaning of statements in algorithmic languages? Dozens of experts had gathered in Vienna in 1964 for a conference on formal language description, and the prevailing mood at that conference is well summarized by the remarks of T. B. Steel, Jr.: " Improvements in programming language description methods are imperative. .. I don't fully know myself how to describe the semantics of a language. I daresay nobody does or we wouldn't be here " [31]. Steel edited the proceedings of that meeting, which include lively transcriptions of discussions …

[1]  Isu Fang,et al.  FOLDS, a declarative formal language definition system , 1972 .

[2]  Richard Bornat,et al.  Top-down Syntax Analysis , 1979 .

[3]  Donald E. Knuth,et al.  TeX: The Program , 1986 .

[4]  Donald E. Knuth,et al.  Mathematical Analysis of Algorithms , 1971, IFIP Congress.

[5]  G. Tamkovich The Program. , 1909, California state journal of medicine.

[6]  Edgar T. Irons,et al.  Towards more versatile mechanical translators , 1963 .

[7]  Edgar T. Irons,et al.  “Structural connections” in formal languages , 1964, CACM.

[8]  Edgar T. Irons,et al.  A syntax directed compiler for ALGOL 60 , 1961, CACM.

[9]  H. Brown,et al.  Computational Problems in Abstract Algebra , 1971 .

[10]  Richard Edwin Stearns,et al.  Syntax-Directed Transduction , 1966, JACM.

[11]  Friedrich L. Bauer,et al.  Report on the algorithmic language ALGOL 60 , 1960, Commun. ACM.

[12]  K. Culik,et al.  WELL TRANSLATABLE GRAMMARS AND ALGOL-LIKE LANGUAGES, , 1968 .

[13]  A. vanWijngaarden Recursive definition of syntax and semantics : (proceedings ifip working conference on formal language description languages, vienna 1966, p 13-24) , 1966 .

[14]  Donald E. Knuth,et al.  An empirical study of FORTRAN programs , 1971, Softw. Pract. Exp..

[15]  B. J. Mailloux,et al.  Report on the Algorithmic Language , 1971 .

[16]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[17]  Donald E. Knuth,et al.  Examples of formal semantics , 1971, Symposium on Semantics of Algorithmic Languages.

[18]  Robert W. Floyd,et al.  On the nonexistence of a phrase structure grammar for ALGOL 60 , 1962, CACM.

[19]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[20]  Gerard Salton,et al.  Information dissemination and publication control , 1966, CACM.

[21]  E. T. Irons,et al.  The structure and use of the syntax directed compiler , 1963 .

[22]  D. V. Schorre META II a syntax-oriented compiler writing language , 1964 .

[23]  Pierre Deransart,et al.  Attribute Grammars , 1988, Lecture Notes in Computer Science.

[24]  Thomas B. Steel,et al.  Formal language description languages for computer programming : proceedings of the IFIP Working Conference on Formal Language Description Languages , 1966 .