code: def finalizeTempDfa (tempStates):
      
      states = []
      accepts = []
      stateMap = {}
      tempIndex = 0
      for tempIndex in range(0, len(tempStates)):
          tempState = tempStates[tempIndex]
          if None != tempState:
              stateMap[tempIndex] = len(states)
              states.append({})
              accepts.append(tempState[2])
      for tempIndex in stateMap.keys():
          stateBitset, tempArcs, accepting = tempStates[tempIndex]
          newIndex = stateMap[tempIndex]
          arcMap = states[newIndex]
          for tempArc in tempArcs:
              arcMap[tempArc[0]] = stateMap[tempArc[1]]
      return states, accepts
docs: finalizeTempDfa (tempStates)
  
      Input domain:
      tempState := [ nfaClosure : Long, [ tempArc ], accept : Boolean ]
      tempArc := [ label, arrow, nfaClosure ]
  
      Output domain:
      state := [ arcMap, accept : Boolean ]