HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberPanel/lib/python3.10/site-packages/pycparser/ply/__pycache__/yacc.cpython-310.pyc
o

��hk�
@sddlZddlZddlZddlZddlZddlZddlZdZdZ	dZ
dZdZdZ
dZdZd	ZdZejddkr:eZneZejZGd
d�de�ZGdd
�d
e�ZGdd�de�Zdd�Zdd�Zdada da!dZ"dd�Z#dd�Z$dd�Z%dd�Z&Gdd�d�Z'Gdd �d �Z(Gd!d"�d"�Z)e�*d#�Z+Gd$d%�d%e�Z,Gd&d'�d'e�Z-Gd(d)�d)e�Z.d*d+�Z/Gd,d-�d-e�Z0Gd.d/�d/e�Z1Gd0d1�d1e�Z2Gd2d3�d3e�Z3d4d5�Z4d6d7�Z5Gd8d9�d9e�Z6Gd:d;�d;e3�Z7d<d=�Z8d>d?�Z9Gd@dA�dAe�Z:de
deddddeddddf
dBdC�Z;dS)D�Nz3.10Tz
parser.out�parsetab�LALR�F�(c@s4eZdZdd�Zdd�ZeZdd�Zdd�ZeZd	S)
�	PlyLoggercCs
||_dS�N)�f)�selfr�r
�H/usr/local/CyberPanel/lib/python3.10/site-packages/pycparser/ply/yacc.py�__init__n�
zPlyLogger.__init__cOs|j�||d�dS)N�
�r�write�r	�msg�args�kwargsr
r
r�debugq�zPlyLogger.debugcO�|j�d||d�dS)Nz	WARNING: rrrr
r
r�warningv�zPlyLogger.warningcOr)NzERROR: rrrr
r
r�erroryrzPlyLogger.errorN)	�__name__�
__module__�__qualname__rr�inforr�criticalr
r
r
rrmsrc@�eZdZdd�Zdd�ZdS)�
NullLoggercC�|Srr
)r	�namer
r
r�__getattribute__��zNullLogger.__getattribute__cOr"rr
)r	rrr
r
r�__call__�r%zNullLogger.__call__N)rrrr$r&r
r
r
rr!�r!c@�eZdZdS)�	YaccErrorN�rrrr
r
r
rr)��r)cCsPt|�}d|vrt|�}t|�tkr|dt�d}dt|�jt|�|f}|S)Nrz ...z<%s @ 0x%x> (%s))�repr�len�resultlimit�typer�id)�r�repr_str�resultr
r
r�
format_result�sr4cCs>t|�}d|vrt|�}t|�dkr|Sdt|�jt|�fS)Nr�z<%s @ 0x%x>)r,r-r/rr0)r1r2r
r
r�format_stack_entry�sr6aPLY: Don't use global functions errok(), token(), and restart() in p_error().
Instead, invoke the methods on the associated parser instance:

    def p_error(p):
        ...
        # Use parser.errok(), parser.token(), parser.restart()
        ...

    parser = yacc.yacc()
cC�t�t�t�Sr)�warnings�warn�_warnmsg�_errokr
r
r
r�errok��
r<cCr7r)r8r9r:�_restartr
r
r
r�restart�r=r?cCr7r)r8r9r:�_tokenr
r
r
r�token�r=rAcCs<|ja|ja|ja||�}zbbbW|StyY|Swr)r<r;rAr@r?r>�	NameError)�	errorfuncrA�parserr1r
r
r�call_errorfunc�s��rEc@r )�
YaccSymbolcC�|jSr�r/�r	r
r
r�__str__��zYaccSymbol.__str__cCst|�Sr��strrIr
r
r�__repr__�szYaccSymbol.__repr__N)rrrrJrNr
r
r
rrF�r'rFc@sfeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�YaccProductionNcCs||_||_d|_d|_dSr)�slice�stack�lexerrD)r	�srQr
r
rr��
zYaccProduction.__init__cCs>t|t�rdd�|j|D�S|dkr|j|jS|j|jS)NcS�g|]}|j�qSr
��value��.0rSr
r
r�
<listcomp>��z.YaccProduction.__getitem__.<locals>.<listcomp>r)�
isinstancerPrWrQ�r	�nr
r
r�__getitem__�s

