Annotation based parser generator

The paper presents innovative parser construction method and parser generator prototype which generates a computer language parser from a set of annotated classes in contrast to classic parser generators which specify concrete syntax of a computer language using BNF notation. In the presented approach a language with textual concrete syntax is defined upon the abstract syntax definition extended with source code annotations. The process of parser implementation is presented on selected concrete computer language - the Simple Arithmetic Language. The paper summarizes results of the studies of implemented parser generator and describes its role in the university courses.

[1]  J. Clark,et al.  RELAX NG specification , 2001 .

[2]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[3]  Maria João Varanda Pereira,et al.  Program comprehension for domain-specific languages , 2008, Comput. Sci. Inf. Syst..

[4]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[5]  Oasis RELAX NG Specification , 2001 .

[6]  Jean-Marc Jézéquel,et al.  Model-driven analysis and synthesis of textual concrete syntax , 2008, Software & Systems Modeling.

[7]  Ján Kollár,et al.  Data-driven executable language model , 2009, 2009 International Multiconference on Computer Science and Information Technology.

[8]  Steve Cook,et al.  Domain-Specific Development with Visual Studio DSL Tools , 2007 .

[9]  A. G. Kleppe,et al.  A Language Description is More than a Metamodel , 2007 .

[10]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[11]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[12]  Eric van der Vlist,et al.  Relax NG , 2003 .

[13]  Viera Rozinajová,et al.  Intelligent Information Processing in Semantically Enriched Web , 2009, ISMIS.

[14]  Patrick D. Terry,et al.  Compiling with C# and Java , 2004 .

[15]  Vasian Cepa Attribute Enabled Software Development , 2007 .

[16]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[17]  Maria João Varanda Pereira,et al.  Automatic generation of language-based tools using the LISA system , 2005, IEE Proc. Softw..