+
    	:id c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RItRtRtRt	Rt
RtRt^tRt^(t^ t]P"                  ^ ,          ^8  d   ]tM]t]P*                  t ! R	 R
]4      t ! R R]4      t ! R R]4      tR tR tRsRsRs Rt!R t"R t#R t$R t% ! R R4      t& ! R R4      t' ! R R4      t(] PR                  ! R4      t* ! R R]4      t+ ! R R ]4      t, ! R! R"]4      t-R# t. ! R$ R%]4      t/ ! R& R']4      t0 ! R( R)]4      t1 ! R* R+]4      t2R, t3R- t4 ! R. R/]4      t5 ! R0 R1]24      t6R2 t7R3 t8 ! R4 R5]4      t9R]	R]RRRR]
RRRR3R6 lt:R# )7    Nz3.11z3.10Tz
parser.outparsetabLALRFc                   s@   a  ] tR t^lt o R tR t]tR tR t]t	Rt
V tR# )	PlyLoggerc                s    Wn         R # Nf)selfr      &&2/usr/lib/python3.14/site-packages/sepolgen/yacc.py__init__ZPlyLogger.__init__m   s        c                sV    V P                   P                  W,          R ,           4       R# )
Nr   writer   Zmsgargskwargs   &&*,r	   debugZPlyLogger.debugp   s    cjD()r   c                d    V P                   P                  R W,          ,           R,           4       R# )z	WARNING: r   Nr   r   r   r	   warningZPlyLogger.warningu   s    [CJ/$67r   c                r   )zERROR: r   Nr   r   r   r	   errorZPlyLogger.errorx   s    Y#*-45r   r   N)__name__
__module____qualname____firstlineno__r
   r   infor   r   Zcritical__static_attributes____classdictcell__Z__classdict__   @r	   r   r   l   s'     * D86 Hr   r   c                   s,   a  ] tR t^~t o R tR tRtV tR# )
NullLoggerc                    V # r    )r   namer   r	   __getattribute__ZNullLogger.__getattribute__       r   c                r!   r   r"   )r   r   r   s   &*,r	   __call__ZNullLogger.__call__   r%   r   r"   N)r   r   r   r   r$   r&   r   r   r   r   r	   r    r    ~   s      r   r    c                   s    ] tR t^tRtR# )	YaccErrorr"   Nr   r   r   r   r   r"   r   r	   r'   r'          r   r'   c                 s    \        V 4      pR V9   d   \        V4      p\        V4      \        8  d   VR\         R,           pR\        V 4      P                  \        V 4      V3,          pV# )r   Nz ...z<%s @ 0x%x> (%s))reprlenresultlimittyper   id)rrepr_strresult   &  r	   format_resultr3      s]    AwHx>
8}{"L[)F247#3#3RUH"EEFMr   c                 s    \        V 4      pR V9   d   \        V4      p\        V4      ^8  d   V# R\        V 4      P                  \	        V 4      3,          # )r   z<%s @ 0x%x>)r*   r+   r-   r   r.   )r/   r0      & r	   format_stack_entryr5      sK    AwHx>
8}rQ 0 0"Q%888r   a  PLY: 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()
c                  J    \         P                  ! \        4       \        4       # r   )warningswarn_warnmsg_errokr"   r   r	   errokr;          MM(8Or   c                  r6   r   )r7   r8   r9   _restartr"   r   r	   restartr>      s    MM(:r   c                  r6   r   )r7   r8   r9   _tokenr"   r   r	   tokenr@      r<   r   c                 s    VP                   sVP                  sVP                  sV ! V4      p @@@V#   \         d     T# i ; ir   )r;   r:   r@   r?   r>   r=   Z	NameError)	errorfuncr@   parserr/      &&& r	   call_errorfuncrD      sS    \\F\\F~~H%AFH H  Hs   3 AAc                   s,   a  ] tR t^t o R tR tRtV tR# )
YaccSymbolc                    V P                   # r   )r-   r      &r	   __str__ZYaccSymbol.__str__   s    yyr   c                s    \        V 4      # r   strrG   rH   r	   __repr__ZYaccSymbol.__repr__   s    4yr   r"   N)r   r   r   r   rI   rL   r   r   r   r   r	   rE   rE      s      r   rE   c                   sl   a  ] tR t^t o RR ltR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )YaccProductionNc                s:    Wn         W n        R V n        R V n        R # r   )slicestacklexerrB   )r   srO      &&&r	   r
   ZYaccProduction.__init__   s    


r   c                s   \        V\        4      '       d-   V P                  V,           Uu. uF  q"P                  NK  	  up# V^ 8  d   V P                  V,          P                  # V P                  V,          P                  # u upi r    )
isinstancerN   valuerO   )r   nrQ      && r	   __getitem__ZYaccProduction.__getitem__   sb    a%)ZZ]3]GG]33!V::a=&&&::a=&&&	 4s   Bc                4    W P                   V,          n        R # r   rN   rU   )r   rV   vrR   r	   __setitem__ZYaccProduction.__setitem__   s    

1r   c                sZ    V P                   W  Uu. uF  q3P                  NK  	  up# u upi r   rZ   )r   ijrQ   rC   r	   __getslice__ZYaccProduction.__getslice__   s$    !%A1A111s   (c                ,    \        V P                  4      # r   )r+   rN   rG   rH   r	   __len__ZYaccProduction.__len__   s    4::r   c                >    \        V P                  V,          R ^ 4      # )linenogetattrrN   r   rV   r   r	   rc   ZYaccProduction.lineno       tzz!}h22r   c                rY   r   )rN   rc   )r   rV   rc   rR   r	   
set_linenoZYaccProduction.set_lineno      %

1r   c                    \        V P                  V,          R ^ 4      p\        V P                  V,          RV4      pW#3# )rc   	endlinenord   )r   rV   Z	startlineZendline   &&  r	   linespanZYaccProduction.linespan  s7    DJJqM8Q7	$**Q-i@!!r   c                rb   )lexposrd   rf   r   r	   rn   ZYaccProduction.lexpos  rg   r   c                rY   r   )rN   rn   )r   rV   rn   rR   r	   
set_lexposZYaccProduction.set_lexpos  ri   r   c                rj   )rn   	endlexposrd   )r   rV   ZstartposZendposrl   r	   lexspanZYaccProduction.lexspan  s7    4::a=(A6AX>r   c                s    \         hr   )SyntaxErrorrG   rH   r	   r   ZYaccProduction.error  s    r   )rP   rB   rN   rO   r   )r   r   r   r   r
   rX   r\   r_   ra   rc   rh   rm   rn   ro   rq   r   r   r   r   r   r	   rM   rM      sF     ' 23&"
3& 
 r   rM   c                   sf   a  ] tR tRt o R tR tR tR tR tRR lt	RR	 lt
RR
 ltRR ltRtV tR# )LRParseri  c                s    VP                   V n        VP                  V n        VP                  V n        W n        V P                  4        R V n        R# TN)	lr_productionsproductions	lr_actionactionlr_gotogotorA   set_defaulted_stateserrorok)r   ZlrtabZerrorfrR   r	   r
   ZLRParser.__init__   s>     //ooMM	!!#r   c                s    R V n         R# rt   )r|   rG   rH   r	   r;   ZLRParser.errok(  s	    r   c                s    V P                   R  V P                  R  \        4       pRVn        V P                  P	                  V4       V P                   P	                  ^ 4       R# )NNN$endN)
statestacksymstackrE   r-   append)r   symr4   r	   r>   ZLRParser.restart+  sL    OOAMM!lS!q!r   c                s    / V n         V P                  P                  4        FV  w  r\        VP	                  4       4      p\        V4      ^8X  g   K0  V^ ,          ^ 8  g   K@  V^ ,          V P                   V&   KX  	  R#    N)defaulted_statesrx   itemslistZvaluesr+   )r   stateactionsZrules   &   r	   r{   ZLRParser.set_defaulted_states;  s]     ""kk//1NE)*E5zQ58a</4Qx%%e, 2r   c                s    / V n         R # r   )r   rG   rH   r	   disable_defaulted_statesZ!LRParser.disable_defaulted_statesB  s
     "r   Nc                s
   V'       g   \         '       dC   \        V\        4      '       d   \        \        P
                  4      pV P                  WW4V4      # V'       d   V P                  WW4V4      # V P                  WW4V4      # r   )		yaccdevelrT   Zintr   sysstderr
parsedebugparseoptparseopt_notrack)r   inputrP   r   tracking	tokenfuncs   &&&&&&r	   parseZLRParser.parseE  sb    II%%%!#**-??5)LL==u	JJ((u	RRr   c                s,   R p. pV P                   pV P                  p	V P                  p
V P                  p\	        R 4      p^ pVP                  R4       V'       g   ^RIHp VP                  pW,n        Wn	        Ve   VP                  V4       Vf   VP                  pMTpWn        . pVV n        . pVV n        VVn        R pVP                  ^ 4       \!        4       pRVn        VP                  V4       ^ p VP%                  R4       VP%                  RV4       VV9  dg   V'       g:   V'       g	   V! 4       pMVP'                  4       pV'       g   \!        4       pRVn        VP"                  pVV,          P)                  V4      pMVV,          pVP%                  RVV) 4       TP%                  RRP+                  V Uu. uF  pVP"                  NK  	  upR	,          4      : R
\-        V4      : 2P/                  4       4       VEe_   V^ 8  dM   VP                  V4       TpVP%                  RV4       VP                  V4       R pV'       d
   V^,          pEKf  V^ 8  Ed   V
V) ,          pVP0                  pVP2                  p\!        4       pVVn        R Vn        V'       d   TP                  RVP,                  RRP+                  VV) R   Uu. uF  p\7        VP4                  4      NK  	  up4      ,           R,           V	VR!V,
          ,          ,          V,          4       M3VP                  RVP,                  . V	VR!,          ,          V,          4       V'       Ed   VV) ^,
          R  pVV^ &   V'       dm   V^,          pVP8                  Vn        VP:                  Vn        VR!,          p\=        VRVP8                  4      Vn        \=        VRVP:                  4      Vn         VVn!         VV) R 1 VV n"        VPG                  V4       VV) R 1 VP                  R\I        V^ ,          4      4       VP                  V4       V	VR!,          ,          V,          pVP                  V4       EK{  V'       d#   VP8                  Vn        VP:                  Vn        V.pVVn!         VV n"        VPG                  V4       VP                  R\I        V^ ,          4      4       VP                  V4       V	VR!,          ,          V,          pVP                  V4       EK&  V^ 8X  dE   VR!,          p\=        VRR 4      pVP                  R\I        V4      4       VP                  R4       V# VEfJ   TPS                  RRP+                  V Uu. uF  pVP"                  NK  	  upR	,          4      : R