zYaccProduction.__getitem__cC�||j|_dSr)rPrW)r	r^�vr
r
r�__setitem__��zYaccProduction.__setitem__cCsdd�|j||�D�S)NcSrUr
rVrXr
r
rrZ�r[z/YaccProduction.__getslice__.<locals>.<listcomp>)rP)r	�i�jr
r
r�__getslice__�rzYaccProduction.__getslice__cC�
t|j�Sr)r-rPrIr
r
r�__len__�r
zYaccProduction.__len__cC�t|j|dd�S)N�linenor��getattrrPr]r
r
rrj�zYaccProduction.linenocCr`r)rPrj)r	r^rjr
r
r�
set_linenorczYaccProduction.set_linenocC�,t|j|dd�}t|j|d|�}||fS)Nrjr�	endlinenork)r	r^�	startline�endliner
r
r�linespan�zYaccProduction.linespancCri)N�lexposrrkr]r
r
rrurmzYaccProduction.lexposcCro)Nrur�	endlexposrk)r	r^�startpos�endposr
r
r�lexspanrtzYaccProduction.lexspancCst�r)�SyntaxErrorrIr
r
rrr%zYaccProduction.errorr)rrrrr_rbrfrhrjrnrsruryrr
r
r
rrO�s
rOc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd
d�Zddd�Z	ddd�Z
ddd�ZdS)�LRParsercCs0|j|_|j|_|j|_||_|��d|_dS�NT)	�lr_productions�productions�	lr_action�action�lr_goto�gotorC�set_defaulted_states�errorok)r	�lrtab�errorfr
r
rrs
zLRParser.__init__cCs
d|_dSr|)r�rIr
r
rr<&r
zLRParser.errokcCs@|jdd�=|jdd�=t�}d|_|j�|�|j�d�dS)N�$endr)�
statestack�symstackrFr/�append)r	�symr
r
rr?)szLRParser.restartcCsPi|_|j��D]\}}t|���}t|�dkr%|ddkr%|d|j|<qdS�N�r)�defaulted_statesr��items�list�valuesr-)r	�state�actions�rulesr
r
rr�9s��zLRParser.set_defaulted_statescCs
i|_dSr)r�rIr
r
r�disable_defaulted_states@r
z!LRParser.disable_defaulted_statesNFcCsV|strt|t�rttj�}|�|||||�S|r"|�|||||�S|�|||||�Sr)	�	yaccdevelr\�intr�sys�stderr�
parsedebug�parseopt�parseopt_notrack)r	�inputrRr�tracking�	tokenfuncr
r
r�parseCs

zLRParser.parsec Cs�d}g}|j}|j}	|j}
|j}td�}d}
|�d�|s&ddlm}|j}||_||_	|dur5|�
|�|dur=|j}n|}||_g}||_g}||_
||_d}|�d�t�}d|_|�|�d}	|�d�|�d|�||vr�|s�|s{|�}n|��}|s�t�}d|_|j}||�|�}n||}|�d	||�|�d
dd�d
d�|D�dd��t|�f���|du�r<|dkr�|�|�|}|�d|�|�|�d}|
r�|
d8}
qc|dk�r|
|}|j}|j}t�}||_d|_|�r|�d|jdd�dd�||d�D��d|	|d||�n|�d|jg|	|d|�|�r�||dd�}||d<|�r]|d}|j|_|j|_|d}t|d|j�|_t|d|j�|_||_ z2||d�=||_!|�"|�||d�=|�dt#|d��|�|�|	|d|}|�|�Wn-t$�y�|�|�|�%|dd��|��|d}d|_d|_|}t&}
d|_'Ynwqc|�r�|j|_|j|_|g}||_ z&||_!|�"|�|�dt#|d��|�|�|	|d|}|�|�Wn$t$�y|�|�|��|d}d|_d|_|}t&}
d|_'Ynwqc|dk�r<|d}t|dd�}|�dt#|��|�d�|S|du�rS|�(ddd�dd�|D�dd��t|�f���|
dk�sd|j'�r�t&}
d|_'|}|jdk�rsd}|j)�r�|�r�t*|d ��s�||_||_!t+|j)||�}|j'�r�|}d}qcn2|�r�t*|d!��r�|j}nd}|�r�t,j-�.d"||jf�nt,j-�.d#|j�n
t,j-�.d$�dSt&}
t|�dk�r�|jdk�r�d}d}d}|dd�=qc|jdk�r�dS|jdk�r;|d}|jdk�r|�r
t|d!|j�|_t|d%|j�|_d}qct�}d|_t*|d!��r#|j|_|_t*|d%��r0|j|_|_||_|�|�|}n|��}|�rJ|j|_|j|_|��|d}qct/d&��)'NrzPLY: PARSE DEBUG STARTr���lexr�T�zState  : %sz#Defaulted state %s: Reduce using %dzStack  : %sz%s . %s� cSrUr
rH�rY�xxr
r
rrZ�r[z'LRParser.parsedebug.<locals>.<listcomp>z Action : Shift and goto state %sz3Action : Reduce rule [%s] with %s and goto state %d�[�,cSsg|]}t|j��qSr
)r6rW)rY�_vr
r
rrZ���]���rprvzResult : %srFrWzDone   : Returning %szPLY: PARSE DEBUG ENDzError  : %scSrUr
rHr�r
r
rrZBr[rRrj�(yacc: Syntax error at line %d, token=%s
�yacc: Syntax error, token=%s� yacc: Parse error in input. EOF
ru�yacc: internal parser error!!!
)0r�r�r~r�rOrr�r�rRrDr�rAr�r�rQr�rFr/r�pop�get�joinrM�lstripr#r-rWrjrurlrprvrPr��callabler4rz�extend�error_countr�rrC�hasattrrEr�r�r�RuntimeError� r	r�rRrr�r��	lookahead�lookaheadstackr�r��prodr��pslice�
errorcountr��	get_tokenr�r��errtokenr�r��ltype�t�p�pname�plen�targ�t1r^r3�tokrjr
r
rr�\s�




*�





$��



�



�


*��

zLRParser.parsedebugc Cs\d}g}|j}|j}	|j}
|j}td�}d}
|s!ddlm}|j}||_||_|dur0|�	|�|dur8|j
}n|}||_
g}||_g}||_||_
d}|�d�t�}d|_|�|�d}	||vr�|sw|sk|�}n|��}|swt�}d|_|j}||�|�}n||}|du�r�|dkr�|�|�|}|�|�d}|
r�|
d8}
q^|dk�r�|
|}|j}|j}t�}||_d|_|�rI||dd�}||d<|r�|d}|j|_|j|_|d}t|d|j�|_t|d|j�|_||_z(||d�=||_|�|�||d�=|�|�|	|d|}|�|�Wn-t�yG|�|�|�|dd��|��|d}d	|_d	|_|}t }
d
|_!Ynwq^|�rT|j|_|j|_|g}||_z||_|�|�|�|�|	|d|}|�|�Wn$t�y�|�|�|��|d}d	|_d	|_|}t }
d
|_!Ynwq^|dk�r�|d}t|dd�}|S|du�r�|
dk�s�|j!�rt }
d
|_!|}|jdk�r�d}|j"�r�|�r�t#|d��s�||_||_t$|j"||�}|j!�r�|}d}q^n2|�rt#|d
��r�|j}nd}|�rt%j&�'d||jf�nt%j&�'d|j�n
t%j&�'d�dSt }
t|�dk�r9|jdk�r9d}d}d}|dd�=q^|jdk�rAdS|jd	k�r�|d}|jd	k�rg|�rdt|d
|j�|_t|d|j�|_d}q^t�}d	|_t#|d
��rz|j|_|_t#|d��r�|j|_|_||_|�|�|}n|��}|�r�|j|_|j|_|��|d}q^t(d��)Nrr�r�r�Tr�rprvrFrWrRrjr�r�r�rur�))r�r�r~r�rOr�r�rRrDr�rAr�r�rQr�rFr/r�r�r#r-rWrjrurlrprvrPr�r�rzr�r�r�rCr�rEr�r�rr�r�r
r
rr��s^











�



�


�

zLRParser.parseoptcCs�d}g}|j}|j}	|j}
|j}td�}d}
|s!ddlm}|j}||_||_|dur0|�	|�|dur8|j
}n|}||_
g}||_g}||_||_
d}|�d�t�}d|_|�|�d}	||vr�|sw|sk|�}n|��}|swt�}d|_|j}||�|�}n||}|du�r�|dkr�|�|�|}|�|�d}|
r�|
d8}
q^|dk�ro|
|}|j}|j}t�}||_d|_|�r'||dd�}||d<||_z(||d�=||_|�|�||d�=|�|�|	|d|}|�|�Wn-t�y%|�|�|�|dd��|��|d}d|_d|_|}t}
d|_Ynwq^|g}||_z||_|�|�|�|�|	|d|}|�|�Wn$t�ym|�|�|��|d}d|_d|_|}t}
d|_Ynwq^|dk�r�|d}t|d	d�}|S|du�r_|
dk�s�|j�r�t}
d|_|}|jdk�r�d}|j�r�|�r�t|d
��s�||_||_t |j||�}|j�r�|}d}q^n2|�r�t|d��r�|j!}nd}|�r�t"j#�$d||jf�nt"j#�$d
|j�n
t"j#�$d�dSt}
t|�dk�r|jdk�rd}d}d}|dd�=q^|jdk�rdS|jdk�rR|d}|jdk�r'd}q^t�}d|_t|d��r:|j!|_!|_%t|d��rG|j&|_&|_'||_|�|�|}n|��}|��|d}q^t(d��)Nrr�r�r�Tr�rFrWrRrjr�r�r�rur�))r�r�r~r�rOr�r�rRrDr�rAr�r�rQr�rFr/r�r�r#r-rWrPr�r�rzr�r�r�rlrCr�rErjr�r�rrprurvr�)r	r�rRrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r^r3r�rjr
r
rr��s>











�



�


�

zLRParser.parseopt_notrack)NNFFN)rrrrr<r?r�r�r�r�r�r�r
r
r
rr{s


]4r{z^[a-zA-Z0-9_-]+$c@sReZdZdZddd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�ZdS)�
Productionr��rightrNr�c	Cs�||_t|�|_||_||_d|_||_||_||_t	|j�|_	g|_
|jD]
}||j
vr3|j
�|�q&g|_d|_
|jrKd|jd�|j�f|_dSd|j|_dS�N�%s -> %sr�z
%s -> <empty>)r#�tupler��number�funcr��file�line�precr-�usymsr��lr_items�lr_nextr�rM)	r	r�r#r��
precedencer�r�r�rSr
r
rrs&


�zProduction.__init__cCrGrrLrIr
r
rrJ=rKzProduction.__str__cC�dt|�dS)NzProduction(�)rLrIr
r
rrN@rczProduction.__repr__cCrgr)r-r�rIr
r
rrhCr
zProduction.__len__cCsdS�Nr�r
rIr
r
r�__nonzero__Fr%zProduction.__nonzero__cC�
|j|Sr)r��r	�indexr
r
rr_Ir
zProduction.__getitem__c	Cs�|t|j�kr	dSt||�}zt|j|d|_Wnttfy(g|_Ynwz|j|d|_W|StyAd|_Y|Swr�)r-r��LRItem�	Prodnames�lr_after�
IndexError�KeyError�	lr_before)r	r^r�r
r
r�lr_itemMs

���zProduction.lr_itemcC�|jr||j|_dSdSr�r�r��r	�pdictr
r
r�bind]��zProduction.bind)r�Nr�r)rrr�reducedrrJrNrhr�r_r�r�r
r
r
rr�s
r�c@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MiniProductioncCs.||_||_||_d|_||_||_||_dSr)r#r-r�r�r�r�rM)r	rMr#r-r�r�r�r
r
rrfs
zMiniProduction.__init__cCrGrrLrIr
r
rrJorKzMiniProduction.__str__cCs
d|jS)NzMiniProduction(%s)rLrIr
r
rrNrr
zMiniProduction.__repr__cCr�rr�r�r
r
rr�vr�zMiniProduction.bindN)rrrrrJrNr�r
r
r
rr�es
	r�c@s$eZdZdd�Zdd�Zdd�ZdS)r�cCsZ|j|_t|j�|_|j|_||_i|_|j�|d�t|j�|_t|j�|_|j	|_	dS)N�.)
r#r�r�r��lr_index�
lookaheads�insertr�r-r�)r	r�r^r
r
rr�szLRItem.__init__cCs.|jrd|jd�|j�f}|Sd|j}|Sr�)r�r#r�)r	rSr
r
rrJ�s

�zLRItem.__str__cCr�)NzLRItem(r�rLrIr
r
rrN�rczLRItem.__repr__N)rrrrrJrNr
r
r
rr��sr�cCs<t|�d}|dkr|||vr||S|d8}|dks
dSr�)r-)�symbols�	terminalsrdr
r
r�rightmost_terminal�s�r�c@r()�GrammarErrorNr*r
r
r
rr��r+r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd$dd
�Zd%dd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd%d d!�Zd"d#�Zd	S)&�GrammarcCsbdg|_i|_i|_i|_|D]}g|j|<qg|jd<i|_i|_i|_i|_t�|_	d|_
dS�Nr)�Productionsr��Prodmap�	Terminals�Nonterminals�First�Follow�
Precedence�set�UsedPrecedence�Start)r	r��termr
r
rr�s

zGrammar.__init__cCrgr)r-r�rIr
r
rrh�r
zGrammar.__len__cCr�r)r�r�r
r
rr_�r
zGrammar.__getitem__cCsL|jdgks
Jd��||jvrtd|��|dvrtd��||f|j|<dS)Nz2Must call set_precedence() before add_production()z,Precedence already specified for terminal %r)�leftr��nonassocz:Associativity must be one of 'left','right', or 'nonassoc')r�rr�)r	r�assoc�levelr
r
r�set_precedence�s
zGrammar.set_precedenceNr�rc	Cs�||jvrtd|||f��|dkrtd|||f��t�|�s)td|||f��t|�D]K\}}|ddvrez$t|�}t|�dkrLtd||||f��||jvrVg|j|<|||<Wq-tydYnwt�|�sx|d	krxtd
||||f��q-d	|vr�|dd	kr�td||f��|d
d	kr�td||f��|d}	|j�	|	�}
|
s�td|||	f��|j
�|	�|d
d�=n
t||j�}	|j�	|	d�}
d||f}||j
vr�|j
|}td|||fd|j|jf��t|j�}
||jvr�g|j|<|D]$}||jv�r
|j|�|
�q�||jv�rg|j|<|j|�|
�q�t|
|||
|||�}|j�|�||j
|<z|j|�|�WdSt�yO|g|j|<YdSw)Nz7%s:%d: Illegal rule name %r. Already defined as a tokenrz5%s:%d: Illegal rule name %r. error is a reserved wordz%s:%d: Illegal rule name %rrz'"r�zA%s:%d: Literal token %s in rule %r may only be a single characterz%precz!%s:%d: Illegal name %r in rule %rr�z+%s:%d: Syntax error. Nothing follows %%prec���zH%s:%d: Syntax error. %%prec can only appear at the end of a grammar rulez/%s:%d: Nothing known about the precedence of %rr�r�z%s:%d: Duplicate rule %s. zPrevious definition at %s:%d)r�r��_is_identifier�match�	enumerate�evalr-rzrr�r�addr�r�r�r�r�r�r�r�r�r�)r	�prodname�symsr�r�r�r^rS�c�precname�prodprec�map�m�pnumberr�r�r
r
r�add_production
s|


�

���

�




�zGrammar.add_productioncCsT|s|jdj}||jvrtd|��tdd|g�|jd<|j|�d�||_dS)Nr�zstart symbol %s undefinedr�S')r�r#r�r�r�r�r)r	�startr
r
r�	set_startas

zGrammar.set_startcs>���fdd��t����jdjd��fdd��jD�S)NcsB|�vrdS��|��j�|g�D]}|jD]}�|�qqdSr)rr�r�r�)rSr�r1��mark_reachable_from�	reachabler	r
rrts


��z5Grammar.find_unreachable.<locals>.mark_reachable_fromrcsg|]}|�vr|�qSr
r
rX)rr
rrZ~sz,Grammar.find_unreachable.<locals>.<listcomp>)rr�r�r�rIr
rr�find_unreachableqszGrammar.find_unreachablecCs�i}|jD]}d||<qd|d<|jD]}d||<q	d}|j��D]'\}}|D] }|jD]
}||s7d}nq-d}|rH||sFd||<d}nq(q"|sMnqg}	|��D]\}}
|
sn||jvri||jvri|dkriqT|	�|�qT|	S)NTr�Fr)r�r�r�r�r�r�)r	�
terminatesr�r^�some_change�plr�rS�p_terminates�infiniterr
r
r�infinite_cycles�sD




�	���
�zGrammar.infinite_cyclescCsPg}|jD] }|s
q|jD]}||jvr$||jvr$|dkr$|�||f�q
q|Sr�)r�r�r�r�r�)r	r3r�rSr
r
r�undefined_symbols�s

��zGrammar.undefined_symbolscCs2g}|j��D]\}}|dkr|s|�|�q|Sr�)r�r�r�)r	�
unused_tokrSrar
r
r�unused_terminals�s
�zGrammar.unused_terminalscCs8g}|j��D]\}}|s|j|d}|�|�q|S�Nr)r�r�r�r�)r	�unused_prodrSrar�r
r
r�unused_rules�s
�zGrammar.unused_rulescCs@g}|jD]}||jvs||jvs|�||j|df�q|Sr))rr�rr�)r	�unused�termnamer
r
r�unused_precedence�s
�zGrammar.unused_precedencecCsZg}|D]!}d}|j|D]}|dkrd}q
||vr|�|�q
|r#q|S|�d�|S)NF�<empty>T)r�r�)r	�betar3�x�x_produces_emptyrr
r
r�_first	s
�
�zGrammar._firstcCs�|jr|jS|jD]}|g|j|<q	dg|jd<|jD]}g|j|<q	d}|jD]$}|j|D]}|�|j�D]}||j|vrK|j|�|�d}q8q0q)|sT	|jSq$)Nr�TF)r�r�r�r�r3r�r�)r	r�r^r!r�rr
r
r�
compute_first,s,


����zGrammar.compute_firstc
Cs8|jr|jS|js
|��|jD]}g|j|<q|s |jdj}dg|j|<	d}|jdd�D]d}t|j�D]\\}}||jvr�|�|j|dd��}d}|D]}	|	dkrg|	|j|vrg|j|�	|	�d}|	dkrmd}qP|sy|t
|j�dkr�|j|jD]}	|	|j|vr�|j|�	|	�d}qq7q0|s�	|jSq')Nr�r�TFr/)r�r�r4r�r�r#r
r�r3r�r-)
r	r�k�didaddr�rd�B�fst�hasemptyrr
r
r�compute_followQsD

����zGrammar.compute_followc
Cs�|jD]_}|}d}g}	|t|�krd}n8t||�}z
|j|j|d|_Wnttfy5g|_Ynwz
|j|d|_WntyLd|_Ynw||_	|sSn|�
|�|}|d7}q||_qdS�NrTr�)r�r-r�r�r�r�r�r�r�r�r�r�)r	r��lastlrirdr��lrir
r
r�
build_lritems�s6


�
�
��zGrammar.build_lritems)Nr�rr)rrrrrhr_r	rrrr%r&r(r+r.r3r4r:r>r
r
r
rr��s"$

T@#
%;r�c@r()�VersionErrorNr*r
r
r
rr?�r+r?c@r�)
�LRTablecCsd|_d|_d|_d|_dSr)rr�r}�	lr_methodrIr
r
rr�rTzLRTable.__init__cCszt|tj�r	|}ntd|�tj|}|jtkrtd��|j	|_
|j|_g|_
|jD]
}|j
�t|��q+|j|_|jS)N�	import %s�&yacc table file version is out of date)r\�types�
ModuleType�execr��modules�_tabversion�__tabversion__r?�
_lr_actionr�_lr_gotor�r}�_lr_productionsr�r��
_lr_methodrA�
_lr_signature)r	�modulerr�r
r
r�
read_table�s


zLRTable.read_tablecCs�zddl}Wn
tyddl}Ynwtj�|�st�t|d�}|�|�}|tkr.t	d��|�|�|_
|�|�}|�|�|_|�|�|_|�|�}g|_
|D]
}|j
�t|��qO|��|S)Nr�rbrC)�cPickle�ImportError�pickle�os�path�exists�open�loadrIr?rArr�r}r�r��close)r	�filenamerT�in_f�
tabversion�	signaturer~r�r
r
r�read_pickle�s*�



zLRTable.read_picklecCs|jD]}|�|�qdSr)r}r�)r	r�r�r
r
r�bind_callables�s
�zLRTable.bind_callablesN)rrrrrPr_r`r
r
r
rr@�s
r@c	CsLi}|D]}d||<qg}i}|D]}||dkr#t|||||||�q|Sr))�traverse)�X�R�FP�Nr1rQ�Fr
r
r�digraphs
�rgc	Cs
|�|�t|�}|||<||�||<||�}|D]3}	||	dkr+t|	||||||�t||||	�||<|�|	g�D]}
|
||vrK||�|
�q<q|||kr�t||d<||||d<|��}||kr�t||d<||||d<|��}||ksidSdSdS)Nrr�)r�r-ra�minr��MAXINTr�)r1rerQrfrbrcrd�d�rel�y�a�elementr
r
rras2
����rac@r()�	LALRErrorNr*r
r
r
rro)r+roc@s�eZdZd$dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd%d d!�Zd&d"d#�ZdS)'�LRGeneratedTablerNcCs�|dvr
td|��||_||_|st�}||_i|_i|_|j|_i|_	i|_
d|_d|_d|_
g|_g|_g|_|j��|j��|j��|��dS)N)�SLRrzUnsupported method %sr)ro�grammarrAr!�logrr�r�r}�
lr_goto_cache�lr0_cidhash�
_add_count�sr_conflict�rr_conflict�	conflicts�sr_conflicts�rr_conflictsr>r4r:�lr_parse_table)r	rr�methodrsr
r
rr4s,


