An extension of Prolog for unification-based grammar
Covington, Michael A.
MetadataShow full item record
A simple extension to Prolog facilitates implementation of unification-based grammars (UBGs) by adding a new notational device, the feature structure, whose behavior emulates graph unification. For example, a:b..c:d denotes a feature structure in which a has the value b, c has the value d, and the values of all other features are unspecified. A modified Prolog interpreter translates feature structures into Prolog terms that unify in the desired way. Thus, the extension is purely syntactic, analogous to the automatic translation of "abc" to [97,98,99] in Edinburgh, Prolog. The extended language is known as GULP (Graph Unification Logic Programming); it is as powerful and concise as PATR-II (Shieber 1986a, b) and other grammar development tools, while retaining all the versatility of Prolog. GULP can be used with grammar rule notation (DCGs) or any other parser that the programmer cares to implement. Besides its uses in natural language processing, GULP provides a way to supply keyword arguments to any procedure.