\-        V4      : 2P/                  4       4       V^ 8X  g   V PP                  '       EdD   \N        pRV n(        TpVP"                  R8X  d   R pV PT                  '       dZ   V'       d   \W        VR4      '       g   VVn        VV n"        \Y        V PT                  VV 4      p V PP                  '       d   T pR pEK|  MV'       d   \W        VR4      '       d   VP8                  p!M^ p!V!'       d4   \Z        P\                  P_                  RV!VP"                  3,          4       MX\Z        P\                  P_                  RVP"                  ,          4       M'\Z        P\                  P_                  R4       R # \N        p\3        V4      ^8:  d   VP"                  R8w  d   R pR p^ pVR EKf  VP"                  R8X  d   R # VP"                  R8w  d   VR!,          pVP"                  R8X  dF   V'       d9   \=        VRVP8                  4      Vn        \=        VRVP:                  4      Vn         R pEK  \!        4       pRVn        \W        VR4      '       d   VP8                  ;Vn        Vn        \W        VR4      '       d   VP:                  ;Vn        Vn         VVn        VP                  V4       TpMSVP'                  4       pV'       d#   VP8                  Vn        VP:                  Vn        VP'                  4        VR!,          pEK  \a        R 4      hu upi u upi   \J         d`    TP                  T4       TPM                  T^R! 4       TP'                  4        TR!,          pRTn        RTn        Tp\N        pRT n(         ELi ; i  \J         dL    TP                  T4       TP'                  4        TR!,          pRTn        RTn        Tp\N        pRT n(         ELsi ; iu upi )"NzPLY: PARSE DEBUG STARTlexr~    zState  : %sz#Defaulted state %s: Reduce using %dzStack  : %s r   NNz . z Action : Shift and goto state %sz3Action : Reduce rule [%s] with %s and goto state %dZ[,Z]rk   rp   zResult : %sr   FrU   zDone   : Returning %szPLY: PARSE DEBUG ENDzError  : %srP   rc   (yacc: Syntax error at line %d, token=%s
yacc: Syntax error, token=%s yacc: Parse error in input. EOF
r}   rn   yacc: internal parser error!!!
)1rx   rz   rv   r   rM   r   r   r   rP   rB   r   r@   r   r   rO   r   rE   r-   r   popgetjoinrK   Zlstripr#   r+   rU   r5   rc   rn   re   rk   rp   rN   r   callabler3   rr   extenderror_countr|   r   rA   hasattrrD   r   r   r   RuntimeError)"r   r   rP   r   r   r   	lookaheadlookaheadstackr   rz   prodr   pslice
errorcountr   	get_tokenr   r   errtokenr   r   ltypetZxxppnameplenZ_vtargt1rV   r1   tokrc   s"   &&&&&&                            r	   r   ZLRParser.parsedebug^  sF   	++))""00 &
 	

+, IIE  KKI!I 
 
$  	!l KKOKKu- ,, )$-K	$2$6$6$8	$$.L	)/	 "EN&&u-$U+A51"M KK&)hh(/K(B(/KB/O&PRUV_R`aiikm }q5%%a(E KK BAF OOI. $I ""a
q5aRAFFEEED %,C$CH $CI 

#XZ[Z_Z_#&sxxX`bfafagXh0iXhRT1CBHH1MXh0i'j#jkn#n#'
2d7(;#<U#CE 

#XZ[Z_Z_ac#'
2#7#>@
 t'a1"%Q $!%aB)+CJ)+CJ!%bB,3BRYY,OCM,3BRYY,OCM (,1 ($ 0).DJJJv. *D56 2!JJ}mF1I6NO$OOC0$(B$8$?E&--e4 ! $).CJ).CJ !$u (,1).DJJJv.!JJ}mF1I6NO$OOC0$(B$8$?E&--e4 ! 6 A$Q6FJJ6f8MNJJ56!My M*-((h3OhBGGh3OPR3S*TVYZcVdemmoq ?dlll!,J#(DL(H}}.#'~~~#GHg,F,F-2HN%*
,T^^XtL<<< ),I'+H$ ( $&x::)2)9)9)*% #

 0 01\`fhphuhu_v1v w #

 0 01ORZR_R_1_ `JJ,,-PQ" "-J z?a'INNf,D $I#HE&q) >>V+>>W,"2,Cxx7* $,3Ix,TCM,3Ix,TCM$(	  #A$AFy(331:1A1AA1;y(331:1A1AA1;'AG")))4 !I",,.C+.::	(+.::	(NN$&rNE ABBu 0LF 1jR  + 
1*11)<$OOD2J7&NN,$.rNE'.CH(/CI(+I)4J+0DL
1T  + 	1*11)<&NN,$.rNE'.CH(/CI(+I)4J+0DL	16 4Ps:    cc0A?c 'A3d8 fA&d54d58Affc                s   R p. pV P                   pV P                  p	V P                  p
V P                  p\	        R 4      p^ pV'       g   ^RIHp VP                  pW,n        Wn        Ve   VP                  V4       Vf   VP                  pMTpWn
        . pVV n        . pVV n        VVn        R pVP                  ^ 4       \        4       pRVn        VP                  V4       ^ p VV9  dg   V'       g:   V'       g	   V! 4       pMVP#                  4       pV'       g   \        4       pRVn        VP                   pVV,          P%                  V4      pM	VV,          pVEe!   V^ 8  d:   VP                  V4       TpVP                  V4       R pV'       d
   V^,          pK  V^ 8  Ed   V
V) ,          pVP&                  pVP(                  p\        4       pVVn        R Vn        V'       d   VV) ^,
          R  pVV^ &   V'       dm   V^,          pVP,                  Vn        VP.                  Vn        VR,          p\1        VRVP,                  4      Vn        \1        VRVP.                  4      Vn        VVn         VV) R 1 VV n        VP;                  V4       VV) R 1 VP                  V4       V	VR,          ,          V,          pVP                  V4       EK  V'       d#   VP,                  Vn        VP.                  Vn        V.pVVn         VV n        VP;                  V4       VP                  V4       V	VR,          ,          V,          pVP                  V4       EK}  V^ 8X  d   VR,          p\1        VRR 4      pV# VEf   V^ 8X  g   V PB                  '       EdD   \@        pRV n!        TpVP                   R8X  d   R pV PD                  '       dZ   V'       d   \G        VR4      '       g   VVn        VV n        \I        V PD                  VV 4      pV PB                  '       d   TpR pEKG  MV'       d   \G        VR	4      '       d   VP,                  pM^ pV'       d4   \J        PL                  PO                  R
VVP                   3,          4       MX\J        PL                  PO                  RVP                   ,          4       M'\J        PL                  PO                  R4       R # \@        p\)        V4      ^8:  d   VP                   R8w  d   R pR p^ pVR EK1  VP                   R8X  d   R # VP                   R8w  d   VR,          pVP                   R8X  dF   V'       d9   \1        VR	VP,                  4      Vn        \1        VRVP.                  4      Vn        R pEK  \        4       pRVn        \G        VR	4      '       d   VP,                  ;Vn        Vn        \G        VR4      '       d   VP.                  ;Vn        Vn        VVn        VP                  V4       TpMSVP#                  4       pV'       d#   VP,                  Vn        VP.                  Vn        VP#                  4        VR,          pEK  \Q        R4      h  \<         d`    TP                  T4       TP?                  T^R 4       TP#                  4        TR,          pRTn        RTn        Tp\@        pRT n!         ELi ; i  \<         dL    TP                  T4       TP#                  4        TR,          pRTn        RTn        Tp\@        pRT n!         ELi ; i)Nr   r~   rk   rp   r   FrU   rP   rc   r   r   r   r}   rn   r   r   ))rx   rz   rv   r   rM   r   r   rP   rB   r   r@   r   r   rO   r   rE   r-   r   r   r#   r+   rU   rc   rn   re   rk   rp   rN   r   r   rr   r   r   r|   rA   r   rD   r   r   r   r   ) r   r   rP   r   r   r   r   r   r   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rV   r1   r   rc   s    &&&&&&                          r	   r   ZLRParser.parseopt  s\   	++))""00 &
 IIE  KKI!I 
 
$  	!l ,, )$-K	$2$6$6$8	$$.L	)/	 "EN&&u-$U+ }q5%%a(E OOI. $I ""a
q5aRAFFEEED %,C$CH $CI 'a1"%Q $!%aB)+CJ)+CJ!%bB,3BRYY,OCM,3BRYY,OCM (,1 ($ 0).DJJJv. *D56 2$OOC0$(B$8$?E&--e4 ! $).CJ).CJ !$u (,1).DJJJv.$OOC0$(B$8$?E&--e4 ! 6 A$Q6F!My ?dlll!,J#(DL(H}}.#'~~~#GHg,F,F-2HN%*
,T^^XtL<<< ),I'+H$ ( $&x::)2)9)9)*% #

 0 01\`fhphuhu_v1v w #

 0 01ORZR_R_1_ `JJ,,-PQ" "-J z?a'INNf,D $I#HE&q) >>V+>>W,"2,Cxx7* $,3Ix,TCM,3Ix,TCM$(	  #A$AFy(331:1A1AA1;y(331:1A1AA1;'AG")))4 !I",,.C+.::	(+.::	(NN$&rNE ABBG  + 
1*11)<$OOD2J7&NN,$.rNE'.CH(/CI(+I)4J+0DL
1N  + 	1*11)<&NN,$.rNE'.CH(/CI(+I)4J+0DL	1s(   :AY; A[( ;A&[%$[%(A\>=\>c                sr   R p. pV P                   pV P                  p	V P                  p
V P                  p\	        R 4      p^ pV'       g   ^RIHp VP                  pW,n        Wn        Ve   VP                  V4       Vf   VP                  pMTpWn
        . pVV n        . pVV n        VVn        R pVP                  ^ 4       \        4       pRVn        VP                  V4       ^ p VV9  dg   V'       g:   V'       g	   V! 4       pMVP#                  4       pV'       g   \        4       pRVn        VP                   pVV,          P%                  V4      pM	VV,          pVEe   V^ 8  d:   VP                  V4       TpVP                  V4       R pV'       d
   V^,          pK  V^ 8  Ed   V