zLRGeneratedTable.__init__cCsp|jd7_|dd�}d}|r6d}|D]}|jD]}t|dd�|jkr&q|�|j�|j|_d}qq|s|S)Nr�TF�	lr0_addedr)rvr�rlr�r�r~)r	�I�Jr6rer1r
r
r�lr0_closureYs
��zLRGeneratedTable.lr0_closurec	Cs�|j�t|�|f�}|r|S|j�|�}|si}||j|<g}|D]$}|j}|rE|j|krE|�t|��}|s>i}||t|�<|�|�|}q!|�d�}|s]|rY|�|�}||d<n||d<||jt|�|f<|S)Nr�)rtr�r0r�r�r�r�)	r	rr1�grS�gsr�r^�s1r
r
r�lr0_gotoss4

�


zLRGeneratedTable.lr0_gotoc	Cs�|�|jjdjg�g}d}|D]
}||jt|�<|d7}qd}|t|�krh||}|d7}i}|D]}|jD]}d||<q7q2|D] }|�||�}|rRt|�|jvrSqAt|�|jt|�<|�	|�qA|t|�ks&|S)Nrr�)
r�rrr�r�rur0r-r�r�r�)	r	�Crdr�asyms�iirSr1r�r
r
r�	lr0_items�s,


��zLRGeneratedTable.lr0_itemscCszt�}d}	|jjdd�D] }|jdkr|�|j�q|jD]}||vr'nq|�|j�qt|�|kr8	|St|�}qr;)rrrr�r-rr#r�)r	�nullable�num_nullabler�r�r
r
r�compute_nullable_nonterminals�s$

����z.LRGeneratedTable.compute_nullable_nonterminalscCsjg}t|�D],\}}|D]%}|j|jdkr1||j|jdf}|d|jjvr1||vr1|�|�qq|Sr�)r
r�r-r�rrr�r�)r	r��trans�statenor�r�r�r
r
r�find_nonterminal_transitions�s
��z-LRGeneratedTable.find_nonterminal_transitionscCs�i}|\}}g}|�|||�}|D]!}	|	j|	jdkr3|	j|	jd}
|
|jjvr3|
|vr3|�|
�q|dkrH||jjdjdkrH|�d�|S)Nr�rr�)r�r�r-r�rrr�r�r�)r	r�r�r��dr_setr�re�termsr�r�rmr
r
r�dr_relation�s
�
zLRGeneratedTable.dr_relationcCsrg}|\}}|�|||�}|j�t|�d�}|D]}	|	j|	jdkr6|	j|	jd}
|
|vr6|�||
f�q|S)Nr�r�)r�rur�r0r�r-r�r�)r	r�r��emptyrkr�rer�rer�rmr
r
r�reads_relation	s�zLRGeneratedTable.reads_relationcCs�i}i}i}|D]}d||<q|D]�\}}	g}
g}||D]�}|j|	kr%q|j}
|}|
|jdkr�|
d}
|j|
}||f|vrk|
d}||jkrd|j||jjvrSn|j||vr[n|d}||jksI|�||f�|�|||�}|j�	t
|�d�}|
|jdks1||D]4}|j|jkr�q�|j|jkr�q�d}||jkr�|j||j|dkr�n|d}||jks�|
�||f�q�q|D]}||vr�g||<||�||	f�q�|
|||	f<q||fS)Nr�r�r)r#r�r-r�rrr�r�r�rur�r0)r	r�r�r��lookdict�includedict�dtransr�r�re�lookb�includesr�r�re�lir�r1rdr
r
r�compute_lookback_includesC	sb




