;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; Authors: ;;; 1997-2000 Walter Kasper & Stefan Müller ;;; 2000-2002 Stefan Müller ;;; 2002-2006 Berthold Crysmann ;;; Copyright: DFKI GmbH head := *avm* & [mod *top*, v1 *top*, prd bool, extra luk, top bool]. subj-head := head & subj-type. cat := head-type & subj-type & [ head head, spr *list*, subcat *diff-list* & [last *null*], vcomp *list* , _drop bool, opt bool, drop bool, no_adj bool, gf atom, extra-poss xposs ]. local-type :< *avm*. local_min := local-type & [cat cat, cont *avm*]. local_min0 := local_min & uniagr-type & [adjunction adjunction, sgf sgf-type, anc anc-type]. local := local_min0 & [coord *top*, _third bool]. sgf-type := *avm* & [lor *list*, lee *list*]. sgf-lor- := sgf-type & [lor <>]. sgf-lee- := sgf-type & [lee <>]. sgf-lor+ := sgf-lee- & [lor ]. sgf-lee+ := sgf-lor- & [lee ]. sgf-lor-lee- := sgf-lor- & sgf-lee-. nonlocal_min :< *avm*. nonlocal := nonlocal_min & [ _topic-drop bool, rel *diff-list*, _slash *diff-list*, slash *diff-list* ]. anc-type := *avm* & [active *diff-list*, inert *diff-list*, self *diff-list*]. anc-active :< anc-type. anc-to-bind :< anc-active. anc-inher :< anc-active. anc-inher-bound :< anc-inher. anc-inher-unbound :< anc-inher. anc-inactive := anc-type & [active , inert , self ]. synsem_min :< *avm*. synsem_min0 := synsem_min & [loc local, nonloc nonlocal_min]. synsem_min1 := synsem_min0 & [ que *diff-list*, lex bool, phrase bool, v2 bool, lkeys lexkeys_min, punct punct_min]. synsem := synsem_min1 & [ ellipse bool, lex-complete bool, cat-change bool]. punct_min :< *avm*. punct := punct_min & [lpunct *top*, rpunct *top*]. lr := stem-type & lr-infl-type & umlaut-type & infix-type & [basic atom, reorder atom, iterate atom, stem bool ]. root-or-non-root-sign := key-arg-type & morphology & [ synsem synsem, vf bool, root bool, LR lr ]. stem-or-sign := root-or-non-root-sign & [root -, poss-aff bool]. lr-syntax := lr & [basic 'stop, stem - ]. lr-lexicon := lr & [stem + ]. sign := stem-or-sign. stem-or-lex-sign := stem-or-sign & [ synsem [phrase - ]]. ;; stems are mapped to stems or words by lexical rules stem := stem-or-lex-sign & [ LR lr-lexicon ]. ;; roots are mapped to stems or words by lexical rules root := stem & [ LR.basic 'yes ]. phrasal-sign := sign & args-type. lexkeys_min :< *avm*. lexkeys := lexkeys_min & mclass-type & [ KEYREL *top*, KEYAGR c-n-g, KEYFORM *top*, KEYSORT ontology, KEYTAG string, KEYAGR2 p-n-g]. lexkeys_altkey := lexkeys & [ ALTKEYREL *top* ]. lexkeys_alt2key := lexkeys_altkey & [ ALT2KEYREL *top* ]. lexkeys_comp := lexkeys & [--COMPKEY *top*, --COMPOPT bool, --COMPSORT ontology, --COMPAGR c-n-g, --COMPFORM *top* ]. lexkeys_ocomp := lexkeys_comp & [--OCOMPKEY predsort, --OCOMPOPT bool, --OCOMPSORT anything, --OCOMPAGR c-n-g, --OCOMPFORM *top* ]. lexkeys_vcomp := lexkeys_comp & [--VCOMPKEY predsort, --VCOMPSORT anything, --VCOMPFORM *top* ]. lexkeys_subj := lexkeys_comp & [--SUBJKEY predsort, --SUBJOPT bool, --SUBJSORT anything, --SUBJAGR p-n-g, --SUBJFORM *top* ]. lexkeys_full := lexkeys_vcomp & lexkeys_subj & lexkeys_ocomp & lexkeys_alt2key.