%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/__pycache__/
Upload File :
Create Path :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/__pycache__/RE.cpython-37.pyc

B

�]Z^�@stddlZddlmZddlmZGdd�de�ZGdd�d�ZeZ	Gdd	�d	e	�Z
d
d�ZGdd
�d
e
�Zdd�Z
e	�ed�Zdd�ZGdd�de
�ZGdd�de�Zdd�Zdd�Zdd�dd�dd�gZdd �ZGd!d"�d"e
�ZGd#d$�d$e�ZGd%d&�d&e
�ZGd'd(�d(e�ZGd)d*�d*e�Zd+d,�ZGd-d.�d.e�ZGd/d0�d0e�Zd1d2�ZGd3d4�d4�Z e�Z!d5d6�Z"dS)7�N)�chooserects)�iterpermutec@seZdZdS)�
InfiniteErrorN)�__name__�
__module__�__qualname__�rr�?/opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/RE.pyrsrc@s$eZdZdd�Zdd�Zdd�ZdS)�	WordsMemocCs||_||_i|_d|_dS)Nr)�re�ch�xs�N)�selfrrrrr	�__init__szWordsMemo.__init__cCs(||jkr|j�||�|j|<|j|S)N)r
r�get_words_of_length_memoized)rrrrr	�get_words_of_lengths
zWordsMemo.get_words_of_lengthcCs:g}x0t|d�D] }|�|�}|r|�||f�qW|S)N�)�ranger�append)rrZxsu�ir
rrr	�get_words_of_length_uptos
z"WordsMemo.get_words_of_length_uptoN)rrrrrrrrrr	r
sr
c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd,d%d&�Zd'd(�Zd)d*�Zd+S)-�REz.^$*+?{}\[]|()cCs&t|t�rt||�St|t|��SdS)N)�
isinstancer�concat�
Concatenation�Single)�a�brrr	�__add__As

z
RE.__add__cOs@|s4|dkrt|�S|dkr$t|�S|dkr4t|�Std��dS)N)�*)�+)�?z8Argument to regular expression must be '*' or '+' or '?')�
KleeneClosure�PositiveClosure�EpsilonOrOne�
ValueError)r�args�kwdsrrr	�__call__GszRE.__call__cCst|jt|�f�S)N)�hash�_name�tuple)rrrr	�__hash__RszRE.__hash__cCs|j|jkot|�t|�kS)N)r+r,)rrrrr	�__eq__Usz	RE.__eq__cCs,|j|jkrt|�t|�kS|j|jkSdS)N)r+r,)rrrrr	�__lt__Ysz	RE.__lt__cCs
t||�S)N)�Union)rrrrr	�__or___sz	RE.__or__cCs"d}x|D]}||��7}q
W|S)Nr)�get_num_closures)r�nsrrrr	r2bs
zRE.get_num_closurescCs"d}x|D]}||��7}q
W|S)Nr)�get_num_syms)rr3rrrr	r4hs
zRE.get_num_symscCs"d}x|D]}||��7}q
W|S)Nr)�get_sum_sym_lengths)rr3rrrr	r5ns
zRE.get_sum_sym_lengthscCsdd�|D�}t||�S)NcSsg|]}|���qSr)�get_words_memo)�.0�xrrr	�
<listcomp>usz%RE.get_words_memo.<locals>.<listcomp>)r
)rrrrr	r6tszRE.get_words_memocCs|��}|�|�S)N)r6r)rrr
rrr	rxszRE.get_words_of_lengthcs|j�fdd�|D��S)Ncsg|]}�|��qSrr)r7r8)�frr	r9}sz"RE.mapchildren.<locals>.<listcomp>)�	__class__)rr:r)r:r	�mapchildren|szRE.mapchildrencCs
|�t�S)N)�
mappedrepr�
regexpname)rrrr	�
regexpformsz
RE.regexpformcCs|�dd��S)NcSs|��S)N)�reversed)r8rrr	�<lambda>��zRE.reversed.<locals>.<lambda>)r<)rrrr	r@�szRE.reversedcs�fdd���|�S)NcsBt|t�r8|tk	r4t|dt�r4|dd�}t|�S|S|���S)Nrr)r�Seq�Epsilonr,r<)r8Zws)r:rr	r:�s
zRE.rempretup.<locals>.fr)rr)r:r	�	rempretup�s	zRE.rempretupcCsg}|�|j�|S)N)�
apseqatomsr)r�sarrr	�seqatoms�szRE.seqatomscs(i�g���fdd�}|�|�t��S)Ncs|�krd�|<��|�dS)Nr)r)r8)�d�usrr	�ap�szRE.sequni.<locals>.ap)�apseqr0)rrKr)rIrJr	�sequni�s

