Copyright © 1997 - 2004 INRIA.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License."
(a) The FSF's Back-Cover Text is: "You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development."
DyALog is an environment for building tabular unification-based parsers and programs. Tabulation means that traces of computation are tabulated in order to share common sub-computations and detect (most kinds of) loops.
DyALog may be used just to evaluate standard Prolog programs but its main finality is to design efficient and complete parsers for Unification-based grammars as found in Computational Linguistics. Definite Clause Grammars (DCG), traditionally offered by Prolog systems, are such a grammar formalism. Bound Movement Grammars (BMG), an extension of DCGs, Tree Adjoining Grammars (TAG), Range Concatenation Grammars (RCG) are also provided.
DyALog also provides several extension to the usual Prolog syntax and data structures, namely Hilog pseudo higher order terms, (typed) feature structures (TFS), and finite sets.