summaryrefslogtreecommitdiff
path: root/src/lib/parser.mly
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2021-08-27 17:20:59 +0200
committerSébastien Dailly <sebastien@chimrod.com>2021-08-27 17:20:59 +0200
commit26faec7a69051f639b50c8e8741f0823c6be52a2 (patch)
treea610d0306bf3e0c84f7993be7c290965fcab1900 /src/lib/parser.mly
parentc8b49eed4cf92e7d2dd01dce779ef84ccae733eb (diff)
Managed diphtongues
Diffstat (limited to 'src/lib/parser.mly')
-rw-r--r--src/lib/parser.mly14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/parser.mly b/src/lib/parser.mly
index 2a94839..f12e2cc 100644
--- a/src/lib/parser.mly
+++ b/src/lib/parser.mly
@@ -28,7 +28,7 @@ occlusiv:
| D { T.d }
| K { T.k }
- | G { T.none }
+ | G { T.g }
fricativ:
| S { T.s () }
@@ -75,14 +75,18 @@ opening_consonant:
(* Each voyel as two associated sounds, depending there is a followng sound or
not *)
voyels:
- | A { T.a `Opened , T.a `Opened }
+ | A { T.a , T.a }
| A I { T.e `Opened , T.e `Opened }
- | I { T.i `Opened , T.i `Opened }
+ | I { T.i , T.i }
| E { T.e `Opened , T.schwa () }
| E_ACUTE E? { T.e `Closed , T.e `Closed }
+ | E_AGRAVE { T.e `Opened , T.e `Opened }
| E U { T.eu `Opened , T.eu `Opened }
| O { T.o `Opened , T.o `Opened }
| U { T.u , T.u }
+ | OU { T.u' , T.u' }
+ | W A { T.diphtongue T.semi_voyel_w T.a, T.diphtongue T.semi_voyel_w T.a}
+ | W I { T.diphtongue T.semi_voyel_w T.i, T.diphtongue T.semi_voyel_w T.a}
nasal_voyels:
| A N { T.a' () , T.a' () }
@@ -113,12 +117,14 @@ consonant_group:
syllable:
| c = consonant_group?
v = voyels
+ Sep?
{ (v, c) }
syllables:
| { [] }
- | ss = syllables s = syllable { s::ss }
+ | ss = syllables
+ s = syllable { s::ss }
word: