Your IP : 18.222.110.31


Current Path : /lib64/python2.7/site-packages/sepolgen/
Upload File :
Current File : //lib64/python2.7/site-packages/sepolgen/yacc.pyc

�
��^c@s�dZdadZdZdZdZddlZddlZddlZddl	Z	ddl
Zyddlm
Z
Wn!ek
r�ddlm
Z
nXdd	lmZd
efd��YZdfd
��YZdfd��YZdfd��YZd�Zd�Zd�Zdfd��YZdfd��YZejd�Zd�Zd�Zd�Z d�Z!d�Z"dd�Z#d �Z$d!�Z%e&d"�Z'd#�Z(e&d$�Z)d%�Z*d&�Z+d'a,d(�Z-d)�Z.ia/d*�Z0d+�Z1d,�Z2d-�Z3d.�Z4d/�Z5d0�Z6d1�Z7d2�Z8d3�Z9d4�Z:d5�Z;d6�Z<ed7d8�Z=ed'd9�Z>yej?ej@fZAWneBk
r�eCZAnXete&ee&dd'ded7d:�
ZDd;�ZEd<�aFdS(=s2.2is
parser.outtparsetabtLALRii����N(tStringIO(tutilt	YaccErrorcBseZRS((t__name__t
__module__(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyROst
YaccSymbolcBseZd�Zd�ZRS(cCs|jS(N(ttype(tself((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt__str__cscCs
t|�S(N(tstr(R	((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt__repr__ds(RRR
R(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyRbs	tYaccProductioncBs\eZd	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�ZRS(
cCs||_g|_||_dS(N(tslicetpbstacktstack(R	tsR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt__init__ps		cCstt|�tkr=|dkr,|j|jS|j|jSn3g|j|j|j|j�D]}|j^q]SdS(Ni(RtintRtvalueRtstarttstoptstep(R	tnR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt__getitem__us
cCs||j|_dS(N(RR(R	Rtv((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt__setitem__|scCs
t|j�S(N(tlenR(R	((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt__len__scCst|j|dd�S(Ntlinenoi(tgetattrR(R	R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR�scCs<t|j|dd�}t|j|d|�}||fS(NRit	endlineno(RR(R	Rt	startlinetendline((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlinespan�scCst|j|dd�S(Ntlexposi(RR(R	R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR$�scCs<t|j|dd�}t|j|d|�}||fS(NR$it	endlexpos(RR(R	Rtstartpostendpos((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlexspan�scCs�|dkrtd��n|t|j�dkrZtd|t|j�df��nx3td|�D]"}|jj|j|d�qjWdS(NisExpected a positive valueis,Can't push %d tokens. Only %d are available.(t
ValueErrorRRtrangeRtappend(R	Rti((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytpushback�s&N(RRtNoneRRRRRR#R$R(R-(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR
os							tParsercBs8eZdd�Zd�Zd�Zdddd�ZRS(cCsU|dkrtd��nd|_d|_i|_i|_i|_d|_dS(Ntxyzzys-Can't instantiate Parser. Use yacc() instead.s
Unknown LR(RR.tproductionst	errorfunctactiontgototrequiretmethod(R	tmagic((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR�s					cCs
d|_dS(Ni(t
errorcount(R	((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyterrok�scCsD|j2|j2t�}d|_|jj|�|jjd�dS(Ns$endi(t
statestacktsymstackRRR+(R	tsym((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytrestart�s		icCs�d}g}|j}|j}|j}td�}	||	_d|_|sgddlm}
|
j	}n||	_	|r�|j
|�n|j}g}||_g}
|
|_
|
|	_d}|jd�t�}d|_|
j|�x�|dkr	d|dfGHn|sK|s!|�}n|j�}|sKt�}d|_qKn|r�ddjg|
D]}|j^qad�t|�fj�}n|d}|j}|j||fd�}|dkr�d	|fGHn|dk	r|dkr�|dkrtjjd
�dS|j|�|dkrFtjjd||f�n|
j|�d}|jdkr�|jd8_q�q�n|dkr@||}|j}|j}t�}||_d|_|dkr�tjjd||f�n|r�|
|d}||d<yd|dj|_t|dd
|dj�|_|dj |_ t|dd|dj �|_!Wnt"k
r�d|_nX|
|3||3nd|_|g}||	_#g|	_$|j%|	�|	j$r|j|�x|	j$D]}|j|�q�Wd}n|
j|�|j||d|f�q�n|dkr|
d}t|dd�Stjj|d�qn|dkr�|r�tjj|d�n|js�t&|_|}|jdkr�d}n|j'r/|j(a(|a|j)a)|j'|�}b(bb)|js�|}d}q�q�q�|r�t*|d�rP|j}nd}|r|tjjd||jf�q�tjjd|j�q�tjjd�dSn	t&|_t|�dkr�|jdkr�d}d}|2q�n|jdkrdS|jdkr�|
d}|jdkr4d}q�nt�}d|_t*|d�rd|j|_n||_|j|�|}q�|
j�|j�q�nt+d��q�dS(Nii(tlexs$endtstatei����s%s . %st R3syacc: Parse error. EOF
s%-60s shift state %s
s%-60s reduce %d
R R%Rs
Rs(yacc: Syntax error at line %d, token=%s
syacc: Syntax error, token=%ss yacc: Parse error in input. EOF
terrorsyacc: internal parser error!!!
(,R.R3R4R1R
tparserR8tR>tlexertinputttokenR:R;RR+RRtpoptjoinRtlstriptgettsyststderrtwritetnameRRRRR R$R%tAttributeErrorRRtfuncterror_countR2R9R=thasattrtRuntimeError(R	RERDtdebugt	lookaheadtlookaheadstacktactionsR4tprodtpsliceR>t	get_tokenR:R;terrtokenR<txxt	errorleadRtltypetttptpnametplenttargt_tRttokR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytparse�s 										
		
	B
	

					
 $

				
	
	

									 	!
			
	

N(RRR.RR9R=Rf(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR/�s		c
Cstjj|�\}}|dkr(dSy&t|�}|j�}|j�Wntk
rbdSXtjd�}i}d}d}x�|D]}	|j	|	�}
|
r|
j
d�}|j|�}|s�|||<qtj
jd||||f�d}n|d7}q�W|S(Ns.pyis\s*def\s+(p_[a-zA-Z_0-9]*)\(s<%s:%d: Function %s redefined. Previously defined on line %d
i(tostpathtsplitexttopent	readlinestclosetIOErrortretcompiletmatchtgroupRJRKRLRM(
tfilenametbasetexttftlinestfret	counthashtlinentnoerrortltmRNtprev((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt
validate_file�s0


 	c	Cs.x'|j�D]\}}|dd!dkrPt|�tjtjfkrPq
n|dd!dkriq
n|dd!dkr�tjjd|�ndr
t|tj�r
|j	j
dkr
yR|jjd�}|ddkrtjjd	|j	j
|j	j|f�nWq&tk
r"q&Xq
q
WdS(
Niitp_tt_s.yacc: Warning. '%s' not defined as a function
iR@t:sF%s:%d: Warning. Possible grammar rule '%s' defined without p_ prefix.
(titemsRttypestFunctionTypet
MethodTypeRKRLRMt
isinstancet__code__tco_argcountt__doc__tsplittco_filenametco_firstlinenot	Exception(tdRRtdoc((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt
validate_dict�s1*0
cCsgdgaiaiaiaiaiaiaiaga	da
tj�a
iat�at�adS(N(R.tProductionst	ProdnamestProdmapt	TerminalstNonterminalstFirsttFollowt
PrecedencetLRitemst	Errorfuncthashlibtsha256t	SignaturetRequiresRt_vft_vfc(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytinitialize_vars�s		t
ProductioncBs,eZd�Zd�Zd�Zd�ZRS(cKspx*|j�D]\}}t|||�q
Wd|_d|_d|_g|_i|_i|_g|_dS(Ni����i(	R�tsetattrtlr_indext	lr0_addedt	lr1_addedtusymst
lookaheadstlk_addedt
setnumbers(R	tkwtkR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR's						cCs<|jr+d|jdj|j�f}n
d|j}|S(Ns%s -> %sR@s
%s -> <empty>(RXRNRH(R	R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR
2s	"
cCs
t|�S(N(R(R	((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR9scCs'|t|j�krdSt�}|j|_t|j�|_|j|_||_i|_|j	|_	|jj
|d�t|j�|_t|j�|_|j|_yt
|j|d|_Wn"ttfk
r�}g|_nXy|j|d|_Wntk
r"d|_nX|S(Nt.i(RRXR.R�RNtlisttnumberR�R�R�tinsertttupleR�R�tlraftert
IndexErrortKeyErrortlrbefore(R	RR`te((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr_item=s,			


(RRRR
RR�(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR�&s			tMiniProductioncBseZRS((RR(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR�Wss^[a-zA-Z0-9_-~]+$cCs�|tkr-tjjd|||f�dS|dkrZtjjd|||f�dStj|�s�tjjd|||f�dSx�tt|��D]�}||}|ddkr@ylt|�}t|�dkrtjjd	||||f�dS|tkrgt|<n|||<w�Wq@t	k
r<q@Xntj|�r�|d
kr�tjjd||||f�dSq�Wd||f}|t
kr�t
|}	tjjd
|||	f�tjjd|||	j|	jf�dSt
�}
||
_||
_||
_||
_||
_tt�|
_tj|
�|
t
|<|tkrfgt|<nd}x_|t|
j�kr�|
j|}|d
krIy|
j|d}
Wn2tk
r�tjjd|
j|
jf�dSXtj|
d�}|s&tjjd|
j|
j|
f�dS||
_|
j|=|
j|=qon|tkr�t|j|
j�t|
d�s�tj|d�|
_q�n-|tkr�gt|<nt|j|
j�|d7}qoWt|
d�s�d|
_nt|
j�|
_t|
j�|
_g|
_x3|
jD](}||
jkr |
jj|�q q Wyt|
jj|
�Wn!tk
r�|
gt|
j<nXdS(Ns;%s:%d: Illegal rule name '%s'. Already defined as a token.
i����RAs9%s:%d: Illegal rule name '%s'. error is a reserved word.
s%s:%d: Illegal rule name '%s'
is'"isD%s:%d: Literal token %s in rule '%s' may only be a single character
s%precs&%s:%d: Illegal name '%s' in rule '%s'
s%s -> %ss%s:%d: Duplicate rule %s.
s$%s:%d: Previous definition at %s:%d
s-%s:%d: Syntax error. Nothing follows %%prec.
s2%s:%d: Nothing known about the precedence of '%s'
tprectright(R�i(R�i(R�RKRLRMt_is_identifierRpR*RtevaltSyntaxErrorR�tfiletlineR�RNRXRPR�R�R+R�R�R�RJR.R�RRR�R�R�R�(RuR�R�tprodnametsymstxRtctmapR|R`R,R_tprecnameR�((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytadd_productionns�
 


 
&						




 #	


	
cCsa|jj}|jj}d}t|tj�r9d}nd}|jj|krutjj	d|||j
f�dS|jj|kr�tjj	d|||j
f�dS|jr=|jj�}d}|}x�|D]`}|d7}|j�}	|	s�q�ny�|	ddkrc|s5tjj	d||f�dS|}
t|	�dkrZ|	d}q�g}nu|	d}
|
}|	d}t|	�dkr�|	d}ng}|d	kr�|d
kr�tjj	d||f�dSt||||
|�}
||
7}Wq�tk
r5tjj	d|||f�|d8}q�Xq�Wn tjj	d
|||j
f�|S(Niiis)%s:%d: Rule '%s' has too many arguments.
i����s'%s:%d: Rule '%s' requires an argument.
t|s%s:%d: Misplaced '|'.
R�s::=s"%s:%d: Syntax error. Expected ':'
s!%s:%d: Syntax error in rule '%s'
s:%s:%d: No documentation string specified in function '%s'
(R�R�R�R�R�R�R�RKRLRMRR�t
splitlinesR.R�RR�R�(RuR�R�RAtreqdargstpstringstlastptdlinetpsR`R�R�tassignR�((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytadd_function�s\	  	


	



 cCs�i}x4ttj��ttj��D]}d||<q)Wttdjd|�x5tj�D]'}||sbtjj	d|�qbqbWdS(s�
    Find each symbol that can be reached from the start symbol.
    Print a warning for any nonterminals that can't be reached.
    (Unused terminals have already had their warning.)
    is"yacc: Symbol '%s' is unreachable.
N(
R�R�tkeysR�tmark_reachable_fromR�RXRKRLRM(t	ReachableR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_reachables)
cCsZ||rdSd||<x;tj|g�D]'}x|jD]}t||�q;Wq+WdS(s<
    Mark all symbols that are reachable from symbol s.
    Ni(R�RJRXR�(RR�R`tr((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR�+s

c
Cs\i}xtj�D]}d||<qWd|d<xtj�D]}d||<q>Wx�d}x�tj�D]r\}}xc|D][}x+|jD]}||s�d}Pq�q�Wd}|r{||s�d||<d}nPq{q{WqhW|sUPqUqUd}xd|j�D]V\}}	|	s�|tkr7|tkr7|dkr7qTtjjd|�d}q�q�W|S(s>
    Raise an error for any symbols that don't terminate.
    is$endiRAs3yacc: Infinite recursion detected for symbol '%s'.
(	R�R�R�R�R�RXRKRLRM(
t
TerminatesR_Rtsome_changetplR`Rtp_terminatest
some_errort
terminates((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_terminates>s<




	$
c
	Csed}x�tD]y}|sq
nxd|jD]Y}|tkr)|tkr)|dkr)tjjd|j|j|f�d}q)q)q)Wq
Wd}t	r�t
jd�nxhtj�D]Z\}}|dkr�|r�tjjd|�t	rt
jd|�n|d7}q�q�Wt	rbt
jd�x;tdt
t��D]!}t
jd	|t|f�q:Wnd}x^tj�D]P\}}|sut|d}tjjd
|j|j|f�|d7}ququW|dkr�tjjd�n|dkrtjjd|�n|dkr*tjjd
�n|dkrMtjjd|�nt	rDt
jd�ttj��}|j�xK|D]C}	t
jd|	djgt|	D]}t|�^q��f�q�Wt
jd�ttj��}|j�xN|D]C}	t
jd|	djgt|	D]}t|�^q�f�q�Wn|rat�|t�7}n|S(NiRAs?%s:%d: Symbol '%s' used, but not defined as a token or a rule.
isUnused terminals:

s1yacc: Warning. Token '%s' defined, but not used.
s   %s
s

Grammar

s
Rule %-5d %s
s1%s:%d: Warning. Rule '%s' defined, but not used.
s(yacc: Warning. There is 1 unused token.
s+yacc: Warning. There are %d unused tokens.
s'yacc: Warning. There is 1 unused rule.
s*yacc: Warning. There are %d unused rules.
s*
Terminals, with rules where they appear

s%-20s : %s
R@s-
Nonterminals, with rules where they appear

(R�RXR�R�RKRLRMR�R�t	yaccdebugR�R�R*RR�R�R�tsortRHRR�R�(
tcycle_checkRAR`Rt
unused_tokRR,tunused_prodtksR�((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytverify_productions�sf
$#
"#


A


DcCs�x}tD]u}|}|jd�}d}xQ|j|�}||_|sMPntt�|_tj|�|}|d7}q+qWdS(Nii(R�R�tlr_nextRR�tlr_numR+(R`tlastlritlriR,((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt
build_lritems�s
	
cCs�d}d}x�|D]�}|d7}y�|d}|d}|dkrv|dkrv|dkrvtjjd|�dSxN|D]F}|tkr�tjjd|�|d7}q}n||ft|<q}WWqtjjd	�|d7}qXqW|S(
NiitleftR�tnonassocsyacc: Invalid precedence '%s'
i����s5yacc: Precedence already specified for terminal '%s'
s yacc: Invalid precedence table.
(RKRLRMR�(tplisttplevelRAR`R�ttermsR_((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytadd_precedence�s(



$

c
Cso|stdj}ntddd|gddddddd
d�td<|gtd_t|jd�dS(NiRNsS'RXR�iRR�R�RP(srighti(R�RNR�R.R�R�R+(R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytaugment_grammars
4cCs~g}xq|D]\}d}xCt|D]7}|dkr?d}q$||kr$|j|�q$q$W|rhq
Pq
W|jd�|S(Nis<empty>i(R�R+(tbetatresultR�tx_produces_emptyRu((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytfirsts
	
c

Cs�xtj�D]}gt|<q
W|s7tdj}ndgt|<xAd}x+tdD]}xtt|j��D]�}|j|}|tkrtt|j|d�}d}xY|D]Q}|dkr�|t|kr�t|j	|�d}n|dkr�d}q�q�W|s+|t|j�dkrsxBt|jD]0}|t|kr9t|j	|�d}q9q9WqsqtqtWqXW|sGPqGqGdr�t
r�tjd�xTtj�D]C}tjd|dj
gt|D]}	t|	�^q��f�q�WndS(Nis$endis<empty>s	
Follow:
s%-20s : %s
R@(R�R�R�R�RNR*RRXR�R+R�R�RMRHR(
RR�tdidaddR`R,tBtfstthasemptyRuR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_follow8s<


	

c
CsYx!tj�D]}|gt|<q
Wdgtd<dgtd<xtj�D]}gt|<qKWx�d}xmtj�D]_}xVt|D]J}xAt|j�D]0}|t|kr�t|j|�d}q�q�Wq�WquW|sbPqbqbdrUtrUt	j
d�xTtj�D]C}t	j
d|djgt|D]}t|�^q.�f�qWndS(Ns$endt#iis
First:
s%-20s : %s
R@(
R�R�R�R�R�R�RXR+R�R�RMRHR(R_RR�R`RuR�R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_first1ds*


	cCs"iaiadaiaiadS(NtUnknown(t
_lr_actiont_lr_gotot
_lr_methodt_lr_goto_cachet_lr0_cidhash(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr_init_vars�s
icCs�td7at}|}d}xi|r�d}xV|D]N}xE|jD]:}|jtkr^qCn|j|j�t|_d}qCWq3Wq W|S(Nii(t
_add_countR�R�R�R+R�(tItprodlisttJR�tjR�((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr0_closure�s
	
	cCs3tjt|�|fd�}|r(|Stj|d�}|sSi}|t|<ng}xy|D]q}|j}|r`|j|kr`|jt|�d�}|s�i}||t|�<n|j|�|}q`q`W|jdd�}|s|rt|�}||d<q||d<n|tt|�|f<|S(Ns$end(R�RJtidR.R�R�R+R(RR�tgRtgsR`Rts1((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr0_goto�s2

	



cCs#ttdjg�g}d}x(|D] }|tt|�<|d7}q&Wd}x�|t|�kr||}|d7}i}x,|D]$}x|jD]}d||<q�Wq�Wxj|j�D]\}t	||�}|s�q�nt|�tkr�q�nt|�tt|�<|j
|�q�WqSW|S(Nii(RR�R�R�RRR�R.R�RR+(tCR,RtasymstiiRR�R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt	lr0_items�s,



cCs�i}d}x�xetdD]Y}|jdkrBd||j<qnx.|jD]}||krLPqLqLWd||j<qWt|�|kr�Pnt|�}q|S(Nii(R�RRNRX(tnullabletnum_nullableR`R_((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_nullable_nonterminalss
cCs�g}x�tt|��D]�}xt||D]h}|j|jdkr*||j|jdf}|dtkr�||kr�|j|�q�q�q*q*W|d}qW|S(Ni(R*RR�RXR�R+(RttransR?R`R_((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytfind_nonterminal_transitions4sc
Cs�i}|\}}g}t|||�}xf|D]^}|j|jdkr2|j|jd}	|	tkr�|	|kr�|j|	�q�q�q2q2W|dkr�|tdjdkr�|jd�n|S(Niis$end(RR�RRXR�R+R�(
RRRtdr_setR?tNR�RR`ta((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytdr_relationHs
#c
Cs�g}|\}}t|||�}tjt|�d�}x]|D]U}|j|jdkrD|j|jd}	|	|kr�|j||	f�q�qDqDW|S(Ni����i(RR�RJRR�RRXR+(
RRtemptytrelR?RRRR`R((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytreads_relation`s
cCs`i}i}i}x|D]}d||<qWx&|D]\}}g}	g}
x�||D]�}|j|krrqWn|j}|}
x�||jdkr\|d}|j|}|
|f|kr.|d}xa||jkr|j|tkr�Pn|j||kr
Pn|d}q�W|
j|
|f�nt||
|�}tjt	|�d�}
q�Wx�||
D]�}|j|jkr�qhn|j|jkr�qhnd}xR||jkr�|j||j|dkr�Pn|d}q�W|	j|
|f�qhWqWWx>|
D]6}||kr'g||<n||j||f�qW|	|||f<q4W||fS(Nii����i(
RNR�RRXR�R+RR�RJR(RRRtlookdicttincludedicttdtransR_R?RtlookbtincludesR`R�RtliRR�R,((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_lookback_includes�sX
	




c	Csqi}x|D]}d||<q
Wg}i}x=|D]5}||dkr4t|||||||�q4q4W|S(Ni(ttraverse(tXtRtFPRR�RtF((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytdigraph�s

#c	Csc|j|�t|�}|||<||�||<||�}x�|D]�}	||	dkr{t|	||||||�nt||||	�||<x>|j|	g�D]*}
|
||kr�||j|
�q�q�WqFW|||kr_tj||d<||||d<|j�}xB||kr[tj||d<||||d<|j�}qWndS(Nii����(R+RR#tminRJRKtmaxsizeRG(R�RRR'R$R%R&R�RtyRtelement((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR#�s(


cs:��fd�}��fd�}t|||�}|S(Ncst�|��S(N(R(R�(RR(s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt<lambda>scst�|��S(N(R(R�(RR(s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR-s(R((RtntransRR&R%R'((RRs3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_read_setsscs4�fd�}�fd�}t|||�}|S(Ncs�|S(N((R�(treadsets(s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR-scs�j|g�S(N(RJ(R�(tinclsets(s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR-s(R((R.R0R1R&R%R'((R1R0s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytcompute_follow_setsscCs�x�|j�D]�\}}x�|D]x\}}||jkrKg|j|<n|j|g�}x8|D]0}||j|krd|j|j|�qdqdWq Wq
WdS(N(R�R�RJR+(t	lookbackst	followsetRtlbR?R`RuR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytadd_lookaheads.s
cCsbt�}t|�}t|||�}t|||�\}}t|||�}t||�dS(N(RRR/R"R2R6(RRRR0tlookdtincludedt
followsets((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytadd_lalr_lookaheads?s	c
Cs�t}t}i}|ad}d}trRtjjd|�tjd|�nt�}|dkrtt	|�nd}x�|D]�}g}	tr�tjd|�x.|D]&}
tjd|
j
t|
�f�q�Wtjd�nxm|D]e}
y4|
jdd	kr�|
j
d
kr:d||df<|
||df<q%|dkrV|
j|}n
t|
j
}x�|D]�}|	j||
d|
j
|
ff�|j||fd�}
|
dk	r�|
dkr�t|||fj
j\}}tj|d"�\}}||ks||kr�|dkr�|
j
|||f<|
|||f<|r�|r�tjd|�tjd|�|d7}q�q�||kr�|dkr�d|||f<q�|s�tjd|�tjd|�|d7}q�q�|
dkr�t|
}t|
j
}|j|jkrC|
j
|||f<|
|||f<n|d7}tjd||||fj
|||ff�tjd||||fj
|||ff�q�tjjd|�qj|
j
|||f<|
|||f<qjWn1|
j}|
j|d}|tkr%t||�}tjt|�d�}|dkr%|	j||
d|f�|j||fd�}
|
dk	r�|
dkr�|
|kr�tjjd|�q�q|
dkr�t|||fj
j\}}tj|d#�\}}||ks%||kr}|dkr}||||f<|
|||f<|s�|d7}tjd|�tjd|�q�q�||kr�|dkr�d|||f<q�|r�|r�|d7}tjd|�tjd|�q�qtjjd|�q"||||f<|
|||f<q%nWq�tk
rP}td�j|��q�Xq�Wtrdi}xl|	D]d\}}
}||f|krh|
|||fkr�tjd||f�d|||f<q�qhqhWtjd�x�|	D]y\}}
}||f|kr�|
|||fk	r]||f|krZtjd||f�d|||f<qZq]q�q�Wntrztjd�ni}x;|D]3}x*|j D]}|t!kr�d||<q�q�Wq�Wxz|j"�D]l}t||�}tjt|�d�}|dkr�||||f<tr7tjd||f�q7q�q�W|d7}q�Wtr�|dkrrtjjd|�n|dkr�tjjd|�n|dkr�tjjd |�n|dkr�tjjd!|�q�ndS($Nis%yacc: Generating %s parsing table...
s

