Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/12276.13320acmconferencesArticle/Chapter ViewAbstractPublication PagesplanConference Proceedingsconference-collections
Article
Free access

Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars

Published: 01 July 1986 Publication History

Abstract

In the traditional formulation of attribute grammars (AGs) circularities are not allowed, that is, no attribute-instance in any derivation tree may be defined in terms of itself. Elsewhere in mathematics and computing, though, circular (or recursive) definitions are commonplace, and even essential. Given appropriate constraints, recursive definitions are well-founded, and the least fixed-points they denote are computable. This is also the case for circular AGs.
This paper presents constraints on individual attributes and semantic functions of an AG that are sufficient to guarantee that a circular AG specifies a well-defined translation and that circularly-defined attribute-instances can be computed via successive approximation. AGs that satisfy these constraints are called finitely recursive.
An attribute evaluation paradigm is presented that incorporates successive approximation to evaluate circular attribute-instances, along with an algorithm to automatically construct such an evaluator. The attribute evaluators so produced are static in the sense that the order of evaluation at each production-instance in the derivation-tree is determined at the time that each translator is generated.
A final algorithm is presented that tells which individual attributes and functions must satisfy the constraints.

References

[1]
Alfred V. Aho and Jeffery D. Ullman. Principles of Compiler Desiqn. Addison'Wesley, 1977.
[2]
Bijan Arbab. Compiling Attribute Grammars into Prolog. IBM Los Angeles Scientific Center, July 1985.
[3]
W. Babich and M. Jazayeri. Data-flow Analysis: the Method of Attributes. Acta informatica, March, 1978.
[4]
L.M. Chirica and D. F. Martin. An algebraic formulation of Knuthian semantics. Mathematical Systems Theory 13:1-27, 1979.
[5]
B. Courcelle and P. Franchi-Zannettacci. Attribute Grammars and Recursive Program Schemes. In Theoretlcal Computer Science i_/7, pages 163-191., 1982.
[6]
Rodney Farrow. Sub-Protocol Evaluators for Attribute Grammars. In Proceedlnqs of the SIGPLA/~ 84 SYmposium on Com611~r Construction. ACM, June, 1984.
[7]
Rodney Farrow. LINGUIST-86 Yet another translator writing system based on attribute grammars. In Proceedings of the SIGPLAN 82 symposium on Com~ Construction. ACM, June, 1982.
[8]
Rodney Farrow. covers of Attribute Grammars and Sub-Protocol Attr1~e -- Evaluators. Technical Report, Department of Computer Science, Columbia University, New York, NY 10027, September, 1983.
[9]
H. Ganzinger, R. Giegerich, U. Moncke and R. Wilhelm. A Truly Generative Semantics- Directed Compiler Generator. In Proceedings of the SIGPLAN Symposium on Com~ Construction. ACM, June, 1982.
[10]
Larry G. Jones and Janos Simon. Hierarchical VLSI Design Systems Based on Attribute Grammars. In Conference Record of the Thirteenth ACM Symp6s~-~ on Principles of Languages. ACM, January, 1986.
[11]
J. B. Kam and J. D. Ullman. Global data flow analysis and iterative algorithms. ~. ACM 23(1), 19V6.
[12]
Uwe Kastens, Br~gitte Hutt, and Erich Zimmermann. GAG:A Practical ~ G@nerator. Spring---~ag~ Berlzn-Heidelberg-New York, 1982.
[13]
U. Kastens. Ordered attribute grammars. Acta Informatica 13, 1980.
[14]
Takuya Katayama. Translation of Attribute Grammars into Procedures. ACM Transactions on Proqrammlnq Lanquages and S s_~ 6(3), July, 1984.
[15]
K. Kennedy and J. Ramanathan. A deterministic attribute grammar svaluator based on dynamic sequencing. ACM TOPLAS i, 1979.
[16]
K. Kennedy and S. K. Warren. Automatic generation of efficient evaluators for attribute grammars. In Conference Record of the Third ACM symposium on Prlnc-{Dles of P-~gramming Languages. ACM,
[17]
G. A. Kilda11. A unified approach to global program optimization, In Conference Record of the ACM S~osium on Pr-~cTDles of Programmlng Languages. ACM, October, 1973.
[18]
D. E. Knuth. Semantics of context-free languages. Mathematica! S_~stems Theoz~f 2, 1968. correction in volume 5, number i.
[19]
Brian H. Mayoh. Attribute Grammars and Mathematical Semantics. SIAM Journal of Computing 10(3), August, 1981.
[20]
Lawrence Paulson. A Semantics-Directed Compiler Generator. In Conference Record of the Ninth ACM Symposium on Prlnc-'~ples of Lanquaggs. ACM, January, 1982.
[21]
Kari-Jouko Raiha, M. Saarinen, M. Sarjakoski, S. Sippu, E. Soisalon-Soininen and M. Tienari. Revised R_~ort on the Compiler wri~inqs~Z-~t~ ~8. - Technical Report A-1983-I, Dept. of Computer Science, Univ. of Helsinkl, 1983.
[22]
W.A. Schulz. language Synthesis ~n a translator. P hD-~hesis,~University of Colorado, Boulder, Colorado, July, 1976.
[23]
Stephen K. Skedzeleski. Definition and Use of Attribute Reevaluatxon In A-ttribUted Grammars. PhD thesis, University of Wisconsin, Madison, Wisconsin, December, 1978.

Cited By

View all
  • (2024)Interactive Abstract Interpretation with Demanded SummarizationACM Transactions on Programming Languages and Systems10.1145/364844146:1(1-40)Online publication date: 15-Feb-2024
  • (2021)Demanded abstract interpretationProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454044(282-295)Online publication date: 19-Jun-2021
  • (2020)Modular collaborative program analysis in OPALProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409765(184-196)Online publication date: 8-Nov-2020
  • Show More Cited By

Index Terms

  1. Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars

                          Recommendations

                          Comments

                          Information & Contributors

                          Information

                          Published In

                          cover image ACM Conferences
                          SIGPLAN '86: Proceedings of the 1986 SIGPLAN symposium on Compiler construction
                          July 1986
                          275 pages
                          ISBN:0897911970
                          DOI:10.1145/12276

                          Sponsors

                          Publisher

                          Association for Computing Machinery

                          New York, NY, United States

                          Publication History

                          Published: 01 July 1986

                          Permissions

                          Request permissions for this article.

                          Check for updates

                          Qualifiers

                          • Article

                          Conference

                          SCC86
                          Sponsor:
                          SCC86: SIGPLAN Symposium on Compiler Construction
                          June 25 - 27, 1986
                          California, Palo Alto, USA

                          Contributors

                          Other Metrics

                          Bibliometrics & Citations

                          Bibliometrics

                          Article Metrics

                          • Downloads (Last 12 months)100
                          • Downloads (Last 6 weeks)27
                          Reflects downloads up to 15 Oct 2024

                          Other Metrics

                          Citations

                          Cited By

                          View all
                          • (2024)Interactive Abstract Interpretation with Demanded SummarizationACM Transactions on Programming Languages and Systems10.1145/364844146:1(1-40)Online publication date: 15-Feb-2024
                          • (2021)Demanded abstract interpretationProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454044(282-295)Online publication date: 19-Jun-2021
                          • (2020)Modular collaborative program analysis in OPALProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409765(184-196)Online publication date: 8-Nov-2020
                          • (2017)Concurrent circular reference attribute grammarsProceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3136014.3136032(151-162)Online publication date: 23-Oct-2017
                          • (2015)Reference attribute grammar controlled graph rewriting: motivation and overviewProceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering10.1145/2814251.2814257(89-100)Online publication date: 26-Oct-2015
                          • (2015)JavaRAG: a Java library for reference attribute grammarsProceedings of the 14th International Conference on Modularity10.1145/2724525.2724572(55-67)Online publication date: 16-Mar-2015
                          • (2015)Declarative rewriting through circular nonterminal attributesComputer Languages, Systems and Structures10.1016/j.cl.2015.08.00844:PA(3-23)Online publication date: 1-Dec-2015
                          • (2013)Abstract Interpretation as a Programming LanguageElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.129.7129(84-104)Online publication date: 19-Sep-2013
                          • (2013)Extensible intraprocedural flow analysis at the abstract syntax tree levelScience of Computer Programming10.1016/j.scico.2012.02.00278:10(1809-1827)Online publication date: 1-Oct-2013
                          • (2013)Data-Flow Based Model Analysis and Its ApplicationsProceedings of the 16th International Conference on Model-Driven Engineering Languages and Systems - Volume 810710.1007/978-3-642-41533-3_43(707-723)Online publication date: 29-Sep-2013
                          • Show More Cited By

                          View Options

                          View options

                          PDF

                          View or Download as a PDF file.

                          PDF

                          eReader

                          View online with eReader.

                          eReader

                          Get Access

                          Login options

                          Media

                          Figures

                          Other

                          Tables

                          Share

                          Share

                          Share this Publication link

                          Share on social media