Advertisement

A Language Specification Tool for Model-Based Parsing

  • Luis Quesada
  • Fernando Berzal
  • Juan-Carlos Cubero
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6936)

Abstract

Typically, formal languages are described by providing a textual BNF-like notation specification, which is then manually annotated for syntax-directed translation. When the use of an explicit model is required, its implementation requires the development of the conversion steps between the model and the grammar, and between the parse tree and the model instance. Whenever the language specification is modified, the developer has to manually propagate changes throughout the entire language processor pipeline. These updates are time-consuming, tedious, and error-prone. Besides, in the case that different applications use the same language, the developer has to maintain several copies of the same language specification. In this paper, we introduce a model-based parser generator that decouples language specification from language processing, hence avoiding many of the problems caused by grammar-driven parsers and parser generators.

Keywords

Language specification parser generator Model-Driven Software Development (MDSD) 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison Wesley, Reading (2006)zbMATHGoogle Scholar
  2. 2.
    Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation, and Compiling, Volume I: Parsing & Volume II: Compiling. Prentice Hall, Englewood Cliffs (1972)Google Scholar
  3. 3.
    Chomsky, N.: Three models for the description of language. IRE Transactions on Information Theory 2, 113–123 (1956)CrossRefzbMATHGoogle Scholar
  4. 4.
    Crescenzi, V., Mecca, G.: Automatic information extraction from large websites. Journal of the ACM 51, 731–779 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Earley, J.: An efficient context-free parsing algorithm. Communications of the ACM 26, 57–61 (1983)CrossRefzbMATHGoogle Scholar
  6. 6.
    Ehrig, H., Taentzer, G.: Graphical representation and graph transformation. ACM Computing Surveys 31(9) (1999)Google Scholar
  7. 7.
    Fowler, M.: Domain-Specific Languages. Addison-Wesley Signature Series (Fowler) (2010)Google Scholar
  8. 8.
    Hudak, P.: Building domain-specific embedded languages. ACM Computing Surveys 28, 196 (1996)CrossRefGoogle Scholar
  9. 9.
    Jurafsky, D., Martin, J.H.: Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, 2nd edn. Prentice Hall, Englewood Cliffs (2009)Google Scholar
  10. 10.
    Kasami, T., Torii, K.: A syntax-analysis procedure for unambiguous context-free grammars. Journal of the ACM 16, 423–431 (1969)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Kats, L.C.L., Visser, E., Wachsmuth, G.: Pure and declarative syntax definition: paradise lost and regained. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2010), pp. 918–932 (2010)Google Scholar
  12. 12.
    Klein, D., Manning, C.D.: Corpus-based induction of syntactic structure: Models of dependency and constituency. In: Proceedings of the 42nd Annual Meeting on Association for Computational Linguistics (ACL 2004), pp. 479–486 (2004)Google Scholar
  13. 13.
    Kleppe, A.: Towards the generation of a text-based IDE from a language metamodel. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA. LNCS, vol. 4530, pp. 114–129. Springer, Heidelberg (2007)Google Scholar
  14. 14.
    Knuth, D.E.: On the translation of languages from left to right. Information and Control 8, 607–639 (1965)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Levine, J.R., Mason, T., Brown, D.: Lex & yacc, 2nd edn. O’Reilly, Sebastopol (1992)Google Scholar
  16. 16.
    McManis, C.: Looking for lex and yacc for java? you don’t know jack. JavaWorld (1996), http://www.javaworld.com/javaworld/jw-12-1996/jw-12-jack.html
  17. 17.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Computing Surveys 37, 316–344 (2005)CrossRefGoogle Scholar
  18. 18.
    Parr, T.J., Quong, R.W.: Antlr: A predicated-ll(k) parser generator. Software Practice and Experience 25, 789–810 (1995)CrossRefGoogle Scholar
  19. 19.
    Porubän, J., Forgáč, M., Sabo, M.: Annotation based parser generator. In: Proceedings of the International Multiconference on Computer Science and Information Technology, vol. 4, pp. 705–712. IEEE Computer Society Press, Los Alamitos (2009)Google Scholar
  20. 20.
    Rosenkrantz, D.J., Stearns, R.E.: Properties of deterministic top-down grammars. Information and Control 17, 226–256 (1970)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Schmidt, D.C.: Model-driven engineering. IEEE Computer 39, 25–31 (2006)CrossRefGoogle Scholar
  22. 22.
    Tan, P.-N., Kumar, V.: Introduction to Data Mining. Addison Wesley, Reading (2006)Google Scholar
  23. 23.
    Turmo, J., Ageno, A., Cataà, N.: Adaptive information extraction. ACM Computing Surveys 38(4) (2006)Google Scholar
  24. 24.
    Younger, D.H.: Recognition and parsing of context-free languages in time n 3. Information and Control 10, 189–208 (1967)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Luis Quesada
    • 1
  • Fernando Berzal
    • 1
  • Juan-Carlos Cubero
    • 1
  1. 1.Department of Computer Science and Artificial Intelligence, CITICUniversity of GranadaGranadaSpain

Personalised recommendations