Parsing method: %s

Rs
state %d

s    (%d) %s
s
i����R�sS's$endsreduce using rule %d (%s)R�R�s6shift/reduce conflict in state %d resolved as reduce.
s5  ! shift/reduce conflict for %s resolved as reduce.
iR�s5shift/reduce conflict in state %d resolved as shift.
s4  ! shift/reduce conflict for %s resolved as shift.
s@reduce/reduce conflict in state %d resolved using rule %d (%s).
s?  ! reduce/reduce conflict for %s resolved using rule %d (%s).
sUnknown conflict in state %d
sshift and go to state %ds!Shift/shift conflict in state %d
sHosed in lr_parse_tables
    %-15s %s
s  ! %-15s [ %s ]
s#    %-30s shift and go to state %d
syacc: %d shift/reduce conflict
s yacc: %d shift/reduce conflicts
s yacc: %d reduce/reduce conflict
s!yacc: %d reduce/reduce conflicts
(srighti(srighti(#R�R�R�R�RKRLRMR�RR:R�RRXRNR�R�R+RJR.R�R�R�R�R�R�R�RR�RR�Rtwith_tracebackR�R�R�(R6R4R3tactionptn_srconflicttn_rrconflictRtstRtactlistR`tlaheadsRR�tsprectsleveltrprectrleveltoldptppR,RRR�t	_actprintR|tnkeysRRR((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr_parse_tableWs	


$


# $

14	 $


 
!RCcCsdtjj||�d}y#t|d�}|jd|tt�ttj��f�d}|r�i}xvt	j
�D]h\}}|j|d�}|s�ggf}|||d<n|dj|d�|dj|�qvW|jd�x�|j
�D]�\}}|jd|�x#|dD]}|jd|�q$W|jd	�x#|dD]}|jd|�qWW|jd
�q�W|jd�|jd�nY|jd
�x<t	j
�D].\}}|jd|d|d|f�q�W|jd�|r<i}xvt
j
�D]h\}}|j|d�}|sTggf}|||d<n|dj|d�|dj|�qW|jd�x�|j
�D]�\}}|jd|�x#|dD]}|jd|�q�W|jd	�x#|dD]}|jd|�q�W|jd
�q�W|jd�|jd�nY|jd�x<t
j
�D].\}}|jd|d|d|f�qVW|jd�|jd�xtD]w}	|	r|	jr�|jd|	j|	j|	jj|	j|	jf�q |jd|	j|	jf�q�|jd�q�W|jd�|j�Wn!tk
r_}
d|GH|
GHnXdS(Ns.pytws`
# %s
# This file is automatically generated. Do not edit.

_lr_method = %s

_lr_signature = %s
iis
_lr_action_items = {s%r:([s%r,s],[s]),s}
s�
_lr_action = { }
for _k, _v in _lr_action_items.items():
   for _x,_y in zip(_v[0],_v[1]):
       _lr_action[(_x,_k)] = _y
del _lr_action_items
s
_lr_action = { s(%r,%r):%r,s
_lr_goto_items = {s�
_lr_goto = { }
for _k, _v in _lr_goto_items.items():
   for _x,_y in zip(_v[0],_v[1]):
       _lr_goto[(_x,_k)] = _y
del _lr_goto_items
s
_lr_goto = { s_lr_productions = [
s  (%r,%d,%r,%r,%d),
s  (%r,%d,None,None,None),
s  None,
s]
sUnable to create '%s'(RgRhRHRjRMtreprR�R�tdigestR�R�RJR+R�R�RPRNRRR�R�RlRm(t
modulenamet	outputdirRrRutsmallerR�R�RR,R`R�((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr_write_tabless�&




&





&


	5 
	cBsvyWd|dU|s*ej�ejkrRejaejaejaejadSdSWnee	fk
rqdSXdS(Nsimport %s as parsetabii(
R�RMRt
_lr_signatureR�R�t_lr_productionsR�tImportErrorRO(tmoduletoptimize((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytlr_read_tables�s				c
%
CsS|at�i}
d}tjtj|��|r�t|tj�rS|j	}qt|t
�r�gt|�D]}
|
t||
�f^qo}i}x/|D]}|d||d<q�Wqt
d��nNy
t�WnAtk
rtj�\}}}|j}|j}|j}nX|s4|jdd�}n|rStjtj|��n|r�t|d�r�t2xtD]�}|s�tjd�qst�}|d|_|d|_|d|_|d|_|dr�||d|_ntj|�qsWn�|r(t|t
�r(t|dd�}n|jdd�}|sOt d	��nt|t!�pjt|t"�s|t d
��n|jdd�}|r7t|t#�s�t d��nx�|j$�D]q\}}yHt|t!�s�t%�ng|D]}|j&d
�^q�}|t'|<Wq�t(k
r/d|GHq�Xq�Wnd|krWdGHt d��nx0|D](}|t)kr|d|GHngt)|<q^Wgt)d<|jdd�}|rt|t!�p�t|t"�s�t d��nt*|�tjtjt+|���nx'|D]}|t,kr	d(t,|<q	q	W|jdd�}|r�t|tj-�r_d}n't|tj.�rzd}nt d��|j/j0} |j/j1}!d|
|!<|j/j2d|kr�t d|!| f��n|a3ndGHg|j4�D]\}t5||�tj-tj.fkr�||j6d dkr�||j6dkr�||^q�}"t|"�dkrut d��n|"j7dd��x=|"D]5}t8|�dkr�|d7}q�d|
|j/j1<q�Wx3|"D]+}|j9r�tjtj|j9��q�q�Wt:�|rt d��nt|�s�x)|
j4�D]}#t;|#�s3d}q3q3Wt<|�|r�|t=kr�t d|��nt>|�t?d |�}g|j4�D]E}t5|�tj-tj.fkr�||j6d dkr�||^q�}$|rt d��nt@�tA�tB|�|d)kr8tC|�nt d#|��|r^tD||	�ntr�y_tEtFjGjH|	|�d$�}|jItJjK��|jId%�|jItLjK��|jM�Wq�tNk
r�}d&||fGHq�Xq�ntOd'�}t|_Pt3|_QtR|_StT|_UtV|_Wt'|_X|jYaY|aZ|sOt[�n|S(*NiisExpected a moduleRiiittokenss&module does not define a list 'tokens'stokens must be a list or tuple.R5srequire must be a dictionary.R�sJInvalid specification for rule '%s' in require. Expected a list of stringsRAs1yacc: Illegal token 'error'.  Is a reserved word.sIllegal token names+yacc: Warning. Token '%s' multiply defined.t
precedences#precedence must be a list or tuple.R�tp_errors3'p_error' defined, but is not a function or method.s%%s:%d: p_error() requires 1 argument.s0yacc: Warning. no p_error() function is defined.Rs,no rules of the form p_rulename are defined.tkeycSs
|jjS(N(R�R�(R�((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyR-<ssUnable to construct parser.sBad starting symbol '%s'R�tSLRRsUnknown parsing method '%s'RKs

syacc: can't create '%s'R0(srighti(R\sLALR(\R�R�R�tupdateRtencode_inputR�R�t
ModuleTypet__dict__t
_INSTANCETYPEtdirRR)RSRKtexc_infottb_frametf_backt	f_globalsRJR.RWR�RSR+R�RNRR�R�RPRR�R�tdictR�t	TypeErrorR�R�R�R�R�RLR�R�R�R�R�R�R�R�R�RRR�R�R�RR~R�R�R�R�R�R�R�RJRQRjRgRhRHRMR�tgetvalueR�RlRmR/R1R2R�R3R�R4R�R6R5RfRBtyacc_cleanup(%R6RTRUt	tabmoduleRtcheck_recursionRVtwrite_tablest	debugfileROtfilesRAtldictR�t_itemsR,R�tbR_RuR`R|RXtrequiresR�RR�tv1RR�teftismethodtelinetefiletsymbolsRrt	otherfunc((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pytyacc�s$.


		

	




	"




		
	9#


	 


E


							
cCs:bbbbbbbbbb	b
bbb
bbbbdS(N(R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyRj�s
	cOstd��dS(Ns!yacc: No parser built with yacc()(R(targstkwargs((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyRf�s(Gt__version__R�t
debug_filet
tab_modulet
default_lrRQRnR�RKR�tos.pathRgt	cStringIORRTtioRCRR�RRR
R/R~R�R�R�R�RoR�R�R�R�R�R�R�R�R�R.R�R�R�R�RRRRR�RRRRRR"R(R#R/R2R6R:RJRQRWtInstanceTypet
ObjectTypeRaROtobjectR{RjRf(((s3/usr/lib64/python2.7/site-packages/sepolgen/yacc.pyt<module>5sz<

0�			D1	l	A			BO			",	)			!	<				+	O	
	"					�n

'