��

���
z*LRGeneratedTable.compute_lookback_includescs0���fdd�}���fdd�}t|||�}|S)Nc����|��Sr)r��r1�r�r�r	r
r�<lambda>�	�z4LRGeneratedTable.compute_read_sets.<locals>.<lambda>cr�r)r�r�r�r
rr��	r��rg)r	r��ntransr�rdrcrfr
r�r�compute_read_sets�	sz"LRGeneratedTable.compute_read_setscs(�fdd�}�fdd�}t|||�}|S)Ncs�|Srr
r�)�readsetsr
rr��	sz6LRGeneratedTable.compute_follow_sets.<locals>.<lambda>cs��|g�Sr)r�r�)�inclsetsr
rr��	sr�)r	r�r�r�rdrcrfr
)r�r�r�compute_follow_sets�	sz$LRGeneratedTable.compute_follow_setsc	Csl|��D]/\}}|D](\}}||jvrg|j|<|�|g�}|D]}||j|vr1|j|�|�q q
qdSr)r�r�r�r�)	r	�	lookbacks�	followsetr��lbr�r�rrmr
r
r�add_lookaheads�	s

����zLRGeneratedTable.add_lookaheadscCsP|��}|�|�}|�|||�}|�|||�\}}|�|||�}|�||�dSr)r�r�r�r�r�r�)r	r�r�r�r��lookd�included�
followsetsr
r
r�add_lalr_lookaheads�	s
z$LRGeneratedTable.add_lalr_lookaheadsc$
Cs�|jj}|jj}|j}|j}|j}i}|�d|j�|��}|jdkr(|�	|�d}|D�]�}	g}
i}i}i}
|�d�|�d|�|�d�|	D]
}|�d|j
|�qI|�d�|	D�]�}|j|jdk�r}|j
dkrud|d	<||d	<q[|jdkr�|j|}n|jj|j
}|D]�}|
�||d
|j
|ff�|�|�}|du�rg|dk�r|�|d�\}}||j
j\}}||ks�||kr�|dkr�|j
||<|||<|s�|s�|�d
|�|j�||df�||j
jd7_q�||kr�|dkr�d||<q�|�s
|�d|�|j�||df�q�|dk�ra||}||j
}|j|jk�rE|j
||<|||<||}}||j
jd7_||j
jd8_n||}}|j�|||f�|�d|||j
||�q�td|��|j
||<|||<||j
jd7_q�q[|j}|j|d}||jjv�rG|�|	|�}|j�t|�d�}|dk�rG|
�||d|f�|�|�}|du�r?|dk�r�||k�r�td|��q[|dk�r9|�|d�\}}|||j
j\}}||k�s�||k�r|dk�r|||j
jd8_|||<|||<|�s|�d|�|j�||df�q[||k�r#|dk�r#d||<q[|�s8|�s8|�d
|�|j�||df�q[td|��|||<|||<q[i}|
D]\}}}||v�rj|||u�rj|�d||�d|||f<�qL|�d�d}|
D](\}}}||v�r�|||u�r�||f|v�r�|�d||�d}d|||f<�qu|�r�|�d�i} |	D]}!|!jD]}"|"|jjv�r�d| |"<�q��q�| D]"}#|�|	|#�}|j�t|�d�}|dk�r�||
|#<|�d|#|��q�|||<|||<|
||<|d7}q,dS)NzParsing method: %srrr�zstate %dz    (%d) %sr�rr�zreduce using rule %d (%s)r�rz3  ! shift/reduce conflict for %s resolved as reduce�reducerz2  ! shift/reduce conflict for %s resolved as shift�shiftz=  ! reduce/reduce conflict for %s resolved using rule %d (%s)zUnknown conflict in state %dr�zshift and go to state %dz Shift/shift conflict in state %dr�z    %-15s %sz  ! %-15s [ %s ]z"    %-30s shift and go to state %d) rrr�rr�rrsrrAr�r�r�r-r�r#r�r�r�r�r�rzr�r�r{ror�r�r�rur0rr�r�)$r	r�rr�r�rs�actionpr��str�actlist�	st_action�
st_actionp�st_gotor��laheadsrmr1�sprec�slevel�rprec�rlevel�oldp�pp�chosenp�rejectprdr�re�	_actprintr�not_used�nkeysr�rSr^r
r
rr|�	s













