% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % File: fldcons.dtr % % Purpose: construction of feature-logic descriptions % % Author: James Kilbury, 2 February 1993 % % Email: kilbury@ling.uni-duesseldorf.de % % Address: U Drf, Universitaetsstr. 1, D-40225 Duesseldorf, Germany % % Related files: fldpatr2.dtr, fldqpatr.dtr, fldtest.dtr, englex2.dtr % % Version: 2.06 (20 September 1994) % % % % Copyright (c) University of Duesseldorf 1994. All rights reserved. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # node ^ ~ | || ||| |' ||' |||' . % Such a declaration must be added once facilities are available in QDATR: % # vars $A: [any attribute except *]. % visible nodes employed in DATR encodings of concrete lexica % % % % % % % % % in addition to ^ ~ | below under 'general path transducers' FS : % constructs a formula in a feature logic that describes a feature structure <$Attribute> == "< FS_Path >" FL_Fmlas:<> . LIST : % special node for FSs that encode lists with fi(rst) and re(st) <> == FS:. ATOM : % constructs the formula assigning an atomic value to a leaf of a FS <$Value *> == Path_Expr:<> Value_at_Path& $Value . VAR : % analogue of ATOM for anonymous variables <> == ATOM:< Anon_Var& >. RP : % constructs a formula expressing reentrancy of two paths <> == Path_Expr:< ||| > Reentrancy& Path_Expr Conjunction& . % nodes that are invisible in concrete lexica % % % % % % % % % % % % % % % % FS_Path : % constructs a DATR path to be queried in a concrete lexicon <$Attribute> == ||' $Attribute * * . FL_Fmlas : % recursively constructs the further formulas of a FL description of a FS <*> == <$A> == Conjunction& "< FS_Path >" <> . Path_Expr : % constructs the FL expression built from a FS variable and attribute path <> == LBracket& Variable& FS_at_Path& FL_Path:<> RBracket& <*> == Variable&. FL_Path : % recursively constructs a path of attributes in a feature logic <$Attribute> == $Attribute FL_Path_Rest:<> . FL_Path_Rest : % introduces any further path connectives and attributes <*> == <$A> == Path_Connective& $A <> . % general path transducers % % % % % % % % % % % % % % % % % % % % % % % % % ^ : % transduces beta * alpha * gamma to * alpha beta * <> == * ||' | . ~ : % transduces beta * alpha beta * gamma to alpha * <> == PRev$:< PCutoff$:< PRev$:< | > * PRev$:< || > * > > * . | : % appends * to the sequence returned by |' <> == |' * . |' : % transduces the prefix up to * of a path to a sequence <> == <*> == <$A> == $A <> . || : % appends * to the sequence returned by ||' <> == ||' * . ||' : % cuts off the first prefix up to * of a path, and then % if the rest path has a prefix alpha *, returns the sequence alpha % and otherwise returns the empty sequence <*> == > <$A> == <> == == |':<>. ||| : % appends * to the sequence returned by |||' <> == |||' * . |||' : % like ||' but for the third prefix alpha * (if present) of a path <*> == > <$A> == <> == == ||':<>. Bounded$ : <> == false <*> == true <$A> == <>. PRev$ : % transduces a1 ... an * gamma to an ... a1 (i.e. the reverse sequence) <*> == <$A> == <> $A . PCutoff$ : % transduces alpha * alpha beta * gamma to beta * <*> == |:<> <$A> == PCut$:< <> >. PCut$ : % transduces a alpha * gamma to alpha * <$A> == |:<>. % The next line is the Revision Control System Id: do not delete it. % $Id: archive.dtr,v 1.1 1997/04/09 20:40:33 root Exp $