;;; Hey, emacs(1), this is -*- Mode: tdl; Coding: utf-8; -*- got it? ;;; ;;; first shot of minimal type hierarchy for paraphrasing transfer rules. ;;; ;;; ;;; minimal hierarchy of variable types, using the new (R)MRS naming scheme. ;;; u := *top* & [ SCRATCH scratch ]. i := u. p := u. h := p. e := i. x := i & p. ;;; ;;; to check for `arity' in MTRs, maybe we need an `anti-'variable type ;;; a := 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 luk, 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 [INDEX #i, LTOP #h], INPUT.HOOK [INDEX #i, LTOP #h], OUTPUT.HOOK [INDEX #i, LTOP #h ]]. pregen_mtr := monotonic_mtr & [FLAGS.OPTIONAL -]. monotonic_omtr := monotonic_mtr & optional_mtr. optional_mtr := mrs_transfer_rule & [ FLAGS.OPTIONAL + ]. n-pl-reduplication_mtr := monotonic_mtr & [INPUT.RELS ]. aux_foc_gen_rule := generator_rule & [ CONTEXT [ RELS ]]. aux_rel_gen_rule := generator_rule & [ CONTEXT [ RELS ]].