Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4143))

  • 797 Accesses

Abstract

Syntactic analysis lies at the heart of many transformation tools. Grammars are used to provide a structure to guide the application of transformations. Agile parsing is a technique in which grammars are adapted on a transformation by transformation basis to simplify transformation tasks. This paper gives an overview of agile parsing techniques, and how they may be applied to Web Applications. We give examples from several transformations that have been used in the Web application domain.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Badros, G.: JavaML: a Markup Language for Java source code. Computer Networks 33(6), 159–177 (2000)

    Article  Google Scholar 

  2. Canada, B.: Datrix Abstract Semantic Graph: Reference Manual, version 1.4, Bell Canada Inc., Montreal Canada, May 01 (2000)

    Google Scholar 

  3. van den Brand, M., van Deursen, A., Heering, J., de Jong, H., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P., Scheerder, J., Vinju, J., Visser, C., 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)

    Chapter  Google Scholar 

  4. van den Brand, M., Heering, J., Klint, P., Olivier, P.: Compiling Rewrite Systems: The ASF+SDF Compiler. ACM Transactions on Programming Languages and Systems 24(4), 334–368 (2002)

    Article  Google Scholar 

  5. van Deursen, A., Kuipers, T.: Building Documentation Generators. In: Proc. International Conference on Software Maintenance (ICSM 1999), Oxford, England, pp. 40–49 (1999)

    Google Scholar 

  6. Baxter, I.D., Pidgeon, C.W.: Software Change Through Design Maintenance. In: Proc. 1997 International Conference on Software Maintenance, Bari, Italy, pp. 250–259 (1997)

    Google Scholar 

  7. Cordy, J.R., Halpern, C.D., Promislow, E.: TXL: A Rapid Prototyping System for Programming Language Dialects. Computer Languages 16(1), 97–107 (1991)

    Article  Google Scholar 

  8. Cordy, J.R.: TXL - A Language for Programming Language Tools and Applications. In: Proc. LDTA 2004, ACM 4th International Workshop on Language Descriptions, Tools and Applications, Edinburg, Scotland, pp. 3–31 (January 2005)

    Google Scholar 

  9. Cordy, J.R., Schneider, K., Dean, T., Malton, A.: HSML: Design Directed Source Code Hot Spots. In: Proc. 9th International Workshop on Program Comprehension (IWPC 2001), Toronto, Canada, pp. 145–154 (2001)

    Google Scholar 

  10. Cordy, J., Dean, T., Malton, A., Schneider, K.: Source Transformation in Software Engineering using the TXL Transformation System. Special Issue on Source Code Analysis and Manipulation, Journal of Information and Software Technology 44(13), 827–837 (2002)

    Google Scholar 

  11. Cordy, J.R., Dean, T., Synytskyy, N.: Practical Language-Independent Detection of Near-Miss Clones. In: Proc. 14th IBM Center for Advanced Studies Conference, Toronto, Canada, pp. 29–40 (October 2004)

    Google Scholar 

  12. Dean, T., Cordy, J., Schneider, K., Malton, A.: Experience Using Design Recovery Techniques to Transform Legacy Systems. In: Proc. International Conference on Software Maintenance (ICSM 2001), Florence, Italy, pp. 622–631 (2001)

    Google Scholar 

  13. Dean, T.R., Cordy, J.R., Malton, A.J., Schneider, K.A.: Agile Parsing in TXL. Journal of Automated Software Engineering 10(4), 311–336 (2003)

    Article  Google Scholar 

  14. Guo, X., Cordy, J., Dean, T.: Unique Renaming in Java. In: 3rd International Workshop on Source Code Analysis and Manipulation, Amsterdam, Netherlands (September 2003)

    Google Scholar 

  15. Hassan, A.E., Holt, R.C.: Migrating Web Frameworks Using Water Transformations. In: Proceedings of COMPSAC 2003: International Computer Software and Application Conference, Dallas, Texas, USA, pp. 296–303 (November 2003)

    Google Scholar 

  16. Li, X.: Defining and Visualizing Web Application Slices, M.Sc. Thesis, School of Computing, Queen’s University (2004)

    Google Scholar 

  17. Malton, A.J., Schneider, K.A., Cordy, J.R., Dean, T.R., Cousineau, D., Reynolds, J.: Processing Software Source Text in Automated Design Recovery and Transformation. In: Proc. 9th International Workshop on Program Comprehension (IWPC 2001), Toronto, Canada, pp. 127–134 (2001)

    Google Scholar 

  18. Moonen, L.: Generating Robust Parsers using Island Grammars. In: Proc. 8th Working Conference on Reverse Engineering (WCRE 2001), Stuttgart, Germany, pp. 13–22 (2001)

    Google Scholar 

  19. Moonen, L.: Lightweight Impact using Island Grammars. In: Proceedings 10th International Workshop on Program Comprehension (IWPC 2002), Paris, France, pp. 343–352 (2002)

    Google Scholar 

  20. Neighbors, J.: The Draco Approach to Constructing Software from Reusable Components. IEEE Transactions on Software Engineering 10(5), 564–574 (1984)

    Article  Google Scholar 

  21. Reasoning Systems, Refine User’s Manual, Palo Alto, California (1992)

    Google Scholar 

  22. Synytskyy, N., Cordy, J.R., Dean, T.: Resolution of Static Clones in Dynamic Web Pages. In: Proc. IEEE 5th International Workshop on Web Site Evolution, Amsterdam, pp. 49–58 (September 2003)

    Google Scholar 

  23. Synytskyy, Mykyta, Cordy, J., Dean, T.: Robust Multilingual Parsing Using Island Grammars. In: Proc. IBM Center for Advanced Studies Conference, Toronto, Canada (November 2003)

    Google Scholar 

  24. Tennent, A.: Semantics of Programming Langauges. Prentice Hall, Englewood Cliffs (1990)

    Google Scholar 

  25. Visser, E.: Stratego: A Language for Program Transformation Based on Rewriting Strategies. System description of Stratego 0.5. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  26. Xu, S., Dean, T.: Transforming Embedded Java Code into Custom Tags. In: Proc. 5th International Worshop on Source Code Analysis and Manipulation, Budapest, Hungary, pp. 173–182 (October 2005)

    Google Scholar 

  27. Xu, S.: Modernizing Java ServerPages by Transformation, M.Sc. Thesis, School of Computing, Queen’s Univeristy (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Dean, T., Synytskyy, M. (2006). Agile Parsing to Transform Web Applications. 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_11

Download citation

  • DOI: https://doi.org/10.1007/11877028_11

  • 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)

Publish with us

Policies and ethics