V) ,          pVP&                  pVP(                  p\        4       pVVn        R Vn        V'       d{   VV) ^,
          R  pVV^ &   VVn         VV) R 1 VV n        VP1                  V4       VV) R 1 VP                  V4       V	VR,          ,          V,          pVP                  V4       EK  V.pVVn         VV n        VP1                  V4       VP                  V4       V	VR,          ,          V,          pVP                  V4       EK  V^ 8X  d   VR,          p\;        VRR 4      pV# VEf   V^ 8X  g   V P8                  '       EdD   \6        pRV n        TpVP                   R8X  d   R pV P<                  '       dZ   V'       d   \?        VR4      '       g   VVn        VV n        \A        V P<                  VV 4      pV P8                  '       d   TpR pEK  MV'       d   \?        VR4      '       d   VPB                  pM^ pV'       d4   \D        PF                  PI                  RVVP                   3,          4       MX\D        PF                  PI                  R	VP                   ,          4       M'\D        PF                  PI                  R
4       R # \6        p\)        V4      ^8:  d   VP                   R8w  d   R pR p^ pVR EK  VP                   R8X  d   R # VP                   R8w  d   VR,          pVP                   R8X  d   R pEK  \        4       pRVn        \?        VR4      '       d   VPB                  ;Vn!        Vn%        \?        VR4      '       d   VPL                  ;Vn&        Vn'        VVn        VP                  V4       TpM)VP#                  4       pVP#                  4        VR,          pEK  \Q        R4      h  \2         d`    TP                  T4       TP5                  T^R 4       TP#                  4        TR,          pRTn        RTn        Tp\6        pRT n         ELyi ; i  \2         dL    TP                  T4       TP#                  4        TR,          pRTn        RTn        Tp\6        pRT n         ELsi ; i)Nr   r~   r   FrU   rP   rc   r   r   r   r}   rn   r   r   ))rx   rz   rv   r   rM   r   r   rP   rB   r   r@   r   r   rO   r   rE   r-   r   r   r#   r+   rU   rN   r   r   rr   r   r   r|   re   rA   r   rD   rc   r   r   r   rk   rn   rp   r   )r   r   rP   r   r   r   r   r   r   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rV   r1   r   rc   s   &&&&&&                         r	   r   ZLRParser.parseopt_notrack  s   	++))""00 &
 IIE  KKI!I 
 
$  	!l ,, )$-K	$2$6$6$8	$$.L	)/	 "EN&&u-$U+ }q5%%a(E OOI. $I ""a
q5aRAFFEEED %,C$CH $CI 'a1"%Q (,1 ($ 0).DJJJv. *D56 2$OOC0$(B$8$?E&--e4 ! !$u (,1).DJJJv.$OOC0$(B$8$?E&--e4 ! 6 A$Q6F!My ?dlll!,J#(DL(H}}.#'~~~#GHg,F,F-2HN%*
,T^^XtL<<< ),I'+H$ ( $&x::)2)9)9)*% #

 0 01\`fhphuhu_v1v w #

 0 01ORZR_R_1_ `JJ,,-PQ" "-J z?a'INNf,D $I#HE&q) >>V+>>W,"2,Cxx7* %)	  #A$AFy(331:1A1AA1;y(331:1A1AA1;'AG")))4 !I",,.CNN$&rNE ABBi  + 
1*11)<$OOD2J7&NN,$.rNE'.CH(/CI(+I)4J+0DL
1D  + 	1*11)<&NN,$.rNE'.CH(/CI(+I)4J+0DL	1s(   AU3 1AW  3A&WW AX65X6)
rx   r   rA   r|   rz   rv   r   r   r   r@   )NNFFN)r   r   r   r   r
   r;   r>   r{   r   r   r   r   r   r   r   r   r   r	   rs   rs     sB     " 8#S2OCv
fCd	NC NCr   rs   z^[a-zA-Z0-9_-]+$c                   sX   a  ] tR tRt o ^ tRR ltR tR tR tR t	R t
R	 tR
 tRtV tR# )
Productioni  Nc                s   W n         \        V4      V n        Wn        WPn        R V n        W`n        Wpn        W@n        \        V P                  4      V n	        . V n
        V P                   F0  pWP                  9  g   K  V P                  P                  V4       K2  	  . V n        R V n        V P                  '       d4   V P                   : RRP                  V P                  4      : 2V n        R # RV P                   ,          V n        R # )N -> r   %s -> <empty>)r#   tupler   numberfuncr   filelineprecr+   usymsr   lr_itemslr_nextr   rK   )	r   r   r#   r   
precedencer   r   r   rQ   s	   &&&&&&&& r	   r
   ZProduction.__init__!  s    	d				"	 		N 
A

"

!!!$ 
  999%)YY0CDDH&2DHr   c                rF   r   rJ   rG   rH   r	   rI   ZProduction.__str__?      xxr   c                4    R \        V 4      ,           R,           # )zProduction()rJ   rG   rH   r	   rL   ZProduction.__repr__B  s    s4y(3..r   c                r`   r   )r+   r   rG   rH   r	   ra   ZProduction.__len__E  s    499~r   c                s    ^# r   r"   rG   rH   r	   __nonzero__ZProduction.__nonzero__H  s    r   c                (    V P                   V,          # r   )r   r   Zindexr   r	   rX   ZProduction.__getitem__K  s    yyr   c                sd   V\        V P                  4      8  d   R # \        W4      p V P                  VP                  V^,           ,          ,          Vn         VP                  V^,
          ,          Vn        V#   \
        \        3 d    . Tn         L<i ; i  \
         d    R Tn         T# i ; ir   )r+   r   LRItem	Prodnameslr_after
