Section: New Software and Platforms
ACG Development Toolkit
Participants : Sylvain Pogodalla [correspondent] , Philippe de Groote, Jirí Marsík.
In order to support the theoretical work on ACG, we have been developing a support system. The objectives of such a system are twofold:
The ACG Development toolkit development effort is part of the Polymnie project (see Section 18.104.22.168 ). It will support the experimentation and evaluation parts of the project.
The current version of the ACG development toolkit prototype (Available at http://acg.gforge.inria.fr with a CeCILL license.) is 1.1. It focuses on providing facilities to develop grammars. To this end, the type system currently implemented is the linear core system plus the (non-linear) intuitionistic implication, and a special attention has been paid to type error management. Since 1.0b released in Feb. 2014, ACGtk allows for transformations both from abstract terms to object terms, and from object terms to abstract terms (ACG parsing). The parsing algorithm follows  's method which is being implemented for second-order ACGs. It is based on a translation of ACG grammars into Datalog programs and is well-suited to fine-grained optimization.
However, since we are interested not only by recognizability (hence whether some fact is provable) but also by the parsing structure (hence the proof), the Datalog solver has been adapted to produce not only yes/no answer to queries, but also all the proofs of the answers to the queries. The next steps concern optimization and efficiency. Note however that in the general case, the decidability of translating an object term to an abstract one is still an open problem.
We also have enriched the ACG development toolkit with graphical output. The new module includes a small functional OCaml library for manipulating images which enables users to customize the rendering of formulas as pictures.
The ACGtk has been made available as an OPAM (OCaml Package Manager) package. (https://opam.ocaml.org/packages/acgtk/acgtk.1.1/ )