skt_morph.mli 7.91 KB
Newer Older
huet's avatar
huet committed
1 2 3 4 5 6
(**************************************************************************)
(*                                                                        *)
(*                     The Sanskrit Heritage Platform                     *)
(*                                                                        *)
(*                              Gérard Huet                               *)
(*                                                                        *)
Gérard Huet's avatar
Gérard Huet committed
7
(* ©2018 Institut National de Recherche en Informatique et en Automatique *)
huet's avatar
huet committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
(**************************************************************************)

(* Sanskrit morphology interface *)

type deictic = [ Speaker | Listener | Self | Numeral ]
;
(* Deictics have their gender determined from the context for pronouns 
of 1st and 2nd person, or the reflexive pronoun "aatman", or numerals over 4 *)
type gender = [ Mas | Neu | Fem | Deictic of deictic ]
and genders = list gender 
;
type number = [ Singular | Dual | Plural ] 
;
type case = [ Nom (* nominatif *)
            | Acc (* accusatif *)
            | Ins (* instrumental *) (* comitatif (Henry) *)
            | Dat (* datif *)
            | Abl (* ablatif *)
            | Gen (* génitif *)
            | Loc (* locatif *)
            | Voc (* vocatif *)
            ]
;
(* The verb system *)
type gana = int (* present class: 1 to 10, plus 11 for denominatives *)
and aor_class = int (* aorist class: 1 to 7 *)
;
type person = [ First | Second | Third ] (* Indian Third, Second and First *)
;
type conjugation = [ Primary | Causative | Desiderative | Intensive ]
(*i NB fake gana by convention :  12           13            14  (unused) i*)
;
type finite = (conjugation * paradigm) (* finite forms of verbs *)
and paradigm = 
  [ Presenta of gana and pr_mode (* parasmaipade *)
  | Presentm of gana and pr_mode (* aatmanepade *)
  | Presentp of pr_mode (* passive of present system *)
  | Conjug of tense and voice (* other tenses/aspects *)
  | Perfut of voice (* periphrastic futur (lu.t) *)
  ]
and voice = [ Active | Middle | Passive ] (* diathesis (pada: Para Atma Ubha) *)
and pr_mode = 
  [ Present (* (la.t) *)
  | Imperfect (* Preterit (laf) *)
  | Imperative (* (lo.t) *)
  | Optative (* Potential (lif) *) 
  ]
and tense = 
  [ Future (* (l.r.t) *)
  | Perfect (* Remote past - resultative aspect (li.t) *)
  | Aorist of aor_class (* Immediate past or future - perfective aspect (luf) *)
  | Injunctive of aor_class (* (le.t) - also Prohibitive with maa *) 
  | Benedictive (* Precative: optative aorist (aazirlif) *) 
  | Conditional (* Preterit of future (l.rf) *)
62
(*| Subjunctive (* le.t *) TODO *)
huet's avatar
huet committed
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
  ]
;
(* NB from Indo-European: the present stem has the imperfective aspect,
   the aorist one the perfective aspect, and the perfect one the resultative. *)
(* Vedic Subjunctive and Pluperfect are not yet taken into account. The only
   non-present passive forms are some passive aorist forms in 3rd sg. *)

(* Verbal adjectives *)
type kritya = int (* shades of intention of passive future/potential participle: 
   1 -ya (obligation, necessity or possibility, potentiality) (yat kyap .nyat)
   2 -aniiya (fitness, desirability, effectivity) (aniiyar)
   3 -tavya (necessity, unavoidability) (tavyat) *)
;
type verbal = (conjugation * participle)  
and participle = (* participles *)
(* These are the kridanta stems (primary verbal derivatives) with participial 
   value. They act as adjectives or gendered nouns. But [Ppra] does not qualify 
   as a noun, but as an adverb, signifying simultaneous action. *)
  [ Ppp          (* passive past participle *)
  | Pppa         (* active past participle *) 
  | Ppra of gana (* active present participle *)
  | Pprm of gana (* middle present participle *)
  | Pprp  (* passive present participle *)
  | Ppfta (* active perfect participle *) 
  | Ppftm (* middle perfect participle *) (* no passive *)
  | Pfuta (* active future participle *)
  | Pfutm (* middle future participle *)
Gérard Huet's avatar
Gérard Huet committed
90
  | Pfutp of kritya (* passive future/potential participle/gerundive 3 forms *)
huet's avatar
huet committed
91
  | Action_noun (* generative only for auxiliaries, for cvi compounds *)
Gérard Huet's avatar
Gérard Huet committed
92
(*| [Agent_noun], etc. -- non generative, must be lexicalized; see nominal *)
huet's avatar
huet committed
93 94 95
  ]
;
(* Invariable verbal forms.
96
   Such forms are indeclinable and have their own inflected forms constructors.
huet's avatar
huet committed
97 98 99
   Infinitives are similar to dative substantival forms, periphrastic perfect
   forms are associated with an auxiliary verb in the perfect.
   Absolutives split into root absolutives in -tvaa and absolutives in -ya 
100
   that must be prefixed with a preverb. Absolutives in -aam (.namul) are in both. *)
huet's avatar
huet committed
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
type modal = (conjugation * invar) 
and invar =
  [ Infi    (* infinitive (tumun) *)
  | Absoya  (* absolutive (gerund, invariable participle) (lyap) *) 
  | Perpft  (* periphrastic perfect (li.t) *)
  ]