z	RE.sequni� cCs&|�t�}|dkr"|�|�d��}|S)NrN)r=r>�join�split)r�conc�rrrr	�shform�s
z	RE.shformcOs|S)Nr)rr�krrr	�
simplified�sz
RE.simplifiedcCsdd�}|�|�S)NcSs|dkrdSt|�S)N�z())�str)r8rrr	r:�szRE.simulform.<locals>.f)r=)rr:rrr	�	simulform�szRE.simulformN)rN)rrr�_re_specialrr)r-r.r/r1r2r4r5r6rr<r?r@rErHrMrSrUrXrrrr	r(s*
rcCsL|dkrdStj}g}x*t|�D]}||dkr4d}|�|�q Wd�|�S)NrVz()z', )rrYrWrrO)�sZspecialZren�crrr	r>�sr>c@s|eZdZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)rCrcGs|stSt�||�S)N)rD�REBASE�__new__)�clasZsymbolsrrr	r]�szSeq.__new__cCs d|jjd�dd�|D��fS)Nz%s(%s)z, cSsg|]}d|f�qS)z%rr)r7r8rrr	r9�sz Seq.__repr__.<locals>.<listcomp>)r;rrO)rrrr	�__repr__�szSeq.__repr__cCs||�dS)Nr)rrKrrr	rL�sz	Seq.apseqcCsx|D]}|t|��qWdS)N)r)rrKr8rrr	rF�s
zSeq.apseqatomscCsdS)Nrr)rrrr	r2�szSeq.get_num_closurescCst|�S)N)�len)rrrr	r4�szSeq.get_num_symscCs&d}x|D]}|tt|��7}q
W|S)Nr)r`rW)rrZr8rrr	r5�s
zSeq.get_sum_sym_lengthscCs
t|d�S)Nr)r
)rrrr	r6�szSeq.get_words_memocCs|t|�kr|gSgSdS)N)r`)rr�memorrr	r�sz Seq.get_words_of_length_memoizedcCs|S)Nr)rrrrr	�limited�szSeq.limitedcs$|s�d�Sd��fdd�|D��S)NrVrNcsg|]}d�|�f�qS)z%sr)r7r8)r:rr	r9�sz"Seq.mappedrepr.<locals>.<listcomp>)rO)rr:r)r:r	r=�szSeq.mappedreprcCst|�}|��|j|�S)N)�list�reverser;)rrRrrr	r@�szSeq.reversedcCs|gS)Nr)rrrr	�
unionsplitted�szSeq.unionsplittedN)rrr�	_priorityr+r]r_rLrFr2r4r5r6rrbr=r@rerrrr	rC�srCcCst�t|f�S)N)r\r]rC)�symbolrrr	r�srrcGs6dd�|D�}t|�dkr*|s"tS|dSt�t|�S)NcSsg|]}|tk	r|�qSr)rD)r7r8rrr	r9szconcat.<locals>.<listcomp>�r)r`rDr\r]r)r'rrr	r�src@sdeZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�ZdS)rrhZConcatcGs(t|�dkr|stS|dSt�||�S)Nrhr)r`rDr\r])r^r'rrr	r]s
zConcatenation.__new__cCsFg}x6|D].}d|f}|j|jkr.d|f}|�|�q
Wd�|�S)Nz%rz(%s)z + )rfrrO)r�rsrrRrrr	r_s