�




��6




�
�
��
�

�

��
�
��zLRGeneratedTable.lr_parse_tabler�cCs�t|tj�r
td��|�d�d}tj�||�d}�z�t|d�}|�	dtj�
|�t|j|f�d}|r�i}|j
��D]*\}	}
|
��D]!\}}|�|�}
|
sWggf}
|
||<|
d�|	�|
d�|�qDq<|�	d	�|��D]1\}}|�	d
|�|dD]	}
|�	d|
�q|�	d�|dD]	}
|�	d|
�q�|�	d
�qp|�	d�|�	d�n"|�	d�|j
��D]\}}|�	d|d|d|f�q�|�	d�|�rMi}|j��D]*\}	}
|
��D]!\}}|�|�}
|
s�ggf}
|
||<|
d�|	�|
d�|�q�q�|�	d�|��D]4\}}|�	d
|�|dD]
}
|�	d|
��q|�	d�|dD]
}
|�	d|
��q0|�	d
��q
|�	d�|�	d�n#|�	d�|j��D]\}}|�	d|d|d|f��qW|�	d�|�	d�|jD].}|j�r�|�	d|j|j|j|jtj�
|j�|jf��qx|�	dt|�|j|jf��qx|�	d�|��WdSt�y�}z�d}~ww)Nz"Won't overwrite existing tabmoduler�r�z.py�wzu
# %s
# This file is automatically generated. Do not edit.
_tabversion = %r

_lr_method = %r

_lr_signature = %r
    r�rz
_lr_action_items = {z%r:([z%r,z],[z]),z}
z�
_lr_action = {}
for _k, _v in _lr_action_items.items():
   for _x,_y in zip(_v[0],_v[1]):
      if not _x in _lr_action:  _lr_action[_x] = {}
      _lr_action[_x][_k] = _y
