add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U

�AT^�%c@s.ddlZddlmZmZGdd�dej�ZdS)�N)�grammar�tokenc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	ConvertercCs |�|�|�|�|��dS�N)�parse_graminit_h�parse_graminit_c�
finish_off)�selfZ
graminit_hZ
graminit_c�r	�*/usr/lib64/python3.8/lib2to3/pgen2/conv.py�run/s

z
Converter.runc	
Cs�zt|�}Wn8tk
rD}ztd||f�WY�dSd}~XYnXi|_i|_d}|D]d}|d7}t�d|�}|s�|��r�td|||��f�qZ|��\}}t	|�}||j|<||j|<qZdS)N�Can't open %s: %sFr�z^#define\s+(\w+)\s+(\d+)$z%s(%s): can't parse %sT)
�open�OSError�printZ
symbol2numberZ
number2symbol�re�matchZstrip�groups�int)	r�filename�f�err�lineno�line�mo�symbol�numberr	r	r
r5s(�

zConverter.parse_graminit_hc!
Cs�zt|�}Wn8tk
rD}ztd||f�WY�dSd}~XYnXd}|dt|�}}|dt|�}}|dt|�}}i}g}|�d��r�|�d��rJt�d|�}ttt	|�
���\}	}
}g}t|�D]F}
|dt|�}}t�d|�}ttt	|�
���\}}|�||f�q�|dt|�}}|||	|
f<|dt|�}}q�t�d|�}ttt	|�
���\}}g}t|�D]R}
|dt|�}}t�d	|�}ttt	|�
���\}}	}
||	|
f}|�|��qx|�|�|dt|�}}|dt|�}}q�||_
i}t�d
|�}t	|�d��}t|�D]�}|dt|�}}t�d|�}|�d�}ttt	|�dd
dd���\}}}}||}|dt|�}}t�d|�}i}t|�d��}t|�D]@\}}t|�}td�D]$}|d|>@�r�d||d|<�qΐq�||f||<�q(|dt|�}}||_g}|dt|�}}t�d|�}t	|�d��}t|�D]^}|dt|�}}t�d|�}|�
�\}}t	|�}|dk�r�d}nt|�}|�||f��qX|dt|�}}||_|dt|�}}|dt|�}}t�d|�}t	|�d��}|dt|�}}|dt|�}}t�d|�}t	|�d��}|dt|�}}t�d|�}t	|�d��} | |_|dt|�}}z|dt|�}}Wntk
�r�YnXdS)NrFrr
zstatic arc z)static arc arcs_(\d+)_(\d+)\[(\d+)\] = {$z\s+{(\d+), (\d+)},$z'static state states_(\d+)\[(\d+)\] = {$z\s+{(\d+), arcs_(\d+)_(\d+)},$zstatic dfa dfas\[(\d+)\] = {$z0\s+{(\d+), "(\w+)", (\d+), (\d+), states_(\d+),$iiiiz\s+("(?:\\\d\d\d)*")},$iz!static label labels\[(\d+)\] = {$z\s+{(\d+), (0|"\w+")},$Z0z
\s+(\d+),$z\s+{(\d+), labels},$z	\s+(\d+)$)rrrZnextZ
startswithrrZlistZmaprrZrangeZappend�statesZgroupZeval�	enumerateZord�dfas�labels�startZ
StopIteration)!rrrrrrZallarcsrrZnZmZkZarcsZ_ZiZjZsZtZstaterZndfasrrZxZyZzZfirstZ	rawbitsetZcZbyter Znlabelsr!r	r	r
rTs��
�
"
zConverter.parse_graminit_ccCsXi|_i|_t|j�D]<\}\}}|tjkr@|dk	r@||j|<q|dkr||j|<qdSr)ZkeywordsZtokensrr rZNAME)rZilabelZtypeZvaluer	r	r
r�szConverter.finish_offN)Z__name__Z
__module__Z__qualname__rrrrr	r	r	r
r$s
&r)rZpgen2rrZGrammarrr	r	r	r
Z<module>s