! This file is a script for the Xerox xfst interface. clear stack echo << THE DEFININTIONS >> echo << defining Vow >> define Vow [ a | á | e | i | o | u | y | æ | ä | ø | ö | å | é | ó | ú | í | à | è | ò | ù | ì | ë | ü | ï | â | ê | ô | û | î | ã | ý | A | Á | Â | Å | E | I | O | Õ | Æ | Ø | Ö ] ; echo << defining Cns >> define Cns [ b | c | č | d | đ | f | g | ǧ | ǥ | h | j | k | ǩ | l | m | n | p | q | ǯ | ʒ | r | s | š | t | ŧ | v | w | x | z | ž | B | C | Č | D | Đ | F | G | Ǧ | Ǥ | H | J | K | Ǩ | L | M | N | P | Q | Ǯ | Ʒ | R | S | Š | T | Ŧ | V | W | X | Z | Ž ] ; echo << defining Dummy >> define Dummy [ X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | X9 | Ǯ | Ʒ | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 | Q9 | Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 | %^P3 ] ; echo << defining WeG >> define WeG [ X2 | X3 | Ǯ | Ʒ | Q3 ] ; echo << defining StemCns >> define StemCns [ b | b3 | d | d3 | g | ǥ | g3 | h | h2 | h3 | j | l | m | m2 | m3 | n | n2 | ñ | r | s ] ; ! Consonant alternations in certain pos ! ------------------------------------- ! Vowel shifts ! ------------ echo << THE VOWEL SHIFT RULES >> echo << defining the LongVowel-Lowering rule >> define LongVowelLowering i i -> e e , õ õ-> â â , u u -> o o , a a -> ä ä , o u -> å u , i õ -> e â , i â -> e ä , u õ -> u â , u å -> u ä || Cns _ Cns+ *? %^P3 ; echo << defining the ShortVowel-Lowering rule >> define ShortVowelLowering i -> e , õ -> â , u -> o , a -> ä || Cns _ Cns+ *? %^P3 ; ! Stem vowel alternations ! ----------------------- ! a-stem alternations ! - - - - - - - - - - ! e-stem alternations ! - - - - - - - - - - ! o-stem alternations ! - - - - - - - - - - ! alternations valid for several stem types ! - - - - - - - - - - - - - - - - - - - - - ! Diphtong simplification ! ----------------------- ! Consonant gradation rules ! ------------------------- echo << THE CONSONANT GRADATON RULES >> ! Deletion rules ! - - - - - - - - echo << defining t Deletion >> define tDeletion [ t -> 0 || Vow t _ Vow WeG ] ; !define tDeletion t -> 0 || Vow t:đ _ Vow WeG ; ! Change rules ! - - - - - - echo << CLEANING UP AND COMPOSING END RESULT >> echo << defining DummyDeletion >> define DummyDeletion [ Dummy -> 0 ] ; echo << composing different parts >> read regex [ LongVowelLowering .o. ShortVowelLowering .o. tDeletion .o. DummyDeletion ] ;