3
2)ä^‚  ã               @   s   d Z dd„ ZdS )a,  
Python parse tree checker.

Our rules sometimes give erroneous results. Until we have perfect rules,
This checker will catch mistakes in decompilation we've made.

FIXME idea: extend parsing system to do same kinds of checks or nonterminal
before reduction and don't reduce when there is a problem.
c             C   sÖ   | d krd S |p2| j jdƒp2| j jdƒp2| j jdƒ}| j dkrx| d d dkrxt| ƒ}dd	j|jd
ƒƒ d
 }|j|ƒ xX| D ]P}| r¸|j dkr¸t|ƒ}dd	j|jd
ƒƒ }|j|ƒ t|dƒr~t|||ƒ q~W d S )NÚforÚwhileZ	async_forÚaug_assign1Úaug_assign2é    Úandz6
# improper augmented assigment (e.g. +=, *=, ...):
#	z
# Ú
ÚcontinueÚbreakz
# not in loop:
#	Z	__repr1__)r   r   )r   r	   )ÚkindÚ
startswithÚstrÚjoinÚsplitÚappendÚhasattrÚchecker)ÚastZin_loopÚerrorsÚtextZ
error_textÚnode© r   ú[/home/psgendb/BIRCHDEV/python/lib/python3.6/site-packages/uncompyle6/semantics/check_ast.pyr      s"    



r   N)Ú__doc__r   r   r   r   r   Ú<module>	   s   