! ======================================= ! ! FST-rules in Inuktitut - Pilot project ! ! ======================================= ! !Defining the consonant inventory define stops [ p | P | t | T | k | K | q | Q ] ; define cont [ v | V | l | L | r | R | g | G | j | J ] ; define fric [ s | S | ł | Ł ] ; define foreign [ h | H | y | Y ] ; define nas [ m | M | n | N | Ŋ | ŋ ] ; define cns [ stops | cont | fric | foreign | nas ] ; define vow [ i | I | e | E | a | A | u | U | o | O ] ; define dummy [ %> | %TRUNC | %VCTRUNC |%C | %CLIT | %FRIC | %C | %DEFRIC ] ; define segment [ cns | vow | dummy ] ; !define erfalasoq [ %@P%.IV%.ON%@ | %@P%.TV%.ON%@ | %@R%.IV%.ON%@ | %@R%.TV%.ON%@ | %@D%.IV%.ON%@ | %@D%.TV%.ON%@ ] ; !******************** !Phonological rules * !******************** ! headings from the technocrat file ! http://www.inuktitutcomputing.ca/Technocrats/ILFT_1.html !Deletion define 3cnsDeletion Cns -> 0 || _ %> Cns Cns ; define TruncDeletion Cns -> 0 || _ %> %TRUNC ; !Assimilation define kgAss k -> g , K -> G || _ %> [j|J] ; define kNAss k -> ŋ , K -> Ŋ || _ %> [n|N] ; !Voicing define Voicing q -> r , Q -> R || _ %> [cont|nas] ; !Nasalization !define Nasalisation !Consonant Alternating define jtAss j -> t , J -> T || cns %> _ ; define UvAss k %> g -> g , q %> g -> r ; !Uvular Alternating !Vowel Heading echo << Dummies >> define DummyDeletion dummy -> 0 ; !************* !The cascade * !************* echo << Combining... >> read regex [ 3cnsDeletion .o. TruncDeletion .o. kgAss .o. kNAss .o. Voicing !.o. Nasalisation .o. jtAss .o. UvAss .o. DummyDeletion ] ;