skt_morph.mli 8.06 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
(**************************************************************************)

(* 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 *)
45
  | Conjug of tense and voice (* other tenses/modes/aspects *)
huet's avatar
huet committed
46 47 48 49
  | Perfut of voice (* periphrastic futur (lu.t) *)
  ]
and voice = [ Active | Middle | Passive ] (* diathesis (pada: Para Atma Ubha) *)
and pr_mode = 
50
  [ Present (* Indicative (la.t) *)
huet's avatar
huet committed
51 52 53 54 55 56 57
  | Imperfect (* Preterit (laf) *)
  | Imperative (* (lo.t) *)
  | Optative (* Potential (lif) *) 
  ]
and tense = 
  [ Future (* (l.r.t) *)
  | Perfect (* Remote past - resultative aspect (li.t) *)
58 59
  | Aorist of aor_class (* Immediate past or future with perfective aspect (luf) *)
  | Injunctive of aor_class (* (le.t) - injunctions also Prohibitive with maa *) 
huet's avatar
huet committed
60 61
  | Benedictive (* Precative: optative aorist (aazirlif) *) 
  | Conditional (* Preterit of future (l.rf) *)
62
  | Subjunctive (* le.t *) (* Rare subjunctive, intermediate between Optative and Imperative *)
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
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
Gérard Huet's avatar
Gérard Huet committed
113 114
  | Orig (* unused *)
  | Loca 
huet's avatar
huet committed
115 116 117
  | Absolu
  ]
;
118 119
(* Primary nominal formations (k.rdantas) *)
type nominal = (conjugation * krit) 
huet's avatar
huet committed
120 121 122
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
123 124
                 vu~n \Pan{3,1,146-147} 
                 vun \Pan{3,1,149-150} repeated action, benediction *)
huet's avatar
huet committed
125 126 127
  | 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
128
  | Agent_tri (* t.rc \Pan{3,1,133} t.rn \Pan{3,2,135} habit -t.r gu.na  *)
huet's avatar
huet committed
129 130 131 132 133 134 135
  | 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
136
                 + ka \Pan{3,2,3} root -aa, amuie, ifcno (no preverb) f. ii *)
huet's avatar
huet committed
137 138 139 140
  | 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
141 142 143
               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
144 145
                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
146 147 148 149
                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
150 151 152
  | 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
153
  | Action_root (* unknown krit of non-agent noun  *) 
Gérard Huet's avatar
Gérard Huet committed
154
  | Object_root (* we should probably lump action and object in [Non_agent] *)
155
  | Object_a (* ka                                     -a n.    *) 
huet's avatar
huet committed
156
  | Instrument (* ka \Pan{3,1,136}                  0/amui n.   *)
157
  | Instra (* .s.tran -tra n.                -trii f. traa f.   *)
Gérard Huet's avatar
Gérard Huet committed
158
  | Orig_root (* sruc srut sruva *)
159
  | Agent_u   (* san+u                             -u on des stem  *)
huet's avatar
huet committed
160 161 162
  | 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
163
;
huet's avatar
huet committed
164

165
type ind_kind = 
huet's avatar
huet committed
166 167 168 169 170 171 172 173 174 175 176 177 178
  [ 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 *)
  ]
;