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