;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; ;;; first shot of minimal type hierarchy for paraphrasing transfer rules. ;;; ;;; ;;; minimal hierarchy of variable types, using the new (R)MRS naming scheme. ;;; u := mrs-thing & [ SCRATCH scratch ]. i := u & int-or-ext-individual. p := u. h := p. e := i & ext-e-type. x := i & p & ext-x-type. ;;; ;;; to check for `arity' in MTRs, maybe we need an `anti-'variable type ;;; Currently type clash with sorts.tdl anti := u. ;;; ;;; the scratch slot in variables: used during transfer to control application ;;; of rules, e.g. the rules that introduce selected preposition EPs in the ERG ;;; accomodation phase which would otherwise be cyclic, i.e. the rule would ;;; fire on its own output (since it does not consume anything). ;;; scratch := *top*. test := scratch. complete := scratch. flags := *top* & [ OPTIONAL bool, EQUAL *list*, SUBSUME *list*, TRIGGER string ]. mrs_transfer_rule := *top* & [ FILTER mrs, CONTEXT mrs, INPUT mrs, OUTPUT mrs, FLAGS flags ]. generator_rule := mrs_transfer_rule & [ INPUT.RELS ]. monotonic_mtr := mrs_transfer_rule & [ CONTEXT.HOOK.LTOP #h, INPUT.HOOK.LTOP #h, OUTPUT.HOOK.LTOP #h ]. qeq_marg_generator_rule := generator_rule & [ CONTEXT [HCONS , RELS.LIST < [MARG #h0, ARG0 #e], [LBL #h1, ARG0 #e], ...> ]]. qeq_arg1_generator_rule := generator_rule & [ CONTEXT [HCONS , RELS.LIST <[LBL #h1], [ARG1 #h0], ...> ]].