zConcatenation.__repr__c
Cs�dd�|D�}dgt|�}x�g}x<t|�D]0\}}x&|||D]}|tk	rB|�|�qBWq,W|t|��d}xDt|�D]6\}}	|	d7}	|	t||�kr�d}	|	||<|	dkrzPqzWPqWdS)NcSsg|]}|���qSr)rM)r7r8rrr	r9sz'Concatenation.apseq.<locals>.<listcomp>rr)r`�	enumeraterDrrC)
rrK�uns�ixsr
rrJr8�j�ixrrr	rLs$zConcatenation.apseqcCsx|D]}|�|�qWdS)N)rF)rrKr8rrr	rF1s
zConcatenation.apseqatomscsPg�x|jD]}��|����qWg�i������fdd���gdd��S)Ncs�|t��krJ|�kr�xpt|�D]&}t|�}|�kr��|�d�|<qWn<x:�|D].\}}||�krT�||g|d||�qTWdS)Nr)r`r�simple_Concatenationr)Zxxr�n�toconcrQ�mr8)r�ads�chxs�seenr
rr	rs<s
z7Concatenation.get_words_of_length_memoized.<locals>.adsr)rrr)rrrarr)rrsrtrur
r	r5s
z*Concatenation.get_words_of_length_memoizedcst�fdd�|D��S)Ncsg|]}|����qSr)rb)r7r8)rrr	r9Msz)Concatenation.limited.<locals>.<listcomp>)r)rrr)rr	rbLszConcatenation.limitedcCsFg}x6|D].}|�|�}|j|jkr.d|f}|�|�q
Wd�|�S)Nz(%s)rN)r=rfrrO)rr:rirrRrrr	r=Os


zConcatenation.mappedreprcCs dd�|D�}|��|j|�S)NcSsg|]}|���qSr)r@)r7r8rrr	r9Ysz*Concatenation.reversed.<locals>.<listcomp>)rdr;)rrRrrr	r@XszConcatenation.reversedcsJ��fdd�|D�}g}x(|D] }x|��D]�|���q,WqWt|�S)Ncsg|]}|j����qSr)rU)r7r8)rrTrr	r9^sz,Concatenation.simplified.<locals>.<listcomp>)rHrro)rrrTrQrGr[r)rrTr	rU]s
zConcatenation.simplifiedcCs.g}g}x6t|�D]*\}}|��}t|�dkr|�||f�qW|sJ|gSdgt|�}t|�}x�g}d}	xHt|�D]<\}
\}}|�||	|��||
}|�||�|d}	qtW|�||	d��|�t|��d}
xLt|�D]<\}
}|d7}|t||
d�k�rd}|||
<|dkr�Pq�W|SqbWdS)Nrr)rjrer`rrc�extendr)r�runsrkrr8rJrlrr
Zi0rmrnrrr	rees:zConcatenation.unionsplittedN)rrrrfr+r]r_rLrFrrbr=r@rUrerrrr	rs		rc@seZdZdd�ZdS)�SimplifiedConcatenationcOs|S)Nr)rrrTrrr	rU�sz"SimplifiedConcatenation.simplifiedN)rrrrUrrrr	rx�srxcCs�i}g}d}xj|D]b}|dk	rp|jdkr>|d|kr>t|�}n2|jdkr^|d|kr^t|�}n|dk	rp|�|�|}qW|dk	r�|�|�|S)Nr r)r+r$r)rQru�nconcZw0�wrrr	�
conclosure�s"






