::vowel:: = a|á|â|æ|e|é|è|ê|ë|i|î|ï|o|ô|œ|u|ù|û|ü|A|Á|Â|Æ|E|É|È|Ê|Ë|I|Î|Ï|O|Ô|Œ|U|Ù|Û|Ü|ɛ|ə|y|Y|œ|ø
::frontvowel:: = e|é|è|ê|ë|i|î|ï|y|E|É|È|Ê|Ë|I|Î|Ï|Y|ɛ
::consonant:: = b|ç|c|ch|d|f|g|j|k|l|m|n|p|r|s|t|v|w|z|ʒ
::silentfinal:: = d|t|x|z|p

% Treatment of <qu>
qu -> k / _

% Treatment of <c> and <s>
sc -> s / _ (::frontvowel::)
c -> s / _ (::frontvowel::)
% Palatalization and lenition of <g>
g -> ʒ / _ (::frontvowel::)

j -> ʒ / _
ie -> i / _ #
i -> j / _ (::vowel::)

% Context where <y> is realized as a vowel
y -> j / [::vowel] _
y -> i / _

% Treatment of <l>
il -> j / (::vowel::) _
ill -> j / (::vowel::) _
ill -> ij / _

ai[mn] -> ɛ̃ / _ #|x|(::consonant::)
ein|im|in|ym|yn -> ɛ̃ / _ #|x|(::consonant::)
ail -> aj / _ #
aill -> aj / _
eil -> ɛj / _ #
eill -> ɛj / _ 
ai -> e / _ #|(::frontvowel::)
ai -> ɛ / _ (::consonant::)|x
eu -> ø / _ #|(::frontvowel::)
eu -> œ / _ (::consonant::)|x
l -> 0 / (::vowel::).*i _ s?#
eau -> ô / _ #

% Treatment of <o>
o -> ô / _ (s|::silentfinal::)?#

% Make é into E
é -> E / _

% Treatment of <e>
jen -> jɛ̃ / _ #|(x|::consonant::)
e[mn] -> ɑ̃ / _ #|(x|::consonant::)
e -> ə / _ s?#
e -> ɛ / _ (s|::silentfinal::)?#
e -> ɛ / _ (r|l|x|::consonant::){2,}
e -> ə / (::vowel::).* _
e -> ə / _ .*(::vowel::)
ə -> 0 / (::vowel::) _

% Make E back into é
E -> é / _

% Rest of nasal vowels
uin -> ɥɛ̃ / _ #|(x|::consonant::)
oin -> wɛ̃ / _ #|(x|::consonant::)
a[mn] -> ɑ̃ / _ #|(x|::consonant::)
ai[mn] -> ɛ̃ / _ #|(x|::consonant::)
un|um -> œ̃ / #|(x|::consonant::) _ #|(x|::consonant::)
om|on -> õ / _ #|(x|::consonant::)

% Intervocalic voicing of <s>
s -> z / (::vowel::) _ (::vowel::)

x -> ks / _ (p|t|k|f|s|ch)
x -> ɡz / _ (::vowel::)

% High vowels become glides before vowels
ou -> w / _ (::vowel::)
u -> ɥ / _ (::vowel::)

% "Deletion" of <ent> word finally - only for verbs
% This rule is sensitive to part of speech
% ent -> 0 / _ #

% Treatment of <er> - only for verbs
% er -> é / _ #

% Deletion of final letters
s -> 0 / (::vowel::).+ _ #
ə|(::silentfinal::) -> 0 / (::vowel::).* _ #

% Delete tilde before nasals
 ̃ -> 0 / _ [mn]