;;; -*- Mode: tdl; Coding: utf-8; -*- ;;; ;;; Copyright (c) 1994-2005 ;;; Dan Flickinger, Rob Malouf, Emily M. Bender ;;; see erg/licence.txt for conditions ;;; ;;; roots.tdl ;;; ; The instances in this file are needed by the parser to know which phrase ; types to accept as successful parses of the full input string. ; Recommended for generation root_strict := phrase & [ INFLECTD +, SYNSEM root_synsem & [ PUNCT.RPUNCT clause_or_no_punct ], GENRE edited, DIALECT us ]. ; Recommended for parsing, unless domain is all edited text root_informal := phrase & [ INFLECTD +, SYNSEM root_synsem, GENRE informal ]. root_robust := phrase & [ INFLECTD +, SYNSEM root_synsem, GENRE robust ]. ; For well-formed fragments of all kinds root_frag := sign & [ SYNSEM synsem & [ LOCAL [ CAT [ HEAD frag, MC na_or_+ ], CONJ cnil_or_lexconj, CONT.MSG message & [ PRED #pred ] ], NONLOC.SLASH 0-dlist & [ LIST < > ], PUNCT.RPUNCT clause_or_pair_or_no_punct & [ MSGPRED #pred ] ], DIALECT us ]. ; Used to determine on which candidate root edges to not apply the idiom checks ; (for efficiency) root_non_idiom := sign & [ IDIOM - ]. ;;; The following four are used for `fragmented' (in the LOGON sense) input ;;; for generator root_phr := sign & [ SYNSEM phr_synsem & [ LOCAL [ CAT [ HEAD [ INV -, TAM.MOOD indicative, KEYS.KEY norm_rel ], VAL [ COMPS < >, SPR *olist* ] ], CONJ cnil, CONT.MSG no_msg ], NONLOC [ SLASH 0-dlist & [ LIST < > ], REL 0-dlist & [ LIST < > ] ], LEX -, PUNCT no_punctuation ], INFLECTD + ]. root_lex := sign & [ SYNSEM [ LEX +, LOCAL [ CAT [ HEAD.AUX na, VAL.COMPS < > ], CONJ cnil ], PUNCT no_punctuation ], INFLECTD + ]. ; DPF 09-Jan-00 - Removed MSG message from root_conj, to admit eg "or on ; Tuesday" root_conj := sign & [ SYNSEM [ LOCAL [ CAT.VAL.COMPS < >, CONJ lex-conj ], NONLOC [ SLASH 0-dlist & [ LIST < > ], REL 0-dlist & [ LIST < > ] ], PUNCT no_punctuation ], INFLECTD + ]. root_subord := sign & [ SYNSEM [ LOCAL [ CAT [ HEAD prep, VAL.COMPS < > ], CONT.MSG message, CONJ cnil ], NONLOC [ SLASH 0-dlist & [ LIST < > ], REL 0-dlist & [ LIST < > ] ], PUNCT no_punctuation ], INFLECTD + ].