Bibliography

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

[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.

[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. 365--370. Compiler Construction (CC '01). . R. Wilhelm. Lecture Notes in Computer Science. <seriesvolnum>2027</seriesvolnum>2001. Springer-Verlag.

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

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

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

[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. 205--229. Science of Computer Programming. 31. 2-3. July 1998.

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

[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. <seriesvolnum>82</seriesvolnum>2003. Elsevier.

[BKV03] M.G.J. van den Brand, P. Klint, and J.J. Vinju. Term rewriting with traversal functions. 152--190. http://doi.acm.org/10.1145/941566.941568. ACM Trans. Softw. Eng. Methodol.. 12. 2. 2003.

[BKVV05] M.G.J. van den Brand, A.T. Kooiker, J.J. Vinju, and N.P. Veerman. An Architecture for Context-Sensitive Formatting. 631--634. ICSM '05: Proceedings of the 21st IEEE International Conference on Software Maintenance. . 2005. 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. 103--112. CSMR '06: Proceedings of the Conference on Software Maintenance and Reengineering. Washington, DC, USA. . 2006. IEEE Computer Society Press.

[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. 70--78. IEE Proceedings-Software. 152. 2. 2005.

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

[BNL03] D. Beyer, A Noack, and C. Lewerentz. Simple and efficient relational querying of software structures. Proceedings of the 10th IEEE Working Conference on Reverse Engineering (WCRE 2003). . 2003. To appear.

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

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

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

[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. <seriesvolnum>5</seriesvolnum>World Scientific Publishing Co.. 1996.

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

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

[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. 220--241. Formal Methods for Components and Objects. . F.S. de Boer, M. Bonsangue, S. Graf, and W.P de Roever. Lecture Notes in Computer Science. <seriesvolnum>2852</seriesvolnum>2003. Springer.

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

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

[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. 43--75. SIGPLAN Notices. 24. 11. 1989.

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

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

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

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

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

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

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

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

[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.

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

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

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

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

[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 Press. 2003.

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

[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. 352--357. IEEE Transactions on Software Engineering. SE-10. 4. July 1984.