diff options
Diffstat (limited to 'src/lib/sounds')
-rw-r--r-- | src/lib/sounds/sig.ml | 2 | ||||
-rw-r--r-- | src/lib/sounds/sounds.ml | 12 | ||||
-rw-r--r-- | src/lib/sounds/sounds.mli | 1 |
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 |