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 *)
value initial1 =
(* All phases but Ifc, Abso, Auxi, Auxik, Auxiick, Lopa, Lopak. *)
[ 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
and initial2 = (* simplified segmenter with less phases, no generation *)
[ Inde; Iic2; Noun2; Pron; Root; Pv; Iiv; Absv; Absc ]
......@@ -589,9 +589,8 @@ value validate out = match out with
[ (Comp (Pv,Peri) pv peri_form,cpd_form,s) :: r ]
else []
]
| [ (Abso,rev_abso_form,s) :: [ (Pv,prev,sv) :: r ] ]
| [ (Abso,rev_abso_form,s) :: [ (Pvv,prev,sv) :: r ] ]
| [ (Abso,rev_abso_form,s) :: [ (Pvc,prev,sv) :: r ] ] ->
| [ (Abso,rev_abso_form,s) :: [ (ph,prev,sv) :: r ] ]
when preverb_phase ph ->
(* Takes care of absolutives in -ya *)
let pv = Word.mirror prev in
let pv_str = Canon.decode pv
......
......@@ -4,7 +4,7 @@
(* *)
(* 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*)
......@@ -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" *)
(* 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
t and d are assimilated before secondary suffixes -mat and -maya: vidyunmat m.rnmaya *)
......
......@@ -1819,7 +1819,7 @@ value build_mas_ac stem entry =
]
;
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))
and declines case suff = (case,List2.unstack pums (code suff)) in
enter entry
......@@ -5905,16 +5905,47 @@ value compute_extra iic_only_stems = do
; [compute_extra_ifc bahu_suffixes] eg Fem -padaa for meter formation *)
}
;
value enter_extra_ifcs () = do
{ let entry = "bhogya" in (* for retroflexion in var.sabhogye.na *)
value enter_extra_ifcs () = do (* archaic retroflexion in cpds Pan{8,4,13} *)
{ let entry = "bhogya" in (* var.sabhogye.na Meghaduuta 1b *)
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 gen_pl)
; enter1 entry (Declined Noun Neu ins_sg)
; enter1 entry (Declined Noun Neu 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
......
......@@ -50,8 +50,8 @@ value voices_of = fun
| "draa#1" | "dru#1" | "druh#1" | "dham" | "dhaa#2" | "dhru" | "dhvan"
| "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"
| "piz#1" | "pi.s" | "pu.t" | "p.r#1" | "p.r.s" | "p.rr" | "praa#1" | "phal"
| "bal" | "b.rh#1" | "b.rh#2" | "bha~nj" | "bha.n" | "bha.s"
| "piz#1" | "pi.s" | "pu.t" | "p.r#1" | "p.r.s" | "p.rr" | "praa#1"
| "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"
| "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"
......@@ -64,7 +64,7 @@ value voices_of = fun
| "v.rj" | "v.r.s" | "v.rh" | "ven" | "vyac"| "vyadh" | "vraj" | "vrazc"
| "za.ms" | "zak" | "zam#1" | "zam#2" | "zal" | "zaz" | "zas" | "zaas"
| "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"
| "s.rj#1" | "s.rp" | "skand" | "skhal" | "stan" | "stubh" | "sthag" | "snaa"
| "snih#1" | "snu" | "snuh#1" | "sp.r" | "sphal" | "sphu.t" | "sphur"
......@@ -80,6 +80,7 @@ value voices_of = fun
(*| "van" Atma needed for vanute *)
(*| "mah" Atma needed for pft. maamahe *)
(*| "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 *)
(*| "has" Atma needed for hasate *)
(*| "zu.s" Atma for zu.syate WR epic *)
......@@ -124,9 +125,9 @@ value voices_of = fun
| "lafgh" | "lak.s" | "labh" | "la.s" | "lip" | "lih#1" | "lup" | "luu#1"
| "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"
| "zubh#1" | "zyaa" | "zri" | "san#1" | "sah#1" | "sic" | "su#2" | "suud"
| "stambh" | "stu" | "st.rr" | "sthaa#1" | "sp.rz#1" | "sp.rh" | "smi"
| "syand" | "svad" | "had" | "hikk" | "hu" | "huu" | "h.r#1" ] *)
| "zubh#1" | "zyaa" | "zram" | "zri" | "san#1" | "sah#1" | "sic" | "su#2"
| "suud" | "stambh" | "stu" | "st.rr" | "sthaa#1" | "sp.rz#1" | "sp.rh"
| "smi" | "syand" | "svad" | "had" | "hikk" | "hu" | "huu" | "h.r#1" ] *)
(* + corr. "pa.th" | "sthaa#1" | "praz" | "k.rr" | "p.rc" | "bandh" *)
(* NB. "ah" "rip" "vadh" have no pr, "mand2" is fictitious *)
(* "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" *)
| _ -> Para
]
| "zii#1" -> if upasarga = "sam" then Ubha else Atma
| "zram" -> if upasarga = "vi" then Ubha (* epic vizramate *) else Para
| "krii" -> match upasarga with
[ "vi" | "pari" | "ava" -> Atma
| _ -> Para (* \Pan{1,3,18} *)
......@@ -298,7 +300,7 @@ value voices_of_pv upasarga gana = fun (* gana only used for "tap" "i" ".r" *)
(* Next three equivalent to marking "unused" in lexicon *)
| "ta~nc" | "saa#1" | "zam#2" | "zal" (* also "khyaa" ? *) ->
match upasarga with
[ "" -> raise Unattested
[ "" -> raise Unattested (* thus braa.hmasya "Ô Brahmane, tue" unrecognized *)
| _ -> Para
]
| "loc" | "zrambh" | "hnu" -> match upasarga with
......
......@@ -4067,7 +4067,7 @@ value compute_aorist entry =
{ compute_thematic_aorista 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
| "khyaa" -> compute_thematic_aorista (revcode "khy") entry
| "as#2" -> compute_thematic_aorista (revcode "asth") entry
......@@ -4241,6 +4241,7 @@ value compute_injunctive entry =
{ compute_thematic_injuncta weak entry
; compute_thematic_injunctm weak entry (* middle is very rare *)
}
| "zram" -> compute_thematic_injuncta weak entry (* zramat *)
| "vac" -> compute_thematic_injuncta (revcode "voc") entry (* vocat *)
| "zru" -> compute_thematic_injuncta (revcode "zrav") entry (* zravat *)
| _ -> ()
......
......@@ -8,4 +8,4 @@
(**************************************************************************)
(* 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'
DATE='2019-04-24'
VERSION='3.16'
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