Abstract
Generic language technology research focuses on the development of fundamental techniques for language processing. The Asf+Sdf Meta-Environment, an interactive development environment for the automatic generation of interactive systems, is an example of research in this field. The Meta-Environment has been applied in various projects in order to enable the development of high quality tools for the analysis and transformation of large software systems written in languages such as C, Java, Cobol, and PL/I. The Meta-Environment offers the interactive construction of language definitions and the generation of tools given these definitions. Over the years, this system has been used in a variety of academic and industrial projects ranging from formal program manipulation to conversion of industrial Cobol systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alblas, H.: Introduction to attribute grammars. In: Alblas, H., Melichar, B. (eds.) SAGA School 1991. LNCS, vol. 545, pp. 1–15. Springer, Heidelberg (1991)
Baxter, I.D., Pidgeon, C., Mehlich, M.: DMS: Program transformations for practical scalable software evolution. In: ICSE 2004: Proceedings of the 26th International Conference on Software Engineering, pp. 625–634. IEEE Computer Society Press, Washington (2004)
van Beek, D.A., Man, K.L., Reniers, M.A., Rooda, J.E., Schiffelers, R.R.H.: Syntax and consistent equation semantics of hybrid Chi. Journal of Logic and Algebraic Programming (to appear, 2005)
Bergstra, J.A., Heering, J., Klint, P. (eds.): Algebraic Specification. ACM Press/Addison-Wesley (1989)
Bergstra, J.A., Klint, P.: The discrete time ToolBus – a software coordination architecture. Science of Computer Programming 31(2-3), 205–229 (1998)
Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. In: Kirchner, C., Kirchner, H. (eds.) WRLA. ENTCS, vol. 15. Elsevier Sciences, Amsterdam (1998)
van den Brand, M.G.J., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a component-based language development environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)
van den Brand, M.G.J., van Deursen, A., Klint, P., Klusener, S., van den Meulen, E.A.: Industrial applications of ASF+SDF. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101. Springer, Heidelberg (1996)
van den Brand, M.G.J., Heering, J., Klint, P., Olivier, P.A.: Compiling language definitions: The ASF+SDF compiler. ACM Transactions on Programming Languages and Systems 24(4), 334–368 (2002)
van den Brand, M.G.J., Iversen, J., Mosses, P.D.: An action environment. Science of Computer Programming (to appear, 2005)
van den Brand, M.G.J., de Jong, H.A., Klint, P., Olivier, P.: Efficient annotated terms. Software, Practice & Experience 30, 259–291 (2000)
van den Brand, M.G.J., Klint, P., Vinju, J.J.: Term rewriting with traversal functions. ACM Transactions on Software Engineering and Methodology 12(2), 152–190 (2003)
van den Brand, M.G.J., Kooiker, A.T., Veerman, N.P., Vinju, J.J.: An industrial application of context-sensitive formatting. Technical Report SEN-R0510, Centrum voor Wiskunde en Informatica (CWI), Amsterdam (2005)
van den Brand, M.G.J., Moreau, P.-E., Vinju, J.J.: A generator of efficient strongly typed abstract syntax trees in java. IEEE Proceedings — Software 152(2), 70–79 (2005)
van den Brand, M.G.J., Scheerder, J.: Development of parsing tools for CASL using generic language technology. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 89–105. Springer, Heidelberg (2000)
van den Brand, M.G.J., Scheerder, J., Vinju, J.J., Visser, E.: Disambiguation filters for scannerless generalized LR parsers. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 143–158. Springer, Heidelberg (2002)
van den Brand, M.G.J., Sellink, M.P.A., Verhoef, C.: Generation of components for software renovation factories from context-free grammars. Science of Computer Programming 36, 209–266 (2000)
van den Brand, M.G.J., Visser, E.: Generation of formatters for context-free languages. ACM Transactions on Software Engineering and Methodology 5, 1–41 (1996)
Cleve, A., Henrard, J., Hainaut, J.-L.: Co-transformations in information system reengineering. In: Second International Workshop on Meta-Models, Schemas and Grammars for Reverse Engineering (ATEM 2004). ENTCS, vol. 137(3), pp. 5–15 (2004)
Cordy, J.R.: TXL — a language for programming language tools and applications. In: Hedin, G., van Wyk, E. (eds.) 4th International Workshop on Language Descriptions, Tools and Applications (LDTA 2004). Electronic Notes in Theoretical Computer Science, pp. 1–27. Elsevier, Amsterdam (2004)
de Jonge, M., Visser, E., Visser, J.: XT: A bundle of program transformation tools. In: van den Brand, M.G.J., Parigot, D. (eds.) Workshop on Language Descriptions, Tools and Applications (LDTA 2001). Electronic Notes in Theoretical Computer Science, vol. 44. Elsevier Science Publishers, Amsterdam (2001)
van Deursen, A., Heering, J., Klint, P. (eds.): Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing, vol. 5. World Scientific, Singapore (1996)
Doh, K.-G., Mosses, P.D.: Composing programming languages by combining action-semantics modules. Science of Computer Programming 47, 3–36 (2003)
Groote, J.F., Ponse, A.: The syntax and semantics of μCRL. In: Ponse, A., Verhoef, C., van Vlijmen, S.F.M. (eds.) Algebra of Communicating Processes 1994. Workshops in Computing Series, pp. 26–62. Springer, Heidelberg (1995)
Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism SDF: Reference manual. SIGPLAN Notices 24(11), 43–75 (1989)
Iversen, J., Mosses, P.D.: Constructive action semantics for Core ML. IEE Proceedings — Software 152(2), 79–98 (2005)
Johnson, S.C.: YACC—yet another compiler-compiler. Technical Report CS-32, AT&T Bell Laboratories, Murray Hill, N.J (1975)
de Jong, H.A., Olivier, P.A.: Generation of abstract programming interfaces from syntax definitions. Journal of Logic and Algebraic Programming 59 (April 2004)
Klint, P.: A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology 2, 176–201 (1993)
Klint, P.: A Tutorial Introduction to RScript — a Relational Approach to Software Analysis (2005), http://homepages.cwi.nl/~paulk/publications/rscript-tutorial.pdf
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
Lesk, M.E., Schmidt, E.: LEX — A lexical analyzer generator. Technical Report CS-39, AT&T Bell Laboratories, Murray Hill, N.J (1975)
Moreau, P.-E., Ringeissen, C., Vittek, M.: A pattern matching compiler for multiple target languages. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 61–76. Springer, Heidelberg (2003)
Mosses, P.D.: Action Semantics. Cambridge Tracts in Theoretical Computer Science, vol. 26. Cambridge University Press, Cambridge (1992)
Olmos, K., Visser, E.: Composing source-to-source data-flow transformations with rewriting strategies and dependent dynamic rewrite rules. In: Bodik, R. (ed.) CC 2005. LNCS, vol. 3443, pp. 204–220. Springer, Heidelberg (2005)
Reps, T., Teitelbaum, T.: The Synthesizer Generator: A System for Constructing Language-Based Editors, 3rd edn. Springer, Heidelberg (1989)
van Deursen, A.: An Algebraic Specification of the Static Semantics of Pascal. In: van Leeuwen, J. (ed.) Conference Proceedings Computing Science in the Netherlands (CSN 1991), pp. 150–164 (1991)
Veerman, N.: Revitalizing modifiability of legacy assets. Software Maintenance and Evolution: Research and Practice, Special issue on CSMR 2003 16(4–5), 219–254 (2004)
Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (1997), http://www.cs.uu.nl/people/visser/ftp/Vis97.ps.gz
Visser, E.: Stratego: A language for program transformation based on rewriting strategies. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)
Visser, E., Benaissa, Z., Tolmach, A.: Building program optimizers with rewriting strategies. In: International Conference on Functional Programming (ICFP 1998), pp. 13–26 (1998)
Waddington, D.G., Yao, B.: High-fidelity C/C++ code transformation. In: Boyland, J., Hedin, G. (eds.) Fifth Workshop on Language Descriptions, Tools and Applications, pp. 6–26 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
van den Brand, M.G.J. (2006). Applications of the Asf+Sdf Meta-Environment. In: Lämmel, R., Saraiva, J., Visser, J. (eds) Generative and Transformational Techniques in Software Engineering. GTTSE 2005. Lecture Notes in Computer Science, vol 4143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11877028_9
Download citation
DOI: https://doi.org/10.1007/11877028_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-45778-7
Online ISBN: 978-3-540-46235-4
eBook Packages: Computer ScienceComputer Science (R0)