%% A Makor-Omega otp file to do preliminary analysis for Yiddish input. %% The sequential file m2yidcon.otd does contextual analysis of some %% word-initial forms. input: 1; output: 1; states: WORD_INIT ; aliases: VALIDNONALPH = (39|`^'|`.') ; VALIDVWL = (`a'|`o'|`u'|`i'|`e') ; VALIDCONS =(`b'|`v'|`g'|`d'|`h'|`y'|`z'|`k'|`t'| `l'|`m'|`n'|`s'|`p'|`f'|`r'|`c'|`j') ; VALIDYID = (128-135) ; VALID = ({VALIDNONALPH}|{VALIDVWL}|{VALIDCONS}|{VALIDYID}) ; INVALID = ^({VALIDNONALPH}|{VALIDVWL}|{VALIDCONS}|{VALIDYID}) ; expressions: %% Handle `f' first... `f' {INVALID} => `f' `^' \$ ; `f' => 135 ; %% These certain vowels will be the subject of contextual analysis, %% since they must be preceded with an alef at word-beginnings. `o'`y' => 129 ; `o'`i' => 129 ; `o'`o' => `w' ; `u' => `w' ; `a'`y' => 133 ; `e'`i' => 133 ; `e'`y' => 130 ; `i' => `y' ; %% 3-char input conventions... `v'`o'`o' => 128 `o' `o' ; `.'`k'`h' => `c' `h' ; %% 2-char input conventions... `.'`v' => 134 ; `v'`u' => 128 `o' `o' ; `o'`o' => `w' ; `e'`e' => 131 ; `y'`i' => 132 ; `k'`h' => \* ; `.'`k' => `k' ; `t'`s' => \* ; `^'`s' => \* ; `s'`h' => \* ; `.'`t' => `t' ; `.'`s' => `t'`h' ; `d'`z' => \* ; `z'`h' => `z'`s'`h' ; `c'`h' => `.'`t'`s'`h' ; %% 1-char input conventions... `j' => `d'`z'`s'`h' ; 39 => "^" 39 ; `a' => "^" 39 `a' ; `o' => "^" 39 `a'`u' ; `b' => `v' ; `g' => \* ; `d' => \* ; `h' => \* ; `v' => 128 ; `u' => `w' ; `z' => \* ; `t' => `.'`t' ; `y' => `y'`y' % a flag for m2yidcon otp ; `l' => \* ; `m' => \* ; `n' => \* ; `s' => `.' `s' ; `e' => 96 ; `p' => `p' `_' ; `k' => `q' ; `r' => \* ; %% Everything else! . => \* ;