summaryrefslogtreecommitdiff
path: root/src/lib/sounds
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/sounds')
-rw-r--r--src/lib/sounds/sig.ml2
-rw-r--r--src/lib/sounds/sounds.ml12
-rw-r--r--src/lib/sounds/sounds.mli1
3 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/sounds/sig.ml b/src/lib/sounds/sig.ml
index 016c757..3c3c731 100644
--- a/src/lib/sounds/sig.ml
+++ b/src/lib/sounds/sig.ml
@@ -42,8 +42,8 @@ module type REPR = sig
val r : t
val semi_voyel_w : t
-
val semi_voyel_y : t
+ val semi_voyel_u : t
val muted : t -> t
diff --git a/src/lib/sounds/sounds.ml b/src/lib/sounds/sounds.ml
index 2e8e95b..47fea2b 100644
--- a/src/lib/sounds/sounds.ml
+++ b/src/lib/sounds/sounds.ml
@@ -21,6 +21,7 @@ type code =
| Voyel_EU_Opened
| SemiVoyel_W
| SemiVoyel_Y
+ | SemiVoyel_U
| Consonant_P
| Consonant_B
| Consonant_T
@@ -203,6 +204,11 @@ let semi_voyel_y =
kind = SemiVoyel
; code = SemiVoyel_Y}
+let semi_voyel_u =
+ { none with
+ kind = SemiVoyel
+ ; code = SemiVoyel_U}
+
let rec nasal t =
match t.kind, t.code with
@@ -212,10 +218,7 @@ let rec nasal t =
(* The only case we could have the nasalisation of such diphtongue, is
the case I E, N -> wich is transformed into I, I N. *)
Some ( diphtongue s1 { i with nasal = true } )
- | (SemiVoyel_Y, _)
- | (SemiVoyel_W, _) ->
- Option.map (fun s -> diphtongue s1 s) (nasal s2)
- | _ -> None
+ | _ -> Option.map (fun s -> diphtongue s1 s) (nasal s2)
end
| Voyel, _ -> Some { t with nasal = true }
| _ -> None
@@ -263,6 +266,7 @@ let repr
| SemiVoyel_W , _ -> Repr.semi_voyel_w
| SemiVoyel_Y , _ -> Repr.semi_voyel_y
+ | SemiVoyel_U , _ -> Repr.semi_voyel_u
| Consonant_P , _ -> Repr.p
| Consonant_B , _ -> Repr.b
diff --git a/src/lib/sounds/sounds.mli b/src/lib/sounds/sounds.mli
index 4f0bbc1..7dea8c0 100644
--- a/src/lib/sounds/sounds.mli
+++ b/src/lib/sounds/sounds.mli
@@ -68,6 +68,7 @@ val l: t
val semi_voyel_w: t
val semi_voyel_y: t
+val semi_voyel_u: t
val is_voyel : t -> bool
val is_nasal : t -> bool