The XMG systems


eXtensible MetaGrammar (XMG for short) refers to a description language designed around 2003, and aiming at facilitating the design of large-scale tree-based linguistic resources (esp. Tree Adjoining or Interaction Grammars).

Its first implementation (also named XMG) was written in Oz/Mozart and first released in 2004. It has been successfully used to design various real-size grammars for English, French or German.


In 2010, a brand new implementation of the XMG language started (due to technical limitations, XMG1 was only running on 32-bit architectures, and with the aim to go one step forward regarding extensibility).

XMG2 is now a modular and extensible tool for various linguistic description tasks (it is no longer limited to tree grammars). Based on the notion of meta-compilation (that is, compilation of compilers), XMG2 reuses the main concepts underlying XMG, namely logic programming and constraint satisfaction, to generate on-demand compilers by assembling elementary units bricks. This brick-based definition of compilers permits users to design description languages in a highly flexible way. In particular, it makes it possible to support several levels of linguistic description (e.g. syntax, morphology) within a single description language. XMG2 aims to offer means for users to easily define description languages that fit as much as possible the linguistic intuition.

XMG2 is written mainly in YAP Prolog. It also includes Gecode bindings to use Gecode's constraint satisfaction engines, and comes with python-based command line interfaces.

The XMG Workshops

This is the 2nd XMG workshop (the first one took place in Nancy, on 21-22 June 2007).

As was the case 10 years ago, the XMG workshop will include presentations about current uses of XMG2 and a round-table to discuss future evolutions of the system. The overall aim is both to show how XMG can be used in practice and to identify its current limitations.

This workshop will take place at LIFO (room SR1) in Orléans on 6 April 2017.


yannick DOT parmentier AT univ-orleans DOT fr