Changeset 1010 for trunk/modules/output.tcl
- Timestamp:
- 06/19/09 16:28:12 (3 years ago)
- File:
-
- 1 edited
-
trunk/modules/output.tcl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/output.tcl
r961 r1010 830 830 831 831 # 832 # makes a work past tense... probably best only use it on verbs :P 833 proc bMotion_make_past_tense { word } { 834 835 # check if we got passed a multi-part verb (sit on) 836 set extra "" 837 regexp -nocase {^(\w+)( (.+))?} $word matches verb extra 838 set newverb "" 839 840 putlog "working with $verb" 841 842 # handle irregual verbs 843 switch $verb { 844 cut { set newverb $verb } 845 hit { set newverb $verb } 846 fit { set newverb $verb } 847 get { set newverb got } 848 sit { set newverb sat } 849 drink { set newverb drank } 850 catch { set newverb caught } 851 bring { set newverb brought } 852 buy { set newverb bought} 853 teach { set newverb taught } 854 have { set newverb had } 855 do { set newverb did } 856 ride { set newverb rode } 857 go { set newverb went } 858 make { set newverb made } 859 } 860 861 if {$newverb != ""} { 862 return "${newverb}$extra" 863 } 864 865 # verbs ending in e get -ed 866 if [string match -nocase "*e" $verb] { 867 append verb "d" 868 set newverb $verb 869 } 870 871 if {$newverb != ""} { 872 return "${newverb}$extra" 873 } 874 875 # ending in const-y get -ied 876 if [regexp -nocase {(.+[^aeiouy])y$} $verb matches a] { 877 set newverb "${a}ied" 878 } 879 880 if {$newverb != ""} { 881 return "${newverb}$extra" 882 } 883 884 # one vowel + const !wy get double const + ed 885 if [regexp -nocase {(.+[^aeiouy][aeiou])([^aeiouwy])\M} $verb matches a b] { 886 set newverb "${a}${b}${b}ed" 887 } 888 889 if {$newverb != ""} { 890 return "${newverb}$extra" 891 } 892 893 # everything else just gets -ed 894 set newverb "${verb}ed" 895 896 return "${newverb}$extra" 897 } 898 899 900 # 832 901 # not sure! 833 902 proc chr c {
Note: See TracChangeset
for help on using the changeset viewer.