;
type sadhana = (* karaka, action or absolutive - coarser than krit *)
  [ Agent
  | Action
  | Object
  | Instr
  | Loca
  | Absolu
  ]
;
117 118
(* Primary nominal formations (k.rdantas) *)
type nominal = (conjugation * krit) 
huet's avatar
huet committed
119 120 121
and krit = (* coarser than Paninian krit suffixes *) 
  [ Agent_aka (* .nvul \Pan{3,1,133} \Pan{3,3,108-109} -aka -ikaa v.rddhi 
                 .svun \Pan{3,1,145} trade gu.na f. -akii  
Gérard Huet's avatar
Gérard Huet committed
122 123
                 vu~n \Pan{3,1,146-147} 
                 vun \Pan{3,1,149-150} repeated action, benediction *)
huet's avatar
huet committed
124 125 126
  | Agent_in  (* .nini \Pan{3,1,134} \Pan{3,2,78-86}   -in  -inii v.rddhi 
                 ghinu.n \Pan{3,2,141-145} 
                 ini \Pan{3,2,93} ifc. -vikrayin past *)
Gérard Huet's avatar
Gérard Huet committed
127
  | Agent_tri (* t.rc \Pan{3,1,133} t.rn \Pan{3,2,135} habit -t.r gu.na  *)
huet's avatar
huet committed
128 129 130 131 132 133 134
  | Agent_ana (* lyu \Pan{3,1,134} yuc \Pan{3,2,148}     -ana a.   
                 .nyu.t \Pan{3,1,147-148} profession f. -anii *)
  | Agent_root (* kvip \Pan{3,2,61} ifc + \Pan{3,2,76} adja  
                        ifc. mnf. \Pan{6,1,67} amuis de v
                        \Pan{3,2,76} root autonomous mnf. 
                 + .tak \Pan{3,2,8} root ifc (f. -ii) 
                 + .ta \Pan{3,2,20} -kara ifc (f. -ii) habitual, enjoy
135
                 + ka \Pan{3,2,3} root -aa, amuie, ifcno (no preverb) f. ii *)
huet's avatar
huet committed
136 137 138 139
  | Agent_a (* ac \Pan{3,1,134} gu.na m. -a f. -aa   
               .na \Pan{3,1,140-143} v.rddhi (f. -aa)
               ka \Pan{3,1,135-136;144} -gu.na 
                  \Pan{3,2,3-7} m. -a (f. -aa) metaphoric use
Gérard Huet's avatar
Gérard Huet committed
140 141 142
               za \Pan{3,1,137-139} idem ka but (f. -aa) nb present stem 
               a.n \Pan{3,2,1} vriddhi ifc (iic obj) (f. -ii) -kaara *)
  | Agent_nu (* i.s.nu \Pan{3,2,136} 
huet's avatar
huet committed
143 144
                i.s.nuc \Pan{3,2,136-138} -i.s.nu gu.na (habit)
                khi.s.nuc \Pan{3,2,57} -i.s.n'u gu.na 
Gérard Huet's avatar
Gérard Huet committed
145 146 147 148
                knu \Pan{3,2,140} ksnu \Pan{3,2,139} -nu -gu.na *)
  | Action_ana (* lyu.t \Pan{3,3,115-117}            -ana n.    *)
  | Action_na (* naf \Pan{3,3,90} nan \Pan{3,3,91} -na m. -naa f. *) 
  | Action_a (* gha~n \Pan{3,3,18-}                -a m. v.rddhi *)
huet's avatar
huet committed
149 150 151
  | Action_ya (* kyap \Pan{3,1,107} -ya n. -yaa f.              *)
  | Action_ti (* ktin \Pan{3,3,94}                      -ti f.  *)
  | Action_i (* ki \Pan{3,3,92-93}                     -i f.    *)
Gérard Huet's avatar
Gérard Huet committed
152
  | Action_root (* unknown krit of non-agent noun  *) 
Gérard Huet's avatar
Gérard Huet committed
153
  | Object_root (* we should probably lump action and object in [Non_agent] *)
154
  | Object_a (* ka                                     -a n.    *) 
huet's avatar
huet committed
155
  | Instrument (* ka \Pan{3,1,136}                  0/amui n.   *)
156 157
  | Instra (* .s.tran -tra n.                -trii f. traa f.   *)
  | Agent_u   (* san+u                             -u on des stem  *)
huet's avatar
huet committed
158 159 160
  | Action_aa (* san+a+.taap  \Pan{3,3,102}        -aa on des stem *)
  | Abstract (* abstract nouns n.           -as u.naadi suffix *)
  ]
Gérard Huet's avatar
Gérard Huet committed
161
;
huet's avatar
huet committed
162

163
type ind_kind = 
huet's avatar
huet committed
164 165 166 167 168 169 170 171 172 173 174 175 176
  [ Adv       (* adverb *)
  | Avya      (* turned into an adverb by avyayiibhaava compounding *)
  | Abs       (* root absolutive in -tvaa *)
  | Tas       (* tasil taddhita *)
  | Part      (* particule *)
  | Prep      (* preposition *) 
  | Conj      (* conjunction *)
  | Nota      (* notation *)
  | Infl      (* inflected form *)
  | Interj    (* interjection *)
  | Default   (* default - inherits its role *)
  ]
;