Two-way translators based on attribute grammar inversion
Daniel M. Yellin, Eva-Maria M. Mueckstein · 1985
An attribute grammar is a non-procedural specification of a translation from one language to another. In this paper we consider restrictions on attribute grammars to make them invertible. Given an attribute grammar defining a translation T: L1 → L2 obeying these restrictions, we show how to automatically synthesize the attribute grammar T-1: L2 → L1 describing the inverse translation; i.e., T o T-1 o T = T. This allows for the generation of bi-directional translators from a single description. We provide motivation and demonstrate the practical utility of these concepts by describing the inversion of an attribute grammar used as part of an interface for database users.