Previous: XTAGRedundant, Up: Principles list
principle.xTAGRoot
D
XTAGRoot (priority 120)
This principle states that the tree at the root of each derivation
must be labeled by category S. I.e., in the current encoding,
the lexical in value of the corresponding lexical entry must
include the label S_s (category S, initial tree).
Here is the definition of the XTAGRoot constraint functor:
%% Copyright 2001-2008
%% by Ralph Debusmann <rade@ps.uni-sb.de> (Saarland University) and
%% Denys Duchier <duchier@ps.uni-sb.de> (LIFO, Orleans) and
%% Jorge Marques Pelizzoni <jpeliz@icmc.usp.br> (ICMC, Sao Paulo) and
%% Jochen Setz <info@jochensetz.de> (Saarland University)
%%
functor
import
% System(show)
Helpers(checkModel) at 'Helpers.ozf'
export
Constraint
define
proc {Constraint Nodes G Principle FD FS Select}
DVA2DIDA = Principle.dVA2DIDA
DIDA = {DVA2DIDA 'D'}
in
%% check features
if {Helpers.checkModel 'XTAGRoot.oz' Nodes
[DIDA#mothers]} then
DIDA2LabelLat = G.dIDA2LabelLat
LabelLat = {DIDA2LabelLat DIDA}
LAs = LabelLat.constants
in
if {Not {Member 'S_s' LAs}} then
fail
else
A2I = LabelLat.aI2I
IDSI = {A2I 'S_s'}
in
for Node in Nodes do
{FD.impl
{FD.nega {FS.reified.include IDSI Node.DIDA.entry.'in'}}
{FD.reified.equal {FS.card Node.DIDA.model.mothers} 1} 1}
end
end
end
end
end