code: def _convert_amb_verbal_form( analysis ):
      ''' Converts ambiguous verbal categories of the input analysis. 
          Performs one-to-many conversions. '''
      assert FORM in analysis, '(!) The input analysis does not contain "'+FORM+'" key.'
      results = []
      for root_pat, pos, form_pat, replacements in _amb_verb_conversion_rules:
          if analysis[POSTAG] == pos and re.match(root_pat, analysis[ROOT]) and \
             re.match(form_pat, analysis[FORM]):
             for replacement in replacements:
                 new_analysis = copy_analysis_dict( analysis )
                 new_form = re.sub(form_pat, replacement, analysis[FORM])
                 new_analysis[FORM] = new_form
                 results.append( new_analysis )
             # break after the replacement has been made
             # ( to avoid over-generation )
             break
      if not results:
         results.append( analysis )
      return resultf _convert_amb_verbal_form( analysis ):
      ''' Converts ambiguous verbal categories of the input analysis. 
          Performs one-to-many conversions. '''
      assert FORM in analysis, '(!) The input analysis does not contain "'+FORM+'" key.'
      results = []
      for root_pat, pos, form_pat, replacements in _amb_verb_conversion_rules:
          if analysis[POSTAG] == pos and re.match(root_pat, analysis[ROOT]) and \
             re.match(form_pat, analysis[FORM]):
             for replacement in replacements:
                 new_analysis = copy_analysis_dict( analysis )
                 new_form = re.sub(form_pat, replacement, analysis[FORM])
                 new_analysis[FORM] = new_form
                 results.append( new_analysis )
             # break after the replacement has been made
             # ( to avoid over-generation )
             break
      if not results:
         results.append( analysis )
      return results
docs: Converts ambiguous verbal categories of the input analysis. 
          Performs one-to-many conversions.