Finnish Syllabification
The Syllabification rule proposed in the Finnish Prosody example:
# Put a
syllable boundary after a maximal expansion of the
# C* V+
C* pattern that is followed by a C V sequence.
define
Syllabify C* V+ C* @-> ... "." || _ C V ;
is an approximation that works correctly for most short words. But the
facts of Finnish are more complex. The nucleus of a syllable may not
contain any number of vowels. It may consist of a
- single vowel as the two syllables in ka.la 'fish',
- a long vowel as the two syllables in riip.puu 'it hangs', or
- a diphthong as the first two syllables of tie.toi.nen 'cognicient',
Any combination of these three basic types is possible in a word,
e.g. sa.taa 'it rains', sa.toi 'it rained', saata 'accompany!', saatoin 'I accompanied', auta 'help!', auttaa 'to help'.
The definition of a long vowel is simple: any two adjacent identical
vowels in the Finnish orthograpy make a long vowel. However, only
certain non-identical vowel pairs constitute a diphthtong. The rules
are:
- A low (a, ä) or mid (e, o) vowel followed by a high (i, u, y) vowel constitutes a dipthong,
for example, lai.va 'ship', lei.pä 'bred', häijy 'mean', kou.lu 'shool', köy.hä 'poor'. Certain
combinations are ruled out by vowel harmony. The harmonizing low and
mid back vowels (a, o) do not combine with the high
front vowel y and the
harmonizing low and mid front vowels (ä,
ö) do not combine
with the high back vowel u.
There are no dipthongs ending in a low vowel. For example, the name
"Lea" consists of two syllables: le.a.
- The three high-mid sequences ie,
uo, and yö constitute a dipththong
when they occur in the first syllable of the word but not later in the
word. For example vies.ti.en
'of the messages', tuo.te
'product, vir.tu.o.si.teet.ti
'virtuosity'.
- Two-vowel sequences ending in i
are always diphthongs, other sequences ending in a high vowel are
diphthongs in the absence of a coda consonant, e.g. lak.kau.tan
'I cancel' but poik.ke.us
'exception'.
Your task is to modify the Finnish
Prosody script to produce a defintion of Syllabification for
Finnish that takes into account the above constraints on the nucleus of
the syllable. Here is a set of inputs that it should syllabify
correctly:
define
FinnWords [{kala}|{riippuu}|
{tietoinen}|{sataa}|{satoi}|{saata}|{saatoin}|{auta}|
{laiva}|{leipä}|{häijy}|{koulu}||{köyhä}|{lea}|{viestien}|{tuote}|
{virtuositeetti}|{laukaus}|{lakkautan}|
{voimistelijoiden}|{heittäen}|
{heittäisin}|{laulaen}];