docs: def convert_Text_to_mrf( text ):
      ''' Converts from Text object into pre-syntactic mrf format, given as a list of 
          lines, as in the output of etmrf.
          *) If the input Text has already been morphologically analysed, uses the existing
              analysis;
          *) If the input has not been analysed, performs the analysis with required settings:
              word quessing is turned on, proper-name analyses are turned off;
      '''
      from estnltk.text import Text
      if not isinstance( text, Text ):
         raise Exception(' Expected estnltk\'s Text as an input argument! ')
      if not text.is_tagged( ANALYSIS ):
         # If morphological analysis has not been performed yet, set the right arguments and 
         # perform the analysis 
         kwargs = text.get_kwargs()
         kwargs['vabamorf']     = True
         kwargs['guess']        = True
         kwargs['propername']   = False
         kwargs['disambiguate'] = False
         text.__kwargs = kwargs
         text = text.tag_analysis()
      # Iterate over sentences and perform conversion
      results = []
      for sentence in text.divide( layer=WORDS, by=SENTENCES ):
         results.append('<s>')
         for i in range(len(sentence)):
             wordJson = sentence[i]
             wordStr  = wordJson[TEXT]
             # Escape double quotation marks
             wordStr = _esc_double_quotes( wordStr )
             results.append( wordStr )
             for analysisJson in wordJson[ANALYSIS]:
                 root   = analysisJson[ROOT]
                 root   = _esc_double_quotes( root )
                 #   NB! ending="0" erineb ending=""-st:
                 #     1) eestlane (ending="0");
                 #     2) Rio (ending="") de (ending="") Jaineros;
                 ending = analysisJson[ENDING]
                 pos    = analysisJson[POSTAG]
                 clitic = analysisJson[CLITIC]
                 form   = analysisJson[FORM]
                 if pos == 'Z':
                    results.append( ''.join(['    ',root,' //_Z_ //']) )
                 else:
                    results.append( ''.join(['    ',root,'+',ending,clitic,' //', '_',pos,'_ ',form,' //']) )
             if ANALYSIS not in wordJson:
                 results.append( '    '+'####' )
         results.append('</s>')
      return results