def run_machine_inlined(self):
    """
    Inlined version of run_machine for speed.
    """
    state = self.initial_state
    cur_pos = self.cur_pos
    cur_line = self.cur_line
    cur_line_start = self.cur_line_start
    cur_char = self.cur_char
    input_state = self.input_state
    next_pos = self.next_pos
    buffer = self.buffer
    buf_start_pos = self.buf_start_pos
    buf_len = len(buffer)
    backup_state = None
    trace = self.trace
    while 1:
      if trace: #TRACE#
        print "State %d, %d/%d:%s -->" % ( #TRACE#
          state['number'], input_state, cur_pos, repr(cur_char)),  #TRACE#
      # Begin inlined self.save_for_backup()
      #action = state.action #@slow
      action = state['action'] #@fast
      if action:
        backup_state = (
          action, cur_pos, cur_line, cur_line_start, cur_char, input_state, next_pos)
      # End inlined self.save_for_backup()
      c = cur_char
      #new_state = state.new_state(c) #@slow
      new_state = state.get(c, -1) #@fast
      if new_state == -1: #@fast
        new_state = c and state.get('else') #@fast
      if new_state:
        if trace: #TRACE#
          print "State %d" % new_state['number']  #TRACE#
        state = new_state
        # Begin inlined: self.next_char()
        if input_state == 1:
          cur_pos = next_pos
          # Begin inlined: c = self.read_char()
          buf_index = next_pos - buf_start_pos
          if buf_index < buf_len:
            c = buffer[buf_index]
            next_pos = next_pos + 1
          else:
            discard = buf_start_pos - self.start_pos
            data = self.stream.read(0x1000)
            buffer = self.buffer[discard:] + data
            self.buffer = buffer
            buf_start_pos = buf_start_pos + discard
            self.buf_start_pos = buf_start_pos
            buf_len = len(buffer)
            buf_index = buf_index - discard
            if data:
              c = buffer[buf_index]
              next_pos = next_pos + 1
            else:
              c = ''
          # End inlined: c = self.read_char()
          if c == '\n':
            cur_char = EOL
            input_state = 2
          elif not c:
            cur_char = EOL
            input_state = 4
          else:
            cur_char = c
        elif input_state == 2:
          cur_char = '\n'
          input_state = 3
        elif input_state == 3:
          cur_line = cur_line + 1
          cur_line_start = cur_pos = next_pos
          cur_char = BOL
          input_state = 1
        elif input_state == 4:
          cur_char = EOF
          input_state = 5
        else: # input_state = 5
          cur_char = ''
        # End inlined self.next_char()
      else: # not new_state
        if trace: #TRACE#
          print "blocked"  #TRACE#
        # Begin inlined: action = self.back_up()
        if backup_state:
          (action, cur_pos, cur_line, cur_line_start, 
            cur_char, input_state, next_pos) = backup_state
        else:
          action = None
        break # while 1
        # End inlined: action = self.back_up()
    self.cur_pos = cur_pos
    self.cur_line = cur_line
    self.cur_line_start = cur_line_start
    self.cur_char = cur_char
    self.input_state = input_state
    self.next_pos	 = next_pos
    if trace: #TRACE#
      if action: #TRACE#
        print "Doing", action #TRACE#
    return action
    
#	def transition(self):
#		self.save_for_backup()
#		c = self.cur_char
#		new_state = self.state.new_state(c)
#		if new_state:
#			if self.trace:
#				print "Scanner: read: State %d: %s --> State %d" % (
#					self.state.number, repr(c), new_state.number)
#			self.state = new_state
#			self.next_char()
#			return 1
#		else:
#			if self.trace:
#				print "Scanner: read: State %d: %s --> blocked" % (
#					self.state.number, repr(c))
#			return 0
  
#	def save_for_backup(self):
#		action = self.state.get_action()
#		if action:
#			if self.trace:
#				print "Scanner: read: Saving backup point at", self.cur_pos
#			self.backup_state = (
#				action, self.cur_pos, self.cur_line, self.cur_line_start, 
#				self.cur_char, self.input_state, self.next_pos)
  
#	def back_up(self):
#		backup_state = self.backup_state
#		if backup_state:
#			(action, self.cur_pos, self.cur_line, self.cur_line_start, 
#				self.cur_char, self.input_state, self.next_pos) = backup_state
#			if self.trace:
#				print "Scanner: read: Backing up to", self.cur_pos
#			return action
#		else:
#			return None
dataset/ETHPy150Open ardekantur/pyglet/contrib/layout/layout/Plex/Scanners.py/Scanner.run_machine_inlined/swapped operands of `-`