diff --git a/yapps/runtime.py b/yapps/runtime.py index 29f91e7..5d40581 100644 --- a/yapps/runtime.py +++ b/yapps/runtime.py @@ -168,14 +168,17 @@ def get_pos(self): # output += '%s\n' % (repr(t),) # return output - def print_line_with_pointer(self, pos, length=0, out=sys.stderr): + def print_line_with_pointer(self, pos, length=0, out=None): """Print the line of 'text' that includes position 'p', along with a second line with a single caret (^) at position p""" + if out is None: + out = sys.stderr + file,line,p = pos if file != self.filename: if self.stack: return self.stack.print_line_with_pointer(pos,length=length,out=out) - print >>out, "(%s: not in input buffer)" % file + print("(%s: not in input buffer)" % file, file=out) return text = self.input @@ -198,7 +201,7 @@ def print_line_with_pointer(self, pos, length=0, out=sys.stderr): break spos = cr+1 else: - print >>out, "(%s:%d not in input buffer)" % (file,origline) + print("(%s:%d not in input buffer)" % (file,origline), file=out) return # Now try printing part of the line @@ -227,8 +230,8 @@ def print_line_with_pointer(self, pos, length=0, out=sys.stderr): p = p - 7 # Now print the string, along with an indicator - print >>out, '> ',text - print >>out, '> ',' '*p + '^' + print('> ',text, file=out) + print('> ',' '*p + '^', file=out) def grab_input(self): """Get more input if possible."""