Reversible logic grammars for machine translation

The CRITTER translation system makes use of a single grammar to perform analysis and synthesis tasks. The formalism used is a variant of DCG (Definite Clause Grammars), in which annotations have been added to allow for dual compilations of the grammar into analysis and synthesis Prolog programs sharing the same declarative content. These annotations are of two types: 1) annotations separating the declarative content of rules (logic) from goal-processing order (control), and 2) annotations which act as directives for the compiler(s) to perform "optimization" transformations on groups of rules making the target Prolog procedures better adapted to the analysis or synthesis task at hand. 1. THE TRANSLATION MODEL.