Commit 34183ebe authored by Gérard Huet's avatar Gérard Huet

New root zraa

parent 96b32960
This diff is collapsed.
...@@ -119,7 +119,7 @@ value cached = (* potentially cached lexicon acquisitions *) ...@@ -119,7 +119,7 @@ value cached = (* potentially cached lexicon acquisitions *)
value initial1 = value initial1 =
(* All phases but Ifc, Abso, Auxi, Auxik, Auxiick, Lopa, Lopak. *) (* All phases but Ifc, Abso, Auxi, Auxik, Auxiick, Lopa, Lopak. *)
[ Inde; Iicv; Iicc; Nouv; Nouc; Pron; A; An; Root; Kriv; Kric; Iikv; Iikc [ Inde; Iicv; Iicc; Nouv; Nouc; Pron; A; An; Root; Kriv; Kric; Iikv; Iikc
; Peri; Pv; Pvc; Pvv; Pvkv; Pvkc; Iiv; Iivv; Iivc; Iiy; Inv; Ai; Ani ; Peri; Pv; Pvkv; Pvkc; Iiv; Iivv; Iivc; Iiy; Inv; Ai; Ani
; Absv; Absc; Inftu; Vocv; Vocc; Vokv; Vokc ] @ cached ; Absv; Absc; Inftu; Vocv; Vocc; Vokv; Vokc ] @ cached
and initial2 = (* simplified segmenter with less phases, no generation *) and initial2 = (* simplified segmenter with less phases, no generation *)
[ Inde; Iic2; Noun2; Pron; Root; Pv; Iiv; Absv; Absc ] [ Inde; Iic2; Noun2; Pron; Root; Pv; Iiv; Absv; Absc ]
...@@ -589,9 +589,8 @@ value validate out = match out with ...@@ -589,9 +589,8 @@ value validate out = match out with
[ (Comp (Pv,Peri) pv peri_form,cpd_form,s) :: r ] [ (Comp (Pv,Peri) pv peri_form,cpd_form,s) :: r ]
else [] else []
] ]
| [ (Abso,rev_abso_form,s) :: [ (Pv,prev,sv) :: r ] ] | [ (Abso,rev_abso_form,s) :: [ (ph,prev,sv) :: r ] ]
| [ (Abso,rev_abso_form,s) :: [ (Pvv,prev,sv) :: r ] ] when preverb_phase ph ->
| [ (Abso,rev_abso_form,s) :: [ (Pvc,prev,sv) :: r ] ] ->
(* Takes care of absolutives in -ya *) (* Takes care of absolutives in -ya *)
let pv = Word.mirror prev in let pv = Word.mirror prev in
let pv_str = Canon.decode pv let pv_str = Canon.decode pv
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
(* *) (* *)
(* Gérard Huet *) (* Gérard Huet *)
(* *) (* *)
(* ©2018 Institut National de Recherche en Informatique et en Automatique *) (* ©2019 Institut National de Recherche en Informatique et en Automatique *)
(**************************************************************************) (**************************************************************************)
(*i module Int_sandhi = struct i*) (*i module Int_sandhi = struct i*)
...@@ -511,7 +511,8 @@ let adoh = duhify (Encode.rev_code_string "adoh") in ...@@ -511,7 +511,8 @@ let adoh = duhify (Encode.rev_code_string "adoh") in
assert (decode (int_sandhi adoh (code "t")) = "adhok"); (* she milked - not "adho.t" *) assert (decode (int_sandhi adoh (code "t")) = "adhok"); (* she milked - not "adho.t" *)
(* Not fully correct - still to be improved (* Not fully correct - still to be improved
Special cases - to be accommodated at proper point in the derivation Macdonell §60 footnote 1 p 26 Special cases - to be accommodated at proper point in the derivation
cf. Macdonell §60 footnote 1 p 26
d is assimilated before primary suffix -na: ad+na -> anna d is assimilated before primary suffix -na: ad+na -> anna
t and d are assimilated before secondary suffixes -mat and -maya: vidyunmat m.rnmaya *) t and d are assimilated before secondary suffixes -mat and -maya: vidyunmat m.rnmaya *)
......
...@@ -1819,7 +1819,7 @@ value build_mas_ac stem entry = ...@@ -1819,7 +1819,7 @@ value build_mas_ac stem entry =
] ]
; ;
value build_pums pum pums entry = (* for pu.ms et napu.ms *) value build_pums pum pums entry = (* for pu.ms et napu.ms *)
(* hi.ms pu.ms no retroflexion of s - Whitney§183a *) (* hi.ms pu.ms no retroflexion of s - Whitney§183a Kale §113 *)
let decline case suff = (case,List2.unstack pum (code suff)) let decline case suff = (case,List2.unstack pum (code suff))
and declines case suff = (case,List2.unstack pums (code suff)) in and declines case suff = (case,List2.unstack pums (code suff)) in
enter entry enter entry
...@@ -5905,17 +5905,48 @@ value compute_extra iic_only_stems = do ...@@ -5905,17 +5905,48 @@ value compute_extra iic_only_stems = do
; [compute_extra_ifc bahu_suffixes] eg Fem -padaa for meter formation *) ; [compute_extra_ifc bahu_suffixes] eg Fem -padaa for meter formation *)
} }
; ;
value enter_extra_ifcs () = do value enter_extra_ifcs () = do (* archaic retroflexion in cpds Pan{8,4,13} *)
{ let entry = "bhogya" in (* for retroflexion in var.sabhogye.na *) { let entry = "bhogya" in (* var.sabhogye.na Meghaduuta 1b *)
let ins_sg = [ (Singular,[ (Ins,code "bhogye.na") ]) ] let ins_sg = [ (Singular,[ (Ins,code "bhogye.na") ]) ]
and gen_pl = [ (Plural,[ (Gen,code "bhogyaa.naam") ]) ] in do and gen_pl = [ (Plural, [ (Gen,code "bhogyaa.naam") ]) ] in do
{ enter1 entry (Declined Noun Mas ins_sg) { enter1 entry (Declined Noun Mas ins_sg)
; enter1 entry (Declined Noun Mas gen_pl) ; enter1 entry (Declined Noun Mas gen_pl)
; enter1 entry (Declined Noun Neu ins_sg) ; enter1 entry (Declined Noun Neu ins_sg)
; enter1 entry (Declined Noun Neu gen_pl) ; enter1 entry (Declined Noun Neu gen_pl)
; enter1 entry (Declined Noun Fem gen_pl) ; enter1 entry (Declined Noun Fem gen_pl)
} }
} ; let entry = "yogin" in (* pu.spayogi.nah Renou yogi-fleur? *)
let form = code "yogi.nas" in do
{ enter1 entry (Declined Noun Mas [ (Singular, [ (Gen,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Singular, [ (Abl,form) ]) ])
; enter1 entry (Declined Noun Neu [ (Singular, [ (Gen,form) ]) ])
; enter1 entry (Declined Noun Neu [ (Singular, [ (Abl,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Plural, [ (Nom,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Plural, [ (Acc,form) ]) ])
}
; let entry = "yuga" in do
{ let form = code "yugaa.ni" in do (* v.r.sabhayugaa.ni vastrayugaa.ni *)
{ enter1 entry (Declined Noun Neu [ (Plural, [ (Nom,form) ]) ])
; enter1 entry (Declined Noun Neu [ (Plural, [ (Acc,form) ]) ])
}
; let form = code "yuge.na" in do (* vastrayuge.na kharayuge.na *)
{ enter1 entry (Declined Noun Neu [ (Singular, [ (Ins,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Singular, [ (Ins,form) ]) ])(*bahu*)
}
} (* NB "vastrayugi.nas", "vastrayugi.nau" etc. OK since stem autonomous *)
; let entry = "kaamin" in (* svargakaami.nau *)
let form = code "kaami.nau" in do
{ enter1 entry (Declined Noun Mas [ (Dual, [ (Nom,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Dual, [ (Acc,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Dual, [ (Voc,form) ]) ])
}
; let entry = "gaamin" in (* v.r.sagaami.nau *)
let form = code "gaami.nau" in do
{ enter1 entry (Declined Noun Mas [ (Dual, [ (Nom,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Dual, [ (Acc,form) ]) ])
; enter1 entry (Declined Noun Mas [ (Dual, [ (Voc,form) ]) ])
}
}
; ;
value enter_extra_iifcs () = do value enter_extra_iifcs () = do
{ let entry = "ahan" in (* for -aha- like pu.nyaahavaacanam *) { let entry = "ahan" in (* for -aha- like pu.nyaahavaacanam *)
......
...@@ -50,8 +50,8 @@ value voices_of = fun ...@@ -50,8 +50,8 @@ value voices_of = fun
| "draa#1" | "dru#1" | "druh#1" | "dham" | "dhaa#2" | "dhru" | "dhvan" | "draa#1" | "dru#1" | "druh#1" | "dham" | "dhaa#2" | "dhru" | "dhvan"
| "dhv.r" | "na.t" | "nad" | "nand" | "nam" | "nard" | "naz#1" | "nind" | "dhv.r" | "na.t" | "nad" | "nand" | "nam" | "nard" | "naz#1" | "nind"
| "nu#1" | "n.rt" | "pa.t" | "pat#1" | "path" | "paa#1" | "paa#2" | "pi#2" | "nu#1" | "n.rt" | "pa.t" | "pat#1" | "path" | "paa#1" | "paa#2" | "pi#2"
| "piz#1" | "pi.s" | "pu.t" | "p.r#1" | "p.r.s" | "p.rr" | "praa#1" | "phal" | "piz#1" | "pi.s" | "pu.t" | "p.r#1" | "p.r.s" | "p.rr" | "praa#1"
| "bal" | "b.rh#1" | "b.rh#2" | "bha~nj" | "bha.n" | "bha.s" | "phal" | "bal" | "b.rh#1" | "b.rh#2" | "bha~nj" | "bha.n" | "bha.s"
| "bhas" | "bhaa#1" | "bhii#1" | "bhuj#1" | "bhuu#1" | "bhuu.s" | "bhram" | "bhas" | "bhaa#1" | "bhii#1" | "bhuj#1" | "bhuu#1" | "bhuu.s" | "bhram"
| "majj" | "ma.n.d" | "mad#1" | "manth" | "mah" | "maa#3" | "mi.s" | "mih" | "majj" | "ma.n.d" | "mad#1" | "manth" | "mah" | "maa#3" | "mi.s" | "mih"
| "miil" | "mu.s#1" | "muh" | "muurch" | "m.r.d" | "m.rz" | "mnaa" | "mre.d" | "miil" | "mu.s#1" | "muh" | "muurch" | "m.r.d" | "m.rz" | "mnaa" | "mre.d"
...@@ -64,7 +64,7 @@ value voices_of = fun ...@@ -64,7 +64,7 @@ value voices_of = fun
| "v.rj" | "v.r.s" | "v.rh" | "ven" | "vyac"| "vyadh" | "vraj" | "vrazc" | "v.rj" | "v.r.s" | "v.rh" | "ven" | "vyac"| "vyadh" | "vraj" | "vrazc"
| "za.ms" | "zak" | "zam#1" | "zam#2" | "zal" | "zaz" | "zas" | "zaas" | "za.ms" | "zak" | "zam#1" | "zam#2" | "zal" | "zaz" | "zas" | "zaas"
| "zi.s" | "ziil" | "zuc#1" | "zudh" | "zumbh" | "zu.s" | "zuu" | "z.rr" | "zi.s" | "ziil" | "zuc#1" | "zudh" | "zumbh" | "zu.s" | "zuu" | "z.rr"
| "zcut#1" | "zram" | "zru" | "zli.s" | "zvas#1" | ".s.thiiv" | "sa~nj" | "zcut#1" | "zraa" | "zru" | "zli.s" | "zvas#1" | ".s.thiiv" | "sa~nj"
| "sad#1" | "sap#1" | "saa#1" | "sidh#1" | "sidh#2" | "siiv" | "sur" | "s.r" | "sad#1" | "sap#1" | "saa#1" | "sidh#1" | "sidh#2" | "siiv" | "sur" | "s.r"
| "s.rj#1" | "s.rp" | "skand" | "skhal" | "stan" | "stubh" | "sthag" | "snaa" | "s.rj#1" | "s.rp" | "skand" | "skhal" | "stan" | "stubh" | "sthag" | "snaa"
| "snih#1" | "snu" | "snuh#1" | "sp.r" | "sphal" | "sphu.t" | "sphur" | "snih#1" | "snu" | "snuh#1" | "sp.r" | "sphal" | "sphu.t" | "sphur"
...@@ -80,6 +80,7 @@ value voices_of = fun ...@@ -80,6 +80,7 @@ value voices_of = fun
(*| "van" Atma needed for vanute *) (*| "van" Atma needed for vanute *)
(*| "mah" Atma needed for pft. maamahe *) (*| "mah" Atma needed for pft. maamahe *)
(*| "cit#1" Atma needed for pft. cikite *) (*| "cit#1" Atma needed for pft. cikite *)
(*| "zram" Atma needed for vizramate *)
(*| "kaafk.s" | "han#1" occur also in Atma in BhG: kaafk.se hani.sye *) (*| "kaafk.s" | "han#1" occur also in Atma in BhG: kaafk.se hani.sye *)
(*| "has" Atma needed for hasate *) (*| "has" Atma needed for hasate *)
(*| "zu.s" Atma for zu.syate WR epic *) (*| "zu.s" Atma for zu.syate WR epic *)
...@@ -124,9 +125,9 @@ value voices_of = fun ...@@ -124,9 +125,9 @@ value voices_of = fun
| "lafgh" | "lak.s" | "labh" | "la.s" | "lip" | "lih#1" | "lup" | "luu#1" | "lafgh" | "lak.s" | "labh" | "la.s" | "lip" | "lih#1" | "lup" | "luu#1"
| "vad" | "vap#1" | "vap#2" | "val" | "vah#1" | "vaa#3" | "vic" | "vij" | "vad" | "vap#1" | "vap#2" | "val" | "vah#1" | "vaa#3" | "vic" | "vij"
| "viij" | "v.r#2" | "v.rt#1" | "vyath" | "vyaa" | "zap" | "zaa" | "zu.s" | "viij" | "v.r#2" | "v.rt#1" | "vyath" | "vyaa" | "zap" | "zaa" | "zu.s"
| "zubh#1" | "zyaa" | "zri" | "san#1" | "sah#1" | "sic" | "su#2" | "suud" | "zubh#1" | "zyaa" | "zram" | "zri" | "san#1" | "sah#1" | "sic" | "su#2"
| "stambh" | "stu" | "st.rr" | "sthaa#1" | "sp.rz#1" | "sp.rh" | "smi" | "suud" | "stambh" | "stu" | "st.rr" | "sthaa#1" | "sp.rz#1" | "sp.rh"
| "syand" | "svad" | "had" | "hikk" | "hu" | "huu" | "h.r#1" ] *) | "smi" | "syand" | "svad" | "had" | "hikk" | "hu" | "huu" | "h.r#1" ] *)
(* + corr. "pa.th" | "sthaa#1" | "praz" | "k.rr" | "p.rc" | "bandh" *) (* + corr. "pa.th" | "sthaa#1" | "praz" | "k.rr" | "p.rc" | "bandh" *)
(* NB. "ah" "rip" "vadh" have no pr, "mand2" is fictitious *) (* NB. "ah" "rip" "vadh" have no pr, "mand2" is fictitious *)
(* "iiz1", "lii" and "knuu" allowed Para in future *) (* "iiz1", "lii" and "knuu" allowed Para in future *)
...@@ -291,6 +292,7 @@ value voices_of_pv upasarga gana = fun (* gana only used for "tap" "i" ".r" *) ...@@ -291,6 +292,7 @@ value voices_of_pv upasarga gana = fun (* gana only used for "tap" "i" ".r" *)
| _ -> Para | _ -> Para
] ]
| "zii#1" -> if upasarga = "sam" then Ubha else Atma | "zii#1" -> if upasarga = "sam" then Ubha else Atma
| "zram" -> if upasarga = "vi" then Ubha (* epic vizramate *) else Para
| "krii" -> match upasarga with | "krii" -> match upasarga with
[ "vi" | "pari" | "ava" -> Atma [ "vi" | "pari" | "ava" -> Atma
| _ -> Para (* \Pan{1,3,18} *) | _ -> Para (* \Pan{1,3,18} *)
...@@ -298,8 +300,8 @@ value voices_of_pv upasarga gana = fun (* gana only used for "tap" "i" ".r" *) ...@@ -298,8 +300,8 @@ value voices_of_pv upasarga gana = fun (* gana only used for "tap" "i" ".r" *)
(* Next three equivalent to marking "unused" in lexicon *) (* Next three equivalent to marking "unused" in lexicon *)
| "ta~nc" | "saa#1" | "zam#2" | "zal" (* also "khyaa" ? *) -> | "ta~nc" | "saa#1" | "zam#2" | "zal" (* also "khyaa" ? *) ->
match upasarga with match upasarga with
[ "" -> raise Unattested [ "" -> raise Unattested (* thus braa.hmasya "Ô Brahmane, tue" unrecognized *)
| _ -> Para | _ -> Para
] ]
| "loc" | "zrambh" | "hnu" -> match upasarga with | "loc" | "zrambh" | "hnu" -> match upasarga with
[ "" -> raise Unattested [ "" -> raise Unattested
......
...@@ -4067,7 +4067,7 @@ value compute_aorist entry = ...@@ -4067,7 +4067,7 @@ value compute_aorist entry =
{ compute_thematic_aorista stem entry { compute_thematic_aorista stem entry
; compute_thematic_aoristm stem entry ; compute_thematic_aoristm stem entry
} }
| "zuu" | "zcut#1" -> compute_thematic_aorista weak entry | "zuu" | "zcut#1" | "zram" -> compute_thematic_aorista weak entry
| "zru" -> compute_thematic_aorista (revcode "zrav") entry | "zru" -> compute_thematic_aorista (revcode "zrav") entry
| "khyaa" -> compute_thematic_aorista (revcode "khy") entry | "khyaa" -> compute_thematic_aorista (revcode "khy") entry
| "as#2" -> compute_thematic_aorista (revcode "asth") entry | "as#2" -> compute_thematic_aorista (revcode "asth") entry
...@@ -4241,7 +4241,8 @@ value compute_injunctive entry = ...@@ -4241,7 +4241,8 @@ value compute_injunctive entry =
{ compute_thematic_injuncta weak entry { compute_thematic_injuncta weak entry
; compute_thematic_injunctm weak entry (* middle is very rare *) ; compute_thematic_injunctm weak entry (* middle is very rare *)
} }
| "vac" -> compute_thematic_injuncta (revcode "voc") entry (* vocat *) | "zram" -> compute_thematic_injuncta weak entry (* zramat *)
| "vac" -> compute_thematic_injuncta (revcode "voc") entry (* vocat *)
| "zru" -> compute_thematic_injuncta (revcode "zrav") entry (* zravat *) | "zru" -> compute_thematic_injuncta (revcode "zrav") entry (* zravat *)
| _ -> () | _ -> ()
] ]
......
...@@ -8,4 +8,4 @@ ...@@ -8,4 +8,4 @@
(**************************************************************************) (**************************************************************************)
(* Generated by make version - see main Makefile *) (* Generated by make version - see main Makefile *)
value version="3.15" and version_date="2019-04-24"; value version="3.16" and version_date="2019-05-09";
VERSION='3.15' VERSION='3.16'
DATE='2019-04-24' DATE='2019-05-09'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment