backend.py
changeset 14 d937e9d7c4fe
parent 0 76005e62091d
child 15 fa7016d48317
equal deleted inserted replaced
13:57c1866bd87b 14:d937e9d7c4fe
   624                         raise SyntaxError(u"in " + u(line) + u": syntax error in executing command: " + cmd.strip())
   624                         raise SyntaxError(u"in " + u(line) + u": syntax error in executing command: " + cmd.strip())
   625             else:
   625             else:
   626                 result += codegen(Symbol(u'lineQuote', u'| ' + l[space:]))
   626                 result += codegen(Symbol(u'lineQuote', u'| ' + l[space:]))
   627         return code(result)
   627         return code(result)
   628 
   628 
       
   629     elif ctype == "textsectionu":
       
   630         result = u''
       
   631         ll = obj[1].splitlines()
       
   632         space = len(ll[-1]) - 2
       
   633         for l in ll[1:-1]:
       
   634             m = re.match(bqq, l)
       
   635             if m:
       
   636                 cmd = m.group(1)
       
   637                 try:
       
   638                     r, x = parseLine(cmd, _inner, [], True, comment)
       
   639                     if x: raise SyntaxError(cmd)
       
   640                     result += _finish(r)
       
   641                 except SyntaxError:
       
   642                     if included:
       
   643                         raise SyntaxError(u"in " + included + u":" + u(line) + u": syntax error in executing command: " + cmd.strip())
       
   644                     else:
       
   645                         raise SyntaxError(u"in " + u(line) + u": syntax error in executing command: " + cmd.strip())
       
   646             else:
       
   647                 if result != u'': result += u' '
       
   648                 result += codegen(Symbol(u'quote', [u'> ' + l[space:]]))
       
   649         return code(result)
       
   650 
   629     elif ctype == "lineQuote" or ctype == "quote":
   651     elif ctype == "lineQuote" or ctype == "quote":
   630         m, text, base, inds = None, u"", 0, 0
   652         m, text, base, inds = None, u"", 0, 0
   631 
   653 
   632         if ctype == "lineQuote":
   654         if ctype == "lineQuote":
   633             text = obj[1]
   655             text = obj[1]