Your IP : 216.73.216.213
B
Z��Z| � @ sf d dl mZ ddlmZ ddlmZ ddlmZ ddd�Zd d
� Zdd� Z d
d� Z
G dd� de�ZdS )� )�absolute_import� )�Machines)�LOWEST_PRIORITY)�
TransitionMapNc C s� t �� }t|�}x0| j�� D ]"\}}|�t|��}|�||� qW x�|jD ]x}t � }xB|�
|�D ]4}x.|j�� D ] \}} |rp| rp|�|t
| �� qpW q`W x(|�� D ]\}}
|�|||�|
�� q�W qJW |r�|�d� |�|� |S )zg
Given a nondeterministic Machine, return a new equivalent
Machine which is deterministic.
z
===== State Mapping =====
)r ZFastMachine�StateMapZinitial_states�items�
old_to_new�epsilon_closureZmake_initial_state�statesr �
new_to_old�transitionsZadd_set�set_epsilon_closureZadd_transitions�write�dump)Zold_machine�debug�new_machineZ state_map�keyZ old_state� new_stater
�eventZold_target_statesZ
old_states� r �B/opt/alt/python37/lib64/python3.7/site-packages/Cython/Plex/DFA.py�
nfa_to_dfa s"