Exercise Generation on Language Specification

Exercise generation on language specification is a challenging problem, because of the richness of the objects in the domain. In this paper we discuss Mgbeg (Meta-Grammar-Based Exercise Generator) – a toolkit for exercise generation on context-free languages. Mgbeg approach is based on a meta-grammar formalism and tool, used to define a set of similar exercises. Mgbeg is simple attributed grammar used to describe the set of valid exercise (and randomly generate one of them). Each exercise typically contains several attributes calculated during the generation steps: namely, one or more formal specification of the language (context free grammar); the exercise statement; other information such as examples, common mistakes, validation data, to be used in the construction of the exercise statement, solution, and assessment steps. Complementary the toolkit provides a grammar module, with functionality for grammar comparison, sentence generation and recognition; a template engine (to help in textual attributes calculation).

[1]  Arto Salomaa,et al.  Formal languages , 1973, Computer science classics.

[2]  Richard M. Stallman,et al.  Bison: The Yacc-Compatible Parser Generator , 2015 .

[3]  Mei Eisenbach André Eisenbach phpSyntaxTree - drawing syntax trees made easy , 2003 .

[4]  Quinn Tyler Jackson Disambiguation as a Quantifiable Computational Process , 2000 .

[5]  Georgi Smirnov,et al.  Math exercise generation and smart assessment , 2013, 2013 8th Iberian Conference on Information Systems and Technologies (CISTI).

[6]  Patrick Cousot,et al.  Grammar Analysis and Parsing by Abstract Interpretation , 2006, Program Analysis and Compilation.

[7]  Arto Salomaa,et al.  Automata-Theoretic Aspects of Formal Power Series , 1978, Texts and Monographs in Computer Science.

[8]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[9]  José João Almeida,et al.  Context-Free Grammars: Exercise Generation and Probabilistic Assessment , 2016, SLATE.