3
/*ä^5  ã               @   sÂ   d Z ddlmZ ddlmZ ddlmZ er:ddlZejZddl	m
Z
 e
jZG dd„ deƒZed	kr¾dd
lmZ edkr²ddlZejƒ jZeƒ jeƒ\ZZx"eD ]Zeeƒ q W nede ƒ dS )zs
Python 2.7 bytecode ingester.

This massages tokenized 2.7 bytecode to make it more amenable for
grammar parsing.
é    )Úprint_function)ÚScanner2)ÚPYTHON3N)Ú	opcode_27c                   s   e Zd Zd‡ fdd„	Z‡  ZS )Ú	Scanner27Fc                s^  t t| ƒjd||ƒ t| jt| jj| jj| jj	| jj
| jj| jj| jj| jj| jjg	ƒB ƒ| _t| jj| jj| jj| jj| jj| jj| jj| jj| jj| jj| jj| jj| jj| jjgƒ}|rÌ|j| jjƒ t|ƒ| _ t| jj!| jj"| jjgƒ| _#t| jj$| jj%| jj&| jj'| jj(| jj| jj	| jj
| jj| jj)| jj| jj*gƒ| _+t| jj,| jj-gƒ| _.d S )Ngš™™™™™@)/Úsuperr   Ú__init__Ú	frozensetZstatement_opcodesÚsetZopcÚ
SETUP_WITHZSTORE_SLICE_0ZSTORE_SLICE_1ZSTORE_SLICE_2ZSTORE_SLICE_3ZDELETE_SLICE_0ZDELETE_SLICE_1ZDELETE_SLICE_2ZDELETE_SLICE_3Ú
BUILD_LISTÚBUILD_TUPLEÚBUILD_SLICEÚUNPACK_SEQUENCEÚMAKE_FUNCTIONÚCALL_FUNCTIONZMAKE_CLOSUREZCALL_FUNCTION_VARÚCALL_FUNCTION_KWZCALL_FUNCTION_VAR_KWZDUP_TOPXÚRAISE_VARARGSÚ	BUILD_SETÚ	BUILD_MAPÚaddZCALL_METHODÚvarargs_opsÚSETUP_EXCEPTÚSETUP_FINALLYZ	setup_opsÚ
STORE_FASTÚ
STORE_NAMEÚSTORE_GLOBALÚSTORE_DEREFÚ
STORE_ATTRÚSTORE_SUBSCRÚJUMP_ABSOLUTEZdesignator_opsÚJUMP_IF_FALSE_OR_POPÚJUMP_IF_TRUE_OR_POPZpop_jump_if_or_pop)ÚselfZshow_asmZis_pypyr   )Ú	__class__© úZ/home/psgendb/BIRCHDEV/python/lib/python3.6/site-packages/uncompyle6/scanners/scanner27.pyr      s>    
zScanner27.__init__)FF)Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r%   r%   )r$   r&   r      s   3r   Ú__main__)ÚPYTHON_VERSIONgš™™™™™@z'Need to be Python 2.7 to demo; I am %s.)Ú__doc__Ú
__future__r   Zuncompyle6.scanners.scanner2r   Ú
uncompyle6r   ÚsysÚinternZxdis.opcodesr   ZJUMP_OPsZJUMP_OPSr   r'   r,   ÚinspectÚcurrentframeÚf_codeÚcoZingestÚtokensZ	customizeÚtÚprintr%   r%   r%   r&   Ú<module>   s(   6

