Skip to main content

Catalog of grammar refactoring patterns

Abstract

Grammar dependent software development and automated grammar transformations have received considerable attention in recent years. This paper presents our catalog of six grammar refactoring patterns that specify the solutions to commonly occurring refactoring problems in the field of grammarware engineering. Patterns are formally specified using extended version of pLERO language, designed specifically for this purpose, while chosen pLERO extensions are also discussed.

This is a preview of subscription content, access via your institution.

References

  1. [1]

    I. Halupka, J. Kollár, Evolutionary algorithm for automated task-driven grammar refactoring, In proceedings of: International Scientific Conference on Computer Science and Engineering (CSE’2012), Stará Lesná, Slovakia, October 3–5, 2012 (FEI TUKE, Košice, Slovakia) 47–54

  2. [2]

    I. Halupka, J. Kollár, E. Pietriková, A Task-driven Grammar Refactoring Algorithm, Acta Polytechnica 52(5), 51–57, 2012

    Google Scholar 

  3. [3]

    J. Kollár, I. Halupka, Role of Patterns in Automated Task-Driven Grammar Refactoring, In proceedings of: 2nd Symposium on Languages, Applications and Technologies (SLATE’13), Porto, Portugal, June 20–21, 2013 (Schloss Dagstuhl — Leibniz-Zentrum fuer Informatik, Wadern, Germany, 2013) 171–186

    Google Scholar 

  4. [4]

    J. Kollár, I. Halupka, S. Chodarev et al., pLERO: Language for Grammar Refactoring Patterns, In proceedings of: 4th Workshop on Advances in Programming Languages (WAPL’13), Kraków, Poland, September 8–11, 2013 (IEEE Computer Society Press, Los Alamitos, USA) 1503–1510

  5. [5]

    F. Buschmann, R. Meunier, H. Rohnert et al., Pattern-Oriented Software Architecture: A System of Patterns (John Wiley & Sons, Inc., New York, USA, 1996)

    Google Scholar 

  6. [6]

    M. Sipser, Introduction to the Theory of Computation, 1st ed. (International Thomson Publishing, Boston, USA, 1996)

    Google Scholar 

  7. [7]

    N.A. Kraft, E.B. Duffy, B.A. Malloy, Grammar Recovery from Parse Trees and Metrics-Guided Grammar Refactoring, IEEE T. Soft. Eng. 35(6), 780–794, 2009

    Article  Google Scholar 

  8. [8]

    R. Lämmel, Grammar Adaptation, In proceedings of: International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity (FME’01), Berlin, Germany, 11–15 March, 2001 (Springer Verlag, Berlin, Heidelberg, Germany) 550–570

  9. [9]

    R. Lämmel, V. Zaytsev, An Introduction to Grammar Convergence, In proceedings of: 7th International Conference on Integrated Formal Methods (IFM’2009), Düsseldorf, Germany, February 16–19, 2009 (Springer Verlag, Berlin, Heidelberg, Germany) 246–260

  10. [10]

    K.C. Louden, Compiler Construction: Principles and Practice (PWS Publishing, Boston, USA, 1997)

    Google Scholar 

  11. [11]

    W. Lohmann, G. Riedewald, M. Stoy, Semantics-preserving Migration of Semantic Rules During Left Recursion Removal in Attribute Grammars, Electron. Notes Theor. Comput. Sci. 110, 133–148, 2004

    Article  Google Scholar 

  12. [12]

    V. Zaytsev, Micropatterns in Grammars, In proceedings of: Sixth International Conference on Software Language Engineering (SLE’2013), Indianapolis, USA, October 27–28, 2013 (Springer International Publishing, Cham, Switzerland) 117–136

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Ivan Halupka.

About this article

Verify currency and authenticity via CrossMark

Cite this article

Halupka, I., Kollár, J. Catalog of grammar refactoring patterns. centr.eur.j.comp.sci. 4, 231–241 (2014). https://doi.org/10.2478/s13537-014-0212-7

Download citation

Keywords

  • grammar refactoring
  • refactoring patterns
  • pLERO language