diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/lexer.mll | 1 | ||||
-rw-r--r-- | src/lib/prononciation.mly | 12 | ||||
-rw-r--r-- | src/test/test.ml | 4 |
3 files changed, 10 insertions, 7 deletions
diff --git a/src/lib/lexer.mll b/src/lib/lexer.mll index a5cee10..27533cd 100644 --- a/src/lib/lexer.mll +++ b/src/lib/lexer.mll @@ -32,6 +32,7 @@ rule letter = parse | "nn" { N } | 'o' { O } | 'p' { P } +| "ph" { F } | 'q' { Q } | 'r' { R } | 'u' { U } diff --git a/src/lib/prononciation.mly b/src/lib/prononciation.mly index c6c828e..be153cb 100644 --- a/src/lib/prononciation.mly +++ b/src/lib/prononciation.mly @@ -27,8 +27,6 @@ %token C %token D %token<Accent.t> E -%token E_ACUTE -%token E_AGRAVE %token F %token G %token H @@ -61,8 +59,8 @@ %% -voyel: - | A { A } +voyel + : A { A } | E { letter_e $1 } | I { I } | O { O } @@ -72,8 +70,8 @@ voyel: | U { U } -letters: - | voyel { $1 :: [] } +letters + : voyel { $1 :: [] } | Space { Space :: [] } | Sep { Sep :: [] } @@ -91,6 +89,7 @@ letters: | G { G :: [] } | G I { J :: I :: [] } | G E { J :: letter_e $2 :: [] } + | G E voyel { J :: $3 :: [] } | G U { G :: U :: [] } | G U I { G :: I :: [] } | G U E { G :: letter_e $3 :: [] } @@ -112,7 +111,6 @@ letters: | O I N { W :: I :: N :: [] } | P { P :: [] } - | P H { F :: [] } | Q { K :: [] } | Q U { K :: [] } diff --git a/src/test/test.ml b/src/test/test.ml index c7f45d5..8c49b5c 100644 --- a/src/test/test.ml +++ b/src/test/test.ml @@ -55,6 +55,7 @@ let tests = ; "astiqué", "astike" ; "autruche", "otRyS°" ; "besoin", "b°zw5" + ; "bisoux", "bizu(s)" ; "casait", "kazE(t)" ; "cassait", "kasE(t)" ; "célibat", "seLiba(t)" @@ -64,6 +65,7 @@ let tests = ; "co|incidant", "ko5sid@(t)" ; "croire", "kR[wa]R°" ; "ébrouas", "ebRua(s)" + ; "em|magasinais","@magazinE(s)" ; "famille", "famij°" ; "loin", "Lw5" ; "groin", "gR[w5]" @@ -71,10 +73,12 @@ let tests = ; "joues", "Zu°(s)" ; "libellule", "LibELyL°" ; "main", "m5" + ; "ménageais", "menaZE(s)" ; "neige", "nEZ°" ; "pacha", "paSa" ; "péché", "peSe" ; "persai", "pERsE" + ; "personne", "pERson°" ; "plan", "pL@" ; "plat", "pLa(t)" ; "platte", "pLat°" |