Ignore:
Timestamp:
09/08/09 19:22:58 (3 years ago)
Author:
james
Message:

tidy up sillyThings learning filtering
fix minor logic error in %VAR processing
add adjectives into sillyThings output

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/en/output_VAR.tcl

    r1026 r1029  
    6161                } 
    6262 
    63                 if {[lsearch $options_list "strip"] > -1} { 
    64                         set replacement [bMotion_strip_article $replacement] 
    65                 } else { 
     63                if {[lsearch $options_list "strip"] == -1} { 
    6664                        if {$abstract == "sillyThings"} { 
    67                                 if {[rand 100] > 80} { 
    68                                         set prefixes [list] 
    69                                         set replacement [bMotion_strip_article $replacement] 
    70                                         if [regexp -nocase "s$" $replacement] { 
    71                                                 set prefixes [list "des " "les "] 
    72                                         } elseif [regexp -nocase "^\[aeiouy\]" $replacement] { 
    73                                                 set prefixes [list "d'" "l'"] 
    74                                         } else { 
    75                                                 set prefixes [list "de la " "du " "la " "le " "un " "une "] 
    76                                         } 
    77                                         set prefix [pickRandom $prefixes] 
    78                                         set replacement "$prefix$replacement" 
    79                                 } else { 
    80                                         if {![rand 100]} { 
    81                                                 regsub "((an?|the|some|his|her|their) )?" $replacement "\\1%VAR{noun_prefix} " replacement 
    82                                                 set replacement [string trim $replacement] 
     65                                if {[rand 100] > 90} { 
     66                                        set mode [rand 2] 
     67                                        switch $mode { 
     68                                                0 { 
     69                                                        set prefixes [list] 
     70                                                        set replacement [bMotion_strip_article $replacement] 
     71                                                        if [regexp -nocase "s$" $replacement] { 
     72                                                                set prefixes [list "des " "les "] 
     73                                                        } elseif [regexp -nocase "^\[aeiouy\]" $replacement] { 
     74                                                                set prefixes [list "d'" "l'"] 
     75                                                        } else { 
     76                                                                set prefixes [list "de la " "du " "la " "le " "un " "une "] 
     77                                                        } 
     78                                                        set prefix [pickRandom $prefixes] 
     79                                                        set replacement "$prefix$replacement" 
     80                                                }  
     81                                                1 { 
     82                                                        regsub "((an?|the|some|his|her|their) )?" $replacement "\\1%VAR{noun_prefix} " replacement 
     83                                                        set replacement [string trim $replacement] 
     84                                                } 
    8385                                        } 
    8486                                } 
     
    8688                } 
    8789 
    88                 if {[lsearch $options_list "verb"] > -1} { 
    89                         set replacement [bMotionMakeVerb $replacement] 
     90                foreach option $options_list { 
     91                        switch $option { 
     92                                "strip" { 
     93                                        set replacement [bMotion_strip_article $replacement] 
     94                                } 
     95                                "verb" { 
     96                                        set replacement [bMotionMakeVerb $replacement] 
     97                                } 
     98                                "past" { 
     99                                        set replacement [bMotion_make_past_tense $replacement] 
     100                                } 
     101                                "presentpart" { 
     102                                        set replacement [bMotion_make_present_participle $replacement] 
     103                                } 
     104                                "plural" { 
     105                                        set replacement [bMotionMakePlural $replacement] 
     106                                } 
     107                                "owner" { 
     108                                        set replacement [bMotionMakePossessive $replacement] 
     109                                } 
     110                                "underscore" { 
     111                                        set replacement [string map { " " "_" } $replacement] 
     112                                } 
     113                                "caps" { 
     114                                        set replacement [string toupper $replacement] 
     115                                } 
     116                        } 
     117 
     118                        # actually do the replacement 
     119                        regsub $whole_thing $line $replacement line 
    90120                } 
    91121 
    92                 if {[lsearch $options_list "past"] > -1} { 
    93                         set replacement [bMotion_make_past_tense $replacement] 
     122                if {[llength $options_list] == 0} { 
     123                        regsub $whole_thing $line $replacement line 
    94124                } 
    95  
    96                 if {[lsearch $options_list "presentpart"] > -1} { 
    97                         set replacement [bMotion_make_present_participle $replacement] 
    98                 } 
    99  
    100                 if {[lsearch $options_list "plural"] > -1} { 
    101                         set replacement [bMotionMakePlural $replacement] 
    102                 } 
    103  
    104                 if {[lsearch $options_list "owner"] > -1} { 
    105                         set replacement [bMotionMakePossessive $replacement] 
    106                 } 
    107  
    108                 if {[lsearch $options_list "underscore"] > -1} { 
    109                         set replacement [string map { " " "_" } $replacement] 
    110                 } 
    111  
    112                 if {[lsearch $options_list "caps"] > -1} { 
    113                         set replacement [string toupper $replacement] 
    114                 } 
    115  
    116                 # actually do the replacement 
    117                 regsub $whole_thing $line $replacement line 
    118125 
    119126                # check if what we swapped in gave us a %noun 
Note: See TracChangeset for help on using the changeset viewer.