MINI MINI MANI MO

Path : /usr/lib64/python2.7/lib2to3/pgen2/
File Upload :
Current File : //usr/lib64/python2.7/lib2to3/pgen2/driver.pyo

ó
Eì]c@sædZdZddgZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZm
Z
defd„ƒYZd	deedd
„Zd„Zd„Zed
krâejeeƒƒƒndS(sZParser driver.

This provides a high-level interface to parse a file into a syntax tree.

s#Guido van Rossum <guido@python.org>tDrivertload_grammariÿÿÿÿNi(tgrammartparsettokenttokenizetpgencBsVeZddd„Zed„Zed„Zed„Zded„Zed„Z	RS(cCs:||_|dkr$tjƒ}n||_||_dS(N(RtNonetloggingt	getLoggertloggertconvert(tselfRRR
((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pyt__init__s
		cCstj|j|jƒ}|jƒd}d}d	}}}}	}
d}x¿|D]™}|\}}}}	}
|||fkrà|\}
}||
kr·|d|
|7}|
}d}n||krà||
||!7}|}qàn|tjtjfkr6||7}|	\}}|j	dƒrQ|d7}d}qQqQn|t
jkrUtj|}n|r~|j
jdt
j|||ƒn|j||||fƒr¶|r²|j
jdƒnPnd}|	\}}|j	dƒrQ|d7}d}qQqQWtjd||||fƒ‚|jS(
s4Parse a series of tokens and return the syntax tree.iius
s%s %r (prefix=%r)sStop.tsincomplete inputN(RtParserRRtsetupRRtCOMMENTtNLtendswithRtOPtopmapR
tdebugttok_nametaddtokent
ParseErrortrootnode(RttokensRtptlinenotcolumnttypetvaluetstarttendt	line_texttprefixt	quintuplets_linenots_column((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pytparse_tokens&sR

	

	

	cCs"tj|jƒ}|j||ƒS(s*Parse a stream and return the syntax tree.(Rtgenerate_tokenstreadlineR((RtstreamRR((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pytparse_stream_rawVscCs|j||ƒS(s*Parse a stream and return the syntax tree.(R,(RR+R((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pytparse_stream[scCs;tj|d|ƒ}z|j||ƒSWd|jƒXdS(s(Parse a file and return the syntax tree.trN(tcodecstopenR-tclose(RtfilenametencodingRR+((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pyt
parse_file_scCs+tjtj|ƒjƒ}|j||ƒS(s*Parse a string and return the syntax tree.(RR)tStringIOR*R((RttextRR((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pytparse_stringgsN(
t__name__t
__module__RR
tFalseR(R,R-R4R7(((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pyRs0sGrammar.txtc	Cs*|dkrtjƒ}n|dkr~tjj|ƒ\}}|dkrTd}n||djttt	j
ƒƒd}n|s”t||ƒr
|jd|ƒt
j|ƒ}|r&|jd|ƒy|j|ƒWq
tk
r}|jdt|ƒƒq
Xq&ntjƒ}|j|ƒ|S(	s'Load the grammar (maybe from a pickle).s.txtRt.s.pickles!Generating grammar tables from %ssWriting grammar tables to %ssWriting failed:N(RRR	tostpathtsplitexttjointmaptstrtsystversion_infot_newertinfoRtgenerate_grammartdumptIOErrorRtGrammartload(	tgttgptsavetforceR
theadttailtgte((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pyRms&	*!
cCsNtjj|ƒstStjj|ƒs,tStjj|ƒtjj|ƒkS(s0Inquire whether file a was written since file b.(R<R=texistsR:tTruetgetmtime(tatb((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pyRD†s
cGsc|stjd}ntjdtjdtjddƒx$|D]}t|dtdtƒq?WtS(sMain program, when run as a script: produce grammar pickle files.

    Calls load_grammar for each argument, a path to a grammar text file.
    itlevelR+tformats%(message)sRMRN(RBtargvRtbasicConfigtINFOtstdoutRRT(targsRK((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pytmains
t__main__(t__doc__t
__author__t__all__R/R<RR5RBRRRRRRtobjectRRRTR:RRDR_R8texittint(((s,/usr/lib64/python2.7/lib2to3/pgen2/driver.pyt<module>s(P			


OHA YOOOO