Dieser Hinweis ist aus der Übung im WS 1994/95 oder aus einer noch älteren Übung oder war nie Teil einer Übung und ist daher möglicherweise für spätere Übungen nicht gültig!
Variablen als Nichtterminale in DCGs Anstelle von Nichtterminalen kann man in DCGs ebenso auch Variablen anschreiben. Haben diese Variablen zum Zeitpunkt des Beweises einen Wert, wird dieser Wert als Ziel interpretiert. Sehen wir uns die folgende Regel aus einem falsch gelösten Beispiel genauer an: ausdruck(X*Y) --> X, % FALSCH! Y. % FALSCH! Der Einfachheit halber nehmen wir gleich eine noch einfachere Regel: a(NT) --> NT. :- phrase({a}, Xs). In diesem Falle ist also NT = {a}, wir haben also die folgende Regel: a({a}) --> {a}. Wie Sie sehen, ist nun das Nichtterminal {a} zu beweisen. Dieses Nichtterminal wird aber nur das Prologprädikat a/0 verwenden. Und das ist u.U. nicht definiert ... . In keinem einzigen Beispiel in dieser Übung ist eine Variable als Nichtterminal wirklich sinnvoll. Zurück: \hinweis{init}