Viewing File: /opt/alt/python35/lib64/python3.5/lib2to3/pgen2/__pycache__/conv.cpython-35.opt-2.pyc



]%@s?ddlZddlmZmZGdddejZdS)N)grammartokenc@s@eZdZddZddZddZddZd	S)
	ConvertercCs(|j||j||jdS)N)parse_graminit_hparse_graminit_c
finish_off)selfZ
graminit_hZ
graminit_cr	)/opt/alt/python35/lib64/python3.5/conv.pyrun/s

z
Converter.runc	Csyt|}Wn=tk
rO}ztd||fdSWYdd}~XnXi|_i|_d}x|D]}|d7}tjd|}|r|jrtd|||jfqo|j\}}t	|}||j|<||j|<qoWdS)NzCan't open %s: %sFrz^#define\s+(\w+)\s+(\d+)$z%s(%s): can't parse %sT)
openOSErrorprintZ
symbol2numberZ
number2symbolrematchstripgroupsint)	rfilenameferrlinenolinemosymbolnumberr	r	r
r5s&		


zConverter.parse_graminit_hc!Cs~yt|}Wn=tk
rO}ztd||fdSWYdd}~XnXd}|dt|}}|dt|}}|dt|}}i}g}x|jdrx|jdrtjd|}ttt	|j
\}	}
}g}xqt|D]c}
|dt|}}tjd|}ttt	|j
\}}|j||fqW|dt|}}|||	|
f<|dt|}}qWtjd|}ttt	|j
\}}g}x~t|D]p}
|dt|}}tjd	|}ttt	|j
\}}	}
||	|
f}|j|qW|j||dt|}}|dt|}}qW||_
i}tjd
|}t	|jd}x=t|D]/}|dt|}}tjd|}|jd}ttt	|jdd
dd\}}}}||}|dt|}}tjd|}i}t|jd}x]t|D]O\}}t|}x4tdD]&}|d|>@rd||d|<qWqW||f||<qW|dt|}}||_g}|dt|}}tjd|}t	|jd}xt|D]}|dt|}}tjd|}|j
\}}t	|}|dkrd}nt|}|j||fqW|dt|}}||_|dt|}}|dt|}}tjd|}t	|jd}|dt|}}|dt|}}tjd|}t	|jd}|dt|}}tjd|}t	|jd} | |_|dt|}}y|dt|}}Wntk
ryYnXdS)NzCan't open %s: %sFrr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+),$z\s+("(?:\\\d\d\d)*")},$z!static label labels\[(\d+)\] = {$z\s+{(\d+), (0|"\w+")},$0z
\s+(\d+),$z\s+{(\d+), labels},$z	\s+(\d+)$)r
rrnext
startswithrrlistmaprrrangeappendstatesgroupeval	enumerateorddfaslabelsstart
StopIteration)!rrrrrrZallarcsr)rnmkZarcs_ijststater.ZndfasrrxyzfirstZ	rawbitsetcZbyter/Znlabelsr0r	r	r
rTs		$!!$
			3
				
zConverter.parse_graminit_ccCsi|_i|_xgt|jD]V\}\}}|tjkr_|dk	r_||j|<q"|dkr"||j|<q"WdS)N)keywordstokensr,r/rNAME)rZilabeltypevaluer	r	r
rs		"zConverter.finish_offN)__name__
__module____qualname__rrrrr	r	r	r
r$sr)rZpgen2rrZGrammarrr	r	r	r
<module>s
Back to Directory File Manager