AbstractAttribute 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.
Categories and Subject Descriptors: D.1.1 [Programming Techniques]: Applicative (Functional) Programming; D.2.6 [Software Engineering]: Programming Environments; D.3.4 [Programming Languages]: Processors
Additional Key Words and Phrases: attribute grammars, attribute evaluation, functional programming, program generator, programming environments
Selected references
- Charles Farnum. Pattern-based tree attribution. In Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 211-222, Albequerque, New Mexico, January 1992.
- Rodney Farrow, Thomas J. Marlowe, and Daniel M. Yellin. Composable attribute grammars: Support for modularity in translator design and implementation. In Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 223-234, Albequerque, New Mexico, January 1992.
- Roger Hoover. Dynamically bypassing copy rule chains in attribute grammars. In Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, pages 14-25, St. Petersburg Beach, Florida, January 1986.
- Scott E. Hudson. Incremental attribute evaluation: A flexible algorithm for lazy update. ACM Transactions on Programming Languages and Systems, 13(3):315-341, July 1991.
- Larry G. Jones. Efficient evaluation of circular attribute grammars. ACM Transactions on Programming Languages and Systems, 12(3):429-462, July 1990.
- Uwe Kastens. Ordered attributed grammars. Acta Informatica, 13:229-256, 1980.
- Uwe Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31(7):601-627, 1994.
- Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127-145, 1968.
- Thomas W. Reps and Bowen Alpern. Interactive proof checking. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 36-45, Salt Lake City, Utah, January 1984.