Your IP : 216.73.216.213
Z��Z| � @ s� d d l m Z d d l m Z d d l m Z d d l m Z d d d � Z d d
� Z d d � Z d
d � Z
Gd d � d e � Z d S)� )�absolute_import� )�Machines)�LOWEST_PRIORITY)�
TransitionMapNc C s3 t j � } t | � } xB | j j � D]1 \ } } | j t | � � } | j | | � q( Wx� | j D]� } t � } xY | j
| � D]H } x? | j j � D]. \ } } | r� | r� | j | t
| � � q� Wq� Wx6 | j � D]( \ } }
| j | | | j |
� � q� Wqg W| r/| j d � | j | � | 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
ZeventZold_target_statesZ
old_states� r �B/opt/alt/python35/lib64/python3.5/site-packages/Cython/Plex/DFA.py�
nfa_to_dfa s"