Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
3 \„ã@s dZdZddlZddlmZmZmZmZmZm Z ddl m Z ddl m Z Gdd „d e ƒZd d „ZGd d „d eƒZejejejddœZdd„Zdd„Zdd„ZdS)z�Pattern compiler. The grammar is taken from PatternGrammar.txt. The compiler compiles a pattern to a pytree.*Pattern instance. z#Guido van Rossum éNé)ÚdriverÚliteralsÚtokenÚtokenizeÚparseÚgrammar)Úpytree)Úpygramc@s eZdZdS)ÚPatternSyntaxErrorN)Ú__name__Ú __module__Ú __qualname__©rrú/usr/lib64/python3.6/patcomp.pyr sr c csPtjtjtjh}tjtj|ƒjƒ}x(|D] }|\}}}}}||kr(|Vq(WdS)z6Tokenizes a string suppressing significant whitespace.N) rÚNEWLINEÚINDENTÚDEDENTrÚgenerate_tokensÚioÚStringIOÚreadline) ÚinputÚskipÚtokensZ quintupleÚtypeÚvalueÚstartÚendZ line_textrrrÚtokenize_wrappers  rc@s:eZdZd dd„Zddd„Zdd„Zdd d „Zd d „ZdS)ÚPatternCompilerNcCsZ|dkrtj|_tj|_ntj|ƒ|_tj|jƒ|_tj|_ tj |_ tj |jt d�|_dS)z^Initializer. Takes an optional alternative filename for the pattern grammar. N)Zconvert)r Zpattern_grammarrZpattern_symbolsÚsymsrZ load_grammarZSymbolsZpython_grammarZ pygrammarZpython_symbolsÚpysymsZDriverÚpattern_convert)ÚselfZ grammar_filerrrÚ__init__(s  zPatternCompiler.__init__FcCsnt|ƒ}y|jj||d�}Wn0tjk rL}ztt|ƒƒ‚WYdd}~XnX|r`|j|ƒ|fS|j|ƒSdS)z=Compiles a pattern string to a nested pytree.*Pattern object.)ÚdebugN)rrZ parse_tokensrZ ParseErrorr ÚstrÚ compile_node)r$rr&Z with_treerÚrootÚerrrÚcompile_pattern7szPatternCompiler.compile_patternc s°|jˆjjkr|jd}|jˆjjkrz‡fdd„|jddd…Dƒ}t|ƒdkrX|dStjdd„|Dƒddd�}|jƒS|jˆjj krʇfd d„|jDƒ}t|ƒdkr°|dStj|gddd�}|jƒS|jˆjj krþˆj |jdd…ƒ}tj |ƒ}|jƒS|jˆjj k�st‚d}|j}t|ƒd k�rR|djtjk�rR|dj}|dd…}d}t|ƒdk�rŒ|d jˆjjk�rŒ|d}|dd…}ˆj ||ƒ}|dk �r˜|jˆjjk�s¶t‚|j} | d} | jtjk�rÞd} tj} nŠ| jtjk�rød} tj} np| jtjk�r^| djtjk�st‚t| ƒdk�s.t‚ˆj| dƒ} } t| ƒd k�rhˆj| d ƒ} n d �sht‚| dk�s|| dk�r˜|jƒ}tj|gg| | d�}|dk �r¨||_|jƒS)zXCompiles a node, recursively. This is one big switch on the node type. rcsg|]}ˆj|ƒ‘qSr)r()Ú.0Úch)r$rrú Osz0PatternCompiler.compile_node..NércSsg|] }|g‘qSrr)r,Úarrrr.Rs)ÚminÚmaxcsg|]}ˆj|ƒ‘qSr)r()r,r-)r$rrr.VsééFéÿÿÿÿr5r5r5)r3r4)rr!ZMatcherÚchildrenZ AlternativesÚlenr ÚWildcardPatternÚoptimizeZ AlternativeZ NegatedUnitÚ compile_basicZNegatedPatternZUnitÚAssertionErrorrÚEQUALrZRepeaterÚSTARZHUGEÚPLUSÚLBRACEÚRBRACEÚget_intÚname) r$ÚnodeZaltsÚpZunitsÚpatternrBÚnodesÚrepeatr6Zchildr1r2r)r$rr(Csh       "     zPatternCompiler.compile_nodecCsnt|ƒdkst‚|d}|jtjkrDttj|jƒƒ}t j t |ƒ|ƒS|jtj k�r|j}|j ƒr–|tkrttd|ƒ‚|dd…rˆtdƒ‚t j t|ƒS|dkr¤d}n,|jdƒsÐt|j|dƒ}|dkrÐtd|ƒ‚|dd…rô|j|djdƒg}nd}t j||ƒSnV|jdk�r |j|dƒS|jd k�r\|dk�s:t‚|j|dƒ}t j|ggddd �Sd �sjt|ƒ‚dS) NrrzInvalid token: %rzCan't have details for tokenÚanyÚ_zInvalid symbol: %rú(ú[)r1r2F)r7r;rrÚSTRINGr'rZ evalStringrr Z LeafPatternÚ_type_of_literalÚNAMEÚisupperÚ TOKEN_MAPr Ú startswithÚgetattrr"r(r6Z NodePatternr8)r$rFrGrCrrZcontentÚ subpatternrrrr:Šs<        zPatternCompiler.compile_basiccCs|jtjkst‚t|jƒS)N)rrÚNUMBERr;Úintr)r$rCrrrrA­szPatternCompiler.get_int)N)FF)N)r r rr%r+r(r:rArrrrr &s   G #r )rNrLrTZTOKENcCs.|djƒrtjS|tjkr&tj|SdSdS)Nr)ÚisalpharrNrZopmap)rrrrrM¹s    rMcCs>|\}}}}|s||jkr*tj|||d�Stj|||d�SdS)z9Converts raw node information to a Node or Leaf instance.)ÚcontextN)Z number2symbolr ZNodeZLeaf)rZ raw_node_inforrrWr6rrrr#Âs r#cCs tƒj|ƒS)N)r r+)rErrrr+Ësr+)Ú__doc__Ú __author__rZpgen2rrrrrrÚr r Ú Exceptionr rÚobjectr rNrLrTrPrMr#r+rrrrÚ s