del _lr_action_items
z
_lr_action = { z(%r,%r):%r,z
_lr_goto_items = {z�
_lr_goto = {}
for _k, _v in _lr_goto_items.items():
   for _x, _y in zip(_v[0], _v[1]):
       if not _x in _lr_goto: _lr_goto[_x] = {}
       _lr_goto[_x][_k] = _y
del _lr_goto_items
z
_lr_goto = { z_lr_productions = [
z  (%r,%r,%d,%r,%r,%d),
z  (%r,%r,%d,None,None,None),
z]
)r\rDrE�IOError�splitrUrVr�rXr�basenamerIrArr�r�r�r�r}r�rMr#r-r�r�rZ)r	�	tabmodule�	outputdirr^�basemodulenamer[r�smallerr�rS�ndr#rardr5r��er
r
r�write_table�
s�
�
�






�



	 


� 
��zLRGeneratedTable.write_tablecCszddl}Wn
tyddl}Ynwt|d��f}|�t|t�|�|j|t�|�||t�|�|j|t�|�|j	|t�g}|j
D]*}|jr`|�|j
|j|j|jtj�|j�|jf�qE|�t
|�|j|jdddf�qE|�||t�Wd�dS1s�wYdS)Nr�wb)rRrSrTrX�dumprI�pickle_protocolrArr�r}r�r�rMr#r-rUrVr�r�r�)r	r[r^rT�outf�outpr�r
r
r�pickle_table s$�
, "�zLRGeneratedTable.pickle_table)rN)r�r��r�)rrrrr�r�r�r�r�r�r�r�r�r�r�r�r|r�r�r
r
r
rrp3s$
%#8+P
BzrpcCs0t�|�}|j��}|j|jkr|�|j�|Sr)r��	_getframe�	f_globals�copy�f_locals�update)�levelsr�ldictr
r
r�get_caller_module_dictCs


r�c
Cs�g}|��}d}|}|D]j}|d7}|��}|sqzD|ddkr3|s*td||f��|}	|dd�}
n |d}	|	}|dd�}
|d}|dkrS|dkrStd||f��|�|||	|
f�Wqtye�tyvtd	|||��f��w|S)
Nr�r�|z%s:%d: Misplaced '|'��:z::=z!%s:%d: Syntax error. Expected ':'z%s:%d: Syntax error in rule %r)�
splitlinesr�rzr��	Exception�strip)�docr�r�rr�pstrings�lastp�dline�psr�rr�assignr
r
r�
parse_grammarOs8�r�c@s�eZdZd dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)!�
ParserReflectNcCsN||_d|_d|_d|_t�|_g|_d|_|dur"tt	j
�|_dS||_dS)NF)r�r�
error_func�tokensrrGrrrrr�r�rs)r	r�rsr
r
rrys
zParserReflect.__init__cCs,|��|��|��|��|��dSr)�	get_start�get_error_func�
get_tokens�get_precedence�get_pfunctionsrIr
r
r�get_all�s
zParserReflect.get_allcCs6|��|��|��|��|��|��|jSr)�validate_start�validate_error_func�validate_tokens�validate_precedence�validate_pfunctions�validate_modulesrrIr
r
r�validate_all�szParserReflect.validate_allc	Cs�g}z9|jr|�|j�|jr|�d�dd�|jD���|jr)|�d�|j��|jD]
}|dr9|�|d�q,WnttfyFYnwd�|�S)Nr�cSsg|]}d�|��qSr�)r�)rYr�r
r
rrZ�r�z+ParserReflect.signature.<locals>.<listcomp>r�r)rr�r�r�r��pfuncs�	TypeError�
ValueError)r	�partsrr
r
rr^�s"
���
zParserReflect.signaturec	Cs�t�d�}|jD]K}z	t�|�\}}Wn	tyYqwi}t|�D]/\}}|d7}|�|�}|rR|�d�}|�	|�}	|	sC|||<q#t�
|�}
|j�d|
|||	�q#qdS)Nz\s*def\s+(p_[a-zA-Z_0-9]*)\(r�z;%s:%d: Function %s redefined. Previously defined on line %d)
�re�compilerG�inspect�getsourcelinesr�r
r�groupr��
getsourcefilersr)r	�frerO�lines�linen�	counthashr�rr#�prevr[r
r
rr��s.

�




����zParserReflect.validate_modulescC�|j�d�|_dS)Nr)r�r�rrIr
r
rr��rmzParserReflect.get_startcCs.|jdurt|jt�s|j�d�dSdSdS)Nz'start' must be a string)rr\�string_typesrsrrIr
r
rr��s

�zParserReflect.validate_startcCr	)N�p_error)r�r�r�rIr
r
rr��rmzParserReflect.get_error_funccCs�|jrPt|jtj�r
d}nt|jtj�rd}n|j�d�d|_dS|jjj}|jjj	}t
�|j�}|j�
|�|jjj|}|dkrR|j�d||�d|_dSdSdS)Nrr�z2'p_error' defined, but is not a function or methodTz$%s:%d: p_error() requires 1 argument)r�r\rD�FunctionType�
MethodTypersr�__code__�co_firstlineno�co_filenamer�	getmodulerGr�co_argcount)r	�ismethod�eline�efilerO�argcountr
r
rr��s$


�z!ParserReflect.validate_error_funccCsn|j�d�}|s|j�d�d|_dSt|ttf�s%|j�d�d|_dS|s2|j�d�d|_dS||_dS)Nr�zNo token list is definedTztokens must be a list or tupleztokens is empty)r�r�rsrr\r�r�r�)r	r�r
r
rr��s
zParserReflect.get_tokenscCsVd|jvr|j�d�d|_dSt�}|jD]}||vr#|j�d|�|�|�qdS)Nrz.Illegal token name 'error'. Is a reserved wordTzToken %r multiply defined)r�rsrrrr)r	r�r^r
r
rr�s

�zParserReflect.validate_tokenscCr	)Nr�)r�r�r�rIr
r
rr�rmzParserReflect.get_precedencecCsg}|jr�t|jttf�s|j�d�d|_dSt|j�D]d\}}t|ttf�s4|j�d�d|_dSt|�dkrG|j�d|�d|_dS|d}t|t�s\|j�d�d|_dS|dd�D]}t|t�sv|j�d	�d|_dS|�	|||df�qbq||_
dS)
Nz"precedence must be a list or tupleTzBad precedence tabler�z?Malformed precedence entry %s. Must be (assoc, term, ..., term)rz)precedence associativity must be a stringr�z precedence items must be strings)r�r\r�r�rsrr
r-r
r��preclist)r	rrr�rrr
r
rr�s8

�
z!ParserReflect.validate_precedencecCs�g}|j��D].\}}|�d�r|dkrqt|tjtjf�r5t|d|jj	�}t
�|�}|�||||j
f�q|jdd�d�||_dS)N�p_rrcSs |dt|d�|d|dfS)Nrr�r�rrL)�
p_functionr
r
rr�Ds

�z.ParserReflect.get_pfunctions.<locals>.<lambda>)�key)r�r��
startswithr\rDrr
rlrrrrr��__doc__�sortr�)r	�p_functionsr#�itemr�rOr
r
rr�7s
�
zParserReflect.get_pfunctionscCs6g}t|j�dkr|j�d�d|_dS|jD]�\}}}}t�|�}|j|}t|tj	�r0d}nd}|j
j|krF|j�d|||j�d|_q|j
j|krZ|j�d|||j�d|_q|j
sh|j�d|||j�qzt|||�}	|	D]	}
|�||
f�qqWnty�}z|j�t|��d|_WYd}~nd}~ww|j�|�q|j��D]o\}}
|�d	�r�t|
tjtj	f�r�q�|�d
�r�q�|�d	�r�|dkr�|j�d|�t|
tj�r�|
j
jdks�t|
tj	��r|
jj
jdk�r|
j
�rz|
j
�d
�}|ddk�r	|j�d|
j
j|
j
j|�Wq�t�yYq�wq�||_dS)Nrz+no rules of the form p_rulename are definedTr�r�z%%s:%d: Rule %r has too many argumentsz#%s:%d: Rule %r requires an argumentzA%s:%d: No documentation string specified in function %r (ignored)r�t_rz%r not defined as a functionr�r�z9%s:%d: Possible grammar rule %r defined without p_ prefix)r-r�rsrrrr�r\rDr
rrrrrr�r�rzrMrGrr�rr�__func__r�rrr�rr)r	rrr�rOr#r�r�r��reqargs�parsed_gr�r�r^rar
r
rr�Lsp

����

�����
z!ParserReflect.validate_pfunctionsr)rrrrr�r�r^r�r�r�r�r�r�r�r�r�r�r�r
r
r
rr�xs 

r�c
<s*	|durt}|r
d}|durttj�}�r3�fdd�t��D�}
t|
�}d|vr2tj|dj|d<ntd�}|	durqt	|t
j�rE|j}n&d|vrN|d}n|�d�}d�
|dd��}td	|�ttj|dd
�}tj�|�}	|�d�}|r�t	|t�r�d|vr�|d|}|dur�||d<t||d
�}|��|jr�td��|��}zDt�}|r�|�|�}n|�|�}|s�||kr�z|�|j�t||j �}|j!a!|WWSt"y�}z|�#d|�WYd}~nd}~wwWn#t$�y}z
|�#t|��WYd}~nd}~wt%�yYnw|
du�rE|�rBztt&tj�
|	|�d��}
Wn"t'�yA}z|�#d||f�t(�}
WYd}~nd}~wwt(�}
|
�)dt*�d}|�+��rVtd��|j �s_|�#d�t,|j-�}|j.D])\}}}z
|�/|||�W�qgt0�y�}z
|�#d|�WYd}~�qgd}~ww|j1D]2\}}|\} }!}"}#z|�2|"|#|| |!�W�q�t0�y�}z|�d|�d}WYd}~�q�d}~wwz|du�r�|�3|j4�n|�3|�Wnt0�y�}z|�t|��d}WYd}~nd}~ww|�r�td��|�5�}$|$D]\}%}&|�d|&j6|&j7|%�d}�q|�8�}'|'�r>|
�)d
�|
�)d�|
�)d
�|'D]}|�#d|�|
�)d|��q.|�rb|
�)d
�|
�)d�|
�)d
�t9|j:�D]\}(})|
�)d|(|)��qU|�;�}*|*D]}&|�#d|&j6|&j7|&j<��qht=|'�dk�r�|�#d�t=|'�dk�r�|�#d t=|'��t=|*�dk�r�|�#d!�t=|*�dk�r�|�#d"t=|*��|�r|
�)d
�|
�)d#�|
�)d
�t>|j?�}+|+�@�|+D]}|
�)d$|d%�
d&d�|j?|D����q�|
�)d
�|
�)d'�|
�)d
�t>|jA�},|,�@�|,D]}-|
�)d$|-d%�
d(d�|jA|-D����q�|
�)d
�|�r:|�B�}.|.D]	}/|�#d)|/��q|�C�}0|0D]}1|�d*|1�d}�q.|�D�}2|2D]\}}|�d+||�d}�q@|�rVtd��|�r_|�Ed,|�tF|||
�}|�r�t=|jG�}3|3dk�rx|�#d-�n|3dk�r�|�#d.|3�t=|jH�}4|4dk�r�|�#d/�n|4dk�r�|�#d0|4�|�r3|jG�s�|jH�r3|
�#d
�|
�#d1�|
�#d
�|jGD]\}5}6}7|
�#d2|6|5|7��q�tI�}8|jHD]<\}5}9}:|5tJ|9�tJ|:�f|8v�r�q�|
�#d3|5|9�|
�#d4|:|5�|�#d3|5|9�|�#d4|:|5�|8�K|5tJ|9�tJ|:�f��q�g};|jHD] \}5}9}:|:jL�s1|:|;v�r1|
�#d5|:�|�#d5|:�|;�M|:��q|�r\z	|�N||	|�Wnt'�y[}z|�#d6||f�WYd}~nd}~ww|�r�z|�O||�Wnt'�y�}z|�#d6||f�WYd}~nd}~ww|�|j�t||j �}|j!a!|S)7Nrcsg|]	}|t�|�f�qSr
)rl)rYr5�rOr
rrZ�szyacc.<locals>.<listcomp>�__file__rr�r�r�rBr��__package__r)rszUnable to build parserz.There was a problem loading the table file: %rr�zCouldn't open %r. %sz5Created by PLY version %s (http://www.dabeaz.com/ply)Fz no p_error() function is definedz%sTz;%s:%d: Symbol %r used, but not defined as a token or a rulezUnused terminals:zToken %r defined, but not usedz    %sr�zRule %-5d %sz$%s:%d: Rule %r defined, but not usedr�zThere is 1 unused tokenzThere are %d unused tokenszThere is 1 unused rulezThere are %d unused rulesz'Terminals, with rules where they appearz
%-20s : %sr�cS�g|]}t|��qSr
rLrXr
r
rrZG
�z*Nonterminals, with rules where they appearcSr'r
rLrXr
r
rrZO
r(zSymbol %r is unreachablez)Infinite recursion detected for symbol %rz0Precedence rule %r defined for unknown symbol %rzGenerating %s tablesz1 shift/reduce conflictz%d shift/reduce conflictsz1 reduce/reduce conflictz%d reduce/reduce conflictsz
Conflicts:z7shift/reduce conflict for %s in state %d resolved as %sz;reduce/reduce conflict in state %d resolved using rule (%s)zrejected rule (%s) in state %dzRule (%s) is never reducedzCouldn't create %r. %s)P�
tab_modulerr�r��dir�dictrGr%r�r\rDrEr�r�rFrlrUrV�dirnamer�rMr�r�rr)r^r@r_rPr`r�r{r�r�r�rr?rSrXr�r!r�__version__r�r�r�rr	r�rrrrrr&r�r�r(r
r�r+r#r-r�r�rr�rr%r.rrprzr{rr0rr�r�r�r�)<r}rrOr�r�check_recursion�optimize�write_tables�	debugfiler��debuglog�errorlog�
picklefile�_itemsr��srcfiler��pkgname�pkg�pinfor^�lr�read_signaturerDr��errorsrrrrr�funcname�gramr�r�rrr&r�r�r(r^r�r+r��nonterms�nonterm�unreachable�ur$�inf�unused_prec�num_sr�num_rrr�r��
resolution�already_reported�rule�rejected�warned_neverr
r$r�yacc�s�
�



�����
��


����

���











(



(










�����rL)<r�rDr��os.pathrUr�base64r8r-rI�	yaccdebug�
debug_filer)�
default_lrr�r�r.r��version_info�
basestringr
rM�maxsizeri�objectrr!r�r)r4r6r;r@r>r:r<r?rArErFrOr{r�rr�r�r�r�r�r�r?r@rgrarorpr�r�r�rLr
r
r
r�<module>s�=
4
mH.rT
)
