;;;
;;; a first attempt at mapping (systematically) between the grammar-internal
;;; name space (where, for example, there may be reasons to group sets of index
;;; properties in nested feature structures) and the external, SEM-I compliant
;;; interface.
;;;

event              <> e
ref-ind            <> x
individual     	   <> i
handle         	   <> h

;;;
;;; from here on, sets of rules that map one or more properties into one or
;;; more properties: for each correspondence, values are compared to sub-rules
;;; in order, until the first match: at that point, output values are inserted
;;; into the result set of properties.  processing of rules continues against
;;; the original properties, so that there could be multiple matches: the `PN'
;;; to `PERS' and `NUM' decomposition, thus, could also be done in two separate
;;; rule sets.  at the end of the day, however, only properties resulting from
;;; successful matches will be in the output, i.e. everything not explicitly
;;; carried over will be deleted.
;;;

PNG.PER : PERS
  1st  <> 1
  2nd  <> 2
  3rd  <> 3
  *    <> !

PNG.NUM : NUM
  sg   <> sg
  pl   <> non-sg
  pl   <> dual
  pl   <> pl
  *    <> !

PNG.GEND : GEND
  masculine <> m
  feminine  <> f
  inanimate <> n
  animate	<> m-or-f
  *         >> !
  !         << *
  
E.ASPECT.SOON : TENSE
   + <> fut
   - << *

E.ASPECT.PROGRESS : PROG
   + <> +
   - << *
   bool <> bool

E.ASPECT.SEMIPERFV : SEMIPERFV
   + <> +
   - << *
   bool <> bool

E.ASPECT.GET : POTEN
   + <> +
   - << *
   bool <> bool

E.ASPECT.EVER : TENSE
   + <> nonpresent
   - << *

E.ASPECT.ALREADY : TENSE
   + <> past
   - << *

E.ASPECT.CONTIN : PROG
   + <> +
   - << *
   bool <> bool

E.ASPECT.PERF : PERF
   + <> +
   - << *
   bool <> bool

E.ASPECT.PERFV : PERFV
   + <> +
   - << *
   bool <> bool

SF : SF
  prop <> prop
  ques <> ques
  prop-or-ques >> prop-or-ques
  prop << prop-or-ques
  comm <> comm

;;; ERB 2007-05-19 I think we have to put the most specific
;;; ones first here, or they will get clobbered by the more
;;; general ones.

COG-ST : COG-ST
; Non-disunctive types
type-id <> type-id 
uniq-id <> uniq-id 
familiar <> familiar 
activated <> activated 
in-foc <> in-foc 

SPECI : SPECI
  + <> +
  - <> -
  bool <> bool

; Disjunctions of two
activ+fam <> activ+fam 
uniq+fam <> uniq+fam 
activ-or-more <> activ-or-more 
uniq-or-less <> uniq-or-less 

; Disjunctions of three
uniq+fam+act <> uniq+fam+act 
fam-or-more <> fam-or-more 
fam-or-less <> fam-or-less 

; Disjunctions of four
uniq-or-more <> uniq-or-more 
activ-or-less <> activ-or-less