r{cCst|�dkr|}t|�}g}d}d}x�|t|�kr�||}t|t�sX|d7}|�|�q&|}x(|t|�kr�t||t�szP|d7}q^W||dkr�|�|�n<g}x(t||�D]}||}|�t|��q�W|�t|��|}q&Wt|�dkr�t|�S|�r|dSt	SdS)Nrr)
r`r{rrCrrrvrcrrD)rQZconc0ryrrm�eZsymsrTrrr	ro�s<

rocCs|��S)N)r4)r8rrr	rA�rBrAcCs|��S)N)r2)r8rrr	rA�rBcCs|��S)N)r5)r8rrr	rA�rBc
CsPt|t�}d}x�t|�dkrj|djdks<t|dj�dkrjg}x&|djD]}|r`|�|�qLd}qLWPg}xr|D]j}|��}|��}t|�}|t	k	r�|j
dkr�|g|}n
||g}|r�|�|�nd}t|dt�rtt
�qtWt|t�}qWt|�dk�rdd�|D�}	t|	�}n|�r*t|d�}nd}|�rL|dk	�rHt|�}nt	}|S)Nrr���cSsg|]}t|��qSr)ro)r7�linerrr	r9�szsimpleunion.<locals>.<listcomp>)r�gaugesr`�width�linesrZget_common_partZ
get_uncommons�simpleunionrD�dirrrW�AssertionError�SimplifiedUnionro�simple_EpsilonOrOne)
r�ZchoosenZhave_epsilonrJr~rRrQZolines�uZnusrrr	r��sF
,





r�c@s^eZdZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zddd�Zdd�Z
dS)r0�cGst�||�S)N)r\r])r^r'rrr	r]sz
Union.__new__cCsDg}x4|D],}d|f}|j|jkr,d|}|�|�q
Wd�|�S)Nz%rz(%s)z | )rfrrO)rrirrRrrr	r_s

zUnion.__repr__cCsx|D]}|�|�qWdS)N)rL)rrKr[rrr	rL
s
zUnion.apseqcCsx|D]}|�|�qWdS)N)rF)rrKr8rrr	rFs
zUnion.apseqatomscCsJg}i}x<|jD]2}x,|�|�D]}||kr d||<|�|�q WqW|S)Nr)rrr)rrrar
rurr8rrr	rsz"Union.get_words_of_length_memoizedcsB�fdd�|D�}x*t|�D]\}}|||k	r|j|�SqW|S)Ncsg|]}|����qSr)rb)r7r8)rrr	r9 sz!Union.limited.<locals>.<listcomp>)rjr;)rr�unirr8r)rr	rbs
z
Union.limitedcCsJg}x:|D]2}d|�|�f}|j|jkr2d|}|�|�q
Wd�|�S)Nz%sz(%s)z | )r=rfrrO)rr:rirrRrrr	r=&s
zUnion.mappedreprNcOs0|dkrdd�|��D�}dd�|D�}t|�S)NcSsg|]}|���qSr)rU)r7r8rrr	r91sz$Union.simplified.<locals>.<listcomp>cSsg|]}|���qSr)rH)r7rrrr	r97s)rer�)rr'rrTrrrr	rU/szUnion.simplifiedcCs(g}x|D]}|�t|����q
W|S)N)rvrcre)rrJr8rrr	re:s
zUnion.unionsplitted)N)rrrrfr+r]r_rLrFrrbr=rUrerrrr	r0�s	
	
r0c@seZdZdd�ZdS)r�cOs|S)Nr)rrrTrrr	rUBszSimplifiedUnion.simplifiedN)rrrrUrrrr	r�Asr�c@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�CalledrcCst�||f�S)N)r\r])r^�argrrr	r]IszCalled.__new__cCs4|d}d|f}|j|jkr&d|}d||jfS)Nrz%rz(%s)z%s(%r))rfr+)rrrRrrr	r_Ls

zCalled.__repr__cCs||�dS)Nr)rrKrrr	rFSszCalled.apseqatomscCsd|d��S)Nrr)r2)rrrr	r2VszCalled.get_num_closurescCsJ|d}|�|�}|j|jks4t|t�r<t|�dkr<d|}d||jfS)Nrrz(%s)z%s%s)r=rfrrCr`r+)rr:rrRrrr	r=Ys
zCalled.mappedreprcOs|�|dj||��S)Nr)r;rU)rrrTrrr	rUaszCalled.simplifiedN)
rrrrfr]r_rFr2r=rUrrrr	r�Fsr�c@seZdZdd�Zdd�ZdS)�ClosurecCs�|dkrtgS|dkr&|jd�d�Sg}i}xltd|�D]^}|�|�}|�||�}x@|D]8}x2|D]*}	t||	f�}
|
|krf|�|
�d||
<qfWq\Wq:Wx2|jd�|�D]}||kr�|�|�d||<q�W|S)Nrr)rDrrrror)rrrar
rurrrZaiZbiZaibir8rrr	rfs(




z$Closure.get_words_of_length_memoizedcCs|gS)Nr)rrrr	re|szClosure.unionsplittedN)rrrrrerrrr	r�esr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	r#r cCstd��dS)Nz@apseq: Regular expression is infinite: contains a Kleene Closure)r)rrKrrr	rL�szKleeneClosure.apseqcCsT|dkrtS|d�|�}g}x,t|d�D]}|g|}|�t|��q,Wt|�S)Nrr)rDrbrrrr0)rrZclr�rrqrrr	rb�s
zKleeneClosure.limitedcOst|dj||��S)Nr)�simple_KleeneClosurerU)rrrTrrr	rU�szKleeneClosure.simplifiedN)rrrr+rLrbrUrrrr	r#�s
r#cCs|jdkrt|d�St|�S)Nr!r)r+r�r#)r8rrr	r��s
r�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)r$r!cCstd��dS)NzBapseq: Regular expression is infinite: contains a Positive Closure)r)rrKrrr	rL�szPositiveClosure.apseqcCs$|d�|�t|d��|�dS)Nr)rFr�)rrKrrr	rF�szPositiveClosure.apseqatomscCs&|dkr|jd�|�St�|||�S)Nrr)rrr�r)rrrarrr	r�sz,PositiveClosure.get_words_of_length_memoizedcCs*|d�|�}t|d��|�}t||�S)Nr)rbr#r)rrrrrrr	rb�szPositiveClosure.limitedN)rrrr+rLrFrrbrrrr	r$�s
r$c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
r%r"cCs|t�|d�|�dS)Nr)rDrL)rrKrrr	rL�szEpsilonOrOne.apseqcCs|dkrtgS|jd�|�S)Nr)rDrr)rrrarrr	r�sz)EpsilonOrOne.get_words_of_length_memoizedcCs(|d�|�}||dk	r$|�|�}|S)Nr)rbr;)rrr8rrr	rb�s
zEpsilonOrOne.limitedcOst|dj||��S)Nr)r�rU)rrrTrrr	rU�szEpsilonOrOne.simplifiedcCstgt|d���S)Nr)rDrcre)rrrr	re�szEpsilonOrOne.unionsplittedN)	rrrr+rLrrbrUrerrrr	r%�sr%cCs(|jdkrt|�S|jdkr |St|�S)Nr!r )r+r�r%)r8rrr	r��s


