Commit 6002be84 authored by Gérard Huet's avatar Gérard Huet

Correction of bug allowing aa-ending preverbs to be separated from their stems

parent c0cef2c8
......@@ -657,6 +657,7 @@ value resolve_homonym entry =
[ 1 -> match entry with
[ ".rc"
| "krudh"
| "kha~nj"
| "cit"
| "chad"
| "tyaj"
......@@ -762,6 +763,7 @@ value resolve_homonym entry =
| "pu.s"
| "budh"
| "mad"
| "yudh"
| "zam"
| "saa"
| "sidh"
......
......@@ -459,7 +459,9 @@ value validate out = match out with
let pv_str = Canon.decode pv
and lopa_form = Word.mirror rev_lopa_form in
let root_form = match lopa_form with
[ [ -2 :: rf ] -> rf | _ -> failwith "Wrong lopa form" ] in
[ [ -2 :: rf ] -> rf
| _ -> failwith "Wrong lopa form"
] in
if validate_pv pv_str root_form then
let form = apply_sandhi prev lopa_form sv in
let verb_form = Word.mirror form in
......@@ -467,9 +469,8 @@ value validate out = match out with
else []
| [ (Lopa,rev_lopa_form,_) :: next ] ->
let lopa_form = Word.mirror rev_lopa_form in
if autonomous_form lopa_form
&& sa_before_check lopa_form next
then out else []
if autonomous_form lopa_form && sa_before_check lopa_form next
then out else []
| (* infinitives in -tu with preverbs *)
[ (Inftu,rev_root_form,s) :: [ (Pv,prev,sv) :: r ] ] ->
let pv = Word.mirror prev in
......
......@@ -4,7 +4,7 @@
(* *)
(* Gérard Huet *)
(* *)
(* ©2017 Institut National de Recherche en Informatique et en Automatique *)
(* ©2018 Institut National de Recherche en Informatique et en Automatique *)
(**************************************************************************)
(*i module Encode = struct i*)
......
......@@ -402,8 +402,8 @@ value enter1 entry =
where entern (c,w) =
let f = Noun_form g n c in
if c=Voc then
if morpho_gen.val && is_kridanta entry then ((* f is in Kridv *))
else add_voca w delta f (* non-generative Voca *)
if morpho_gen.val && is_kridanta entry then ((* f is in Kridv *))
else add_voca w delta f (* non-generative Voca *)
else do { add_morph w delta f
; match entry with (* generative ifcs of infinitive bahus *)
[ "kaama" (* volition : who wants to do *)
......@@ -424,7 +424,7 @@ value enter1 entry =
where entern (p,w) = let v = Verb_form f n p in do
{ add_morphc w delta v aapv
(* Now we take care of \Pan{6,1,94} when not blocked by \Pan{6,1,89} *)
(* ex: prejate, + (Kazikaa) upelayati prelayati upo.sati pro.sati *)
(* ex: prejate + (Kazikaa) upelayati prelayati upo.sati pro.sati *)
; if morpho_gen.val then
if entry = "i" || entry = "edh" then () (* \Pan{6,1,89} *)
else add_morphlopa w delta v
......
......@@ -4,7 +4,7 @@
(* *)
(* Gérard Huet *)
(* *)
(* ©2017 Institut National de Recherche en Informatique et en Automatique *)
(* ©2018 Institut National de Recherche en Informatique et en Automatique *)
(**************************************************************************)
(* CGI-bin lemmatizer for searching the inflected forms databases *)
......
......@@ -4,7 +4,7 @@
(* *)
(* Gérard Huet *)
(* *)
(* ©2017 Institut National de Recherche en Informatique et en Automatique *)
(* ©2018 Institut National de Recherche en Informatique et en Automatique *)
(**************************************************************************)
(* This module contains various service utilities for CGI programs *)
......
......@@ -4,7 +4,7 @@
(* *)
(* Gérard Huet *)
(* *)
(* ©2017 Institut National de Recherche en Informatique et en Automatique *)
(* ©2018 Institut National de Recherche en Informatique et en Automatique *)
(**************************************************************************)
(* Unique naming mechanism. *)
......
......@@ -33,11 +33,11 @@ value voices_of = fun
| "ard" | "av" | "az#2" | "as#1" | "as#2" | "aap" | "ifg" | "in" | "ind"
| "inv" | "il" | "i.s#2" | "iifkh" | "iir.s" | "uk.s" | "uc" | "ujjh" | "u~nch"
| "und" | "umbh" | "u.s" | ".rc#1" | ".rdh" | ".r.s" | "ej" | "kas" | "kiil"
| "ku.t" | "ku.n.th" | "kunth" | "kup" | "kul" | "kuuj" | "k.rt#1"
| "k.rz" | "krand" | "krii.d" | "kru~nc#1" | "krudh#1" | "kruz" | "klam"
| "klid" | "kliz" | "kvath" | "k.sar" | "k.sal" | "k.si" | "k.sii" | "k.su"
| "k.sudh#1" | "k.subh" | "k.svi.d" | "khaad" | "khid" | "khel" | "khyaa"
| "gaj" | "gad" | "garj" | "gard" | "gal" | "gaa#1" | "gaa#2" | "gu~nj"
| "ku.t" | "ku.n.th" | "kunth" | "kup" | "kul" | "kuuj" | "k.rt#1" | "k.rz"
| "krand" | "krii.d" | "kru~nc#1" | "krudh#1" | "kruz" | "klam" | "klid"
| "kliz" | "kvath" | "k.sar" | "k.sal" | "k.si" | "k.sii" | "k.su" | "k.sudh#1"
| "k.subh" | "k.svi.d" | "kha~nj#1" | "khaad" | "khid" | "khel" | "khyaa"
| "gaj" | "gad" | "garj" | "gard" | "gal" | "gaa#1" | "gaa#2" | "gu~nj"
| "gu.n.th" | "gup" | "gumph" | "g.rdh" | "g.rr#1" | "g.rr#2" | "granth"
| "grah" | "glai" | "ghas" | "ghu.s" | "gh.r" | "gh.r.s" | "ghraa" | "cakaas"
| "ca.t" | "cand" | "cam" | "car" | "cal" | "cit#1" | "cumb" | "chur"
......@@ -81,6 +81,7 @@ value voices_of = fun
(*| "cit#1" Atma needed for pft. cikite *)
(*| "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 *)
(*| "a~nj" also Atma afkte | "naath" "praz" "sp.rz#1" idem *)
-> Para (* active only *)
| "az#1" | "aas#2" | "indh" | "iik.s" | "ii.d" | "iir" | "iiz#1" | "ii.s"
......@@ -117,12 +118,12 @@ value voices_of = fun
| "mi" | "mith" | "mil" | "mii" | "muc#1" | "mud#1" | "m.r" | "m.rj"
| "m.rdh" | "m.r.s" | "yaj#1" | "yaac" | "yu#1" | "yuj#1" | "rac"
| "ra~nj" | "ram" | "rah" | "raaj#1" | "ri" | "ric" | "rud#1" | "rudh#2"
| "lafgh" | "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" | "zubh#1"
| "zyaa" | "zri" | "san#1" | "sah#1" | "sic" | "su#2" | "suud" | "stambh"
| "stu" | "st.rr" | "sthaa#1" | "sp.rz#1" | "sp.rh" | "syand" | "svad" | "had"
| "hikk" | "hu" | "huu" | "h.r#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"
| "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" | "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" and "lii" allowed Para in future *)
......
......@@ -8,4 +8,4 @@
(**************************************************************************)
(* Generated by make version - see main Makefile *)
value version="3.05" and version_date="2018-04-01";
value version="3.06" and version_date="2018-04-12";
VERSION='3.05'
DATE='2018-04-01'
VERSION='3.06'
DATE='2018-04-12'
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