The process of grammar convergence involves grammar extraction and transformation for structural equivalence and contains a range of technical challenges. These need to be addressed in order for the method to deliver useful results. The paper describes a DSL and the infrastructure behind it that automates the convergence process, hides negligible back-end details, aids development/debugging and enables application of grammar convergence technology to large scale projects. The necessity of having a strong framework is explained by listing case studies. Domain elements such as extractors and transformation operators are described to illustrate the issues that were successfully addressed.


Abstract Syntax Parse Tree Transformation Operator Concrete Syntax Transformation Chain 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baxter, I.D., Pidgeon, C.W.: Software Change through Design Maintenance. In: Proceedings of the International Conference on Software Maintenance, ICSM 1997, Washington, DC, USA, p. 250. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  2. 2.
    Bezivin, J., Jouault, F., Valduriez, P.: On the Need for Megamodels. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development at the 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, Vancouver, British Columbia, Canada (October 2004)Google Scholar
  3. 3.
    Cordy, J.R.: The TXL Source Transformation Language. Science of Computer Programming 61(3), 190–210 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Falleri, J.-R., Huchard, M., Lafourcade, M., Nebut, C.: Metamodel Matching for Automatic Model Transformation Generation. In: Busch, C., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 326–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Gao, S., Sperberg-McQueen, C.M., Thompson, H.S., Mendelsohn, N., Beech, D., Maloney, M.: W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures. In: W3C Candidate Recommendation (April 30, 2009)Google Scholar
  6. 6.
    Gosling, J., Joy, B., Steele, G.L.: The Java Language Specification. Addison-Wesley, Reading (1996)zbMATHGoogle Scholar
  7. 7.
    Gosling, J., Joy, B., Steele, G.L., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)zbMATHGoogle Scholar
  8. 8.
    Gosling, J., Joy, B., Steele, G.L., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley, Reading (2005)zbMATHGoogle Scholar
  9. 9.
    Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The Syntax Definition Formalism SDF—Reference Manual. ACM SIGPLAN Notices 24(11), 43–75 (1989)CrossRefGoogle Scholar
  10. 10.
    JCP JSR 31. JAXB 2.0/2.1 — Java Architecture for XML Binding (2008)Google Scholar
  11. 11.
    Klint, P.: A Meta-Environment for Generating Programming Environments. ACM Transactions on Software Engineering and Methodology (TOSEM) 2(2), 176–201 (1993)CrossRefGoogle Scholar
  12. 12.
    Klusener, S., Zaytsev, V.: ISO/IEC JTC1/SC22 Document N3977—Language Standardization Needs Grammarware (2005),
  13. 13.
    Kort, J., Lämmel, R., Verhoef, C.: The Grammar Deployment Kit. In: van den Brand, M.G.J., Lämmel, R. (eds.) Electronic Notes in Theoretical Computer Science, vol. 65. Elsevier Science Publishers, Amsterdam (2002)Google Scholar
  14. 14.
    Lämmel, R., Verhoef, C.: Semi-automatic Grammar Recovery. Software—Practice & Experience 31(15), 1395–1438 (2001)CrossRefzbMATHGoogle Scholar
  15. 15.
    Lämmel, R., Zaytsev, V.: An Introduction to Grammar Convergence. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 246–260. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Lämmel, R., Zaytsev, V.: Recovering Grammar Relationships for the Java Language Specification. In: Ninth IEEE International Working Conference on Source Code Analysis and Manipulation, pp. 178–186. IEEE, Los Alamitos (September 2009); Full version for Software Quality Journal is in printCrossRefGoogle Scholar
  17. 17.
    Object Management Group: MOF 2.0/XMI Mapping, 2.1.1 edn. (December 2007)Google Scholar
  18. 18.
    Parr, T.: ANTLR—ANother Tool for Language Recognition (2008)Google Scholar
  19. 19.
    Rahm, E., Bernstein, P.A.: A Survey of Approaches to Automatic Schema Matching. VLDB Journal 10(4), 334–350 (2001)CrossRefzbMATHGoogle Scholar
  20. 20.
    Sellink, A., Verhoef, C.: Generation of Software Renovation Factories from Compilers. In: Proceedings of 15th International Conference on Software Maintenance (ICSM 1999), pp. 245–255 (1999)Google Scholar
  21. 21.
    Tiarks, R., Koschke, R., Falke, R.: An Assessment of Type-3 Clones as Detected by State-of-the-Art Tools. In: 9th IEEE International Working Conference on Source Code Analysis and Manipulation, pp. 67–76. IEEE, Los Alamitos (September 2009)Google Scholar
  22. 22.
    Zaytsev, V.: XBGF Manual: BGF Transformation Operator Suite v.1.0 (August 2009),
  23. 23.
    Zaytsev, V., Lämmel, R.: Language Documentation: Survey and Synthesis of a Unified Format. Submitted for publication; online since (July 7, 2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Vadim Zaytsev
    • 1
  1. 1.Software Languages TeamUniversität Koblenz-LandauGermany

Personalised recommendations