r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
RegularSystemcCs||_||_d|_||_dS)NZ 358f0eca5c34bacdfbf6a8ac0ccf84bc)�table�Start�Final�final_states)rr�r�r�rrr	r�szRegularSystem.__init__c	s��fdd�}dd�}����j}�jg�j}|��j�x�|D]~}||krPqBtd||�fdd�||}g}x2|D]*}||krx|�d|||�||�f�qxW|r�td	�|��qBt�qBWdS)
Ncs0y�j|}Wntk
r*t|�}YnX|S)N)�names�KeyErrorrW)�state�name)rrr	�	statename�s
z#RegularSystem.pp.<locals>.statenamecSs |��}|jdkrd|f}|S)Nrz(%s))rXrf)Ztransr�rrr	�	transname�s

z#RegularSystem.pp.<locals>.transnamez%3s = rN)�endz%s %sz | )�setup_names�Xr��orderrr��printrO)	rr�r�r�r
�Xk�TkZes�Xjr)rr	�pp�s$

"zRegularSystem.ppcCs�|j}|j}|j}|ii|_}x�t|���D]�\}}i||<}x.t|���D]\}}	|�|	g��t|��qPWxFt|���D]6\}	}
t	|
�dkr�|
�
�t|
�}
n|
d}
|
||	<q�W||kr.t||<q.WdS)Nrr)
r�r�r�r�rc�items�
setdefaultrrr`�sortr0rD)rr�r�r�r��XiZtransitionsZTirgr�ZAijrrr	�setup_equationss 
zRegularSystem.setup_equationscs�dd�}�fdd�}�fdd�����fdd�}|g�|j�|j�|j�|������fd	d
��D�}|jt�|�d�||_dS)NcSstd}||i}|g}x\|rn|}g}|d7}xB|D]:}||kr<q.x*||D]}||krF|�|�|||<qFWq.WqW|S)Nrr)r)r��startr�SZnewsZoldnewsrZ�trrr	�distss

z(RegularSystem.setup_order.<locals>.distscs�|S)Nr)r8)�start_distsrr	�start_distance(sz1RegularSystem.setup_order.<locals>.start_distancecsi����fdd�}|S)Ncs>|�kr�|Sd}x�|D]}|�|�7}qW|�|<|S)Ngr)r8rZ�y)r�r:rarr	�g.sz2RegularSystem.setup_order.<locals>.sumt.<locals>.gr)r:r�)r�)r:rar	�sumt+sz'RegularSystem.setup_order.<locals>.sumtcs�||krdSt�|�t�|�}|r,|Sd}xh|dkr�y�|}Wn.tk
rt��|d�}��|�YnX||�||�}|r�|S|d7}q2W||k||kS)Nr�
r)r`�
IndexErrorr)r8r�r[rr:)r��sumdistsr�rr	�cmp38s"
z'RegularSystem.setup_order.<locals>.cmp3cs g|]}|�k	r|�k	r|�qSrr)r7r8)r�r�rr	r9Xsz-RegularSystem.setup_order.<locals>.<listcomp>)�key)r�r�r�r��	functools�
cmp_to_keyr�)rr�r�r�r�r)r�r�r�r�r�r�r	�setup_orders

