Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 .[ˆ`Fã @sddlZddlZddlZddlZddlZddlZddlZdZdZ dZ dZ dZ dZ dZd Zd ZdZejddkrteZneZejZGd d „d eƒZGd d„deƒZGdd„deƒZdd„Zdd„Zdada da!dZ"dd„Z#dd„Z$dd„Z%dd„Z&Gdd„dƒZ'Gd d!„d!ƒZ(Gd"d#„d#ƒZ)ej*d$ƒZ+Gd%d&„d&eƒZ,Gd'd(„d(eƒZ-Gd)d*„d*eƒZ.d+d,„Z/Gd-d.„d.eƒZ0Gd/d0„d0eƒZ1Gd1d2„d2eƒZ2Gd3d4„d4eƒZ3d5d6„Z4d7d8„Z5Gd9d:„d:eƒZ6Gd;d<„d„Z8d?d@„Z9GdAdB„dBeƒZ:de de ddd de ddddf dCdD„Z;dS)EéNz3.9z3.8Tz parser.outÚparsetabÚLALRéFé(c@s4eZdZdd„Zdd„ZeZdd„Zdd„ZeZd S) Ú PlyLoggercCs ||_dS)N)Úf)Úselfr©r ú/usr/lib/python3.6/yacc.pyÚ__init__nszPlyLogger.__init__cOs|jj||dƒdS)NÚ )rÚwrite)rÚmsgÚargsÚkwargsr r r ÚdebugqszPlyLogger.debugcOs|jjd||dƒdS)Nz WARNING: r )rr )rrrrr r r ÚwarningvszPlyLogger.warningcOs|jjd||dƒdS)NzERROR: r )rr )rrrrr r r ÚerroryszPlyLogger.errorN) Ú__name__Ú __module__Ú __qualname__r rÚinforrZcriticalr r r r rms rc@seZdZdd„Zdd„ZdS)Ú NullLoggercCs|S)Nr )rÚnamer r r Ú__getattribute__€szNullLogger.__getattribute__cOs|S)Nr )rrrr r r Ú__call__ƒszNullLogger.__call__N)rrrrrr r r r rsrc@s eZdZdS)Ú YaccErrorN)rrrr r r r r‡srcCsPt|ƒ}d|krt|ƒ}t|ƒtkr4|dt…d}dt|ƒjt|ƒ|f}|S)Nr z ...z<%s @ 0x%x> (%s))ÚreprÚlenÚ resultlimitÚtyperÚid)ÚrÚrepr_strÚresultr r r Ú format_result‹s r%cCsBt|ƒ}d|krt|ƒ}t|ƒdkr(|Sdt|ƒjt|ƒfSdS)Nr éz <%s @ 0x%x>)rrr rr!)r"r#r r r Úformat_stack_entry•s  r'aPLY: 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() cCstjtƒtƒS)N)ÚwarningsÚwarnÚ_warnmsgÚ_errokr r r r Úerrok¯s r,cCstjtƒtƒS)N)r(r)r*Ú_restartr r r r Úrestart³s r.cCstjtƒtƒS)N)r(r)r*Ú_tokenr r r r Útoken·s r0c Cs>|ja|ja|ja||ƒ}y bbbWntk r8YnX|S)N)r,r+r0r/r.r-Ú NameError)Ú errorfuncr0Úparserr"r r r Úcall_errorfunc¼s r4c@seZdZdd„Zdd„ZdS)Ú YaccSymbolcCs|jS)N)r )rr r r Ú__str__ÚszYaccSymbol.__str__cCst|ƒS)N)Ústr)rr r r Ú__repr__ÝszYaccSymbol.__repr__N)rrrr6r8r r r r r5Ùsr5c@sfeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dS)ÚYaccProductionNcCs||_||_d|_d|_dS)N)ÚsliceÚstackÚlexerr3)rÚsr;r r r r êszYaccProduction.__init__cCsBt|tƒrdd„|j|DƒS|dkr2|j|jS|j|jSdS)NcSsg|] }|j‘qSr )Úvalue)Ú.0r=r r r ú òsz.YaccProduction.__getitem__..r)Ú isinstancer:r>r;)rÚnr r r Ú __getitem__ðs   zYaccProduction.__getitem__cCs||j|_dS)N)r:r>)rrBÚvr r r Ú __setitem__øszYaccProduction.__setitem__cCsdd„|j||…DƒS)NcSsg|] }|j‘qSr )r>)r?r=r r r r@üsz/YaccProduction.__getslice__..)r:)rÚiÚjr r r Ú __getslice__ûszYaccProduction.__getslice__cCs t|jƒS)N)rr:)rr r r Ú__len__þszYaccProduction.__len__cCst|j|ddƒS)NÚlinenor)Úgetattrr:)rrBr r r rJszYaccProduction.linenocCs||j|_dS)N)r:rJ)rrBrJr r r Ú set_linenoszYaccProduction.set_linenocCs,t|j|ddƒ}t|j|d|ƒ}||fS)NrJrÚ endlineno)rKr:)rrBÚ startlineZendliner r r ÚlinespanszYaccProduction.linespancCst|j|ddƒS)NÚlexposr)rKr:)rrBr r r rP szYaccProduction.lexposcCs,t|j|ddƒ}t|j|d|ƒ}||fS)NrPrÚ endlexpos)rKr:)rrBÚstartposÚendposr r r ÚlexspanszYaccProduction.lexspancCst‚dS)N)Ú SyntaxError)rr r r rszYaccProduction.error)N)rrrr rCrErHrIrJrLrOrPrTrr r r r r9és r9c@s\eZdZdd„Zdd„Zdd„Zdd„Zd d „Zdd d„Zddd„Z ddd„Z ddd„Z d S)ÚLRParsercCs0|j|_|j|_|j|_||_|jƒd|_dS)NT) Úlr_productionsÚ productionsÚ lr_actionÚactionÚlr_gotoÚgotor2Úset_defaulted_statesÚerrorok)rZlrtabZerrorfr r r r s zLRParser.__init__cCs d|_dS)NT)r^)rr r r r,&szLRParser.errokcCs@|jdd…=|jdd…=tƒ}d|_|jj|ƒ|jjdƒdS)Nz$endr)Ú statestackÚsymstackr5r Úappend)rÚsymr r r r.)s    zLRParser.restartcCsTi|_xH|jjƒD]:\}}t|jƒƒ}t|ƒdkr|ddkr|d|j|<qWdS)Nér)Údefaulted_statesrZÚitemsÚlistÚvaluesr)rÚstateÚactionsZrulesr r r r]9s  zLRParser.set_defaulted_statescCs i|_dS)N)rd)rr r r Údisable_defaulted_states@sz!LRParser.disable_defaulted_statesNFcCsZ|str.t|tƒrttjƒ}|j|||||ƒS|rD|j|||||ƒS|j|||||ƒSdS)N) Ú yaccdevelrAÚintrÚsysÚstderrÚ parsedebugÚparseoptÚparseopt_notrack)rÚinputr<rÚtrackingÚ tokenfuncr r r ÚparseCs  zLRParser.parsec CsÌd}g}|j}|j} |j} |j} tdƒ} d} |jdƒ|sLddlm}|j}|| _|| _ |dk rj|j |ƒ|dkrz|j }n|}||_ g}||_ g}||_ || _d}|jdƒtƒ}d|_|j|ƒd}�xþ|jdƒ|jd|ƒ|| k�r.|�s|�sþ|ƒ}n|jƒ}|�stƒ}d|_|j}||j|ƒ}n| |}|jd|| ƒ|jd d d jd d „|Dƒdd…ƒt|ƒfjƒƒ|dk �rŠ|dk�rÄ|j|ƒ|}|jd|ƒ|j|ƒd}| rÊ| d8} qÊ|dk�rN| | }|j}|j}tƒ}||_d|_|�rB|jd|jddjdd „|| d…Dƒƒd| |d%||ƒn|jd|jg| |d&|ƒ|�r’|| dd…}||d<|�rÆ|d}|j|_|j|_|d'}t|d|jƒ|_t|d|jƒ|_|| _ yd|| d…=||_!|j"| ƒ|| d…=|jdt#| dƒƒ|j|ƒ| |d(|}|j|ƒWqÊt$k �rŒ|j|ƒ|j%|dd)…ƒ|jƒ|d*}d|_d|_|}t&} d|_'YqÊXqÊn¼|�r¨|j|_|j|_|g}|| _ yL||_!|j"| ƒ|jdt#| dƒƒ|j|ƒ| |d+|}|j|ƒWqÊt$k �rJ|j|ƒ|jƒ|d,}d|_d|_|}t&} d|_'YqÊXqÊ|dk�rŠ|d-}t|ddƒ}|jdt#|ƒƒ|jdƒ|S|dk�r¼|j(dd d jdd „|Dƒdd…ƒt|ƒfjƒƒ| dk�sÚ|j'�r¤t&} d|_'|}|jdk�rød}|j)�rB|�rt*|dƒ �r||_||_!t+|j)||ƒ}|j'�r¢|}d}qÊn`|�r’t*|dƒ�r\|j}nd}|�r~t,j-j.d ||jfƒnt,j-j.d!|jƒnt,j-j.d"ƒdSnt&} t|ƒdk�rÚ|jdk�rÚd}d}d}|dd…=qÊ|jdk�rêdS|jdk�rŒ|d.}|jdk�r6|�r0t|d|jƒ|_t|d#|jƒ|_d}qÊtƒ}d|_t*|dƒ�r\|j|_|_t*|d#ƒ�rv|j|_|_||_|j|ƒ|}qÊ|jƒ}|�rª|j|_|j|_|jƒ|d/}qÊt/d$ƒ‚qÊWdS)0NrzPLY: PARSE DEBUG STARTrc)Úlexz$endÚz State : %sz#Defaulted state %s: Reduce using %dz Stack : %sz%s . %sú cSsg|] }|j‘qSr )r )r?Úxxr r r r@±sz'LRParser.parsedebug..z Action : Shift and goto state %sz3Action : Reduce rule [%s] with %s and goto state %dú[ú,cSsg|]}t|jƒ‘qSr )r'r>)r?Z_vr r r r@Ôsú]rMrQz Result : %srFr>zDone : Returning %szPLY: PARSE DEBUG ENDz Error : %scSsg|] }|j‘qSr )r )r?ryr r r r@Bsr<rJz(yacc: Syntax error at line %d, token=%s zyacc: Syntax error, token=%sz yacc: Parse error in input. EOF rPzyacc: internal parser error!!! éÿÿÿÿr}r}r}r}r}r}r}r}r}r})0rZr\rXrdr9rrwrvr<r3rrr0r_r`r;rar5r rÚpopÚgetÚjoinr7Úlstriprrr>rJrPrKrMrQr:rhÚcallabler%rUÚextendÚ error_countr^rr2Úhasattrr4rmrnr Ú RuntimeError) rrrr<rrsrtÚ lookaheadÚlookaheadstackrir\ÚprodrdÚpsliceÚ errorcountrvÚ get_tokenr_r`ÚerrtokenrbrhÚltypeÚtÚpÚpnameÚplenÚtargÚt1rBr$ÚtokrJr r r ro\s~        .        $               .           zLRParser.parsedebugc Csvd}g}|j}|j} |j} |j} tdƒ} d} |sBddlm}|j}|| _|| _|dk r`|j |ƒ|dkrp|j }n|}||_ g}||_ g}||_ || _ d}|jdƒtƒ}d|_|j|ƒd}�x²|| k�r|sò|sÚ|ƒ}n|jƒ}|sòtƒ}d|_|j}||j|ƒ}n| |}|dk �rh|dk�rN|j|ƒ|}|j|ƒd}| rÀ| d8} qÀ|dk�rF| | }|j}|j}tƒ}||_d|_|�rž|| dd…}||d<|�ræ|d}|j|_|j|_|d}t|d|jƒ|_t|d|jƒ|_|| _yP|| d…=||_|j| ƒ|| d…=|j|ƒ| |d|}|j|ƒWqÀtk �r˜|j|ƒ|j|dd…ƒ|jƒ|d}d|_d|_|}t } d|_!YqÀXqÀn¨|�r´|j|_|j|_|g}|| _y8||_|j| ƒ|j|ƒ| |d|}|j|ƒWqÀtk �rB|j|ƒ|jƒ|d}d|_d|_|}t } d|_!YqÀXqÀ|dk�rh|d}t|d dƒ}|S|dk�rf| dk�s„|j!�rNt } d|_!|}|jdk�r¢d}|j"�rì|�rÄt#|d ƒ �rÄ||_||_t$|j"||ƒ}|j!�rL|}d}qÀn`|�rr<rJz(yacc: Syntax error at line %d, token=%s zyacc: Syntax error, token=%sz yacc: Parse error in input. EOF rPzyacc: internal parser error!!! r}r}r}r}r}r}r}r}r}))rZr\rXrdr9rwrvr<r3rrr0r_r`r;rar5r r~rrrr>rJrPrKrMrQr:rhr‚rUrƒr„r^r2r…r4rmrnr r†) rrrr<rrsrtr‡rˆrir\r‰rdrŠr‹rvrŒr_r`r�rbrhrŽr�r�r‘r’r“r”rBr$r•rJr r r rp·sX                                  zLRParser.parseoptc CsÞd}g}|j}|j} |j} |j} tdƒ} d} |sBddlm}|j}|| _|| _|dk r`|j |ƒ|dkrp|j }n|}||_ g}||_ g}||_ || _ d}|jdƒtƒ}d|_|j|ƒd}�x|| k�r|sò|sÚ|ƒ}n|jƒ}|sòtƒ}d|_|j}||j|ƒ}n| |}|dk �r |dk�rN|j|ƒ|}|j|ƒd}| rÀ| d8} qÀ|dk�rê| | }|j}|j}tƒ}||_d|_|�rX|| dd…}||d<|| _yP|| d…=||_|j| ƒ|| d…=|j|ƒ| |d|}|j|ƒWqÀtk �rR|j|ƒ|j|dd…ƒ|jƒ|d}d|_d|_|}t} d|_YqÀXqÀn’|g}|| _y8||_|j| ƒ|j|ƒ| |d|}|j|ƒWqÀtk �ræ|j|ƒ|jƒ|d}d|_d|_|}t} d|_YqÀXqÀ|dk�r |d}t|ddƒ}|S|dk�rÎ| dk�s(|j�ròt} d|_|}|jdk�rFd}|j�r�|�rht|dƒ �rh||_||_t |j||ƒ}|j�rð|}d}qÀn`|�ràt|d ƒ�rª|j!}nd}|�rÌt"j#j$d ||jfƒnt"j#j$d |jƒnt"j#j$d ƒdSnt} t|ƒdk�r(|jdk�r(d}d}d}|dd…=qÀ|jdk�r8dS|jdk�r´|d}|jdk�r^d}qÀtƒ}d|_t|d ƒ�r„|j!|_!|_%t|d ƒ�rž|j&|_&|_'||_|j|ƒ|}qÀ|jƒ}|jƒ|d}qÀt(dƒ‚qÀWdS)Nrrc)rvz$endrFr>r<rJz(yacc: Syntax error at line %d, token=%s zyacc: Syntax error, token=%sz yacc: Parse error in input. EOF rPzyacc: internal parser error!!! r}r}r}r}r}r}r}r}))rZr\rXrdr9rwrvr<r3rrr0r_r`r;rar5r r~rrrr>r:rhr‚rUrƒr„r^rKr2r…r4rJrmrnr rMrPrQr†)rrrr<rrsrtr‡rˆrir\r‰rdrŠr‹rvrŒr_r`r�rbrhrŽr�r�r‘r’r“rBr$r•rJr r r rqés8                                  zLRParser.parseopt_notrack)NNFFN)NNFFN)NNFFN)NNFFN) rrrr r,r.r]rjrurorprqr r r r rVs  ] 4rVz^[a-zA-Z0-9_-]+$c@sReZdZdZddd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dS)Ú ProductionrÚrightNrwc Cs¨||_t|ƒ|_||_||_d|_||_||_||_t |jƒ|_ g|_ x$|jD]}||j krN|j j |ƒqNWg|_ d|_ |jr˜d|jdj|jƒf|_n d|j|_dS)Nz%s -> %srxz %s -> )rÚtupler‰ÚnumberÚfuncr‚ÚfileÚlineÚprecrÚusymsraÚlr_itemsÚlr_nextr€r7) rr™rr‰Ú precedenceršr›rœr=r r r r s$    zProduction.__init__cCs|jS)N)r7)rr r r r6=szProduction.__str__cCsdt|ƒdS)Nz Production(ú))r7)rr r r r8@szProduction.__repr__cCs t|jƒS)N)rr‰)rr r r rICszProduction.__len__cCsdS)Nrcr )rr r r Ú __nonzero__FszProduction.__nonzero__cCs |j|S)N)r‰)rÚindexr r r rCIszProduction.__getitem__cCsˆ|t|jƒkrdSt||ƒ}yt|j|d|_Wnttfk rRg|_YnXy|j|d|_Wntk r‚d|_YnX|S)Nrc)rr‰ÚLRItemÚ ProdnamesÚlr_afterÚ IndexErrorÚKeyErrorÚ lr_before)rrBr�r r r Úlr_itemMs   zProduction.lr_itemcCs|jr||j|_dS)N)ršr‚)rÚpdictr r r Úbind]szProduction.bind©r—r)r®Nrwr) rrrÚreducedr r6r8rIr£rCr«r­r r r r r–s r–c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚMiniProductioncCs.||_||_||_d|_||_||_||_dS)N)rrršr‚r›rœr7)rr7rrršr›rœr r r r fszMiniProduction.__init__cCs|jS)N)r7)rr r r r6oszMiniProduction.__str__cCs d|jS)NzMiniProduction(%s))r7)rr r r r8rszMiniProduction.__repr__cCs|jr||j|_dS)N)ršr‚)rr¬r r r r­vszMiniProduction.bindN)rrrr r6r8r­r r r r r°es r°c@s$eZdZdd„Zdd„Zdd„ZdS)r¥cCsZ|j|_t|jƒ|_|j|_||_i|_|jj|dƒt|jƒ|_t|jƒ|_|j |_ dS)NÚ.) rrfr‰r™Úlr_indexÚ lookaheadsÚinsertr˜rrž)rr�rBr r r r ”s   zLRItem.__init__cCs,|jrd|jdj|jƒf}n d|j}|S)Nz%s -> %srxz %s -> )r‰rr€)rr=r r r r6Ÿs zLRItem.__str__cCsdt|ƒdS)NzLRItem(r¢)r7)rr r r r8¦szLRItem.__repr__N)rrrr r6r8r r r r r¥“s r¥cCs:t|ƒd}x(|dkr4|||kr*||S|d8}qWdS)Nrcr)r)ZsymbolsÚ terminalsrFr r r Úrightmost_terminal®s     r¶c@s eZdZdS)Ú GrammarErrorN)rrrr r r r r·¾sr·c@s’eZdZdd„Zdd„Zdd„Zdd„Zd$d d „Zd%dd„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zd&d d!„Zd"d#„Zd S)'ÚGrammarcCsfdg|_i|_i|_i|_x|D]}g|j|<q Wg|jd<i|_i|_i|_i|_tƒ|_ d|_ dS)Nr) Ú Productionsr¦ÚProdmapÚ TerminalsÚ NonterminalsÚFirstÚFollowÚ PrecedenceÚsetÚUsedPrecedenceÚStart)rrµÚtermr r r r Âs  zGrammar.__init__cCs t|jƒS)N)rr¹)rr r r rIæszGrammar.__len__cCs |j|S)N)r¹)rr¤r r r rCészGrammar.__getitem__cCs8||jkrtd|ƒ‚|dkr&tdƒ‚||f|j|<dS)Nz,Precedence already specified for terminal %rÚleftr—Únonassocz:Associativity must be one of 'left','right', or 'nonassoc')rÄr—rÅ)r¿r·)rrÃÚassocÚlevelr r r Úset_precedenceôs   zGrammar.set_precedenceNrwrcCsÀ||jkrtd|||fƒ‚|dkr6td|||fƒ‚tj|ƒsRtd|||fƒ‚x¨t|ƒD]œ\}}|ddkrÐyJt|ƒ}t|ƒdkrštd||||fƒ‚||jkr®g|j|<|||<w\Wntk rÎYnXtj|ƒ r\|d kr\td ||||fƒ‚q\Wd |k�rˆ|dd k�r$td ||fƒ‚|dd k�rBtd ||fƒ‚|d} |jj | ƒ} | �sptd||| fƒ‚n |j j | ƒ|dd…=nt ||jƒ} |jj | dƒ} d||f} | |j k�ræ|j | } td||| fd| j| jfƒ‚t|jƒ} ||jk�rg|j|<xR|D]J}||jk�r.|j|j| ƒn&||jk�rDg|j|<|j|j| ƒ�q Wt| ||| |||ƒ}|jj|ƒ||j | <y|j|j|ƒWn"tk �rº|g|j|<YnXdS)Nz7%s:%d: Illegal rule name %r. Already defined as a tokenrz5%s:%d: Illegal rule name %r. error is a reserved wordz%s:%d: Illegal rule name %rrz'"rczA%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 %%precézH%s:%d: Syntax error. %%prec can only appear at the end of a grammar rulez/%s:%d: Nothing known about the precedence of %rr—z%s -> %sz%s:%d: Duplicate rule %s. zPrevious definition at %s:%dr}éþÿÿÿr}rÊ)r—r)r»r·Ú_is_identifierÚmatchÚ enumerateÚevalrrUr¿rrÁÚaddr¶rºr›rœr¹r¼rar–r¦r©)rÚprodnameÚsymsršr›rœrBr=ÚcZprecnameZprodprecÚmapÚmZpnumberr�r�r r r Úadd_production sp                        zGrammar.add_productioncCsT|s|jdj}||jkr&td|ƒ‚tdd|gƒ|jd<|j|jdƒ||_dS)Nrczstart symbol %s undefinedrzS')r¹rr¼r·r–rarÂ)rÚstartr r r Ú set_startas   zGrammar.set_startcs>‡‡‡fdd„‰tƒ‰ˆˆjdjdƒ‡fdd„ˆjDƒS)NcsJ|ˆkr dSˆj|ƒx.ˆjj|gƒD]}x|jD] }ˆ|ƒq2Wq&WdS)N)rÏr¦rr‰)r=r�r")Úmark_reachable_fromÚ reachablerr r rØts   z5Grammar.find_unreachable..mark_reachable_fromrcsg|]}|ˆkr|‘qSr r )r?r=)rÙr r r@~sz,Grammar.find_unreachable..)rÀr¹r‰r¼)rr )rØrÙrr Úfind_unreachableqszGrammar.find_unreachablec Csøi}x|jD] }d||<q Wd|d<x|jD] }d||<q,Wxpd}x`|jjƒD]R\}}xH|D]@}x |jD]}||shd}PqhWd}|r\||sšd||<d}Pq\WqNW|s>Pq>Wg} x@|jƒD]4\}} | s¼||jkræ||jkræ|dkræq¼| j|ƒq¼W| S)NTz$endFr)r»r¼r¦rer‰ra) rZ terminatesr�rBÚ some_changeZplr�r=Z p_terminatesÚinfiniterÃr r r Úinfinite_cyclesˆs:       zGrammar.infinite_cyclescCsXg}xN|jD]D}|sq x8|jD].}||jkr||jkr|dkr|j||fƒqWq W|S)Nr)r¹r‰r¦r»ra)rr$r�r=r r r Úundefined_symbolsÈs  zGrammar.undefined_symbolscCs8g}x.|jjƒD] \}}|dkr| r|j|ƒqW|S)Nr)r»rera)rZ unused_tokr=rDr r r Úunused_terminalsÙs zGrammar.unused_terminalscCs<g}x2|jjƒD]$\}}|s|j|d}|j|ƒqW|S)Nr)r¼rer¦ra)rZ unused_prodr=rDr�r r r Ú unused_rulesès zGrammar.unused_rulescCsDg}x:|jD]0}||jkp"||jks |j||j|dfƒq W|S)Nr)r¿r»rÁra)rZunusedZtermnamer r r Úunused_precedenceùs  zGrammar.unused_precedencecCs`g}xV|D]D}d}x2|j|D]$}|dkr0d}q||kr|j|ƒqW|rLq Pq W|jdƒ|S)NFzT)r½ra)rZbetar$ÚxZx_produces_emptyrr r r Ú_first s  zGrammar._firstcCsÀ|jr |jSx|jD]}|g|j|<qWdg|jd<x|jD]}g|j|<qT) r¾r½rär¼r¹rrÍr‰rãrar) rrÖÚkÚdidaddr�rFÚBZfstZhasemptyrr r r Úcompute_followQs<     zGrammar.compute_followcCsÔxÎ|jD]Ä}|}d}g}x¬|t|ƒkr,d}ntt||ƒ}y|j|j|d|_Wnttfk rng|_YnXy|j|d|_Wntk ržd|_YnX||_ |s¬P|j |ƒ|}|d7}qW||_ qWdS)Nrrc) r¹rr¥r¦r‰r§r¨r©rªr rarŸ)rr�ZlastlrirFrŸZlrir r r Ú build_lritemsŒs.       zGrammar.build_lritems)Nrwr)N)N)rrrr rIrCrÈrÕr×rÚrÝrÞrßràrárãrärèrér r r r r¸Ás $  T @#% ;r¸c@s eZdZdS)Ú VersionErrorN)rrrr r r r rê°srêc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚLRTablecCsd|_d|_d|_d|_dS)N)rYr[rWÚ lr_method)rr r r r ´szLRTable.__init__cCs~t|tjƒr|}ntd|ƒtj|}|jtkr:tdƒ‚|j |_ |j |_ g|_ x|jD]}|j jt|ŽƒqXW|j|_|jS)Nz import %sz&yacc table file version is out of date)rAÚtypesÚ ModuleTypeÚexecrmÚmodulesZ _tabversionÚ__tabversion__rêZ _lr_actionrYZ_lr_gotor[rWZ_lr_productionsrar°Z _lr_methodrìZ _lr_signature)rÚmodulerr�r r r Ú read_tableºs     zLRTable.read_tablec CsÆy ddl}Wntk r(ddl}YnXtjj|ƒs:t‚t|dƒ}|j|ƒ}|tkr^t dƒ‚|j|ƒ|_ |j|ƒ}|j|ƒ|_ |j|ƒ|_ |j|ƒ}g|_ x|D]}|j jt|Žƒq¢W|jƒ|S)NrÚrbz&yacc table file version is out of date)ÚcPickleÚ ImportErrorÚpickleÚosÚpathÚexistsÚopenÚloadrñrêrìrYr[rWrar°Úclose)rÚfilenamer÷Zin_fZ tabversionÚ signaturerXr�r r r Ú read_pickleÎs(          zLRTable.read_picklecCsx|jD]}|j|ƒqWdS)N)rWr­)rr¬r�r r r Úbind_callablesês zLRTable.bind_callablesN)rrrr rórrr r r r rë³srëc CsTi}x|D] }d||<q Wg}i}x,|D]$}||dkr(t|||||||ƒq(W|S)Nr)Útraverse)ÚXÚRÚFPÚNrâr;ÚFr r r Údigraphs    rc Cs |j|ƒt|ƒ}|||<||ƒ||<||ƒ}xr|D]j} || dkrXt| ||||||ƒt|||| ƒ||<x.|j| gƒD]} | ||kr|||j| ƒq|Wq4W|||k�rt||d<||||d<|jƒ} x2| |k�rt||d<||||d<|jƒ} qÖWdS)Nrrcr}r}r}r})rarrÚminrÚMAXINTr~) rârr;rrrrÚdÚrelÚyÚaÚelementr r r rs(        rc@s eZdZdS)Ú LALRErrorN)rrrr r r r r)src@s’eZdZd$dd„Zdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zd%d d!„Zd&d"d#„ZdS)'ÚLRGeneratedTablerNcCsž|dkrtd|ƒ‚||_||_|s*tƒ}||_i|_i|_|j|_i|_ i|_ d|_ d|_ d|_ g|_g|_g|_|jjƒ|jjƒ|jjƒ|jƒdS)NÚSLRrzUnsupported method %sr)rr)rÚgrammarrìrÚlogrYr[r¹rWÚ lr_goto_cacheÚ lr0_cidhashÚ _add_countZ sr_conflictZ rr_conflictZ conflictsÚ sr_conflictsÚ rr_conflictsrérärèÚlr_parse_table)rrÚmethodrr r r r 4s,    zLRGeneratedTable.__init__cCsz|jd7_|dd…}d}xV|rtd}xH|D]@}x:|jD]0}t|ddƒ|jkrRq:|j|jƒ|j|_d}q:Wq.Wq W|S)NrcTFÚ lr0_addedr)rr§rKrar r)rÚIÚJrærGrâr r r Ú lr0_closureYs    zLRGeneratedTable.lr0_closurec CsÔ|jjt|ƒ|fƒ}|r|S|jj|ƒ}|s:i}||j|<g}xP|D]H}|j}|rD|j|krD|jt|ƒƒ}|s~i}||t|ƒ<|j|ƒ|}qDW|jdƒ}|s¾|r¶|j|ƒ}||d<n||d<||jt|ƒ|f<|S)Nz$end)rrr!r rªrar) rrrâÚgr=Zgsr�rBÚs1r r r Úlr0_gotoss2        zLRGeneratedTable.lr0_gotoc Csà|j|jjdjgƒg}d}x"|D]}||jt|ƒ<|d7}q"Wd}x–|t|ƒkrÚ||}|d7}i}x$|D]}x|jD] }d||<qxWqlWxJ|D]B}|j||ƒ}| s’t|ƒ|jkr¸q’t|ƒ|jt|ƒ<|j |ƒq’WqFW|S)Nrrc) rrr¹r rr!rržr"ra) rÚCrFrZasymsÚiir=râr r r r Ú lr0_items–s(      zLRGeneratedTable.lr0_itemscCs‚tƒ}d}xrxV|jjdd…D]B}|jdkr:|j|jƒqx$|jD]}||krBPqBW|j|jƒqWt|ƒ|krrPt|ƒ}q W|S)Nrrc)rÀrr¹rrÏrr‰)rÚnullableZ num_nullabler�r�r r r Úcompute_nullable_nonterminalsÎs     z.LRGeneratedTable.compute_nullable_nonterminalscCsrg}xht|ƒD]\\}}xR|D]J}|j|jdkr||j|jdf}|d|jjkr||kr|j|ƒqWqW|S)Nrc)rÍr²rr‰rr¼ra)rr#ÚtransZstatenorhr�r�r r r Úfind_nonterminal_transitionsës z-LRGeneratedTable.find_nonterminal_transitionsc Cs˜i}|\}}g}|j|||ƒ}xJ|D]B} | j| jdkr&| j| jd} | |jjkr&| |kr&|j| ƒq&W|dkr”||jjdjdkr”|jdƒ|S)Nrcrz$end)r"r²rr‰rr»rar¹) rr#r(r&Zdr_setrhrÚtermsr r�rr r r Ú dr_relationÿs   zLRGeneratedTable.dr_relationc Csvg}|\}}|j|||ƒ}|jjt|ƒdƒ}xB|D]:} | j| jdkr4| j| jd} | |kr4|j|| fƒq4W|S)Nrcr})r"rrr!r²rr‰ra) rr#r(Úemptyr rhrr rGr�rr r r Úreads_relation s zLRGeneratedTable.reads_relationcCsÞi}i}i}x|D] }d||<qW�x°|D�]¦\}} g} g} �xR||D�]D} | j| krZqH| j} |}x¦| | jdk�r | d} | j| }||f|kræ| d}xH|| jkrÖ| j||jjkr¼P| j||krÌP|d}qžW| j||fƒ|j|||ƒ}|jj t |ƒdƒ}qfWx€||D]t}|j| jk�r,�q|j| jk�r>�qd}xD||jk�rx|j|| j|dk�rlP|d}�qDW| j||fƒ�qWqHWx2| D]*}||k�r®g||<||j|| fƒ�q˜W| ||| f<q*W||fS)Nrcrr}) rr²rr‰rr»rar"rrr!)rr#r(r&ZlookdictZ includedictZdtransr�rhrZlookbZincludesr�r²rGZlir r"rFr r r Úcompute_lookback_includesC sX         z*LRGeneratedTable.compute_lookback_includescs0‡‡‡fdd„}‡‡‡fdd„}t|||ƒ}|S)Ncsˆjˆ|ˆƒS)N)r+)râ)r#r&rr r Ú” sz4LRGeneratedTable.compute_read_sets..csˆjˆ|ˆƒS)N)r-)râ)r#r&rr r r/• s)r)rr#Úntransr&rrrr )r#r&rr Úcompute_read_sets“ s z"LRGeneratedTable.compute_read_setscs(‡fdd„}‡fdd„}t|||ƒ}|S)Ncsˆ|S)Nr )râ)Úreadsetsr r r/ª sz6LRGeneratedTable.compute_follow_sets..cs ˆj|gƒS)N)r)râ)Úinclsetsr r r/« s)r)rr0r2r3rrrr )r3r2r Úcompute_follow_sets© s   z$LRGeneratedTable.compute_follow_setsc Csxxr|jƒD]f\}}x\|D]T\}}||jkr4g|j|<|j|gƒ}x*|D]"}||j|krF|j|j|ƒqFWqWq WdS)N)rer³rra) rZ lookbacksZ followsetr(Zlbrhr�rrr r r Úadd_lookaheads» s    zLRGeneratedTable.add_lookaheadscCsP|jƒ}|j|ƒ}|j|||ƒ}|j|||ƒ\}}|j|||ƒ}|j||ƒdS)N)r'r)r1r.r4r5)rr#r&r(r2ZlookdZincludedZ followsetsr r r Úadd_lalr_lookaheadsÍ s  z$LRGeneratedTable.add_lalr_lookaheadsc$ Cs<|jj}|jj}|j}|j}|j}i}|jd|jƒ|jƒ}|jdkrP|j |ƒd}�xà|D�]Ö} g} i} i} i} |jdƒ|jd|ƒ|jdƒx| D]}|jd|j |ƒq˜W|jdƒ�x| D�]þ}|j |j dk�r,|j dkrød| d <|| d <�qÂ|jdk�r|j|}n|jj|j }�x |D�]þ}| j||d |j |ffƒ| j|ƒ}|dk �rü|dk�rB|| |j j\}}|j|dƒ\}}||k�s¦||k�rþ|d k�rþ|j | |<|| |<| �rè| �rè|jd |ƒ|jj||dfƒ||j jd7_nB||k�r|dk�rd| |<n$|�sú|jd|ƒ|jj||dfƒn¸|dk�rî|| }||j }|j|jk�r¶|j | |<|| |<||}}||j jd7_||j jd8_n ||}}|jj|||fƒ|jd|| |j | |ƒn td|ƒ‚n(|j | |<|| |<||j jd7_�q&WqÂ|j }|j|d}||jjkrÂ|j| |ƒ}|jjt|ƒdƒ}|dkrÂ| j||d|fƒ| j|ƒ}|dk �r²|dk�r¼||k�r°td|ƒ‚nô|dk�r¤|| |j j\}}|j|dƒ\}}||k�s||k�rV|d k�rV|| |j jd8_|| |<|| |<|�s¢|jd|ƒ|jj||dfƒnL||k�rt|dk�rtd| |<n.| �r°| �r°|jd |ƒ|jj||dfƒn td|ƒ‚qÂ|| |<|| |<qÂWi}xF| D]>\}}}|| k�rÐ|| |k�rÐ|jd||ƒd|||f<�qÐW|jdƒd}xX| D]P\}}}|| k�r&|| |k �r&||f|k�r&|jd||ƒd}d|||f<�q&W|�rŠ|jdƒi} x6| D].}!x&|!jD]}"|"|jjk�r d| |"<�q W�q”WxL| D]D}#|j| |#ƒ}|jjt|ƒdƒ}|dk�rÌ|| |#<|jd|#|ƒ�qÌW| ||<| ||<| ||<|d7}q\WdS)NzParsing method: %srrrwzstate %dz (%d) %srczS'z$endzreduce using rule %d (%s)r—rÄz3 ! shift/reduce conflict for %s resolved as reduceÚreducerÅz2 ! shift/reduce conflict for %s resolved as shiftZshiftz= ! reduce/reduce conflict for %s resolved using rule %d (%s)zUnknown conflict in state %dzshift and go to state %dz Shift/shift conflict in state %dz %-15s %sz ! %-15s [ %s ]z" %-30s shift and go to state %d)r—rr})r—rr}) rr¹r¿r[rYrrrìr%r6r™rr²rr³r¾rarr�rr¯rœrrr‰r»r"rr!rržr¼)$rr¹r¿r\rZrZactionpr#ÚstrZactlistZ st_actionZ st_actionpZst_gotor�Zlaheadsrr"ZsprecZslevelZrprecZrlevelZoldpZppZchosenpZrejectprFr rGZ _actprintrÔZnot_usedZnkeysr$r=rBr r r rå s                                             zLRGeneratedTable.lr_parse_tablerwcCsÎt|tjƒrtdƒ‚|jdƒd}tjj||ƒd}�ylt|dƒ}|j dtjj |ƒt |j |fƒd}|�rti}xf|j jƒD]X\} } xN| jƒD]B\} } |j| ƒ} | s´ggf} | || <| dj| ƒ| dj| ƒqŽWq|W|j dƒxz|jƒD]n\}} |j d |ƒx | dD]} |j d | ƒ�q W|j d ƒx | dD]} |j d | ƒ�q8W|j d ƒqìW|j d ƒ|j dƒnJ|j dƒx4|j jƒD]&\}} |j d|d|d| fƒ�qŠW|j d ƒ|�rÔi}xl|jjƒD]^\} } xR| jƒD]F\} } |j| ƒ} | �sggf} | || <| dj| ƒ| dj| ƒ�qæW�qÔW|j dƒx||jƒD]p\}} |j d |ƒx | dD]} |j d | ƒ�qjW|j d ƒx | dD]} |j d | ƒ�q–W|j d ƒ�qJW|j d ƒ|j dƒnJ|j dƒx4|jjƒD]&\}} |j d|d|d| fƒ�qêW|j d ƒ|j dƒxd|jD]Z}|j�rl|j d|j|j|j|jtjj |jƒ|jfƒn|j dt|ƒ|j|jfƒ�q0W|j dƒ|jƒWn&tk �rÈ}z‚WYdd}~XnXdS)Nz"Won't overwrite existing tabmoduler±rcz.pyÚwzu # %s # This file is automatically generated. Do not edit. _tabversion = %r _lr_method = %r _lr_signature = %r rz _lr_action_items = {z%r:([z%r,z],[z]),z} z _lr_action = {} for _k, _v in _lr_action_items.items(): for _x,_y in zip(_v[0],_v[1]): if not _x in _lr_action: _lr_action[_x] = {} _lr_action[_x][_k] = _y del _lr_action_items z _lr_action = { z (%r,%r):%r,z _lr_goto_items = {z¹ _lr_goto = {} for _k, _v in _lr_goto_items.items(): for _x, _y in zip(_v[0], _v[1]): if not _x in _lr_goto: _lr_goto[_x] = {} _lr_goto[_x][_k] = _y del _lr_goto_items z _lr_goto = { z_lr_productions = [ z (%r,%r,%d,%r,%r,%d), z (%r,%r,%d,None,None,None), z] r})rArírîÚIOErrorÚsplitrørùr€rûr ÚbasenamerñrìrYrerrar[rWršr7rrr›rœrý)rÚ tabmoduleÚ outputdirrÿZbasemodulenamerþrZsmallerrer=ZndrrDrFrår�Úer r r Ú write_tableœ sŽ       "      "   "  zLRGeneratedTable.write_tablecCsy ddl}Wntk r(ddl}YnXt|dƒ�Ä}|jt|tƒ|j|j|tƒ|j||tƒ|j|j|tƒ|j|j |tƒg}x^|j D]T}|j rÄ|j |j |j|j|j tjj|jƒ|jfƒqŽ|j t |ƒ|j|jdddfƒqŽW|j||tƒWdQRXdS)NrÚwb)rõrör÷rûÚdumprñÚpickle_protocolrìrYr[rWršrar7rrrørùr<r›rœ)rrþrÿr÷ZoutfZoutpr�r r r Ú pickle_table s    ,"zLRGeneratedTable.pickle_table)rN)rwrw)rw)rrrr rr"r%r'r)r+r-r.r1r4r5r6rr@rDr r r r r3s" %#8+P8 zrcCs0tj|ƒ}|jjƒ}|j|jkr,|j|jƒ|S)N)rmÚ _getframeÚ f_globalsÚcopyÚf_localsÚupdate)ZlevelsrZldictr r r Úget_caller_module_dict9 s     rJc Csg}|jƒ}d}|}xê|D]â}|d7}|jƒ}|s4qyˆ|ddkrh|sVtd||fƒ‚|} |dd…} n@|d} | }|dd…} |d} | dkr¨| dkr¨td||fƒ‚|j||| | fƒWqtk rÒ‚Yqtk rútd |||jƒfƒ‚YqXqW|S) Nrcrú|z%s:%d: Misplaced '|'rÉú:z::=z!%s:%d: Syntax error. Expected ':'z%s:%d: Syntax error in rule %r)Ú splitlinesr;rUraÚ ExceptionÚstrip) Údocr›rœrZpstringsZlastpZdlineZpsr�rÐrÑZassignr r r Ú parse_grammarE s6    rQc@s†eZdZd dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS)!Ú ParserReflectNcCsL||_d|_d|_d|_tƒ|_g|_d|_|dkrBtt j ƒ|_ n||_ dS)NF) r¬rÖÚ error_funcÚtokensrÀrðrrrrmrnr)rr¬rr r r r o szParserReflect.__init__cCs,|jƒ|jƒ|jƒ|jƒ|jƒdS)N)Ú get_startÚget_error_funcÚ get_tokensÚget_precedenceÚget_pfunctions)rr r r Úget_all~ s zParserReflect.get_allcCs6|jƒ|jƒ|jƒ|jƒ|jƒ|jƒ|jS)N)Úvalidate_startÚvalidate_error_funcÚvalidate_tokensÚvalidate_precedenceÚvalidate_pfunctionsÚvalidate_modulesr)rr r r Ú validate_all† szParserReflect.validate_allcCsyddlm}Wn tk r0ddlm}YnXy˜|dd�}|jrV|j|jjdƒƒ|jr~|jdjdd„|jDƒƒjdƒƒ|jrœ|jd j|jƒjdƒƒx*|j D] }|d r¤|j|d jdƒƒq¤WWnt t fk râYnXt j |jƒƒ}tjdd k�r |jdƒ}|S) Nr)Úmd5F)Zusedforsecurityzlatin-1rwcSsg|]}dj|ƒ‘qS)rw)r€)r?r�r r r r@š sz+ParserReflect.signature..rxr)ZhashlibrbrörÖrIÚencoder�r€rTÚpfuncsÚ TypeErrorÚ ValueErrorÚbase64Z b16encodeÚdigestrmÚ version_infoÚdecode)rrbZsigrrhr r r rÿ� s* "  zParserReflect.signaturec Cs¸tjdƒ}x¨|jD]ž}ytj|ƒ\}}Wntk r>wYnXi}xjt|ƒD]^\}}|d7}|j|ƒ}|rN|jdƒ}|j |ƒ} | sŽ|||<qNtj |ƒ} |j j d| ||| ƒqNWqWdS)Nz\s*def\s+(p_[a-zA-Z_0-9]*)\(rcz;%s:%d: Function %s redefined. Previously defined on line %d) ÚreÚcompilerðÚinspectZgetsourcelinesr:rÍrÌÚgrouprÚ getsourcefilerr) rZfreròÚlinesZlinenZ counthashrœrÔrÚprevrþr r r r`³ s$       zParserReflect.validate_modulescCs|jjdƒ|_dS)NrÖ)r¬rrÖ)rr r r rUÌ szParserReflect.get_startcCs&|jdk r"t|jtƒs"|jjdƒdS)Nz'start' must be a string)rÖrAÚ string_typesrr)rr r r r[Ð s  zParserReflect.validate_startcCs|jjdƒ|_dS)NÚp_error)r¬rrS)rr r r rVÖ szParserReflect.get_error_funccCs |jrœt|jtjƒrd}n*t|jtjƒr.d}n|jjdƒd|_dS|jjj}|jjj }t j |jƒ}|j j |ƒ|jjj|}|dkrœ|jjd||ƒd|_dS)Nrrcz2'p_error' defined, but is not a function or methodTz$%s:%d: p_error() requires 1 argument)rSrAríÚ FunctionTypeÚ MethodTyperrÚ__code__Úco_firstlinenoÚ co_filenamermÚ getmodulerðrÏÚ co_argcount)rZismethodZelineZefileròZargcountr r r r\Ú s      z!ParserReflect.validate_error_funccCsn|jjdƒ}|s&|jjdƒd|_dSt|ttfƒsJ|jjdƒd|_dS|sd|jjdƒd|_dS||_dS)NrTzNo token list is definedTztokens must be a list or tupleztokens is empty)r¬rrrrArfr˜rT)rrTr r r rWð s    zParserReflect.get_tokenscCsZd|jkr |jjdƒd|_dStƒ}x.|jD]$}||krH|jjd|ƒ|j|ƒq.WdS)Nrz.Illegal token name 'error'. Is a reserved wordTzToken %r multiply defined)rTrrrÀrrÏ)rrµrBr r r r] s   zParserReflect.validate_tokenscCs|jjdƒ|_dS)Nr¡)r¬rr�)rr r r rX szParserReflect.get_precedencecCsg}|j�rt|jttfƒs2|jjdƒd|_dSxÐt|jƒD]Â\}}t|ttfƒsj|jjdƒd|_dSt|ƒdkrŽ|jjd|ƒd|_dS|d}t|tƒs¶|jjdƒd|_dSxH|dd…D]8}t|tƒsè|jjd ƒd|_dS|j |||dfƒqÄWq>W||_ dS) Nz"precedence must be a list or tupleTzBad precedence tablerÉz?Malformed precedence entry %s. Must be (assoc, term, ..., term)rz)precedence associativity must be a stringrcz precedence items must be strings) r�rArfr˜rrrÍrrrraÚpreclist)rr{rÇr�rÆrÃr r r r^ s6       z!ParserReflect.validate_precedencecCsŒg}xl|jjƒD]^\}}|jdƒ s|dkr.qt|tjtjfƒrt|d|jj ƒ}t j |ƒ}|j ||||j fƒqW|jdd„d�||_dS)NÚp_rsrwcSs |dt|dƒ|d|dfS)NrrcrÉr)r7)Z p_functionr r r r/B s z.ParserReflect.get_pfunctions..)Úkey)r¬reÚ startswithrArírtrurKrvrwrmryraÚ__doc__Úsortrd)rZ p_functionsrÚitemrœròr r r rY5 s zParserReflect.get_pfunctionscCs^g}t|jƒdkr(|jjdƒd|_dS�x"|jD�]\}}}}tj|ƒ}|j|}t|tj ƒrfd}nd}|j j |kr’|jjd|||j ƒd|_q2|j j |krº|jjd|||j ƒd|_q2|j sÖ|jjd|||j ƒq2y,t|||ƒ} x| D]} |j|| fƒqêWWn:tk �r<} z|jjt| ƒƒd|_WYdd} ~ XnX|jj|ƒq2W�x|jjƒD]ô\} } | jd ƒ�rˆt| tjtj fƒ�rˆ�q\| jd ƒ�r˜�q\| jd ƒ�r¼| d k�r¼|jjd | ƒt| tjƒ�rØ| j j dk�söt| tj ƒ�r\| jj j dk�r\| j �r\y8| j jd ƒ}|ddk�r4|jjd| j j| j j| ƒWntk �rLYnX�q\W||_dS)Nrz+no rules of the form p_rulename are definedTrÉrcz%%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|Zt_rsz%r not defined as a functionrxrLz9%s:%d: Possible grammar rule %r defined without p_ prefix)rrdrrrmror¬rArírurvrzrrrrQrarUr7rðrÏrer~rtÚ__func__r;rxrwr¨r)rrrœròrrPr›ršZreqargsZparsed_gr r?rBrDr r r r_J s\            z!ParserReflect.validate_pfunctions)N)rrrr rZrarÿr`rUr[rVr\rWr]rXr^rYr_r r r r rRn s  #rRc <Osd |dkr t}| rd}| dkr&ttjƒ} ˆrf‡fdd„tˆƒDƒ} t| ƒ}d|krntj|dj|d<ntdƒ}| dkrât |t j ƒrŠ|j}nLd|krœ|d}n:|j dƒ}dj |dd6…ƒ}td |ƒttj|dd ƒ}tjj|ƒ} |jd ƒ}|oøt |tƒ�rd|k�r|d|}|dk �r$||d <t|| d �}|jƒ|j�rHtdƒ‚|jƒ}yŠtƒ}| �rj|j| ƒ}n |j|ƒ}|�s„||k�rØy"|j|jƒt||j ƒ}|j!a!|St"k �rÖ}z| j#d|ƒWYdd}~XnXWnFt$k �r }z| j#t|ƒƒWYdd}~Xnt%k �r YnX| dk�r”|�rŽytt&tjj | |ƒdƒƒ} Wn<t'k �rŠ}z| j#d||fƒt(ƒ} WYdd}~XnXnt(ƒ} | j)dt*ƒd}|j+ƒ�r¶tdƒ‚|j �sÈ| j#dƒt,|j-ƒ}xZ|j.D]P\}}}y|j/|||ƒWn0t0k �r&}z| j#d|ƒWYdd}~XnX�qÚWxl|j1D]b\}}|\} }!}"}#y|j2|"|#|| |!ƒWn4t0k �r”}z| jd|ƒd}WYdd}~XnX�q6Wy&|dk�r¶|j3|j4ƒn |j3|ƒWn6t0k �rø}z| jt|ƒƒd}WYdd}~XnX|�rtdƒ‚|j5ƒ}$x*|$D]"\}%}&| jd|&j6|&j7|%ƒd}�qW|j8ƒ}'|'�r�| j)d ƒ| j)dƒ| j)d ƒx&|'D]}| j#d|ƒ| j)d|ƒ�qnW|�rÜ| j)d ƒ| j)dƒ| j)d ƒx&t9|j:ƒD]\}(})| j)d|(|)ƒ�qÀW|j;ƒ}*x$|*D]}&| j#d|&j6|&j7|&j<ƒ�qêWt=|'ƒdk�r"| j#dƒt=|'ƒdk�r@| j#dt=|'ƒƒt=|*ƒdk�rX| j#d ƒt=|*ƒdk�rv| j#d!t=|*ƒƒ|�rN| j)d ƒ| j)d"ƒ| j)d ƒt>|j?ƒ}+|+j@ƒx2|+D]*}| j)d#|d$j d%d„|j?|Dƒƒƒ�q²W| j)d ƒ| j)d&ƒ| j)d ƒt>|jAƒ},|,j@ƒx2|,D]*}-| j)d#|-d$j d'd„|jA|-Dƒƒƒ�qW| j)d ƒ|�r |jBƒ}.x|.D]}/| j#d(|/ƒ�qbW|jCƒ}0x|0D]}1| jd)|1ƒd}�q†W|jDƒ}2x$|2D]\}}| jd*||ƒd}�q®W|�rÜtdƒ‚|�rî| jEd+|ƒtF||| ƒ}|�rlt=|jGƒ}3|3dk�r | j#d,ƒn|3dk�r6| j#d-|3ƒt=|jHƒ}4|4dk�rV| j#d.ƒn|4dk�rl| j#d/|4ƒ|�r¤|jG�s‚|jH�r¤| j#d ƒ| j#d0ƒ| j#d ƒx&|jGD]\}5}6}7| j#d1|6|5|7ƒ�q¨WtIƒ}8x‚|jHD]x\}5}9}:|5tJ|9ƒtJ|:ƒf|8k�rü�qÖ| j#d2|5|9ƒ| j#d3|:|5ƒ| j#d2|5|9ƒ| j#d3|:|5ƒ|8jK|5tJ|9ƒtJ|:ƒfƒ�qÖWg};xL|jHD]B\}5}9}:|:jL �r^|:|;k�r^| j#d4|:ƒ| j#d4|:ƒ|;jM|:ƒ�q^W|�rôy|jN|| |ƒWn6t'k �rò}z| j#d5||fƒWYdd}~XnX| � rBy|jO| |ƒWn6t'k � r@}z| j#d5| |fƒWYdd}~XnX|j|jƒt||j ƒ}|j!a!|S)7Nrcsg|]}|tˆ|ƒf‘qSr )rK)r?rå)ròr r r@Ÿ szyacc..Ú__file__rrÉr±rcz import %srwÚ __package__rÖ)rzUnable to build parserz.There was a problem loading the table file: %rr9zCouldn't open %r. %sz5Created by PLY version %s (http://www.dabeaz.com/ply)Fz no p_error() function is definedz%sTz;%s:%d: Symbol %r used, but not defined as a token or a rulezUnused terminals:zToken %r defined, but not usedz %sr¸z Rule %-5d %sz$%s:%d: Rule %r defined, but not usedzThere is 1 unused tokenzThere are %d unused tokenszThere is 1 unused rulezThere are %d unused rulesz'Terminals, with rules where they appearz %-20s : %srxcSsg|] }t|ƒ‘qSr )r7)r?r=r r r r@E sz*Nonterminals, with rules where they appearcSsg|] }t|ƒ‘qSr )r7)r?r=r r r r@M szSymbol %r is unreachablez)Infinite recursion detected for symbol %rz0Precedence rule %r defined for unknown symbol %rzGenerating %s tablesz1 shift/reduce conflictz%d shift/reduce conflictsz1 reduce/reduce conflictz%d reduce/reduce conflictsz Conflicts:z7shift/reduce conflict for %s in state %d resolved as %sz;reduce/reduce conflict in state %d resolved using rule (%s)zrejected rule (%s) in state %dzRule (%s) is never reducedzCouldn't create %r. %sr})PÚ tab_modulerrmrnÚdirÚdictrðrƒrJrArírîr;r€rïrKrørùÚdirnamerr7rRrZrrrÿrërrórr¬rVrSrurNrrêrörûr:rrÚ __version__rar¸rTr{rÈr·rrÕr×rÖrÞr›rœrßrÍr¹ràrrrfr»r€r¼rÚrÝrárrrrrÀr!rÏr¯rar@rD)ZdebuglogZerrorlogZ picklefileZ_itemsr¬ZsrcfileÚpartsZpkgnameZpkgZpinforÿZlrZread_signaturer3r?ÚerrorsrrÃrÆrÇÚfuncnameZgramr›rœrÐrÑrÞrbr‰rßrBr�ràr*ZnontermsZnontermZ unreachableÚurÜÚinfZ unused_precZnum_srZnum_rrrhr•Z resolutionZalready_reportedZruleZrejectedZ warned_neverr )ròr ÚyaccŒ s„               "     $                    *     *                       $$  r�)>s’   4m H.rT    )