A grammar G as defined above is a definite clause specification of the relation sign/1. Such a grammar defines what possible linguistic objects are. Each of these objects, or signs, will be specified among several dimensions. For example, a grammar for English may define that the sentence `Mexican priests drink whisky' is a sign of English, i.e. one of the answers to the goal
may be something like the following:
Given a grammar, the parsing problem consists of a specification of a
string. Parsing then enumerates the signs which have this string as
their value of the attribute
phon. A generation problem
consists of a specification of a semantic representation. A generator
then enumerates the signs which have this semantic representation as
the value of their
sem attribute. Instead of the paths
phon and
sem we may of course use any other paths.
Both the parsing problem and the generation problem can be defined as
a goal. For example, the problem to parse `priests drink mexican
whisky' may be defined as the following goal:
Similarly, the generation problem, defined by a number of
constraints, for example looks as:
It is of course possible to add other constraints such as the
syntactic category of the signs we are interested in. A typical
example of a generation goal is:
Therefore, the unrestricted parsing problem consists of a
grammar G and the goal
The answer to the unrestricted parsing problem is an answer to this
goal with respect to the grammar.
This notion is introduced to compare it with several `restricted'
versions later in this section.