Abstract
We present a new evaluation method applicable to any attribute grammars. From each description of attribute grammar we produce an evaluator which is composed by a set of mutually recursive functions, one for each attribute, synthesised or inherited. It detects circularities at run-time and implements an optimal dynamic "evaluation by need".
Preview
Unable to display preview. Download preview PDF.
6. References
G. Bochmann, "Semantic Evaluation from Left to Right", CACM, 19, 2 (1976), pp 55–62.
R. Cohen and E. Harry, "Automatic Generation of Near-optimal Linear-time Translators for Non-circular Attribute Grammars", 6th ACM Symp. on Principles of Programming Lnaguages (1979), pp 121–134.
B. Courcelle and P. Franchi-Zannettacci, "Attribute Grammars and Recursive Program Schemes", Theoretical Computer Science, 17 (1982), pp 163–191 and 235–257.
P. Deransart, M. Jourdan and B. Lorho, "Speeding up Circularity Tests for Attribute Grammars", Report RR-211, INRIA, Rocquencourt (1983). To be published in Acta Informatica.
J. Engelfriet and G. Filé, "The Formal Power of One-visit Attribute grammars", Acta Informatica, 16 (1981), pp 275–302.
J. Engelfriet and G. Filé, "Passes and Paths of Attribute Grammars", Information and Control, 49 (1981), pp 125–169.
I. Fang, "FOLDS, a Declarative Formal Language Definition System", Report STAN-CS-72-329, Computer Science Dept., Stanford University (1972).
F. Jalili and J. H. Gallier, "A General Incremental Evaluator for Attribute Grammars", draft, University of Pennsylvannia, Philadelphia (1983).
M. Jazayeri, "A Simpler Construction for Showing the Intrinsically Exponential Complexity of the Circularity Problem for Attribute Grammars", JACM, 28 (1981), pp 715–720.
M. Jourdan, "An Efficient Evaluator for Strongly Non-circular Attribute Grammars", Report RR-235, INRIA, Rocquencourt (1983).
M. Jourdan, "Recursive Evaluation of Attribute Grammars: an Implementation", to appear in "Methods and Tools for Compiler Construction", B. Lorho ed., Cambridge University Press, Cambridge (1984).
U. Kastens, "Ordered Attribute Grammars", Acta Informatica, 13 (1980), pp 229–256.
T. Katamaya, "Transformation of Attribute Grammars into Procedures", Report CS-K-8001, Department of Computer Science, Tokyo Institute of Technology (1980)/
K. Kennedy and J. Ramanathan, "A Deterministic Attribute Grammar Evaluator Based on Dynamic Sequencing", ACM TOPLAS, 1, 1 (1979), pp 142–160.
K. Kennedy and S. Warren, "Automatic Generation of Efficient Evaluators for Attribute Grammars", 3rd ACM Symp. on Principles of Programming Languages, Atlanta (1976), pp 32–49.
D. Knuth, "Semantics of Context-free Languages", Mathematical Systems Theory, 2 (1968), pp 127–145.
P. Lewis, D. Rosenkrantz and R. Stearns, "Attributed Translations", JCSS, 9, 3 (1974), pp 279–307.
B. Lorho, "Semantic Attributes Processing in the System DELTA", in "Methods of Algorithm Language Implementation", Ershov and Koster eds., LNCS 47, Springer-Verlag (1977), pp 21–40.
O. Madsen, "On Defining Semantics by Means of Extended Attribute Grammars", in "Semantics-Directed Compiler Generation", Jones ed., LNCS 94, Springer-Verlag (1980), pp 259–299.
H. Meijer and A. Nijholt, "Translator Writing Tools since 1970: a Selective Bibliography", ACM SIGPLAN Notices, 17, 10 (1982), pp 62–72.
K.J. Räihä, "Bibliography on Attribute Grammars", ACM SIGPLAN Notices, 15, 3 (1980), pp 35–44.
K.J. Räihä and E. Ukkonen, "Minimizing the Number of Evaluation Passes for Attribute Grammars", SIAM Journal on Computing, 10, 4 (1981), pp 772–786.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1984 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jourdan, M. (1984). An optimal-time recursive evaluator for attribute grammars. In: Paul, M., Robinet, B. (eds) International Symposium on Programming. Programming 1984. Lecture Notes in Computer Science, vol 167. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-12925-1_37
Download citation
DOI: https://doi.org/10.1007/3-540-12925-1_37
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-12925-7
Online ISBN: 978-3-540-38809-8
eBook Packages: Springer Book Archive