Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/PyParse.cpython-35.opt-2.pyc



]O@sddlZddlZddlmZed\ZZZZZ	ej
dejejBj
Zej
dejjZej
dejejBjZej
dejjZej
dejjZej
d	ejjZGd
ddeZGdd
d
ZdS)N)Mappingz
    ^
    [ \t]*
    (?: while
    |   else
    |   def
    |   return
    |   assert
    |   break
    |   class
    |   continue
    |   elif
    |   try
    |   except
    |   raise
    |   import
    |   yield
    )
    \b
z'
    [ \t]*
    (?: \# \S .* )?
    \n
aK
    \""" [^"\\]* (?:
                     (?: \\. | "(?!"") )
                     [^"\\]*
                 )*
    (?: \""" )?

|   " [^"\\\n]* (?: \\. [^"\\\n]* )* "?

|   ''' [^'\\]* (?:
                   (?: \\. | '(?!'') )
                   [^'\\]*
                )*
    (?: ''' )?

|   ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
zM
    [ \t]*
    [^\s#\\]    # if we match, m.end()-1 is the interesting char
z_
    \s*
    (?: return
    |   break
    |   continue
    |   raise
    |   pass
    )
    \b
z
    [^[\](){}#'"\\]+
c@sOeZdZddZddZddZddZd	d
dZd	S)StringTranslatePseudoMappingcCs4||_||_|j|dd}||_dS)NcSs
|||S)N)key_getZ_defaultrr,/opt/alt/python35/lib64/python3.5/PyParse.pyrysz3StringTranslatePseudoMapping.__init__.<locals>._get)
_non_defaultsZ_default_valuegetr)selfZnon_defaults
default_valuerrrr__init__us		z%StringTranslatePseudoMapping.__init__cCs
|j|S)N)r)ritemrrr__getitem__}sz(StringTranslatePseudoMapping.__getitem__cCs
t|jS)N)lenr	)rrrr__len__sz$StringTranslatePseudoMapping.__len__cCs
t|jS)N)iterr	)rrrr__iter__sz%StringTranslatePseudoMapping.__iter__NcCs
|j|S)N)r)rrdefaultrrrr
sz StringTranslatePseudoMapping.get)__name__
__module____qualname__r
rrrr
rrrrr`s
rc@sBeZdZddZddZdeddZdd	ZiZej	d
ddDej	d
ddDej	dddDe
ededZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$ZdZd%d&ZdZd'd(ZdS))ParsercCs||_||_dS)N)indentwidthtabwidth)rrrrrrr
s	zParser.__init__cCs||_d|_dS)Nr)strstudy_level)rsrrrset_strs	zParser.set_strNc
CsI|jd}}|sdSt|}xtdD]}|jdd|}|dkr[P|jdd|d}||||}|r||jr|j}P|}q3W|dkr||}|r||jr|j}|S|d}xA|||}|r@|j\}	}||	sA|	}qPqW|S)Nrz:
r
)rrrangerfindstartspan)
rZis_char_in_string_synchrerposlimitZtriesimrrrrfind_good_parse_starts8
	
	zParser.find_good_parse_startcCs&|dkr"|j|d|_dS)Nr)r)rlorrrset_losz
Parser.set_loccs'|]}t|tdfVqdS)(N)ord).0crrr	<genexpr>szParser.<genexpr>z({[ccs'|]}t|tdfVqdS))N)r.)r/r0rrrr1sz)}]ccs'|]}t|t|fVqdS)N)r.)r/r0rrrr1sz"'\
#rxc
Csp|jdkrdSd|_|j}|j|j}|jdd}|jdd}|jdd}|jdd}|jdd}t}d}}dg|_}|j}dt|}}xO||kr||}	|d}|	dkrq|	dkr.|d}|dkr||q|	d	krG|d}q|	d
krf|r|d}q|	dks~|	dkr|	}
||d|d
|
dkr|
d}
|}t|
d}||}x||kr||}	|d}|	dkrq||d|||
kr+||}P|	dkrg|d}|dkr|dkrc||Pq|	dkr||dkr|d}|d}qqW|d|krt	}qt
}q|	dkr|jd|}q||dkr|d}|d|krt}|d}qW|t	krI|t
krI|dkrIt
}||_|d|krl||dS)Nr Zxxxxxxxxr3ZxxxxZxxz
xrrr-r2"'\#)rr	translate_tranreplaceC_NONE	goodlinesappendrC_STRING_FIRST_LINEC_STRING_NEXT_LINESfindC_BACKSLASH	C_BRACKETcontinuation)
rrrFlevellnor?Z	push_goodr(nchquoteZfirstlnowrrr_study1s		
	





"








	
	zParser._study1cCs|j|jS)N)rMrF)rrrrget_continuation_typegs
zParser.get_continuation_typecCsg|jdkrdS|jd|_|j|j}}t|d}t|}xp|r|}x@t||d||D]#}|jdd|dd}qWt||r|d}qXPqXW|dkr|}|||_|_	d}g}|j
}	|dfg}
x$||kr7t|||}|r|j}|d}x*||krz||dkrz|d}qQW||kr||}|}||krP||}
|
dkr|	||
j
|t|f|
}|d}q|
dkr5|r	|d=|
}|d}|
j
|t|fq|
d	ksM|
d
kr|
j
|t|df|
}t
|||j}|
j
|t|fq|
dkr|
j
|t|df|jd||d}|
j
|t|fq|d}||dkr*|
||}|d}qW||_|rT|d
|_t|
|_dS)Nr6r rrz 	
z([{z)]}r4r5r9r:r:)rrMrr?rr!r"_junkre
stmt_startstmt_endr@_chew_ordinaryreend_match_stringrerClastchlastopenbracketpostuplestmt_bracketing)rrr?r(pqZnothingrVstackZ
push_stackZ
bracketingr)ZnewprJrrr_study2|s
		"!
	






	
zParser._study2cCs|j|j}|j}t|}|jdd|d}}|d}x||krt||}|r|jd}d}PqR|jd|d}}qRW|}}x||dkr|d}qW|j}t|||j	|j
|S)Nrrr z 	)r]rWrrr"_itemrerTrCr
expandtabsr)rjrrIZorigir(r)extrarrrcompute_bracket_indents$
		

	zParser.compute_bracket_indentcCs#|j|j}|d|dS)Nr r6r:)rMr?)rr?rrrget_num_lines_in_stmts
	zParser.get_num_lines_in_stmtcCs|j|j}|j}x||dkr<|d}qW|}|jd|d}d}}x	||krn||}|dkr|d}|d}qf|dkr|r|d}|d}qf|dks|dkrt|||j}qf|d	krPqf|dkra|d
kra|dksC||ddkra||dd
krad}Pqf|d}qfW|r|d}tjd|||dk}|s|}x||d
kr|d}qWt||j|j	|j
dS)Nz 	r rrz([{z)]}r4r5r9=z=<>!z\s*\\z 	
)r]rrQrCrUrTrematchrr_r)rrr(startposendposfoundrGrJrrrcompute_backslash_indentsH
		





 
"zParser.compute_backslash_indentcCsg|j|j|j}}|}|j}x*||krX||dkrX|d}q/W|||S)Nz 	r )r]rQrRr)rr(rIr`rrrrget_base_indent_stringFs
	zParser.get_base_indent_stringcCs|j|jdkS)N:)r]rV)rrrris_block_openerQs
zParser.is_block_openercCs#|jt|j|jdk	S)N)r]_closererrQ)rrrris_block_closerWs
zParser.is_block_closercCs|j|jS)N)r]rW)rrrrget_last_open_bracket_pos^s
z Parser.get_last_open_bracket_poscCs|j|jS)N)r]rY)rrrrget_last_stmt_bracketinggs
zParser.get_last_stmt_bracketing)rrrr
rr%r*r,r<updaterr.rMrNr]rbrdrkrlrnrprWrqrYrrrrrrrs.3	m	5r)rfsyscollectionsrr!r>rDrArBrEcompileVERBOSE	MULTILINEsearchr%rgrPDOTALLrUr^rorSrrrrrr<module>s"	*
Back to Directory File Manager