Terzemian/Sound Changes
I am writing these rules with the deliberate intent of later writing a parser. It will be documented at $HOME/CSMF once work starts.
Reading rules
Categories
root category = [cons][vowel]
category POA for [cons] = [bilabial][alveolar][postalveolar][palatal][velar][labiovelar][glottal]
category height for [vowel] = [close][mid][open]
category fronting for [vowel] = [front][central][back]
category fronting for [cons] = [fronted][][backed]
Shorthands
shorthand [+affric] = [+stop][+fric]
shorthand [+liquid] = [+cons][-stop][-fric][-laryngeal]
Classes
class C = .[+cons]
class V = .[+vowel]
class R = C[+liquid]
class N = C[+nasal]
class J = C[+affric]
class T = C[+stop][-voice]
class D = C[+stop][+voice]
class S = C[+fric][-voice]
class Z = C[+fric][+voice]
class H = C[+laryngeal]
Symbols
p = T[-asp][+bilabial]
b = D[-asp][+bilabial]
t = T[-asp][+alveolar]
d = D[-asp][+alveolar]
ḱ = T[-asp][+palatal]
ǵ = D[-asp][+palatal]
k = T[-asp][+velar]
g = D[-asp][+velar]
kʷ = T[-asp][+labiovelar]
gʷ = D[-asp][+labiovelar]
Cʰ > $1[+asp]
s = S[+alveolar]
r = R[+alveolar][-lateral][-nasal]
l = R[+alveolar][+lateral][-nasal]
m = N[+bilabial]
n = N[-bilabial]
ʔ = H[+palatal]
ʕ = H[+velar]
ʕʷ = H[+labiovelar]
i = V[+close][+front][-round]
e = V[+mid][+front][-round]
u = V[+close][+back][+round]
o = V[+mid][+back][+round]
Read accented vowels as feature changes
é > e[+stress]
ó > o[+stress]
ē > e[+long]
ō > o[+long]
ḗ > e[+long][+stress]
ṓ > o[+long][+stress]
Non-PIE symbols
h = S[+glottal]
z = Z[+alveolar]
š = S[+postalveolar]
ž = Z[+postalveolar]
ü = [+vowel][+close][+front][+round]
ö = [+vowel][+mid][+front][+round]
ä = [+vowel][+open][+front][-round]
a = [+vowel][+open][-front][-round]
å = [+vowel][+open][+round]
x = S[+velar]
ǧ = Z[+velar]
c = J[+alveolar]
č = J[+postalveolar]
Depalatalization
ḱ > k / s _
ǵ > g / s _
Satemization
ḱ > š
ǵ > ž
Grassman
C[+asp] > C[-asp] / _ .* [C+asp]
Laryngeals
With vowels
ʔe > e
ʕe > a
ʕʷe > o
o[+length]H > o[+length]x
o[-length]H > o[+length]
e[+length]H > $1$2x
eʔ > e[+length]
eʕ > a[+length]
eʕʷ > o[+length]
With liquids
ʔ > i / _ R
ʕ > a / _ R
ʕʷ > u / _ R
H > ə / R _
With remaining consonants
ʔ > e / C _ C, # _ C, C _ #
ʕ > a / C _ C, # _ C, C _ #
ʕʷ > o / C _ C, # _ C, C _ #
Split labiovelar series
C[+labiovelar] > C[+bilabial] / _ (V,H)[+front]
C[+labiovelar] > C[+bilabial] / (V,H)[+front] _ #
C[+labiovelar] > C[+velar] / _ (V,H)[+round]
C[+labiovelar] > uC[+velar] / _ #
C[+labiovelar] > C[+velar]u
H[+bilabial] > w
Epenthesize syllabic liquids
∅ > ə / C _ RC
Harmonize the weak vowel
ə > u / V[+round] C* _
ə > u / _ C* V[+round]
ə > i
Desyllabify close vowels
j = [+cons][+liquid][+palatal][-lateral][-nasal]
w = [+cons][+liquid][+labiovelar][-lateral][-nasal]
i > j / C _ V, V _ C, # _ V, V _ #
u > w / C _ V, V _ C, # _ V, V _ #
I, A, or U umlaut
Phase 1 goes here.
Final-softening Chain Shift
r > ∅ / _ #
l > w / _ #
Z > $1[+liquid] / _ #
S > $1[+voice] / _ #
D[+asp] > $1[-stop][-asp][+fric] / _ #
D[-asp] > $1[+asp] / _ #
T > $1[+voice] / _ #
Monophthongization
V[+front]w > $1[+round]
V[+round]j > $1[+front]
wV[+front] > V[+front][+round][=height($2)]
jV[+round] > V[+front][-round][=height($2)]
Ruki
s > š / (r,u,k,i) _ , _ (r,u,k,i)
z > ž / (r,u,k,i) _ , _ (r,u,k,i)
Writing Rules
to write in Latin use
H => (OOPS!)
[+glottal] => h
[+labiovelar] => w
[+palatal] => y
[+lateral] => l
N[+bilabial] => m
N[+alveolar] => n
N[+postalveolar] => n
N[-bilabial][-alveolar][-postalveolar] => ň
R => r