home *** CD-ROM | disk | FTP | other *** search
- ; ENGLISH.RUL 16-Apr-90
-
- ; Rules file for the English description.
- ; To load this file, enter the command LOAD RULES ENGLISH.
-
- ; This description of English is based on the article "A two-level
- ; morphological analysis of English," by Lauri Karttunen and
- ; K. Wittenburg, Texas Linguistic Forum 22:217-228 (1983).
- ; See appendix A for an exposition of the rules in this file.
-
- ; ' = apostrophe
- ; - = hyphen
- ; ` = stress
- ; + = morpheme break
-
- ALPHABET
- a b c d e f g h i j k l m n o p q r s t u v w x y z ' - ` +
- NULL 0
- ANY @
- BOUNDARY #
- SUBSET C b c d f g h j k l m n p q r s t v w x y z ; consonants
- SUBSET Csib s x z ; sibilants
- SUBSET Cpal c g ; soft palatals
- SUBSET V a e i o u ; vowels
- SUBSET Vbk a o u ; back vowels
-
- RULE "1 Consonant defaults" 1 22
- b c d f g h j k l m n p q r s t v w x y z @
- b c d f g h j k l m n p q r s t v w x y z @
- 1: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
-
- ; ` and + default to 0
- ; - defaults to either - or 0
- RULE "2 Vowels and other defaults" 1 11
- a e i o u ' - - ` + @
- a e i o u ' - 0 0 0 @
- 1: 1 1 1 1 1 1 1 1 1 1 1
-
-
- ; Epenthesis
- ; LR: fox+0s kiss+0s church+0s spy+0s
- ; SR: fox0es kiss0es church0es spi0e
-
- RULE "3 Epenthesis, 0:e => [Csib|ch|sh|y:i] +:0___s [+:0|#]" 7 9
- c h s Csib y + # 0 @
- c h s Csib i 0 # e @
- 1: 2 1 4 3 3 1 1 0 1
- 2: 2 3 3 3 3 1 1 0 1
- 3: 2 1 3 3 3 5 1 0 1
- 4: 2 3 3 3 3 5 1 0 1
- 5: 2 1 2 2 2 1 1 6 1
- 6. 0 0 7 0 0 0 0 0 0
- 7. 0 0 0 0 0 1 1 0 0
-
- RULE "4 Epenthesis, 0:0 /<= [Csib|ch|sh|y:i] +:0___s [+:0|#]" 6 8
- c h s Csib y + # @
- c h s Csib i 0 # @
- 1: 2 1 4 3 3 1 1 1
- 2: 2 3 3 3 3 1 1 1
- 3: 2 1 3 3 3 5 1 1
- 4: 2 3 3 3 3 5 1 1
- 5: 2 1 6 3 3 1 1 1
- 6: 2 3 4 3 3 0 0 1
-
-
- ; y:i-spelling
- ; LR: spy+s happy+ly spot0+y+ness
- ; SR: spies happi0ly spott0i0ness
-
- RULE "5 y:i-spelling, y:i <= :C__+:0 ~[i|']" 4 7
- @ y y + i ' @
- C i @ 0 i ' @
- 1: 2 1 1 1 1 1 1
- 2: 2 1 3 2 1 1 1
- 3: 2 1 1 4 1 1 1
- 4: 0 0 0 0 1 1 0
-
- RULE "6 y:i-spelling, y:i => :C__+:0 ~[i|']" 4 6
- @ y + i ' @
- C i 0 i ' @
- 1: 2 0 1 1 1 1
- 2: 2 3 2 1 1 1
- 3. 0 0 4 0 0 0
- 4. 2 1 1 0 0 1
-
-
- ; s-deletion
- ; LR: cat+s+'s fox+s+'s
- ; SR: cat0s0'0 foxes0'0
-
- RULE "7 s-deletion, s:0 <=> +:0 (0:e) s +:0 '___" 5 6
- + 0 s ' s @
- 0 e @ ' 0 @
- 1: 2 1 1 1 0 1
- 2: 2 2 3 1 0 1
- 3: 4 1 1 1 0 1
- 4: 2 1 3 5 0 1
- 5: 2 1 0 1 1 1
-
-
- ; Elision
- ; LR: `move+ed `move+ing `move+able `be+ing
- ; SR: 0mov0+ed 0mov00ing 0mov00able 0be0ing
-
- ; LR: `trace+ed `trace+ing `trace+able
- ; SR: 0trac00ed 0trac00ing 0trace0able
-
- ; except in Cpal___+:0 Vbk
- RULE "8 Elision, e:0 <= VCC*___+:0 V" 8 8
- C Cpal e e + V Vbk @
- C Cpal 0 @ 0 V Vbk @
- 1: 1 1 1 2 1 2 2 1
- 2: 3 6 1 2 1 2 2 1
- 3: 3 6 1 4 1 2 2 1
- 4: 1 1 1 2 5 2 2 1
- 5: 1 1 1 0 1 0 0 1
- 6: 1 1 1 7 1 2 2 1
- 7: 1 1 1 2 8 2 2 1
- 8: 1 1 1 0 1 0 1 1
-
- ; elision prohibited after Cpal and before back vowel
- RULE "9 e:0 /<= VC*Cpal___+:0 Vbk" 5 7
- V C Cpal e + Vbk @
- V C Cpal 0 0 Vbk @
- 1: 2 1 1 1 1 2 1
- 2: 2 2 3 1 1 2 1
- 3: 2 1 1 4 1 2 1
- 4: 2 1 1 1 5 2 1
- 5: 2 1 1 1 1 0 1
-
- ; LR: a`gree+ed a`gree+ing a`gree+able `hoe+ed `hoe+ing `dye+ed `dye+ing
- ; SR: a0gre00ed a0gree0ing a0gree0able 0ho00ed 0hoe0ing 0dy00ed 0dye0ing
- ;
- ; BUT compare these:
- ; LR: `argue+ing `argue+able
- ; SR: 0argu00ing 0argu00able
-
- RULE "10 e:0 <= C[V|y]___+:0 e" 5 8
- C V y e e + ` @
- C V y 0 @ 0 0 @
- 1: 2 1 1 1 1 1 1 1
- 2: 2 3 3 1 3 1 2 1
- 3: 2 1 1 1 4 1 3 1
- 4: 2 1 1 1 1 5 4 1
- 5: 2 1 1 1 0 1 5 1
-
- RULE "11 e:0 <= Cu___+:0 V" 5 7
- C u e e + V @
- C u 0 @ 0 V @
- 1: 2 1 1 1 1 1 1
- 2: 2 3 1 1 1 1 1
- 3: 2 1 1 4 1 1 1
- 4: 2 1 1 1 5 1 1
- 5: 2 0 1 0 1 0 1
-
- ; clean-up rule for three <= Elision rules above plus i:y-spelling below
- RULE
- "12 Elision, e:0 => VCC*___+:0 V, C[V|y]___+:0 e, Cu___+:0 V, i:y___+:0 i" 12 10
- C e + i y V e u ` @
- C 0 0 y y V e u 0 @
- 1: 6 0 1 10 6 2 2 2 1 1
- 2: 3 0 1 10 3 2 2 2 2 1
- 3: 3 4 1 10 3 7 7 10 3 1
- 4. 0 0 5 0 0 0 0 0 4 0
- 5. 0 0 0 0 0 1 1 1 5 0
- 6: 6 0 1 10 7 7 7 10 6 1
- 7: 3 8 1 10 1 2 2 2 7 1
- 8. 0 0 9 0 0 0 0 0 8 0
- 9. 0 0 0 0 0 0 1 0 9 0
- 10: 6 11 1 10 6 1 1 1 10 1
- 11. 0 0 12 0 0 0 0 0 11 0
- 12. 0 0 0 0 0 1 1 1 12 0
-
-
- ; i:y-spelling
- ; LR: tie+ed tie+ing
- ; SR: ti00ed ty00ing
-
- ; e:@ instead of e:0 to force Elision to apply
- RULE "13 i:y-spelling, i:y <= ___ e: +:0 i" 4 5
- i e + i @
- y @ 0 i @
- 1: 1 1 1 2 1
- 2: 1 3 1 2 1
- 3: 1 1 4 2 1
- 4: 1 1 1 0 1
-
- RULE "14 i:y-spelling, i:y => ___ e:0 +:0 i" 4 5
- i e + i @
- y 0 0 i @
- 1: 2 1 1 1 1
- 2. 0 3 0 0 0
- 3. 0 0 4 0 0
- 4. 0 0 0 1 0
-
-
- ; Gemination
- ; LR: re`fer0+ed `travel+ed `sleep+ing `slip0+ing `spot0+y
- ; SR: re0ferr0ed 0travel0ed 0sleep0ing 0slipp0ing 0spott0y
-
- ; {C} = {b,d,f,g,l,m,n,p,r,s,t}
- RULE "15 Gemination, 0:{C} => `:0 C* V {C}___[V|y:]" 16 27
- ` V y b d f g l m n p r s t 0 0 0 0 0 0 0 0 0 0 0 + @
- 0 V @ b d f g l m n p r s t b d f g l m n p r s t 0 @
- 1: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1
- 2: 2 5 1 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 1 2
- 3. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0
- 4. 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 5: 2 1 1 6 7 8 9 10 11 12 13 14 15 16 0 0 0 0 0 0 0 0 0 0 0 1 1
- 6: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 3 0 0 0 0 0 0 0 0 0 0 1 1
- 7: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 3 0 0 0 0 0 0 0 0 0 1 1
- 8: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 3 0 0 0 0 0 0 0 0 1 1
- 9: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 3 0 0 0 0 0 0 0 1 1
- 10: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 3 0 0 0 0 0 0 1 1
- 11: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 3 0 0 0 0 0 1 1
- 12: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 3 0 0 0 0 1 1
- 13: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 3 0 0 0 1 1
- 14: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 3 0 0 1 1
- 15: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 3 0 1 1
- 16: 2 5 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 3 1 1
-
- ; {C} = {b,d,f,g,l,m,n,p,r,s,t}
- RULE "16 Gemination, 0:0 /<= `:0 C* V {C}___+:0 [V|y:]" 5 16
- ` V y b d f g l m n p r s t + @
- 0 V @ b d f g l m n p r s t 0 @
- 1: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
- 2: 2 4 2 2 2 2 2 2 2 2 2 2 2 2 1 2
- 3: 2 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
- 4: 2 1 1 5 5 5 5 5 5 5 5 5 5 5 1 1
- 5: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1
-
-
- END
-
- ; The following rules do epenthesis and gemination by setting up
- ; correspondences between lexical + (morpheme boundary) and surface
- ; e, b, d, g, etc. They run faster than the rules above, which do
- ; genuine insertion of characters from a lexical 0 (NULL).
- ; To run these rules, substitute them for the corresponding rules
- ; above; also, +:0 column headers in other rules should be
- ; changed to +:@.
- ; Also note that these rules also do not use the #:# header.
-
- RULE "3 Epenthesis, +:e => [Csib|ch|sh|y:i]___s[#|+:] " 6 8
- c h s Csib y + + @
- c h s Csib i e @ @
- 1: 2 1 4 3 3 0 1 1
- 2: 2 3 3 3 3 0 1 1
- 3: 2 1 3 3 3 5 1 1
- 4: 2 3 3 3 3 5 1 1
- 5. 0 0 6 0 0 0 0 0
- 6: 0 0 0 0 0 0 1 0
-
- RULE "4 Epenthesis, +:e <= [Csib|ch|sh|y:i]___s[#|+:]" 6 8
- c h s Csib y + + @
- c h s Csib i e @ @
- 1: 2 1 4 3 3 1 1 1
- 2: 2 3 3 3 3 1 1 1
- 3: 2 1 3 3 3 1 5 1
- 4: 2 3 3 3 3 1 5 1
- 5: 2 1 6 3 3 1 1 1
- 6. 2 3 4 3 3 1 0 1
-
- RULE "7 s-deletion, s:0 <=> +: s+: '___" 5 5
- + s ' s @
- @ @ ' 0 @
- 1: 2 1 1 0 1
- 2: 2 3 1 0 1
- 3: 4 1 1 0 1
- 4: 2 3 5 0 1
- 5: 2 0 1 1 1
-
- ; {C} = {b,d,f,g,l,m,n,p,r,s,t}
- RULE "15 Gemination, +:{C} => `:0 C* V {C}___[V|y:]" 15 26
- ` V y b d f g l m n p r s t + + + + + + + + + + + @
- 0 V @ b d f g l m n p r s t b d f g l m n p r s t @
- 1: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1
- 2: 2 4 1 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 2
- 3. 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 4: 2 1 1 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 1
- 5: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 0 0 0 0 0 0 0 0 0 0 1
- 6: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 3 0 0 0 0 0 0 0 0 0 1
- 7: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 3 0 0 0 0 0 0 0 0 1
- 8: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 3 0 0 0 0 0 0 0 1
- 9: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 3 0 0 0 0 0 0 1
- 10: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 3 0 0 0 0 0 1
- 11: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 3 0 0 0 0 1
- 12: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 3 0 0 0 1
- 13: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 3 0 0 1
- 14: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 3 0 1
- 15: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 3 1
-
- ; {C} = {b,d,f,g,l,m,n,p,r,s,t}
- RULE "16 Gemination, +:{C} <= `:0 C* V {C}___[V|y:]" 5 16
- ` V y b d f g l m n p r s t + @
- 0 V @ b d f g l m n p r s t 0 @
- 1: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
- 2: 2 4 2 2 2 2 2 2 2 2 2 2 2 2 1 2
- 3: 2 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
- 4: 2 1 1 5 5 5 5 5 5 5 5 5 5 5 1 1
- 5: 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1
-