;;; -*- Mode: tdl; Coding: utf-8; -*- ;;; ;;; Copyright (c) 1994-2018 ;;; Dan Flickinger, Rob Malouf, Emily M. Bender ;;; see LICENSE 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. ;; DPF 2016-12-03 - Note that the order of definition is significant for ACE ;; (at least presently), since it checks these root symbols in the order of ;; definition, not based on the order they are listed in the config file. root_strict := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL.CAT.HEAD verb_or_conj-s, PUNCT.RPUNCT basic_clause_punct ], GENRE edited, DIALECT us, ORTH root_orth ]. root_gen := phrase & [ INFLECTD +, SYNSEM root_gen_synsem, GENRE edited, DIALECT us, ORTH root_orth ]. root_gen_nofocus := phrase & [ INFLECTD +, SYNSEM root_gen_synsem & [ LOCAL.CONT.ICONS.LIST *nonfocuslist* ], GENRE edited, DIALECT us, ORTH root_orth ]. root_gen_nopass := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL [ CAT.HEAD verb_or_conj-s, CONT.ICONS 0-dlist ], PUNCT.RPUNCT basic_clause_punct ], GENRE edited, DIALECT us, ORTH root_orth ]. root_decl := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL.CONT.HOOK.INDEX.SF prop, PUNCT.RPUNCT clause_or_pair_or_no_punct ], GENRE standard, ORTH root_orth ]. root_question := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL.CONT.HOOK.INDEX.SF ques, PUNCT.RPUNCT clause_or_pair_or_no_punct ], GENRE standard, DIALECT us, ORTH root_orth ]. root_command := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL.CONT.HOOK.INDEX.SF comm, PUNCT.RPUNCT clause_or_pair_or_no_punct ], GENRE standard, DIALECT us, ORTH root_orth ]. root_informal := phrase & [ INFLECTD +, SYNSEM root_synsem, GENRE standard, ORTH root_orth ]. root_formal := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL.CAT.HEAD verb_or_conj-s, PUNCT.RPUNCT basic_clause_punct ], GENRE formal, DIALECT us, ORTH root_orth ]. root_spoken := phrase & [ INFLECTD +, SYNSEM basic_root_synsem & [ LOCAL [ CAT [ HEAD verb & [ VFORM fin_or_imp, TAM indic_tam ], MC + ], CONJ cnil ], PUNCT.RPUNCT comma_or_clause_or_pair_or_no_punct ], GENRE spoken, ORTH root_orth ]. root_spoken_frag := phrase & [ INFLECTD +, SYNSEM basic_root_synsem & [ LOCAL [ CAT [ HEAD frag & [ TAM indic_tam ], MC + ], CONJ cnil_or_lexconj ] ], GENRE spoken, ORTH root_orth ]. root_inffrag := sign & [ SYNSEM root_frag_synsem, GENRE standard, ORTH root_orth ]. root_frag := sign & [ SYNSEM root_frag_synsem & [ PUNCT.RPUNCT clause_or_no_punct ], GENRE formal, DIALECT us, ORTH root_orth ]. root_robust_frag := sign & [ SYNSEM root_frag_synsem, GENRE robust, ORTH root_orth ]. ;; DPF 2016-08-08 - Changed HEAD verb_or_frag to just verb since we also have ;; root_robust_frag. And same for CONJ cnil_or_lexconj => cnil. root_robust := phrase & [ INFLECTD +, SYNSEM root_synsem, GENRE robust, ORTH root_orth ]. root_robust_s := phrase & [ INFLECTD +, SYNSEM basic_root_synsem & [ LOCAL [ CAT [ HEAD verb_or_conj-s & [ MOD *anti_list*, VFORM fin_or_bse_or_imp ], VAL.SUBJ *anti_list*, MC + ], CONT.HOOK.INDEX.SF #sf, CONJ cnil ], PUNCT.RPUNCT comma_or_clause_or_pair_or_no_punct & [ PSF #sf ] ], GENRE robust, ORTH root_orth ]. 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, MINORS.MIN norm_rel ], VAL [ COMPS < >, SPR *olist* ] ], CONJ cnil ], NONLOC [ SLASH.LIST < >, REL.LIST < > ], LEX -, PUNCT no_punctuation ], INFLECTD +, ORTH root_orth ]. root_lex := sign & [ SYNSEM [ LEX +, LOCAL [ CAT.HEAD non_frag & [ AUX na ], CONJ cnil ], NONLOC.SLASH.LIST < >, PUNCT.RPUNCT clause_or_no_punct ], 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.LIST < >, REL.LIST < > ], PUNCT no_punctuation ], INFLECTD +, ORTH root_orth ]. root_subord := sign & [ SYNSEM [ LOCAL [ CAT [ HEAD prep, VAL.COMPS < > ], CONJ cnil ], NONLOC [ SLASH.LIST < >, REL.LIST < > ], PUNCT no_punctuation ], INFLECTD +, ORTH root_orth ]. #| root_robust_ques := phrase & [ INFLECTD +, SYNSEM basic_root_synsem & [ LOCAL [ CAT [ HEAD verbal_or_conj-s & [ VFORM fin, TAM.MOOD indicative ], MC + ], CONT.HOOK.INDEX.SF ques, CONJ cnil ], PUNCT.RPUNCT comma_or_clause_or_pair_or_no_punct & [ PSF prop-or-ques ] ], GENRE robust, DIALECT us, ORTH root_orth ]. |# root_robust_ques := phrase & [ INFLECTD +, SYNSEM basic_root_synsem & [ LOCAL [ CAT [ HEAD verbal_or_conj-s & [ VFORM fin, TAM.MOOD indicative ], MC + ], CONT.HOOK.INDEX.SF ques, CONJ cnil ], PUNCT.RPUNCT comma_or_pair_or_no_punct & [ PSF prop-or-ques ] ], GENRE robust, DIALECT us, ORTH root_orth ]. root_bridge := phrase & [ SYNSEM.LOCAL.CAT.HEAD bridge_head, INFLECTD - ]. root_paraphrase := phrase & [ INFLECTD +, SYNSEM root_synsem & [ LOCAL.CONT.HOOK.INDEX.SF prop, PUNCT.RPUNCT clause_or_pair_or_no_punct ], GENRE paraphrase, ORTH root_orth ].