IndexErrorKeyError	lr_before)r   rV   r   rW   r	   lr_itemZProduction.lr_itemO  s    s499~4O	qs4AJ	&&1+AK  H% 	AJ	  	AK	s#   0A; B ;BBB/.B/c                \    V P                   '       d   WP                   ,          V n        R # R # r   r   r   r   pdictr   r	   bindZProduction.bind_      999!)),DM r   )r   r   r   r+   r   r   r   r#   r   r   r   rK   r   )rightr    Nr   r    )r   r   r   r   reducedr
   rI   rL   ra   r   rX   r   r   r   r   r   r   r	   r   r     s7     G3</  - -r   r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )MiniProductionig  c                s\    W n         W0n        W@n        R V n        WPn        W`n        Wn        R # r   )r#   r+   r   r   r   r   rK   )r   rK   r#   r+   r   r   r   s   &&&&&&&r	   r
   ZMiniProduction.__init__h  s'    				r   c                rF   r   rJ   rG   rH   r	   rI   ZMiniProduction.__str__q  r   r   c                s(    R V P                   ,          # )zMiniProduction(%s)rJ   rG   rH   r	   rL   ZMiniProduction.__repr__t  s    #dhh..r   c                r   r   r   r   r   r	   r   ZMiniProduction.bindx  r   r   )r   r   r   r+   r   r#   rK   N)
r   r   r   r   r
   rI   rL   r   r   r   r   r   r	   r   r   g  s     /- -r   r   c                   s2   a  ] tR tRt o R tR tR tRtV tR# )r   i  c                sZ   VP                   V n         \        VP                  4      V n        VP                  V n        W n        / V n        V P                  P                  VR 4       \        V P                  4      V n        \        V P                  4      V n        VP                  V n	        R# ).N)
r#   r   r   r   lr_index
lookaheadsZinsertr   r+   r   )r   r   rV   rR   r	   r
   ZLRItem.__init__  sq    &&	qvv,	((		C 		*	dii.''
r   c                s    V P                   '       d/   V P                  : R RP                  V P                   4      : 2pV# RV P                  ,          pV# )r   r   r   )r   r#   r   )r   rQ   r4   r	   rI   ZLRItem.__str__  sB    999"ii$)))<=A   $))+Ar   c                r   )zLRItem(r   rJ   rG   rH   r	   rL   ZLRItem.__repr__  s    3t9$s**r   )r+   r   r   r#   r   r   r   N)	r   r   r   r   r
   rI   rL   r   r   r   r   r	   r   r     s     	"+ +r   r   c                 sx    \        V 4      ^,
          pV^ 8  d!   W,          V9   d	   W,          # V^,          pK'  R# r   )r+   )Zsymbols	terminalsr]   rW   r	   rightmost_terminalr     s5    GqA
q&:":	Qr   c                       ] tR tRtRtR# )GrammarErrori  r"   Nr(   r"   r   r	   r   r     r)   r   r   c                   s   a  ] tR tRt o R tR tR tR tRR ltRR lt	R	 t
R
 tR tR tR tR tR tR tRR ltR tRtV tR# )Grammari  c                s    R .V n         / V n        / V n        / V n        V F  p. V P                  V&   K  	  . V P                  R&   / V n        / V n        / V n        / V n        \        4       V n	        R V n
        R # )Nr   )Productionsr   Prodmap	TerminalsNonterminalsFirstFollow
PrecedencesetUsedPrecedenceStart)r   r   termrW   r	   r
   ZGrammar.__init__  s    !F    D#%DNN4   #%w 
 "e 
r   c                r`   r   )r+   r   rG   rH   r	   ra   ZGrammar.__len__  s    4##$$r   c                r   r   )r   r   r   r	   rX   ZGrammar.__getitem__  s    &&r   c                s    V P                   R .8X  g   Q R4       hWP                  9   d   \        RV,          4      hVR9  d   \        R4      hW#3V P                  V&   R # )Nz2Must call set_precedence() before add_production()z,Precedence already specified for terminal %rz:Associativity must be one of 'left','right', or 'nonassoc')leftr   nonassoc)r   r   r   )r   r   assoclevel   &&&&r	   set_precedenceZGrammar.set_precedence  s_    D6)_+__)??"MPTTUU55[\\!&r   Nc           	     s>   WP                   9   d   \        R WEV3,          4      hVR8X  d   \        RWEV3,          4      h\        P                  V4      '       g   \        RWEV3,          4      h\	        V4       F  w  rgV^ ,          R9   dV    \        V4      p\        V4      ^8  d   \        RWEWq3,          4      hWP                   9  d   . V P                   V&   WV&   Kh  \        P                  V4      '       d   K  VR8w  g   K  \        RWEWq3,          4      h	  RV9   d   VR,          R8X  d   \        RWE3,          4      hVR,          R8w  d   \        R	WE3,          4      hVR,          p	V P                  P                  V	4      p
V
'       g   \        R
WEV	3,          4      hV P                  P                  V	4       VRR1 M1\        W P                   4      p	V P                  P                  V	R4      p
V: RV: 2pWP                  9   dL   V P                  V,          p\        RWEV3,          RVP                  VP                  3,          ,           4      h\        V P                   4      pWP"                  9  d   . V P"                  V&   V Fx  pWP                   9   d%   V P                   V,          P%                  V4       K7  WP"                  9  d   . V P"                  V&   V P"                  V,          P%                  V4       Kz  	  \'        WW*W4V4      pV P                   P%                  V4       WP                  V&    V P(                  V,          P%                  V4       R#   \         d     ELi ; i  \*         d    T.T P(                  T&    R# i ; i)z7%s:%d: Illegal rule name %r. Already defined as a tokenr   z5%s:%d: Illegal rule name %r. error is a reserved wordz%s:%d: Illegal rule name %rz'"zA%s:%d: Literal token %s in rule %r may only be a single characterz%precz!%s:%d: Illegal name %r in rule %rz+%s:%d: Syntax error. Nothing follows %%preczH%s:%d: Syntax error. %%prec can only appear at the end of a grammar rulez/%s:%d: Nothing known about the precedence of %rNr   z%s:%d: Duplicate rule %s. zPrevious definition at %s:%dr   ir   )r   r   _is_identifiermatch	enumerateZevalr+   rr   r   r   r   addr   r   r   r   r   r   r   r   r   r   )r   prodnamesymsr   r   r   rV   rQ   ZcZprecnameZprodprecZmapmZpnumberr   r   s   &&&&&&          r	   add_productionZGrammar.add_production  sL   ~~%X\`hp[qqrrwVZ^fnYoopp##H--<H?UUVV dODAtu}
QAA
*+n,0+D,E F F.,.q)G "''**qG|"#F$VWIb#bcc $" d?Bx7""#PTXS_#_``Bx7""#m$(<$0 1 1BxH**84H"#TX\dlWm#mnn##''1RS	 *$?H**8\BH %d+,,S!A;t1oM=@PP Q R R t''(,,,*,Dh' ANN"q!((1---+-D%%a(!!!$++G4  w$$dK"S	+NN8$++A.i # j  	+()sDNN8$	+s%   AM+"M= +M:9M:=NNc                s   V'       g   V P                   ^,          P                  pWP                  9  d   \        RV,          4      h\	        ^ RV.4      V P                   ^ &   V P                  V,          P                  ^ 4       Wn        R# )r   zstart symbol %s undefinedS'N)r   r#   r   r   r   r   r   )r   startr   r	   	set_startZGrammar.set_startc  sq    $$Q',,E))):UBCC(D5':% ''*
r   c                s   a aa VVV 3R  lo\        4       oS! S P                  ^ ,          P                  ^ ,          4       S P                   Uu. uF  qS9  g   K  VNK  	  up# u upi )c                 s   < V S9   d   R # SP                  V 4       SP                  P                  V . 4       F  pVP                   F  pS! V4       K  	  K   	  R # r   )r   r   r   r   )rQ   r   r/   mark_reachable_from	reachabler   s   &  r	   r  Z5Grammar.find_unreachable.<locals>.mark_reachable_fromv  sJ    I~MM!^^''2.A'*   /r   )r   r   r   r   )r   rQ   r  r  s   f @@r	   find_unreachableZGrammar.find_unreachables  sV    	+ E	D,,Q/44Q78,,C,a0B,CCCs   A$A$c                s.   / pV P                    F  pR W&   K	  	  R VR&   V P                   F  pRW&   K	  	   RpV P                  P                  4        FT  w  r5V FI  pVP                   F  pW,          '       d   K  Rp M	  R pV'       g   K4  W,          '       g   R W&   R p KR  	  KV  	  V'       d   K   . p	TP                  4        FI  w  rzT
'       d   K  YpP                  9  d   YpP                   9  d
   TR8w  d   K8  T	P                  T4       KK  	  T	# )Tr~   Fr   )r   r   r   r   r   r   )r   Z
terminatesr   rV   some_changeZplr   rQ   Zp_terminatesinfiniter      &          r	   infinite_cyclesZGrammar.infinite_cycles  s   
 A JM   "
6
 ""A!JM # K>>//1AVV)}} ,1L! $ (,#|)}},0JM*.K)  20 ;#))+IQ4NN*q/F1PW< OOA& , r   c                s    . pV P                    F_  pV'       g   K  VP                   FB  pW0P                  9  g   K  W0P                  9  g   K'  VR 8w  g   K0  VP	                  W234       KD  	  Ka  	  V# r   )r   r   r   r   r   )r   r1   r   rQ   r   r	   undefined_symbolsZGrammar.undefined_symbols  sZ    !!AVVNN*q/F1PW<MM1&) 	 " r   c                s    . pV P                   P                  4        F)  w  r#VR 8w  g   K  V'       d   K  VP                  V4       K+  	  V# r	  )r   r   r   )r   Z
unused_tokrQ   r[   r   r	   unused_terminalsZGrammar.unused_terminals  sA    
NN((*DAG|AA!!!$ + r   c                s    . pV P                   P                  4        F:  w  r#V'       d   K  V P                  V,          ^ ,          pVP                  V4       K<  	  V# rS   )r   r   r   r   )r   Zunused_prodrQ   r[   r      &    r	   unused_rulesZGrammar.unused_rules  sP    %%++-DA1NN1%a(""1% . r   c                s    . pV P                    FQ  pW P                  9   d   K  W P                  9   d   K'  VP                  W P                   V,          ^ ,          34       KS  	  V# rS   )r   r   r   r   )r   ZunusedZtermnamer2   r	   unused_precedenceZGrammar.unused_precedence  sN    H.(>Q>Q2Qx)B1)EFG ( r   c                s    . pV FN  pR pV P                   V,           F'  pVR8X  d   RpK  WR9  g   K  VP                  V4       K)  	  V'       d   KM   V# 	  VP                  R4       V# )F<empty>T)r   r   )r   Zbetar1   xZx_produces_emptyr      &&    r	   _firstZGrammar._first  sv     A$ ZZ]]	>'+$a( #     1 , MM)$r   c                s4   V P                   '       d   V P                   # V P                   F  pV.V P                   V&   K  	  R .V P                   R &   V P                   F  p. V P                   V&   K  	   RpV P                   F|  pV P                  V,           Fb  pV P	                  VP
                  4       F@  pWPP                   V,          9  g   K  V P                   V,          P                  V4       RpKB  	  Kd  	  K~  	  V'       d   K   V P                   # )r~   TF)r   r   r   r   r  r   r   )r   r   rV   r  r   r      &     r	   compute_firstZGrammar.compute_first.  s    ::::: ACDJJqM   %X

6
 ""ADJJqM # K&&**A![[0JJqM1 JJqM003*.K 1 + ' ;zzr   c                s   V P                   '       d   V P                   # V P                  '       g   V P                  4        V P                   F  p. V P                   V&   K  	  V'       g   V P                  ^,          P
                  pR.V P                   V&    RpV P                  R,           EF?  p\        VP                  4       EF!  w  rVW`P                  9   g   K  V P                  VP                  V^,           R 4      pRpV FP  p	V	R8w  d<   WP                   V,          9  d%   V P                   V,          P                  V	4       RpV	R8X  g   KN  RpKR  	  V'       g$   V\        VP                  4      ^,
          8X  g   K  V P                   VP
                  ,           F@  p	WP                   V,          9  g   K  V P                   V,          P                  V	4       RpKB  	  EK$  	  EKB  	  V'       d   EKe   V P                   # )r   r~   TFr   Nr  )r   r   r  r   r   r#   r   r   r  r   r+   )
r   r   kdidaddr   r]   ZBZfstZhasemptyr   s
   &&        r	   compute_followZGrammar.compute_followS  s   ;;;;; zzz  ""ADKKN # $$Q',,E$XEF%%b))%aff-DA---"kk!&&1,7#(!$A I~!;;q>2I $A 5 5a 8)- I~+/ "% $qS[]';%)[[%8%8#$KKN#:$(KKN$9$9!$<-1F &9 . *& 6{{r   c                s   V P                    F  pTp^ p. p V\        V4      8  d   RpM\\        W4      p V P                  VP                  V^,           ,          ,          Vn         VP                  V^,
          ,          Vn        WRn	        V'       g   MVP                  V4       TpV^,          pK  WAn        K  	  R#   \        \        3 d    . Tn         Lsi ; i  \         d    RTn         Lki ; ir    N)r   r+   r   r   r   r   r   r   r   r   r   r   )r   r   Zlastlrir]   r   Zlrir  r	   build_lritemsZGrammar.build_lritems  s    !!AGAHs1v:C ,C*'+~~chhqsm'D-(+1 #&$Q!J3 " '1 *')* & -(,-s#   0B?'C?CCC21C2)
r   r   r   r   r   r   r   r   r   r   )Nr   r    r   )r   r   r   r   r
   ra   rX   r   r   r  r  r  r
  r  r  r  r  r  r  r  r   r   r   r   r	   r   r     sb     !H%'/2K+h D.7@	"" FJ)v" "r   r   c                   r   )VersionErrori  r"   Nr(   r"   r   r	   r  r    r)   r   r  c                   r   )LRTablei  c                s>    R V n         R V n        R V n        R V n        R # r   )rw   ry   ru   	lr_methodrG   rH   r	   r
   ZLRTable.__init__  s    "r   c                s   \        V\        P                  4      '       d   TpM)\        R V,          4       \        P
                  V,          pVP                  \        8w  d   \        R4      hVP                  V n
        VP                  V n        . V n        VP                   F%  pV P                  P                  \!        V!  4       K'  	  VP"                  V n        VP&                  # )	import %s&yacc table file version is out of date)rT   types
ModuleTypeexecr   modulesZ_tabversion__tabversion__r  Z
_lr_actionrw   Z_lr_gotory   ru   Z_lr_productionsr   r   Z
_lr_methodr  Z_lr_signature)r   moduler   r   rl   r	   
read_tableZLRTable.read_table  s    fe..//Hv%&{{6*H>1GHH!,,(( ))A&&~q'9: * ",,%%%r   c                sD    ^ RI p\        P                  P                  V4      '       g   \        h\        VR4      pVP                  V4      pV\        8w  d   \        R4      hVP                  V4      V n
        VP                  V4      pVP                  V4      V n        VP                  V4      V n        VP                  V4      p. V n        V F%  pV P                  P                  \        V!  4       K'  	  VP!                  4        V#   \         d	    ^ RIp ELi ; i)r    NZrbr  )cPickleImportErrorpickleospathZexistsopenZloadr#  r  r  rw   ry   ru   r   r   close)r   filenamer(  Zin_fZ
tabversion	signaturerv   r      &&      r	   read_pickleZLRTable.read_pickle  s    	$ ww~~h''
Hd#[[&
'GHHT*T*	T*T*T* A&&~q'9:  	

