summaryrefslogtreecommitdiff
path: root/src/lib/modifiers
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2021-09-01 18:33:26 +0200
committerSébastien Dailly <sebastien@chimrod.com>2021-09-01 18:33:26 +0200
commit12ccc075d724f9985be488b162b243f46dff871a (patch)
treeae788a28754397db7ad009c011b9c02818cc555d /src/lib/modifiers
parent843230359b2157212c4e93b51994f0fde90d808b (diff)
Made all tests pass
Diffstat (limited to 'src/lib/modifiers')
-rw-r--r--src/lib/modifiers/vocalize.ml7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/modifiers/vocalize.ml b/src/lib/modifiers/vocalize.ml
index 6857718..dab36ed 100644
--- a/src/lib/modifiers/vocalize.ml
+++ b/src/lib/modifiers/vocalize.ml
@@ -10,10 +10,15 @@ let process
| None -> init
| Some op ->
(* The voyel may be none in case of ending word. In such case, we shall
- not trnasform the S into Z *)
+ not transform the S into Z *)
let is_voyel = T.is_voyel v1 && T.is_voyel v2 in
+
match is_voyel, op.Sig.opening, op.Sig.ending with
| true, hd::[], None when hd = T.sz ->
let c = Some { op with opening = [T.z] } in
(((v1, v2), c) , ending)
+ | true, hd::n::[], None when hd = T.sz && T.is_voyel n->
+ (* The s is followed by a semi-voyel *)
+ let c = Some { op with opening = [T.z; n] } in
+ (((v1, v2), c) , ending)
| _ -> init