Bibliography

[ASU86] A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley1986.

[AU73] A.V. Aho and J.D. Ullman. The theory of parsing, translation, and compiling. Prentice-Hall, Englewood Cliffs (NJ)1972--73. Vol. I. Parsing. Vol II. Compiling.

[AZ05] P. Anderson and M. Zarins. The CodeSurfer software understanding platform. Proceedings of the 13th International Workshop on Program Comprehension (IWPC'05). . 2005. 147--148. IEEE

[BBK+07] E. Balland, P. Brauner, R. Kopetz, P.-E. Moreau, and A. Reilles. Tom: Piggybacking rewriting on Java. Proceedings of the 18th Conference on Rewriting Techniques and Applications (RTA'07). . LNCS. 4533. 2007. 36--47. Springer-Verlag

[BDH+01] M.G.J. van den Brand, A. van Deursen, J. Heering, H.A. de Jong, M. de Jonge, T. Kuipers, P. Klint, L. Moonen, P.A. Olivier, J. Scheerder, J.J. Vinju, E. Visser, and J. Visser. The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. Compiler Construction (CC '01). . R. Wilhelm. LNCS. 2027. 2001. 365--370. Springer-Verlag

[BHK89] J. A. Bergstra, J. Heering, and P. Klint. Algebraic Specification. ACM Press/Addison-Wesley1989.

[BHKO02] M.G.J. van den Brand, J. Heering, P. Klint, and P.A. Olivier. Compiling language definitions: The asf+sdf compiler. http://doi.acm.org/10.1145/567097.567099. ACM Transactions on Programming Languages and Systems. 24. 4. 2002. 334--368.

[BJKO00] M.G.J. van den Brand, H.A. de Jong, P. Klint, and P. Olivier. Efficient Annotated Terms. Software, Practice & Experience. 30. 2000. 259--291.

[BK94] J.A. Bergstra and P. Klint. The toolbus: a component interconnection architecture. Technical ReportP9408. University of Amsterdam, Programming Research Group. 1994.

[BK95] J.A. Bergstra and P. Klint. The discrete time toolbus. Technical ReportP9502. University of Amsterdam, Programming Research Group. 1995.

[BK98] J.A. Bergstra and P. Klint. The discrete time ToolBus -- a software coordination architecture. Science of Computer Programming. 31. 2-3. July 1998. 205--229.

[BK07] M.G.J. van den Brand and P. Klint. Aterms for manipulation and exchange of structured data: It's all about sharing. Information and Software Technology. 49. 1. 2007. 55--64.

[BKK+98] P. Borovansky, C. Kirchner, H. Kirchner, P.-E. Moreau, and C. Ringeissen. An overview of ELAN. Proceedings of the 2nd International Workshop on Rewriting Logic and its Applications (WRLA'98). . C. Kirchner and H. Kirchner. 15. 1998. 55--70. Electronic Notes in Theoretical Computer Science

[BKMV03] M.G.J. van den Brand, A.S. Klusener, L. Moonen, and J.J. Vinju. Generalized parsing and term rewriting: Semantics driven disambiguation. Proceedings of the Third Workshop on Language Descriptions. . B. Bryant and J. Saraiva. Electronic Notes in Theoretical Computer Science. 82. 2003. Elsevier

[BKV03] M.G.J. van den Brand, P. Klint, and J.J. Vinju. Term rewriting with traversal functions. ACM Transactions on Software Engineering Methodology. 12. 2. 2003. 152--190.

[BKVV05] M.G.J. van den Brand, A.T. Kooiker, J.J. Vinju, and N.P. Veerman. An Architecture for Context-Sensitive Formatting. ICSM '05: Proceedings of the 21st IEEE International Conference on Software Maintenance. . 2005. 631--634. IEEE Computer Society

[BKVV06] M.G.J. van den Brand, A.T. Kooiker, J.J. Vinju, and N.P. Veerman. A Language Independent Framework for Context-sensitive Formatting. CSMR '06: Proceedings of the Conference on Software Maintenance and Reengineering. Washington, DC, USA. . 2006. 103--112. IEEE Computer Society Press

[BKVV08] M. Bravenboer, K. Trygve Kalleberg, R. Vermaas, and E. Visser. Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming. 72. 1-2. June 2008. 52--70.

[BMV05] M.G.J. van den Brand, P.E. Moreau, and J.J. Vinju. A generator of efficient strongly typed abstract syntax trees in java. IEE Proceedings-Software. 152. 2. 2005. 70--78.

[BN98] F. Baader and T. Nipkow. Term Rewriting and All That. Cambridge University Press1998.

[BNL05] D. Beyer, A Noack, and C. Lewerentz. Efficient relational calculation for software analysis. IEEE Trans Software Engineering. 31. 2. 2005. 137--149.

[BPM04] I. Baxter, P. Pidgeon, and M. Mehlich. DMS: Program transformations for practical scalable software evolution. Proceedings of the International Conference on Software Engineering (ICSE'04). . 2004. 625--634. IEEE

[BV96] M.G.J. van den Brand and E. Visser. Generation of formatters for context-free languages. ACM Transactions on Software Engineering and Methodology. 5. 1996. 1--41.

[BVSV02] M.G.J. van den Brand, J.J. Vinju, J. Scheerder, and E. Visser. Disambiguation filters for scannerless generalized lr parsers. Proceedings of the 11th International Conference on Compiler Construction (CC'02). . 2002. 143--158.

[CFS07] Philippe Charles, Robert M. Fuhrer, and Stanley M. Sutton Jr.. IMP: a meta-tooling platform for creating language-specific IDEs in eclipse. Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'07). . R. E. Kurt Stirewalt, Alexander Egyed, and Bernd Fischer. 2007. 485--488. ACM

[Cho56] N. Chomsky. Three models for the description of language. IRE Transactions on Information Theory. IT-2:3. 1956. 113--124.

[Cor06] J. R. Cordy. The TXL source transformation language. Science of Computer Programming. 61. 3. August 2006. 190--210.

[Cou84] J. Coutaz. The box, a layout abstraction for user interface toolkits. Technical ReportCMU-CS-84-167. Carnegie Mellon University. 1984.

[DHK96] A. van Deursen, J. Heering, and P. Klint. Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing. 5. World Scientific Publishing Co.1996.

[dJ00] M. de Jonge. A pretty-printer for every occasion. Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (CoSET2000). Wollongong, Australia. . I. Ferguson, Gray J, and L. Scott. June 2000. 68--77.

[dJ02] M. de Jonge. Pretty-printing for software engineering. Proceedings International Conference on Software Maintenance (ICSM 2002). IEEE. . October 2002. 550--559.

[dJ07] H.A. de Jong. Flexible Heterogeneous Software Systems. PhD thesis. University of Amsterdam. 2007.

[dJK03] H.A. de Jong and P. Klint. Toolbus: the next generation. Formal Methods for Components and Objects. . F.S. de Boer, M. Bonsangue, S. Graf, and W.P de Roever. LNCS. 2852. 2003. 220--241. Springer

[dMSV+08] O. de Moor, D. Sereni, M. Verbaere, E. Hajiyev, P. Avgustinov, T. Ekman, N. Ongkingco, and J. Tibble. .QL: Object-oriented queries made easy. Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007, Braga, Portugal, July 2-7, 2007. Revised Papers. . R. Lämmel, J. Visser, and J. Saraiva. LNCS. 5235. 2008. 78--133. Springer

[FKO98] L.M.G. Feijs, R. Krikhaar, and R.C. Ommering. A relational approach to support software architecture analysis. Software Practice and Experience. 28. 4. april 1998. 371--400.

[GJ90] D. Grune and C.J.H Jacobs. Parsing Techniques -- A Practical Guide. Ellis Horwood1990.

[Hen91] P.R.H. Hendriks. Implementation of Modular Algebraic Specifications. PhD thesis. University of Amsterdam. 1991.

[HHKR89] J. Heering, P.R.H. Hendriks, P. Klint, and J. Rekers. The syntax definition formalism SDF - reference manual. SIGPLAN Notices. 24. 11. 1989. 43--75.

[HK86] J. Heering and P. Klint. A Syntax Definition Formalism. 619--630. ESPRIT'86: Results and Achievements. North-Holland1986.

[HKR90] J. Heering, P. Klint, and J. Rekers. Incremental generation of parsers. IEEE Transactions on Software Engineering. 16. 12. 1990. 1344--1350.

[HKR92] J. Heering, P. Klint, and J. Rekers. Incremental generation of lexical scanners. http://doi.acm.org/10.1145/133233.133240. ACM Trans. Program. Lang. Syst.. 14. 4. 1992. 490--520.

[HM03] G. Hedin and E. Magnusson. The JastAdd system -- an aspect-oriented compiler construction system. Science of Computer Programming. 2003. 37--58.

[Hol96] R.C. Holt. Binary relational algebra applied to software architecture. CSRI345. University of Toronto. march 1996.

[Hol08] R. C. Holt. Grokking software architecture. Proceedings of the 15th Working Conference on Reverse Engineering (WCRE'08). . 2008. 5--14. IEEE

[JO04] H.A. de Jong and P.A. Olivier. Generation of abstract programming interfaces from syntax definitions. Journal of Logic and Algebraic Programming. 50. 4. 2004. 35--61.

[JR94] D.J. Jackson and E.J. Rollins. A new model of program dependences for reverse engineering. Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering. . ACM SIGSOFT Software Engineering Notes. 19. 1994. 2--10.

[Kli93] P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology. 2. 2. April 1993. 176--201.

[Kli03] P. Klint. How understanding and restructuring differ from compiling---a rewriting perspective. Proceedings of the 11th International Workshop on Program Comprehension (IWPC03). . 2003. 2--12. IEEE Computer Society

[Kli08] P. Klint. Using Rscript for software analysis. Working Session on Query Technologies and Applications for Program Comprehension (QTAPC 2008). . 2008.

[KN96] E. Koutsofios and S.C. North. Drawing graphs with dot. Technical report. AT&T Bell Laboratories. Murray Hill, NJ. 1996. See also www.graphviz.org.

[Kri99] R.L. Krikhaar. Software Architecture Reconstruction. PhD thesis. University of Amsterdam. 1999.

[KvdSV09] P. Klint, T. van der Storm, and J.J. Vinju. RASCAL: A domain specific language for source code analysis and manipulation. IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'09). Los Alamitos, CA, USA. . 2009. 168--177. IEEE Computer Society

[McC76] T.J. McCabe. A complexity measure. IEEE Transactions on Software Engineering. SE-12. 3. 1976. 308--320.

[MCC86] E. Morcos-Chounet and A. Conchon. PPML: a general formalism to specify pretty printing. Information Processing 86. H.-J. Kugler. Elsevier1986.

[MK88] H. Müller and K. Klashinsky. Rigi -- a system for programming-in-the-large. Proceedings of the 10th International Conference on Software Engineering (ICSE 10). . April 1988. 80--86.

[Oli00] P.A. Olivier. A Framework for Debugging Heterogeneous Applications. PhD thesis. University of Amsterdam. 2000.

[Par07] T. Parr. The Definitive ANTLR Reference: Building Domain-Specific Languages. Pragmatic Bookshelf,2007.

[Rek92] J. Rekers. Parser Generation for Interactive Environments. PhD thesis. University of Amsterdam. 1992. ftp://ftp.cwi.nl/pub/gipe/reports/Rek92.ps.Z. ftp://ftp.cwi.nl/pub/gipe/reports/Rek92.ps.Z.

[Ter03] Terese. Term Rewriting Systems. Cambridge University Press2003.

[Tip95] F. Tip. A survey of program slicing techniques. Journal of Programming Languages. 3. 3. 1995. 121--189.

[vdBBE+07] M.G.J. van den Brand, M. Bruntink, G.R. Economopoulos, H.A. de Jong, P. Klint, T. Kooiker, T. van der Storm, and J.J. Vinju. Using The Meta-environment for Maintenance and Renovation. Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR'07). . 2007. 331--332. IEEE Computer Society Press

[Vin05] J.J. Vinju. Analysis and Transformation of Source Code by Parsing and Rewriting. PhD thesis. University of Amsterdam. November 2005.

[Vis97] E. Visser. Syntax Definition for Language Prototyping. PhD thesis. University of Amsterdam. 1997.

[Vos90] K. Vos. For an easy touch of beauty. Master's thesis. University of Amsterdam. 1990.

[Wal91] H.R. Walters. On Equal Terms --- Implementing Algebraic Specifications. PhD thesis. University of Amsterdam. 1991.

[Wei84] M. Weiser. Program slicing. IEEE Transactions on Software Engineering. SE-10. 4. July 1984. 352--357.