-  		s   D DDc                sN    V P                    F  pVP                  V4       K  	  R # r   )ru   r   )r   r   r   rW   r	   bind_callablesZLRTable.bind_callables  s    $$AFF5M %r   )rw   ry   r  ru   N)
r   r   r   r   r
   r%  r0  r1  r   r   r   r   r	   r  r    s     &(8 r   r  c           
      sx    / pV  F  p^ W4&   K	  	  . p/ pV  F   pW4,          ^ 8X  g   K  \        WCWVWV4       K"  	  V# rS   )traverse)XRFPNr  rO   F   &&&    r	   digraphr9  	  sJ    
A E
A419Q5Q2.  Hr   c           
      sR   VP                  V 4       \        V4      pWqV &   V! V 4      W0&   V! V 4      pV Fw  p	W,          ^ 8X  d   \        WW#WEV4       \        W,          W,          4      W&   VP	                  V	. 4       F)  p
WV ,          9  g   K  W0,          P                  V
4       K+  	  Ky  	  W,          V8X  dk   \
        WR,          &   W0,          W2R,          &   VP                  4       pW8w  d3   \
        WR,          &   W0,          W2R,          &   VP                  4       pK8  R# R# )r    Nr   )r   r+   r2  Zminr   MAXINTr   )r  r6  rO   r7  r3  r4  r5  ZdrelZyaZelements   &&&&&&&     r	   r2  r2    s    	LLOE
AaDa5AD
A$C419Q5Q2.14q"A!}A 	  	tqy)t)))+l!ABiL4ABiLiikG 	 r   c                   r   )	LALRErrori+  r"   Nr(   r"   r   r	   r=  r=  +  r)   r   r=  c                   s   a  ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tRR ltRR ltRtV tR# )LRGeneratedTablei5  Nc                s   VR9  d   \        RV,          4      hWn        W n        V'       g   \        4       pW0n        / V n        / V n        VP                  V n        / V n	        / V n
        ^ V n        ^ V n        ^ V n        . V n        . V n        . V n        V P                  P#                  4        V P                  P%                  4        V P                  P'                  4        V P)                  4        R# )SLRzUnsupported method %sN)r?  r   )r=  grammarr  r    logrw   ry   r   ru   lr_goto_cachelr0_cidhash
_add_countsr_conflictrr_conflict	conflictssr_conflictsrr_conflictsr  r  r  lr_parse_table)r   r@  methodrA  r   r	   r
   ZLRGeneratedTable.__init__6  s    (3f<== ,C  &22  	""$""$##%r   c                s6   V ;P                   ^,          un         VR,          pRpV'       dm   RpV Fb  pVP                   FO  p\        VR^ 4      V P                   8X  d   K!  VP                  VP                  4       V P                   Vn        RpKQ  	  Kd  	  Kt  V# )r   r}   TF	lr0_added)rD  r   re   r   r   rL  )r   IZJr  r^   r  r  r	   lr0_closureZLRGeneratedTable.lr0_closure[  s    1 aDFAq+q1T__D HHQYY'"&//AK!F $  r   c                sd   V P                   P                  \        V4      V34      pV'       d   V# V P                   P                  V4      pV'       g   / pW@P                   V&   . pV Fp  pVP                  pV'       g   K  VP                  V8X  g   K,  VP                  \        V4      4      pV'       g   / pW\        V4      &   VP                  V4       TpKr  	  VP                  R 4      pV'       g#   V'       d   V P                  V4      pW4R &   MWTR &   W0P                   \        V4      V3&   V# )r~   )rB  r   r.   r   r   r   rN  )	r   rM  r  grQ   Zgsr   rV   Zs1	   &&&      r	   lr0_gotoZLRGeneratedTable.lr0_gotou  s    ""BqE1:.H
 ""1%A$%q!A		AqQ[[A%UU2a5\B!beH		!  EE&M$$R(&	&	)*BqE1:&r   c                s:   V P                  V P                  P                  ^ ,          P                  .4      .p^ pV F#  pW P                  \        V4      &   V^,          pK%  	  ^ pV\        V4      8  d   W,          pV^,          p/ pV F  pVP                   F  pRWF&   K	  	  K  	  V Fj  pV P                  W74      pV'       d   \        V4      V P                  9   d   K8  \        V4      V P                  \        V4      &   VP                  V4       Kl  	  K  V# r  )
rN  r@  r   r   rC  r.   r+   r   rQ  r   )	r   Cr]   rM  ZasymsiirQ   r  rO  s	   &        r	   	lr0_itemsZLRGeneratedTable.lr0_items  s    t||77:BBCDEA&'RU#FA 
 #a&jAFA EA#EH "  MM!'BqET%5%55*-a&  A'  r   c                sn   \        4       p^ p V P                  P                  R,           Fh  pVP                  ^ 8X  d   VP	                  VP
                  4       K1  VP                   F  pWA9  g   K   KK  	  VP	                  VP
                  4       Kj  	  \        V4      V8X  d    V# \        V4      pK  )r    r   )r   r@  r   r+   r   r#   r   )r   nullableZnum_nullabler   r   r  r	   compute_nullable_nonterminalsZ.LRGeneratedTable.compute_nullable_nonterminals  s    5\\--b1155A:LL(A(   LL( 2 8}, x=Lr   c                sP   . p\        V4       F  w  r4V F  pVP                  VP                  ^,
          8  g   K'  W5P                  VP                  ^,           ,          3pV^,          V P                  P
                  9   g   Kp  Wb9  g   Kx  VP                  V4       K  	  K  	  V# r   )r   r   r+   r   r@  r   r   )r   rR  transZstatenor   r   r   s   &&     r	   find_nonterminal_transitionsZ-LRGeneratedTable.find_nonterminal_transitions  s{    'lNG::	) &&A"67Att||888>!LLO  + r   c                s   Vw  rE. pV P                  W,          V4      pV F  pVP                  VP                  ^,
          8  g   K'  VP                  VP                  ^,           ,          p	WP                  P
                  9   g   Kg  W9  g   Ko  VP                  V	4       K  	  V^ 8X  dD   WPP                  P                  ^ ,          P                  ^ ,          8X  d   VP                  R4       V# )r   r~   )rQ  r   r+   r   r@  r   r   r   )
r   rR  rW  rU  r   r6  termsrO  r   r<  s
   &&&&      r	   dr_relationZLRGeneratedTable.dr_relation	  s    MM!(A&AzzAEEAI%FF1::a<(...~Q  A:!||77:??BBLL r   c                sb   . pVw  rVV P                  W,          V4      pV P                  P                  \        V4      R4      pV Fe  p	V	P                  V	P
                  ^,
          8  g   K'  V	P                  V	P                  ^,           ,          p
W9   g   KS  VP                  W34       Kg  	  V# r   r   )rQ  rC  r   r.   r   r+   r   r   )r   rR  rW  Zemptyr;  r   r6  rO  r^   r   r<  s   &&&&       r	   reads_relationZLRGeneratedTable.reads_relation	  s    MM!(A&  A+AzzAEEAI%FF1::>*:JJv&	  
r   c                s^   / p/ p/ pV F  p^Wg&   K	  	  V EF  w  r. p
. pW,           EF  pVP                   V	8w  d   K  VP                  pTpWP                  ^,
          8  d   V^,           pVP                  V,          pW3V9   d}   V^,           pWP                  8  dR   VP                  V,          V P                  P
                  9   d   M6VP                  V,          V9  d   MV^,           pKa  VP                  W34       V P                  W,          V4      pV P                  P                  \        V4      R4      pK  W,           F  pVP                   VP                   8w  d   K   VP                  VP                  8w  d   K=  ^ pVVP                  8  d>   VP                  V,          VP                  V^,           ,          8w  d   K  V^,           pKN  V
P                  VV34       K  	  EK  	  V F(  pVV9  d   . VV&   VV,          P                  W34       K*  	  WW3&   EK  	  WE3# r[  )r#   r   r+   r   r@  r   r   rQ  rC  r   r.   )r   rR  rW  rU  ZlookdictZincludedictZdtransr   r   r6  ZlookbZincludesr   r   r^   ZlirO  r/   r]   s   &&&&               r	   compute_lookback_includesZ*LRGeneratedTable.compute_lookback_includesD	  s    AFI  HEEHXX66Q;
 ::*'!|Hx(A v'
 &\ 55j vvbzT\\-C-CC % vvbz9 %!#aB %OOQF3adA.A((,,RUB7A Avv' uu~ Aajj.66!9qs3!EaV, E ^ K'%'KNA%%uj1  $)eZ m p $$r   c                sD   a aa VVV 3R  lpVVV 3R lp\        W%V4      pV# )c                 *   < SP                  SV S4      # r   )rZ  r  rR  rU  r      &r	   <lambda>4LRGeneratedTable.compute_read_sets.<locals>.<lambda>	  s    t''1h7r   c                 r^  r   )r\  r_  r`  r	   ra  rb  	  s    t**1a:r   r9  )r   rR  ntransrU  r5  r4  r7  s   ff&f   r	   compute_read_setsZ"LRGeneratedTable.compute_read_sets	  s    7:Fr"r   c                s:   aa V3R  lpV3R lp\        WV4      pV# )c                 s   < SV ,          # r   r"   )r  readsets   &r	   ra  6LRGeneratedTable.compute_follow_sets.<locals>.<lambda>	  s	    x{r   c                 s(   < SP                  V . 4      # r   )r   )r  inclsetsrg  r	   ra  rh  	  s    x||Ar*r   rc  )r   rd  rf  ri  r5  r4  r7  s   &&ff   r	   compute_follow_setsZ$LRGeneratedTable.compute_follow_sets	  s    "*Fr"r   c                s8   VP                  4        F  w  r4V Fz  w  rVWVP                  9  d   . VP                  V&   VP                  V. 4      pV F>  pWP                  V,          9  g   K  VP                  V,          P                  V4       K@  	  K|  	  K  	  R # r   )r   r   r   r   )	r   Z	lookbacksZ	followsetrW  Zlbr   r   r   r<  rP  r	   add_lookaheadsZLRGeneratedTable.add_lookaheads	  sy    "*IE,*,ALL'MM%,AU 33U+2215 	  +r   c                s    V P                  4       pV P                  V4      pV P                  WV4      pV P                  WV4      w  rVV P	                  W4V4      pV P                  WW4       R # r   )rV  rX  re  r]  rj  rk  )r   rR  rU  rW  rf  ZlookdZincludedZ
followsetsr/  r	   add_lalr_lookaheadsZ$LRGeneratedTable.add_lalr_lookaheads	  sp    557 11!4 ))!H= 888L --exH
 	E.r   c           
     s   V P                   P                  pV P                   P                  pV P                  pV P                  pV P
                  p/ pVP                  R V P                  4       V P                  4       pV P                  R8X  d   V P                  V4       ^ pV EFV  p	. p
/ p/ p/ pVP                  R4       VP                  RV4       VP                  R4       V	 F   pVP                  RVP                  V4       K"  	  VP                  R4       V	 EFk  pVP                  VP                  ^,           8X  Ed#   VP                  R8X  d   ^ VR&   WR&   KC  V P                  R8X  d   VP                  V,          pM'V P                   P                  VP                  ,          pV EF  pV
P!                  VVRVP                  V3,          34       VP#                  V4      pVEe3   V^ 8  Ed   VP#                  VR4      w  ppWP                  ,          P$                  w  ppVV8  g   VV8X  d   VR
8X  d   VP                  ) VV&   WV&   V'       g9   V'       g1   VP                  RV4       V P&                  P!                  VVR34       WP                  ,          ;P(                  ^,          un        EK  VV8X  d   VR8X  d	   RVV&   EK(  V'       g4   VP                  RV4       V P&                  P!                  VVR34       EKc  EKf  V^ 8  d   VV) ,          pWP                  ,          pVP*                  VP*                  8  dm   VP                  ) VV&   WV&   TTppWP                  ,          ;P(                  ^,          un        VVP                  ,          ;P(                  ^,          un        MTTppV P,                  P!                  VVV34       VP                  RVVV,          P                  VV,          4       EKa  \/        RV,          4      hVP                  ) VV&   WV&   WP                  ,          ;P(                  ^,          un        EK  	  EKI  VP                  pVP0                  V^,           ,          pVV P                   P2                  9   g   EK  V P5                  V	V4      pV P6                  P#                  \9        V4      R4      pV^ 8  g   EK  V
P!                  VVRV,          34       VP#                  V4      pVEed   V^ 8  d   VV8w  d   \/        RV,          4      hEK"  V^ 8  Ed'   VP#                  VR4      w  ppWV,          P                  ,          P$                  w  ppVV8  g   VV8X  d   VR	8X  dx   WV,          P                  ,          ;P(                  ^,          un        VVV&   WV&   V'       g4   VP                  RV4       V P&                  P!                  VVR34       EK  EK  VV8X  d   VR8X  d	   RVV&   EK  V'       g?   V'       g4   VP                  RV4       V P&                  P!                  VVR34       EKJ  EKM  EKP  \/        RV,          4      hVVV&   WV&   EKn  	  / pV
 F8  w  pppVV9   g   K  WV,          J g   K  VP                  RVV4       ^VVV3&   K:  	  VP                  R4       ^ pV
 FE  w  pppVV9   g   K  WV,          Jg   K  VV3V9   d   K)  VP;                  RVV4       ^p^VVV3&   KG  	  V'       d   VP;                  R4       / p V	 F8  p!V!P<                   F%  p"V"V P                   P>                  9   g   K   RV V"&   K'  	  K:  	  V  F[  p#V P5                  V	V#4      pV P6                  P#                  \9        V4      R4      pV^ 8  g   KC  VVV#&   VP                  RV#V4       K]  	  WV&   WV&   WV&   V^,          pEKY  	  R# )zParsing method: %sr   r   zstate %dz    (%d) %sr   r~   zreduce using rule %d (%s)Nr   r   z3  ! shift/reduce conflict for %s resolved as reduceZreducer   z2  ! shift/reduce conflict for %s resolved as shiftZshiftz=  ! reduce/reduce conflict for %s resolved using rule %d (%s)zUnknown conflict in state %dzshift and go to state %dz Shift/shift conflict in state %dz    %-15s %sz  ! %-15s [ %s ]z"    %-30s shift and go to state %dr   r   ) r@  r   r   ry   rw   rA  r   r  rT  rl  r   r+   r   r#   r   r   r   r   r   rH  r   r   rI  r=  r   r   rQ  rC  r.   r   r   r   )$r   r   r   rz   rx   rA  ZactionprR  ZstrM  ZactlistZ	st_actionZ
st_actionpZst_gotor   Zlaheadsr<  r/   ZsprecZslevelZrprecZrlevelZoldpZppZchosenpZrejectpr]   rO  r^   Z	_actprintr   Znot_usedZnkeysrS  rQ   rV   s$   &                                   r	   rJ  ZLRGeneratedTable.lr_parse_table	  s   ll..ll--
%t~~6
 NN>>V#$$Q' AGIJGHHRLHHZ$HHRL!4 HHRL55AJJN*vv~,-	&)-.6*  >>V3&'ll2&6G&*ll&9&9!&&&AG!(A#NNAq2MQRQYQY[\P]2]+^_ )a 0A }#$q5 5?NN1l4SME6 5@4I4N4NME6(.f>NUZ^dUd89y	!891/5f,/HH5jlm,n,0,=,=,D,Db!XEV,W(3HH(=(E(E(J(E(E*0F*:*AT7;	! 06,/HH5ikl,m,0,=,=,D,Db!WEU,V 06 &'U ,7r?D)4XX)>B'+yy277':89y	!891;=t(3HH(=(E(E(J(E(3DKK(@(H(HA(M(H;?$($5$5$<$<b'7=S$T$'HH-l-.
10D0DjQRm%U +44RUW4W*X$X01y	!011 +HH 5 = = B = =i ")l 

AqsADLL222 MM!Q/ ,,00A;6#NNAq2Lq2P+QR )a 0A }#$q5'(Av.78Z]_8_.`(` (.%&U 5?NN1l4SME6 5@1@T@T4U4Z4ZME6(.f>NUZ^eUe(3qM4H4H(I(Q(QUV(V(Q78	!891/5,/HH5ikl,m,0,=,=,D,Db!WEU,V 06 +1F*:*AT7;	! 06f,/HH5jlm,n,0,=,=,D,Db!XEV,W ?Ev
 +44RUW4W*X$X/0	!011a f I"1a	>qM)A6,-	1a&)	 #
 HHRLH"1a	>1- !1v2II&8!Q?'(H01Iq!f- # 		" EADLL555#'a "  MM!Q'$$((A36!"GAJHHA1aH  #2J$BKH!GBI r   c                sH   \        V\        P                  4      '       d   \        R 4      hVP	                  R4      R,          p\
        P                  P                  W$4      R,           p \        VR4      pVP                  R\
        P                  P                  V4      : R\        : RV P                  : RV: R2	4       ^pV'       Edg   / pV P                  P                  4        Fo  w  rV
P                  4        FV  w  rVP                  V4      pV'       g	   . . 3pWV&   V^ ,          P!                  V	4       V^,          P!                  V4       KX  	  Kq  	  VP                  R	4       VP                  4        F  w  rVP                  R
V,          4       V^ ,           F  pVP                  RV,          4       K  	  VP                  R4       V^,           F  pVP                  RV,          4       K  	  VP                  R4       K  	  VP                  R4       VP                  R4       MqVP                  R4       V P                  P                  4        F1  w  rVP                  RV^ ,          : RV^,          : RV: R24       K3  	  VP                  R4       V'       Edg   / pV P"                  P                  4        Fo  w  rV
P                  4        FV  w  rVP                  V4      pV'       g	   . . 3pWV&   V^ ,          P!                  V	4       V^,          P!                  V4       KX  	  Kq  	  VP                  R4       VP                  4        F  w  rVP                  R
V,          4       V^ ,           F  pVP                  RV,          4       K  	  VP                  R4       V^,           F  pVP                  RV,          4       K  	  VP                  R4       K  	  VP                  R4       VP                  R4       MqVP                  R4       V P"                  P                  4        F1  w  rVP                  RV^ ,          : RV^,          : RV: R24       K3  	  VP                  R4       VP                  R4       V P$                   F  pVP&                  '       dz   VP                  RVP(                  VP*                  VP,                  VP&                  \
        P                  P                  VP.                  4      VP0                  3,          4       K  VP                  R\)        V4      VP*                  VP,                  3,          4       K  	  VP                  R4       VP3                  4        R#   \         d   ph Rp?ii ; i)z"Won't overwrite existing tabmoduler   z.pywz
# z\
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = z

_lr_method = z

_lr_signature = z
    z
_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   z):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]
Nr   )rT   r  r   IOErrorsplitr)  r*  r   r+  r   basenamer#  r  rw   r   r   r   ry   ru   r   rK   r#   r+   r   r   r,  )r   	tabmodule	outputdirr.  Zbasemodulenamer-  r   Zsmallerr   rQ   Zndr#   r[   r]   r  r   es   &&&&             r	   write_tableZLRGeneratedTable.write_table
  s@   i!1!122>??"-b177<<	:UBl	Xs#AGG 77H%~t~~y	R 	S G w!^^113EA#%88:!IIdO !#RA*+$K!A!A $. 4 01!KKMDAGGGaK(qTT	* "GGENqTT	* " GGEN *    +, NN002DAGGQqTT1Q44;< 3w!\\//1EA#%88:!IIdO !#RA*+$K!A!A $. 2 ./!KKMDAGGGaK(qTT	* "GGENqTT	* " GGEN *    )* LL..0DAGGQqTT1Q44;< 1 GG+,((666GG6!%%:;&&"''BRBRSTSYSYBZ\]\b\b:d d e GG<APQPUPU?VVW ) GGENGGI 		s    +IV /KV V!VV!c                s    ^ RI p\        VR4      ;_uu_ 4       pVP	                  \
        V\        4       VP	                  V P                  V\        4       VP	                  W$\        4       VP	                  V P                  V\        4       VP	                  V P                  V\        4       . pV P                   F  pVP                  '       ds   VP                  VP                  VP                  VP                  VP                  \         P"                  P%                  VP&                  4      VP(                  34       K  VP                  \        V4      VP                  VP                  RRR34       K  	  VP	                  WT\        4       RRR4       R#   \         d	    ^ RIp ELi ; i  + '       g   i     R# ; i)r    NZwb)r&  r'  r(  r+  Zdumpr#  pickle_protocolr  rw   ry   ru   r   r   rK   r#   r+   r)  r*  rp  r   r   )r   r-  r.  r(  ZoutfZoutpr   r8  r	   pickle_tableZLRGeneratedTable.pickle_table"  s4   	$ (D!!TKKo>KKo>KK	9KKo>KKdO<D((666KKqvvrww?O?OPQPVPV?WYZY_Y_ `aKKQdD IJ	 )
 KKO4 "!  		!!!s   F E8F2F/.F/2G	)rD  rG  r@  rA  rC  rw   ry   rB  r  ru   rF  rI  rE  rH  )r   N)r   r   )r   )r   r   r   r   r
   rN  rQ  rT  rV  rX  rZ  r\  r]  re  rj  rk  rl  rJ  rt  rv  r   r   r   r   r	   r>  r>  5  sd     !J4 Fp:	(0VB%`,$	6$/0yBrv5 5r   r>  c                 s    \         P                  ! V 4      pVP                  P                  4       pVP                  VP                  8w  d   VP                  VP                  4       V# r   )r   Z	_getframeZ	f_globalsZcopyZf_localsZupdate)Zlevelsr   Zldictr2   r	   get_caller_module_dictrw  E  sG    fAKKE{{ajj QZZ Lr   c           	      s   . pV P                  4       pR pTpV F  pV^,          pVP                  4       pV'       g   K&   V^ ,          R8X  d(   V'       g   \        RW3,          4      hTp	VR,          p
M>V^ ,          p	T	pVR,          p
V^,          pVR8w  d   VR8w  d   \        RW3,          4      hVP                  WW34       K  	  V#   \         d    h \         d$    \        RYTP                  4       3,          4      hi ; i)	NZ|z%s:%d: Misplaced '|'r   :i   NN:z::=z!%s:%d: Syntax error. Expected ':'z%s:%d: Syntax error in rule %r)Z
splitlinesro  rr   r   	ExceptionZstrip)docr   r   r@  ZpstringsZlastpZdlineZpsr   r   r   Zassigns   &&&         r	   parse_grammarr{  Q  s   G~~HEE
HHJ	\ts{%&<}&LMM uQ4 21S=Vu_%&ITM&YZZNND89) 4 N  	 	\>$rxxzAZZ[[	\s    CA0CD!$Dc                   s~   a  ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tRtV tR# )ParserReflectiz  Nc                s    Wn         R V n        R V n        R V n        \	        4       V n        . V n        RV n        Vf!   \        \        P                  4      V n        R # W n        R # )NF)r   r   
error_functokensr   r"  r@  r   r   r   r   rA  )r   r   rA  rR   r	   r
   ZParserReflect.__init__{  sM    

%
; ,DHHr   c                s    V P                  4        V P                  4        V P                  4        V P                  4        V P	                  4        R # r   )	get_startget_error_func
get_tokensget_precedenceget_pfunctionsrG   rH   r	   get_allZParserReflect.get_all  s:    r   c                s    V P                  4        V P                  4        V P                  4        V P                  4        V P	                  4        V P                  4        V P                  # r   )validate_startvalidate_error_funcvalidate_tokensvalidate_precedencevalidate_pfunctionsvalidate_modulesr   rG   rH   r	   validate_allZParserReflect.validate_all  sT      "  "  "zzr   c           
     sb   . p V P                   '       d   VP                  V P                   4       V P                  '       dJ   TP                  R P                  V P                   Uu. uF  pR P                  V4      NK  	  up4      4       V P                  '       d+   VP                  RP                  V P                  4      4       V P
                   F,  pV^,          '       g   K  VP                  V^,          4       K.  	  R P                  V4      # u upi   \        \        3 d     L)i ; i)r   r   )r   r   r   r   r~  pfuncsZ	TypeErrorZ
ValueError)r   partsr   r   r   r	   r.  ZParserReflect.signature  s    	zzzTZZ(yyyRWW$))%D)Qbggaj)%DEF{{{SXXdkk23[[Q44LL1& !
 wwu~ &E :& 		s;   D ,D $D 'DD AD (D D D.-D.c           	     s   \         P                  ! R 4      pV P                   F  p \        P                  ! V4      w  r4/ p\        T4       F  w  rFT^,          pTP                  T4      pT'       g   K)  TP                  ^4      pTP                  T4      p	T	'       g   YET&   KY  \        P                  ! T4      p
T P                  P                  RYY4       K  	  K  	  R#   \
         d     K  i ; i)z\s*def\s+(p_[a-zA-Z_0-9]*)\(z;%s:%d: Function %s redefined. Previously defined on line %dN)recompiler"  inspectZgetsourcelinesrn  r   r   Zgroupr   getsourcefilerA  r   )r   Zfrer$  ZlinesZlinenZ	counthashr   r   r#   Zprevr-  r  r	   r  ZParserReflect.validate_modules  s    jj89llF&55f= I(/
IIdO1771:D$==.D*/$#*#8#8#@(()f)1$F  0 #  s   C""C10C1c                F    V P                   P                  R 4      V n        R# )r   N)r   r   r   rG   rH   r	   r  ZParserReflect.get_start  s    ZZ^^G,
r   c                s    V P                   e@   \        V P                   \        4      '       g   V P                  P	                  R4       R # R # R # )Nz'start' must be a string)r   rT   string_typesrA  r   rG   rH   r	   r  ZParserReflect.validate_start  s8    ::!djj,779: 8 "r   c                r  )p_errorN)r   r   r}  rG   rH   r	   r  ZParserReflect.get_error_func  s    **..3r   c                s   V P                   '       EdO   \        V P                   \        P                  4      '       d   ^ pMQ\        V P                   \        P                  4      '       d   ^pM$V P
                  P                  R4       RV n        R# V P                   P                  P                  pV P                   P                  P                  p\        P                  ! V P                   4      pV P                  P                  V4       V P                   P                  P                  V,
          pV^8w  d&   V P
                  P                  RW24       RV n        R# R# R# )r    z2'p_error' defined, but is not a function or methodTNz$%s:%d: p_error() requires 1 argument)r}  rT   r  FunctionType
MethodTyperA  r   __code__co_firstlinenoco_filenamer  	getmoduler"  r   co_argcount)r   ZismethodZelineZefiler$  Zargcountr  r	   r  Z!ParserReflect.validate_error_func  s    ???$//5+=+=>>DOOU-=-=>>ST!
OO,,;;EOO,,88E&&t7FLLV$//;;hFH1}EuT!
 ! r   c                s   V P                   P                  R 4      pV'       g%   V P                  P                  R4       RV n        R# \	        V\
        \        34      '       g%   V P                  P                  R4       RV n        R# V'       g%   V P                  P                  R4       RV n        R# \        V4      V n        R# )r~  zNo token list is definedTNztokens must be a list or tupleztokens is empty)	r   r   rA  r   rT   r   r   Zsortedr~  )r   r~  r4   r	   r  ZParserReflect.get_tokens  s    )HHNN56DJ&4-00HHNN;<DJHHNN,-DJVnr   c                s   R V P                   9   d%   V P                  P                  R4       RV n        R# \        4       pV P                    F6  pW!9   d   V P                  P	                  RV4       VP                  V4       K8  	  R# )r   z.Illegal token name 'error'. Is a reserved wordTNzToken %r multiply defined)r~  rA  r   r   r   r   )r   r   rV   r2   r	   r  ZParserReflect.validate_tokens  sd    dkk!HHNNKLDJE	A~  !<a@MM! r   c                r  )r   N)r   r   r   rG   rH   r	   r  ZParserReflect.get_precedence  s    JJNN<0	r   c                sR   . pV P                   '       Ed   \        V P                   \        \        34      '       g%   V P                  P                  R 4       RV n        R# \        V P                   4       EF'  w  r#\        V\        \        34      '       g&   V P                  P                  R4       RV n         R# \        V4      ^8  d'   V P                  P                  RV4       RV n         R# V^ ,          p\        V\        4      '       g&   V P                  P                  R4       RV n         R# VR,           FY  p\        V\        4      '       g'   V P                  P                  R4       RV n          R# VP                  WTV^,           34       K[  	  EK*  	  Wn
        R# )z"precedence must be a list or tupleTNzBad precedence tablez?Malformed precedence entry %s. Must be (assoc, term, ..., term)z)precedence associativity must be a stringr   z precedence items must be strings)r   rT   r   r   rA  r   r   r+   r  r   preclist)r   r  r   r   r   r   r  r	   r  Z!ParserReflect.validate_precedence  s/   999dii$77CD!
%dii0!!dE]33HHNN#9:!%DJq6A:HHNN#dfgh!%DJ!!%66HHNN#NO!%DJbEED%dL99'IJ%)
OOT%'$:; " 1* !r   c                s   . pV P                   P                  4        F  w  r#VP                  R 4      '       d   VR8X  d   K%  \        V\        P
                  \        P                  34      '       g   KW  \        VRVP                  P                  4      p\        P                  ! V4      pVP                  WEW#P                  34       K  	  VP                  R R7       Wn        R# )p_r  r  c                 sX    V ^ ,          \        V ^,          4      V ^,          V ^,          3# rS   rJ   )Z
p_functionrH   r	   ra  Z.ParserReflect.get_pfunctions.<locals>.<lambda>F  s(    qM
1qMqM	1r   )ZkeyN)r   r   
startswithrT   r  r  r  re   r  r  r  r  r   __doc__sortr  )r   Zp_functionsr#   Zitemr   r$  r  r	   r  ZParserReflect.get_pfunctions9  s    ****,JD??4((DI,=$!3!3U5E5E FGGt%5t}}7S7ST **40""D$#EF - 	  	
 "r   c                s   . p\        V P                  4      ^ 8X  d%   V P                  P                  R4       RV n        R# V P                   EFj  w  r#rE\        P
                  ! V4      pV P                  V,          p\        V\        P                  4      '       d   ^pM^pVP                  P                  V8  d1   V P                  P                  RWbVP                  4       RV n        K  VP                  P                  V8  d1   V P                  P                  RWbVP                  4       RV n        K  VP                  '       g+   V P                  P                  RWbVP                  4       EK'   \        WVV4      p	V	 F  p
VP!                  WJ34       K  	  V P&                  P)                  V4       EKm  	  V P                  P+                  4        EF  w  rVP-                  R4      '       d3   \        V\        P.                  \        P                  34      '       d   KO  VP-                  R4      '       d   Kh  VP-                  R4      '       d$   VR	8w  d   V P                  P                  R
V4       \        V\        P.                  4      '       d   VP                  P                  ^8X  gK   \        V\        P                  4      '       g   K  VP0                  P                  P                  ^8X  g   EK'  VP                  '       g   EK<   VP                  P3                  R4      pV^,          R8X  dJ   V P                  P                  RVP                  P4                  VP                  P6                  V4       EK  EK  	  Wn        R#   \"         d7   pT P                  P                  \%        T4      4       RT n         Rp?EL2Rp?ii ; i  \8         d     EK  i ; i)r    z+no rules of the form p_rulename are definedTNz%%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  Zt_r  z%r not defined as a functionr   rx  z9%s:%d: Possible grammar rule %r defined without p_ prefix)r+   r  rA  r   r  r  r   rT   r  r  r  r  r   r  r   r{  r   rr   rK   r"  r   r   r  r  Z__func__ro  r  r  r   r@  )r   r@  r   r$  r#   rz  r   r   ZreqargsZparsed_grO  rs  rV   r[   s   &             r	   r  Z!ParserReflect.validate_pfunctionsN  s   t{{q HHNNHIDJ'+{{#D$((0D::d#D$ 0 011}}((72FTXTaTab!
**W4DdRVR_R_`!
\\\  !d!%T]]<&,S=H%y1 &   (7 (3@ JJ$$&DA||D!!jU5G5GIYIY4Z&[&[||D!!||D!!a9n  !?CAu1122qzz7M7MQR7Rq%"2"233

8K8K8W8W[\8\999iiooc2q6S= HH,,-h-.ZZ-C-CQZZE^E^`ac ) '$ ; # &HHNN3q6*!%DJJ&4 & s+   5'NA/OO+OOO&%O&)r   r}  r@  rA  r"  r   r  r   r  r   r~  r   )r   r   r   r   r
   r  r  r.  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r	   r|  r|  z  sV     6F2-;4",%(1!>"*: :r   r|  c                 s$   Vf   \         pV'       d   ^ pVf   \        \        P                  4      pV'       d   \	        V4       Uu. uF  q\        W-4      3NK  	  pp\        V4      pRV9  d,   \        P                  VR,          ,          P                  VR&   RV9  da   RV9   dZ   \        \        P                  VR,          ,          R4      '       d,   \        P                  VR,          ,          P                  VR&   M\        ^4      pV	f   \        V\        P                  4      '       d   VP                  pMjRV9  d   VR,          pMYVP                  R4      pRP!                  VR R0 4      p\#        RV,          4       \        \        P                  V,          RR4      p\$        P&                  P)                  V4      p	VP+                  R4      pV'       d.   \        V\,        4      '       d   RV9  d   VR,           V,           pVe   WOR&   \/        WR7      pVP1                  4        VP2                  '       d   \5        R	4      hVP7                  4       p \9        4       pV'       d   VP;                  V4      pMVP=                  V4      pV'       g   VV8X  dA    VP?                  VP@                  4       \C        VVPD                  4      pVPF                  s#V#  V
fG   V'       d5    \        \Q        \$        P&                  P!                  W4      R4      4      p
M
\U        4       p
V
PW                  R\X        4       RpVP[                  4       '       d   \5        R	4      hVPD                  '       g   VPK                  R4       \]        VP^                  4      pVP`                   F  w  ppp VPc                  VVV4       K  	  VPf                   F#  w  pp V w  p!p"p#p$ VPi                  V#V$VV!V"4       K%  	   Vf   VPk                  VPl                  4       MVPk                  V4        V'       d   \5        R	4      hVPo                  4       p%V% F0  w  p&p'VP3                  RV'Pp                  V'Pr                  V&4       RpK2  	  VPu                  4       p(V('       da   V
PW                  R4       V
PW                  R4       V
PW                  R4       V( F'  pVPK                  RV4       V
PW                  RV4       K)  	  V'       df   V
PW                  R4       V
PW                  R4       V
PW                  R4       \w        VPx                  4       F  w  p)p*V
PW                  RV)V*4       K  	  VP{                  4       p+V+ F5  p'VPK                  RV'Pp                  V'Pr                  V'P|                  4       K7  	  \        V(4      ^8X  d   VPK                  R4       \        V(4      ^8  d   VPK                  R\        V(4      4       \        V+4      ^8X  d   VPK                  R4       \        V+4      ^8  d   VPK                  R\        V+4      4       V'       Edl   V
PW                  R4       V
PW                  R4       V
PW                  R4       \        VP                  4      p,V,P                  4        V, FO  pT
PW                  RTR P!                  VP                  V,           U-u. uF  p-\-        V-4      NK  	  up-4      4       KQ  	  V
PW                  R4       V
PW                  R!4       V
PW                  R4       \        VP                  4      p.V.P                  4        V. FO  p/T
PW                  RT/R P!                  VP                  V/,           U-u. uF  p-\-        V-4      NK  	  up-4      4       KQ  	  V
PW                  R4       V'       dY   VP                  4       p0V0 F  p1VPK                  R"V14       K  	  VP                  4       p2V2 F  p3VP3                  R#V34       RpK  	  VP                  4       p4V4 F  w  ppVP3                  R$VV4       RpK  	  V'       d   \5        R	4      hV'       d   VP                  R%V 4       \        VW
4      pV'       d   \        VP                  4      p5V5^8X  d   VPK                  R&4       MV5^8  d   VPK                  R'V54       \        VP                  4      p6V6^8X  d   VPK                  R(4       MV6^8  d   VPK                  R)V64       V'       Ed   VP                  '       g   VP                  '       Ed{   V
PK                  R4       V
PK                  R*4       V
PK                  R4       VP                   F  w  p7p8p9V
PK                  R+V8V7V94       K  	  \        4       p:VP                   F  w  p7p;p<V7\        V;4      \        V<4      3V:9   d   K%  V
PK                  R,V7V;4       V
PK                  R-V<V74       VPK                  R,V7V;4       VPK                  R-V<V74       V:P                  V7\        V;4      \        V<4      34       K  	  . p=VP                   FY  w  p7p;p<V<P                  '       d   K  V<V=9  g   K$  V
PK                  R.V<4       VPK                  R.V<4       V=P                  V<4       K[  	  V'       d:    VP                  W9V4       V\        P                  9   d   \        P                  V V'       d    VP                  VV4       VP?                  VP@                  4       \C        VVPD                  4      pVPF                  s#V# u upi   \H         d   pTPK                  R
T4        R p?ELR p?ii ; i  \L         d&   pTPK                  \-        T4      4        R p?ELR p?i\N         d     ELi ; i  \R         d/   pTPK                  RT: RT: 24       \U        4       p
 R p?ELR p?ii ; i  \d         d   pTPK                  RT4        R p?EK  R p?ii ; i  \d         d!   pTP3                  RT4       Rp R p?EK  R p?ii ; i  \d         d(   pTP3                  \-        T4      4       Rp R p?ELkR p?ii ; iu up-i u up-i   \R         d%   pTPK                  R/T: RT: 24        R p?ELR p?ii ; i  \R         d%   pTPK                  R/T: RT: 24        R p?ELR p?ii ; i)1N__file__r   __package__r   r  r   r   )rA  zUnable to build parserz.There was a problem loading the table file: %rrm  zCouldn't open z. z5Created 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 rulezUnused terminals:zToken %r defined, but not usedz    %sr   zRule %-5d %sz$%s:%d: Rule %r defined, but not usedzThere is 1 unused tokenzThere are %d unused tokenszThere is 1 unused rulezThere are %d unused rulesz'Terminals, with rules where they appearz
%-20s : %sr   z*Nonterminals, with rules where they appearzSymbol %r is unreachablez)Infinite recursion detected for symbol %rz0Precedence rule %r defined for unknown symbol %rzGenerating %s tablesz1 shift/reduce conflictz%d shift/reduce conflictsz1 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)zrejected rule (%s) in state %dzRule (%s) is never reducedzCouldn't create r   )R
tab_moduler   r   r   Zdirre   Zdictr"  r  r   r  rw  rT   r  r   ro  r   r!  r)  r*  Zdirnamer   rK   r|  r  r   r'   r.  r  r0  r%  r1  r   rs   r}  r   ry  r   r  r'  r+  rn  r    r   __version__r  r   r~  r  r   r   r@  r   r  r   r
  r   r   r  r   r   r  r#   r+   r   r   r  r   r  r  r  r   r>  rH  rI  r   r.   r   r   r   rt  rv  )>rK  r   r$  rq  r   Zcheck_recursionZoptimizeZwrite_tablesZ	debugfilerr  ZdebuglogZerrorlogZ
picklefiler  Z_itemsr   Zsrcfiler  ZpkgnameZpkgZpinfor.  ZlrZread_signaturerB   rs  Zerrorsr@  r   r   r   ZfuncnameZgramr   r   r   r   r
  r   r   r  rV   r   r  rY  rQ   ZnontermsZnontermZunreachableZur  ZinfZunused_precZnum_srZnum_rrr   r   Z
resolutionZalready_reportedZruleZrejectedZwarned_nevers>   &&&&&&&&&&&&&                                                 r	   yaccr    s
    	 SZZ( 36v;?;agf();?V U" #E,,? @ I IE*%,%*?s{{5#67GG'*{{53F'G'S'Sm$&q)
 i!1!122((G)#
+!,((5":.[7*+!#++g"6
BGGGOOG,	 ))M
"C
z)S))ic	I-I
 g %.E	MMO{{{011 !IY^^J7N]]95N)3V!!%++.!"e&6&67 4 ($T"'',,y*Lc%RS
 "|HMMI;WF 011;< ell#G $nneU	&""46 -  --$%)"dHd	""8T8T4H (=ekk*e$
 011  113&	TTVZV_V_aeajajlop ' //1b)*b$D=tDMM(D) %
 bi bg112DAqMM.!Q/ 3 '')L?DIIW[W`W`a  !23
q 5s;K7LM
<A12
<14c,6GHub?@bW&&'

DMM,chhHYHYZ^H_7`H_1AH_7`.ab  	bBCb,,-GMM,7K_K_`gKh:iKha3q6Kh:i1jk  b..0A7;  **,CNNFLF  ++-K"eI5RVW # 011 -v6	'6	4BR__% Q;67aZ8&AR__%Q;78aZ96B u"///R___&&(oo"E3
VY\^ceop '6 5%'__!E4r$xH.2BBZ\acgh=xOZ\acgh=xO  %D2h<!@A &5 %'__!E4###)E  !=xH  !=xH##H-	 &5 	HNN9;CKK'KK	*
 	IOOJ	2
 ekk"b%**+FLLEMW @B  V  !QSTUUV !Q     (  9a!HI%<(0  	&T1%%	&  	NN4#F	  s1vh 8a ;jT  	HAFGG	H  	IQGHH	Is   m) <n n %>m. 22o 4p%q?q/ q/ %r$r)8r. s  .n9nn nn o$oooop$#ppp> p99p>q,q''q,/r!:rr!.s9ss t+t

t);r  r  r   Zos.pathr)  r  r7   r  r#  Z	yaccdebugZ
debug_filer  Z
default_lrr   r   r,   ru  Zversion_infoZ
basestringr  rK   Zmaxsizer:  Zobjectr   r    ry  r'   r3   r5   r:   r?   r=   r9   r;   r>   r@   rD   rE   rM   rs   r  r   r   r   r   r   r   r   r  r  r9  r2  r=  r>  rw  r{  r|  r  r"   r   r	   <module>r     s  | 
  
    	 


	  ALL	 $ 		 	9 
		

:  / /nZC ZCL /04B- B-P-V -\+V +6 	9 	e"f e"^	9 	9f 9h	".		 	5w 5` RNF Nl i
RVDJ$$^r   