zRegularSystem.setup_ordercCsty
|jWntk
r&|��YnXi|_d|j|j<x(t|j�D]\}}d|d|j|<qFWd|j|j<dS)NZX0zX%drr�)r��AttributeErrorr�r�r�rjr�)rrrZrrr	r�\s
zRegularSystem.setup_namescCs|��|��|j}|j}|j}t|j�}x�|�r|��}||}||kr�||}||=|d�}x(t|���D]\}	}
||
}|||	<qpW||=xvt|���D]f\}}
|
�	|�}|dkr�q�|
|=xBt|���D]2\}}||}|
�	|�}|dk	r�||B}||
|<q�Wq�Wq.W|||S)Nr )
r�r�r�r�r�rcr��popr��get)rr�r�r�Ztodor�r�ZAkkZAkkStarr�ZAkiZBkir�ZTjZBjkZXjiZTk_XjiZCjiZBjirrr	�solvehs:


zRegularSystem.solveN)	rrrrr�r�r�r�r�rrrr	r��s#Fr�cCst|j|j|j�}|��S)N)r�r�Zstart_stater�r�)ZfsaZRSrrr	�SolveFSA�sr�)#r�Zguppy.etc.RE_RectrZguppy.etc.IterPermuter�	Exceptionrr
r,r\rr>rCrr]rDrrrxr{rorr�r0r�r�r�r#r�r$r%r�r�ZNothingr�rrrr	�<module>sB
9	$
.D
M

Zerion Mini Shell 1.0