Print

Print


The Generate Feature is the easiest part.  Here I have my Phonetic rules,
which generally mangle the roots when there are liquids or fricatives
involved.

\id ERADPHON.RUL
\co Phonological Rules for Erad   --- Erad WAS the temporary name for the
lang...

\def C
b c d f g h j k l m n  p q r s t v w x y z

\co unvoiced consonants
\def Cu
p f t s c k x

\def Cv
b v d z j g q

\co Fricatives
\def Ca
f v s z c j x q

\co Plosives
\def Cp
p t k b d g

\co Liquids
\def Cl
w l y r

\def Cn
m n 

\co Unvoiced plosives
\def Cuna
p t k

\def Cvna
b d g

\def Cua
f c x s

\co many rules need a second identical set defined to make Generation easier.
\co This is one such set.
\def Cua2
f c x s

\def Cva
v j q z

\def Cva2
v j q z

\def Cl2
w y r l

\def V
a e i o u

\def V2
a e i o u

\co Front vowels... Yeah I know, a is technically front, but there is no
equivalent back vowel.
\def Vf
e i

\def Vf2
e i

\co backs
\def Vb
o u

\def Vb2
o u

\co high
\def Vh
i u

\co low, a only...
\def Vl
a

\co Morphology Rules

\co Generate can handle Vowel Harmony better than the Lookup step can.
\co Vowel Harmony
\ru [Vf][C]-[C][Vb]
[Vf][C][C][Vf2]
\ru [Vb][C]-[C][Vf]
[Vb][C][C][Vb2]
\ru [Vf][C]-[Vb]
[Vf][C][Vf2]
\ru [Vb][C]-[Vf]
[Vb][C][Vb2]
\ru [Vf]-[C][Vb]
[Vb2][C][Vb]
\ru [Vb]-[C][Vf]
[Vf2][C][Vf]

\co Affix Application Pushes everything together real nicely.
\ru -

\co All rules after this do not deal with
\co affixes.
\ru #y[V]
#[V]
\co That rule just above eliminates word initial y.

\co :[V]: below is a Vowel marked for deletion.  The second rule below
eliminates
\co this dummy vowel.
\ru #[V][Cu][V2]
#:[V]:[Cv][V2]
\ru :[V]:

\ru [Vh][Ca][Vl]
[Vh][Vl]

\ru [Cp][Cva]
[Cp][Cl2]
\ru [Cp][Cua]
[Cp][Cl2]

\co h is typically thrown away here
\ru [V]h[V]
[V][V]

\co and h is reintroduced here.
\ru [V]a
he
\ru [V]e
hi
\ru [V]i
hi
\ru [V]o
hu
\ru [V]u
hu
\ru [Cl]h
[Cl]

\ru [Cuna]h
[Cua]
\ru [Cvna]h
[Cva]

\ru [Cua][Cl][V]
[Cva][V]
\ru [Cva][Cl][V]
[Cua][Cl][V]

\ru [Cuna][Cl]
[Cua][Cl]
\ru [Cvna][Cl]
[Cva][Cl]

\ru h[Cuna]
[Cn]
\ru h[Cvna]
[Cn]
\ru h[C]
[C]

\ru [Cva][Cva]
[Cva]
\co in the next rule, the index into the set [Cva] is used to determine which
member of [Cua2] is used.  The rule, and the others in the area, make sure
that two fricatives glommed together take the articulation of the first, but
the vocalization of the second.
\ru [Cva][Cua]
[Cua2]
\ru [Cua][Cua]
[Cua]
\ru [Cua][Cva]
[Cva2]

\ru [Cva][Cvna]
[Cva]
\ru [Cua][Cuna]
[Cuna]
\ru [Cva][Cuna]
[Cvna]
\ru [Cua][Cvna]
[Cuna]

\ru [Cva]h
[Cua]
\ru sh
c
\ru [Cua]h
[Cuna]

\co couldn't figure a better way for the following rules at the time, so I
brute forced it.
\ru nk
k
\ru mk
k
\ru ng
g
\ru mg
g
\ru np
mp
\ru p
mp
\ru nb
mb
\ru b
mb
\ru mt
nt
\ru t
nt
\ru md
nd
\ru d
nd
\ru [Cn][Cn]
[Cn]

\co final h becomes he.
\ru h#
he#

\ru [V][Ca]u#
[V][Ca]#
\ru [V][Cp]u#
[V][Cp]#
\ru [V][Cn]u#
[V][Cn]#

\ru pt
p
\ru q#
#

\ru #h
#p

So I am obviously very familiar with the Generate rule.  It's primarily the
lookup steps that are giving me Vowel Harmony trouble, but I'll go back when
I have time and mess around with it.  Last I checked you can't use rule files
directly with the lookup step, but I may be wrong.

Also, David's question was well answered by BP Jonsson.

Jeff Sheets

"On two occasions I have been asked by members of Parliament, `Pray, Mr.
Babbage, if you put into the machine wrong figures, will the right answers
come out?'  I am not able rightly to apprehend the kind of confusion of ideas
that could provoke such a question." -- Charles Babbage