ž {yMaÔ5c@sŠddlmZmZmZGdd„dejƒZGdd„deƒZGdd„deƒZGdd „d eƒZ d d d „Z d S(i(ugrammarutokenutokenizecBs|EeZdZdS(u PgenGrammarN(u__name__u __module__u __qualname__(u __locals__((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu PgenGrammarsu PgenGrammarcBsò|EeZdZd%dd„Zdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zd%dd „Zd!d"„Zd#d$„Zd%S(&uParserGeneratorcCs d}|dkr*t|ƒ}|j}n||_||_tj|jƒ|_|j ƒ|j ƒ\|_ |_ |dk r‰|ƒni|_ |jƒdS(N(uNoneuopenucloseufilenameustreamutokenizeugenerate_tokensureadlineu generatorugettokenuparseudfasu startsymbolufirstu addfirstsets(uselfufilenameustreamu close_stream((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu__init__ s         uParserGenerator.__init__c CsŽtƒ}t|jjƒƒ}|jƒ|j|jƒ|jd|jƒx;|D]3}dt|j ƒ}||j |<||j |.closurecsT||krdSd||.addclosure(uDFAStateunfasetuarcsuNoneu setdefaultuitemsuappenduaddarc( uselfustartufinishuclosureustatesustateuarcsunfastateulabelunextunfasetust((u addclosureu7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyumake_dfa©s"  $  uParserGenerator.make_dfac CsÛtd|ƒ|g}x¾t|ƒD]°\}}td|||krJdpMdƒx|jD]t\}}||kr…|j|ƒ} nt|ƒ} |j|ƒ|dkr»td| ƒq[td|| fƒq[Wq#WdS(NuDump of NFA foru Stateu(final)uu -> %du %s -> %d(uprintu enumerateuarcsuindexulenuappenduNone( uselfunameustartufinishutodouiustateulabelunextuj((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyudump_nfaÍs  "    uParserGenerator.dump_nfac CsŠtd|ƒxvt|ƒD]h\}}td||jr>dpAdƒx:|jjƒD])\}}td||j|ƒfƒqUWqWdS(NuDump of DFA foru Stateu(final)uu %s -> %d(uprintu enumerateuisfinaluarcsuitemsuindex(uselfunameudfauiustateulabelunext((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyudump_dfaÝs  uParserGenerator.dump_dfacCs¦d}x™|r¡d}x†t|ƒD]x\}}xit|dt|ƒƒD]N}||}||krH||=x|D]}|j||ƒqrWd}PqHqHWq"Wq WdS(NiTF(uTrueuFalseu enumerateurangeulenu unifystate(uselfudfauchangesuiustate_iujustate_justate((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu simplify_dfaäs     uParserGenerator.simplify_dfacCs±|jƒ\}}|jdkr+||fStƒ}tƒ}|j|ƒ|j|ƒxI|jdkr¢|jƒ|jƒ\}}|j|ƒ|j|ƒqZW||fSdS(Nu|(u parse_altuvalueuNFAStateuaddarcugettoken(uselfuauzuaauzz((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu parse_rhsùs       uParserGenerator.parse_rhscCsr|jƒ\}}xS|jdks?|jtjtjfkrg|jƒ\}}|j|ƒ|}qW||fS(Nu(u[(u(u[(u parse_itemuvalueutypeutokenuNAMEuSTRINGuaddarc(uselfuaubucud((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu parse_alt s  uParserGenerator.parse_altcCsÁ|jdkrU|jƒ|jƒ\}}|jtjdƒ|j|ƒ||fS|jƒ\}}|j}|dkr†||fS|jƒ|j|ƒ|dkr³||fS||fSdS(Nu[u]u+u*(u+u*(uvalueugettokenu parse_rhsuexpectutokenuOPuaddarcu parse_atom(uselfuauzuvalue((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu parse_items          uParserGenerator.parse_itemcCs¹|jdkrH|jƒ|jƒ\}}|jtjdƒ||fS|jtjtjfkrœt ƒ}t ƒ}|j ||jƒ|jƒ||fS|j d|j|jƒdS(Nu(u)u+expected (...) or NAME or STRING, got %s/%s( uvalueugettokenu parse_rhsuexpectutokenuOPutypeuNAMEuSTRINGuNFAStateuaddarcu raise_error(uselfuauz((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu parse_atom(s       uParserGenerator.parse_atomcCsc|j|ks*|dk rL|j|krL|jd|||j|jƒn|j}|jƒ|S(Nuexpected %s/%s, got %s/%s(utypeuNoneuvalueu raise_errorugettoken(uselfutypeuvalue((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyuexpect9s *   uParserGenerator.expectcCsit|jƒ}x/|dtjtjfkr@t|jƒ}qW|\|_|_|_|_|_ dS(Ni( unextu generatorutokenizeuCOMMENTuNLutypeuvalueubeginuenduline(uselfutup((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyugettokenAsuParserGenerator.gettokenc Gsz|rGy||}WqGdj|gttt|ƒƒƒ}YqGXnt||j|jd|jd|jfƒ‚dS(Nu ii(ujoinulistumapustru SyntaxErrorufilenameuenduline(uselfumsguargs((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu raise_errorHs-uParserGenerator.raise_errorN(u__name__u __module__u __qualname__uNoneu__init__u make_grammaru make_firstu make_labelu addfirstsetsu calcfirstuparseumake_dfaudump_nfaudump_dfau simplify_dfau parse_rhsu parse_altu parse_itemu parse_atomuexpectugettokenu raise_error(u __locals__((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyuParserGenerator s$  .    $       uParserGeneratorcBs/|EeZdZdd„Zddd„ZdS(uNFAStatecCs g|_dS(N(uarcs(uself((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu__init__SsuNFAState.__init__cCs|jj||fƒdS(N(uarcsuappend(uselfunextulabel((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyuaddarcVsuNFAState.addarcN(u__name__u __module__u __qualname__u__init__uNoneuaddarc(u __locals__((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyuNFAStateQs uNFAStatecBsJ|EeZdZdd„Zdd„Zdd„Zdd„Zd Zd S( uDFAStatecCs%||_||k|_i|_dS(N(unfasetuisfinaluarcs(uselfunfasetufinal((u7/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/pgen.pyu__init__]s uDFAState.__init__cCs||j|s ÿH %