Attribute Grammars and their Applications pp 101-115 | Cite as
Rapid development of a program transformation system with attribute grammars and dynamic transformations
Abstract
Using the attribute grammar based Synthesizer Generator a prototype program transformation system has been developed in four man-months. This is very fast, compared with the development-time of other program transformation systems. The prototype supports the construction and manipulation of equational algorithm proofs and making derivations interspersed with text. Its intended use is in writing papers on algorithm design, automatic checking of the derivation and providing mechanic help during the derivation.
The editor supports dynamic transformations: they can be inserted and deleted during an edit-session, which is currently not supported by the Synthesizer Generator. Also the applicability and direction of applicability of a dynamic transformation on a formula in the program derivation is indicated and updated incrementally. Dynamic transformations were, until now, never implemented in any other proof- or program transformation system. The prototype, including the dynamic transformations, was written as a pure attribute grammar.
Keywords
Abstract Syntax Linear Time Algorithm Proof Obligation Derivation Tree Base ViewPreview
Unable to display preview. Download preview PDF.
References
- [Bird 87]Bird, R. An introduction to the theory of lists. Logic of Programming and Calculi of Discrete Design (M. Broy,ed.), NATO ASI Series Vol. F.36, Springer Verlag 1987.Google Scholar
- [Knuth 84]Knuth, D.E. Literate Programming. The Computer Journal, Vol. 27, 1984.Google Scholar
- [Lindsay 88]Lindsay, P.A. A survey of mechanical support for formal reasoning. Software Engineering Journal, January 1988.Google Scholar
- [MRT 86]Meertens, L.G.L.T. Algorithmics — towards programming as a mathematical activity. In: de Bakker, J.W., Hazewinkel, M., Lenstra, J.K. (eds.), Proc. CWI Symposium on Mathematics and Computer Science, CWI Monographs Vol. 1, 1986.Google Scholar
- [Partsch & Steinbruggen 83]Partsch, H. and R. Steinbruggen. Program Transformation Systems. Computing Surveys, Vol. 15, No.3, September 1983.Google Scholar
- [Prospectra 86]Krieg-Brückner, B., B. Hoffmann, H. Ganzinger, M. Broy, R. Wilhelm, U. Möncke, B. Weisberger, A. McGettrick, I.G. Campbell and G. Winterstein. PROgram development by SPECification and TRAnsformation. Proc. ESPRIT Conf. 86, North-Holland 1987.Google Scholar
- [Reps & Alpern 84]Reps, T. and B. Alpern. Interactive Proof Checking. In the 11th Ann. ACM Symp. on Principles Of Programming Languages, pages 36–45, 1984.Google Scholar
- [RTD 83]Reps, T., T. Teitelbaum and A. Demers. Incremental Context-Dependent Analysis for Language Based Editors. In ACM Transactions on Progr. Lang. and Systems, Vol. 5, No. 3, pages 449–477, July 1983.CrossRefGoogle Scholar
- [Ritchie 88]Ritchie, B. The Design and Implementation of an Interactive Proof Editor. Tech. Rep. CSF-57-88 and PhD. dissertation, Dept. of Computer Science, Univ. of Edinburgh, Oct. 1988.Google Scholar
- [Santos 88]Santos, R.G. Conditional and parameterized transformations in CSG. PROSPECTRA Study Note S.1.5.C2-SN-2.0, 1988-24-5.Google Scholar