Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/asm.cpython-37.opt-1.pyc

B

ɽ�\�r�@s\dZddlZddlmZmZmZmZmZmZddl	m
Z
mZddlm
Z
ddlmZmZmZmZmZmZmZmZmZddd	d
ddd
dddddgZGdd�de�Zdd�ZGdd�de�ZGdd	�d	e�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd
�d
e�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#Gdd�de�Z$Gd d�de�Z%dS)!z�
    pygments.lexers.asm
    ~~~~~~~~~~~~~~~~~~~

    Lexers for assembly languages.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�bygroups�using�words�DelegatingLexer)�CppLexer�CLexer)�DLexer)	�Text�Name�Number�String�Comment�Punctuation�Other�Keyword�Operator�GasLexer�ObjdumpLexer�
DObjdumpLexer�CppObjdumpLexer�
CObjdumpLexer�
HsailLexer�	LlvmLexer�	NasmLexer�NasmObjdumpLexer�	TasmLexer�	Ca65Lexer�Dasm16Lexerc@s�eZdZdZdZddgZddgZdgZdZd	Z	d
e	de	dZ
d
Zed�e
de
jfde
e
jdfde
jfe
e
jdfdefge
e
jfeefde
e
jfeejfdedfdedfed�ed�gde
deejeee
je�fde
dedeejeee
jeeje�fe
e
jfeejfde
e
jfdeejfdejfdedfdedfed�ed�gdefd efdefgd!efgd"�Zd#d$�Zd%S)&rz'
    For Gas (AT&T) assembly code.
    ZGASZgas�asmz*.sz*.Sz
text/x-gasz
"(\\"|[^"])*"z[\w$.@-]z
(?:[a-zA-Z$_]z*|\.z+)z(?:0[xX][a-zA-Z0-9]+|\d+)�
whitespace�:z\.zdirective-argszlock|rep(n?z)?|data\d+zinstruction-argsz[\r\n]+�@z#popz	[;#].*?\n�punctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])(�%�$z
$'(.|\\')'z\nz\s+z[-*,.()\[\]!:]+)�rootzdirective-argszinstruction-argsr!r$cCs,t�d|tj�rdSt�d|tj�r(dSdS)Nz^\.(text|data|section)Tz^\.\w+g�������?)�re�match�M)�text�r,�D/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/asm.py�analyse_text_szGasLexer.analyse_textN)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�string�char�
identifier�numberrr�LabelZ	Attribute�Functionr�Constantrr
�Integerrr�Hexr�Variable�Char�tokensr.r,r,r,r-rsV

cCsRd}ddttjttt�fdtttjt�fd|dttjtttjttjt�fd|dttjtttjt�fd|d	||d
tttjttjtt	|��fd|d	||dtttjttjtt�fd|d	||dtttjttj�fd
tfd|d|dtttjttj
ttjttj�fd|dtttjttj
ttj�fdtfgiS)z;
    Common objdump lexer tokens to wrap an ASM lexer.
    z[0-9A-Za-z]r'z(.*?)(:)( +file format )(.*?)$z"(Disassembly of section )(.*?)(:)$�(z++)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$z+)( )(<)(.*?)(>:)$z( *)(z+:)(\t)((?:z )+)( *	)([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z	\t\.\.\.$z	(\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)
rrr;rrrr
r?r<rZPropertyr=r)Z	asm_lexerZhex_rer,r,r-�_objdump_lexer_tokensfs6



rDc@s.eZdZdZdZdgZdgZdgZee	�Z
dS)rz)
    For the output of 'objdump -dr'
    Zobjdumpz	*.objdumpztext/x-objdumpN)r/r0r1r2r3r4r5r6rDrrBr,r,r,r-r�scs6eZdZdZdZdgZdgZdgZ�fdd�Z�Z	S)rz=
    For the output of 'objdump -Sr on compiled D files'
    z	d-objdumpz*.d-objdumpztext/x-d-objdumpcstt|�jttf|�dS)N)�superr�__init__r
r)�self�options)�	__class__r,r-rF�szDObjdumpLexer.__init__)
r/r0r1r2r3r4r5r6rF�
__classcell__r,r,)rIr-r�scs>eZdZdZdZdddgZdddgZdgZ�fd	d
�Z�Z	S)rz?
    For the output of 'objdump -Sr on compiled C++ files'
    zcpp-objdumpzc++-objdumbzcxx-objdumpz
*.cpp-objdumpz
*.c++-objdumpz
*.cxx-objdumpztext/x-cpp-objdumpcstt|�jttf|�dS)N)rErrFrr)rGrH)rIr,r-rF�szCppObjdumpLexer.__init__)
r/r0r1r2r3r4r5r6rFrJr,r,)rIr-r�s

cs6eZdZdZdZdgZdgZdgZ�fdd�Z�Z	S)rz=
    For the output of 'objdump -Sr on compiled C files'
    z	c-objdumpz*.c-objdumpztext/x-c-objdumpcstt|�jttf|�dS)N)rErrFr	r)rGrH)rIr,r-rF�szCObjdumpLexer.__init__)
r/r0r1r2r3r4r5r6rFrJr,r,)rIr-r�sc@s\eZdZdZdZddgZdgZdgZdZdZ	d	Z
d
e
dZdZd
Z
dZdZdZdZdZdZed�ed�eefde	dejfeejjfed�de	ejjfde	ejfeejfdejfeejfeejfdejfdefgde fgde!j"fd e!j#fgd!ee$j%fd"e$fe&d#d$d%�e$fee$fee$fd&ed'e
de$fd(e$fd)e$fe&d*�e$fd+e$fg
d,�Z'd-S).rz=
    For HSAIL assembly code.

    .. versionadded:: 2.2
    ZHSAILZhsailZhsaz*.hsailztext/x-hsailz"[^"]*?"z[a-zA-Z_][\w.]*z[0-9]+z(\$(c|s|d|q)�)z(align\(\d+\))z(width\((\d+|all)\))z(alloc\(agent\))z ((_ftz)?(_up|_down|_zero|_near))z�_(u8x4|s8x4|u16x2|s16x2|u8x8|s8x8|u16x4|s16x4|u32x2|s32x2|u8x16|s8x16|u16x8|s16x8|u32x4|s32x4|u64x2|s64x2|f16x2|f16x4|f16x8|f32x2|f32x4|f64x2|u8|s8|u16|s16|u32|s32|u64|s64|b128|b8|b16|b32|b64|b1|f16|f32|f64|roimg|woimg|rwimg|samp|sig32|sig64)z ((\d+\.)|(\d*\.\d+))[eE][+-]?\d+zL0[xX](([0-9a-fA-F]+\.[0-9a-fA-F]*)|([0-9a-fA-F]*\.[0-9a-fA-F]+))[pP][+-]?\d+z?0((h|H)[0-9a-fA-F]{4}|(f|F)[0-9a-fA-F]{8}|(d|D)[0-9a-fA-F]{16})r!�commentsr#z:?�keyword�&r%z0[xX][a-fA-F0-9]+z\d+z[=<>{}\[\]()*.,:;!]|x\bz(\n|\s)+z	/\*.*?\*/z//.*?\nZkernargz+\$(full|base|small|large|default|zero|near))�module�	extensionZpragma�progZindirectZ	signatureZdeclZkernel�functionZenablebreakexceptionsZenabledetectexceptionsZmaxdynamicgroupsizeZmaxflatgridsizeZmaxflatworkgroupsizeZrequireddimZrequiredgridsizeZrequiredworkgroupsizeZrequirenopartialworkgroupsz\b)�suffixz_(�|�_kernargz(nop|imagefence)\b)�Zcleardetectexcept�clockZcuidZ	debugtrapZdimZgetdetectexceptZgroupbaseptrZkernargbaseptrZlaneidZmaxcuidZ	maxwaveidZpacketidZsetdetectexceptZwaveidZworkitemflatabsidZworkitemflatidZnullptr�absZbitrevZcurrentworkgroupsizeZcurrentworkitemflatidZfractZncos�negZnexp2Znlog2ZnrcpZnrsqrtZnsinZnsqrtZ
gridgroupsZgridsize�not�sqrtZworkgroupidZ
workgroupsizeZ
workitemabsidZ
workitemid�ceil�floorZrint�trunc�addZbitmaskZborrowZcarry�copysignZdivZrem�sub�shlZshr�and�or�xorZunpackhiZunpacklo�max�minZfmaZmadZ
bitextractZ	bitselectZshuffleZcmovZbitalignZ	bytealignZlerpZnfma�mulZmulhiZmul24hiZmul24Zmad24Zmad24hiZ	bitinsertZcombine�expandZldaZmovZpackZunpackZpackcvtZ	unpackcvtZsadZsementpZftosZstofZcmpZld�st�_eqZ_neZ_ltZ_leZ_gtZ_geZ_equZ_neuZ_ltuZ_leuZ_gtuZ_geuZ_numZ_nanZ_seqZ_sneZ_sltZ_sleZ_sgtZ_sgeZ_snumZ_snanZ_sequZ_sneuZ_sltuZ_sleuZ_sgtuZ_sgeu�atomicZ_ldZ_stZ_casZ_addZ_andZ_exchZ_maxZ_minZ_orZ_subZ_wrapdecZ_wrapincZ_xor�retZcvtZ	_readonlyrUZ_global�brZcbrZsbrZ_scacqZ_screlZ_scarZ_rlxZ_waveZ_wgZ_agentZ_systemZldimageZstimageZ_v2Z_v3Z_v4Z_1dZ_2dZ_3dZ_1daZ_2daZ_1dbZ_2ddepthZ	_2dadepthZ_widthZ_heightZ_depthZ_arrayZ
_channelorderZ_channeltypeZquerysamplerZ_coordZ_filterZ_addressingZbarrierZwavebarrierZinitfbarZjoinfbarZwaitfbarZ
arrivefbarZ	leavefbarZreleasefbarZldfZactivelaneidZactivelanecountZactivelanemaskZactivelanepermute�callZscallZicall�allocaZpacketcompletionsigZaddqueuewriteindexZcasqueuewriteindexZldqueuereadindexZstqueuereadindex�readonly�global�private�groupZspill�argZ_upiZ_downiZ_zeroiZ_neariZ_upi_satZ
_downi_satZ
_zeroi_satZ
_neari_satZ_supiZ_sdowniZ_szeroiZ_sneariZ	_supi_satZ_sdowni_satZ_szeroi_satZ_sneari_satZ_ppZ_psZ_spZ_ssZ_sZ_pZ_pp_satZ_ps_satZ_sp_satZ_ss_satZ_s_satZ_p_satz	i[1-9]\d*)r'r!rLrMN)(r/r0r1r2r3r4r5r6r7r9Zregister_number�registerZ	alignQualZ	widthQualZ	allocQualZroundingModZdatatypeMod�floatZhexfloatZ	ieeefloatrrrr;r@�	Anonymous�Globalr
r?�Floatr>rrrZ	Multiline�Singler�TyperrBr,r,r,r-r�s`



$c@s�eZdZdZdZdgZdgZdgZdZdedZ	e
d	�e	d
ejfe
d�de	ej
fd
e	ej
jfdej
jfdej
jfdej
jfde	ej
fdej
jfdeefdefdefdefgdefdefgeddd�efed�ejfdefgd�ZdS) rz!
    For LLVM assembly code.
    ZLLVMZllvmz*.llztext/x-llvmz"[^"]*?"z([-a-zA-Z$._][\w\-$.]*|rKr!z\s*:rMr%r#z%\d+z@\d+z#\d+�!z!\d+zc?z0[xX][a-fA-F0-9]+z,-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?z[=<>{}\[\]()*.,!]|x\bz(\n|\s)+z;.*?\n(jZacq_rel�acquirer^Z	addrspaceZ
addrspacecastZafn�aliasZaliaseeZalignZ	alignLog2Z
alignstackroZ	allocsizeZallOnesZalwaysinlineZ	amdgpu_csZ	amdgpu_esZ	amdgpu_gsZ	amdgpu_hsZ
amdgpu_kernelZ	amdgpu_lsZ	amdgpu_psZ	amdgpu_vsrb�anyZanyregccZ	appendingZarcpZ
argmemonly�argsZarm_aapcs_vfpccZarm_aapcsccZ
arm_apcsccZashrr rkZ	atomicrmwZ
attributesZavailable_externallyZ
avr_intrccZavr_signalcc�bitZbitcastZbitMaskZblockaddressrmZbranchFunnelZbuiltinZbyArgZbyteZ	byteArrayZbyval�crnZcalleeZcallerZcallsZcatchZcatchpadZcatchretZcatchswitchZccZcccZcleanupZ
cleanuppadZ
cleanupretZcmpxchgZcoldZcoldccZcomdat�commonZconstantZcontractZ
convergentZcriticalZcxx_fast_tlsccZ
datalayoutZdeclare�defaultZdefineZdeplibsZdereferenceableZdereferenceable_or_nullZdistinctZ	dllexportZ	dllimport�doubleZ	dso_localZdso_preemptableZdsoLocal�eq�exactZ
exactmatchZextern_weakZexternalZexternally_initializedZextractelementZextractvalueZfadd�falseZfastZfastccZfcmpZfdivZfence�filter�flagsrvZfmul�fp128ZfpextZfptosiZfptouiZfptruncZfrem�fromZfsubZ	funcFlagsrRZgcZ
getelementptrZghcccrqZguidZgv�half�hashZhhvm_cccZhhvmccZhiddenZhotZhotnessZicmpZifuncZinaccessiblemem_or_argmemonlyZinaccessiblememonlyZinallocaZinboundsZindirZ
indirectbr�infoZinitialexecZinlineZ
inlineBitsZ
inlinehintZinrangeZinregZ
insertelementZinsertvalueZinstsZintel_ocl_biccZinteldialectZinternalZinttoptrZinvokeZ	jumptableZkind�labelZ
landingpadZlargestZlinkageZlinkonceZlinkonce_odrZlive�loadZlocal_unnamed_addrZlocaldynamicZ	localexecZlshrre�metadatarfZminsizerO�	monotonicZ
msp430_intrccrgZmusttailZnakedr3Znand�neZnestZninfZnnanZnoaliasZ	nobuiltinZ	nocaptureZ
nocf_checkZnoduplicateZnoduplicatesZnoimplicitfloatZnoinlineZnoneZnonlazybindZnonnullZ	norecurseZ	noRecurseZ	noredzoneZnoreturnZnotailZnotEligibleToImportZnounwindZnswZnszZnullZnuwZoeq�offsetZogeZogtZoleZoltZoneZopaqueZ
optforfuzzingZoptnoneZoptsizerc�ord�pathZpersonalityZphi�	ppc_fp128�prefixZpreserve_allccZpreserve_mostccrrZprologueZ	protectedZptrtointZ
ptx_deviceZ
ptx_kernelZreadnoneZreadNonerpZreadOnlyZreassocZrefsZrelbf�releaseZresByArgZresumerlZreturnDoesNotAliasZreturnedZ
returns_twiceZ	safestackZsamesizeZsanitize_addressZsanitize_hwaddressZsanitize_memoryZsanitize_threadZsdivZsection�selectZseq_cstZsextZsgeZsgtZshadowcallstackraZ
shufflevectorZ
sideeffectZsignextZsingleZ
singleImplZsingleImplNameZsitofpZsizeM1ZsizeM1BitWidthZsleZsltZsource_filenameZspeculatableZ	spir_funcZspir_kernelZsremZsretZsspZsspreqZ	sspstrongZstoreZstrictfpr`Z	summariesZsummaryZswiftccZ
swifterrorZ	swiftselfZswitchZ	syncscope�tail�targetZthread_local�to�tokenZtriple�truer]�typeZtypeCheckedLoadConstVCallsZtypeCheckedLoadVCallsZtypeidZ
typeIdInfoZtypeTestAssumeConstVCallsZtypeTestAssumeVCallsZtypeTestResZ	typeTestsZudivZueqZugeZugtZuitofpZuleZultZumaxZuminZundefZuneZ
uniformRetValZuniqueRetVal�unknownZunnamed_addrZunoZ	unorderedZunreachableZunsatZunwindZuremZuselistorderZuselistorder_bbZuwtableZva_argZvariableZvFuncIdZvirtualConstProp�voidZvolatileZweakZweak_odrZwebkit_jsccZwin64ccZwithinZwpdResZwpdResolutionsZ	writeonly�xZ
x86_64_sysvccZx86_fastcallcc�x86_fp80Z
x86_intrccZx86_mmxZ
x86_regcallccZ
x86_stdcallccZx86_thiscallccZx86_vectorcallccZxchgrdZzeroextZzeroinitializerZzextz\b)rS)
r�r�rvr�r�r�r�r�r�r�z	i[1-9]\d*)r'r!rMN)r/r0r1r2r3r4r5r6r7r9rrr;r@rxrwrr
rrrrrr{rBr,r,r,r-rQs:




9
c
@szeZdZdZdZdgZddgZdgZdZdZ	d	Z
d
ZdZedeZ
d
ZdZdZdZdZdZejejBZdejdfed�edejfdeeejej ej �dfeedfeej dfeej!dfde"fgee#fe	e$j%fe
e$j&fee$j'fe
e$j(fee$j)fed�eej*feej+fde"dfed�gdejfdej,dfdejdfgde"fde"fd ej,fgd!e-fd"e.fd#ejfee.j/feej0fgd$�Z1d%S)&rz)
    For Nasm (Intel) assembly code.
    ZNASMZnasmz*.asmz*.ASMztext/x-nasmz[a-z$._?][\w$.?#@~]*z,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)z[0-7]+qz[01]+bz[0-9]+z\.e?z/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`z(?:res|d)[bwdqt]|timeszor[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]zseg|wrt|strictzbyte|[dq]?wordz�(?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE)\s+z^\s*%�preprocr!r"z(%s)(\s+)(equ)zinstruction-argsz[\r\n]+r$z#popz[^;\n]+z;.*?\nz\nz[ \t]+z;.*z[,():\[\]]+z[&|^<>+*/%~-]+z[$]+)r'zinstruction-argsr�r!r$N)2r/r0r1r2r3r4r5r6r9�hexn�octn�binn�decn�floatnr7�declkwru�wordopr��
directivesr(�
IGNORECASE�	MULTILINEr�r�Preprocrrr;rr=r�Declarationr<rrr
r?�Oct�Binryr>�Builtinr@rzrr�Wordr{rBr,r,r,r-r�sd




c@s.eZdZdZdZdgZdgZdgZee	�Z
dS)rzM
    For the output of 'objdump -d -M intel'.

    .. versionadded:: 2.0
    zobjdump-nasmz*.objdump-intelztext/x-nasm-objdumpN)r/r0r1r2r3r4r5r6rDrrBr,r,r,r-rsc@s�eZdZdZdZdgZdddgZdgZdZd	Z	d
Z
dZdZed
eZ
dZdZdZdZdZdZdZejejBZdejdfed�edejfeedfdeefeej ej!ej!�dfeej!dfeej"dfde#fgee$fe	e%j&fe
e%j'fee%j(fe
e%j)fee%j*fed�eej+feej,fdee#ej-e#�fde#dfed�gdejfd ej-dfd!ejdfgd"e#fd#e#fd$e#fd%ej-fgd&e.fd'e/fd(ej fee/j0feej1fgd)�Z2d*S)+rz3
    For Tasm (Turbo Assembler) assembly code.
    ZTASMZtasmz*.asmz*.ASMz*.tasmztext/x-tasmz[@a-z$._?][\w$.?#@~]*z,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)z[0-7]+qz[01]+bz[0-9]+z\.e?z/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`z(?:res|d)[bwdqt]|timeszor[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]zseg|wrt|strictzbyte|[dq]?wordz�BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|ENDS|COMMON|CPU|GROUP|UPPERCASE|INCLUDE|EXPORT|LIBRARY|MODULE|PROC|ENDP|USES|ARG|DATASEG|UDATASEG|END|IDEAL|P386|MODEL|ASSUME|CODESEG|SIZEzdb|dd|dw|T[A-Z][a-z]+z^\s*%r�r!r"zinstruction-argsz
(%s)(\s+)(%s)z[\r\n]+r$z(\\\s*)(;.*)([\r\n])z#popz[^;\n]+z;.*?\nz\nz[\n\r]z\\[\n\r]z[ \t]+z;.*z[,():\[\]]+z[&|^<>+*=/%~-]+z[$]+)r'zinstruction-argsr�r!r$N)3r/r0r1r2r3r4r5r6r9r�r�r�r�r�r7r�rur�r�r�Zdatatyper(r�r�r�rr�rrr;rrr=r�r<rrr
r?r�r�ryr>r�r@rzrrr�r{rBr,r,r,r-rsj






c@s�eZdZdZdZdgZdgZejZ	dde
jfdefde
jfd	efd
ejfdefdefd
ejfdejfdejfdejfdefde
fg
iZdd�ZdS)rz@
    For ca65 assembler sources.

    .. versionadded:: 1.6
    zca65 assemblerZca65z*.sr'z;.*z\s+z[a-z_.@$][\w.@$]*:z�((ld|st)[axy]|(in|de)[cxy]|asl|lsr|ro[lr]|adc|sbc|cmp|cp[xy]|cl[cvdi]|se[cdi]|jmp|jsr|bne|beq|bpl|bmi|bvc|bvs|bcc|bcs|p[lh][ap]|rt[is]|brk|nop|ta[xy]|t[xy]a|txs|tsx|and|ora|eor|bit)\bz\.\w+z[-+~*/^&|!<>=]z	"[^"\n]*.z	'[^'\n]*.z\$[0-9a-f]+|[0-9a-f]+h\bz\d+z%[01]+z
[#,.:()=\[\]]z[a-z_.@$][\w.@$]*cCst�d|tj�rdSdS)Nz^\s*;g�������?)r(r)r�)rGr+r,r,r-r.�szCa65Lexer.analyse_textN)r/r0r1r2r3r4r5r(r�r�rrzrrr;rZPseudorrrAr
r?r>r�rrBr.r,r,r,r-rjs*c$@s�eZdZdZdZdgZddgZdgZddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*g$Zd+d,d-d.d/d0d1d2d3d4d5d6d7d8gZ	d9Z
d:e
d;e
d<Zd=Zd>Z
d?d@�e�dAZdBe
dCZdDZdEdF�ZedG�dHeejfedHejfeejdIfdJeejdKfdLefge
ejfeejfeefgeefedM�gdNefdOedPfedQ�edG�gdLedPfdRedPfedG�gdSefdTedUfedQ�edV�gdSefedM�eefedV�gdWefdXefdYefgdZ�Zd[S)\rzr
    Simple lexer for DCPU-16 Assembly

    Check http://0x10c.com/doc/dcpu-16.txt

    .. versionadded:: 2.4
    ZDASM16Zdasm16z*.dasm16z*.dasmz
text/x-dasm16ZSETZADDZSUBZMULZMLIZDIVZDVIZMODZMDIZANDZBORZXORZSHRZASRZSHLZIFBZIFCZIFEZIFNZIFGZIFAZIFLZIFUZADXZSBXZSTIZSTDZJSRZINTZIAGZIASZRFIZIAQZHWNZHWQZHWI�A�B�C�X�Y�Z�I�JZSPZPCZEXZPOPZPEEKZPUSHz[a-zA-Z$._0-9@]z
(?:[a-zA-Z$_]z*|\.z+)z[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)z0b[01_]+z(?i)(rTrKz'\\?�'z
"(\\"|[^"])*"ccs8|�d�}|��|jkrtjntj}|��||fVdS)Nr)rs�upper�	REGISTERSrr@r;�start)Zlexerr)�ident�klassr,r,r-�guess_identifier�s
zDasm16Lexer.guess_identifierr!r"zinstruction-argsz\.z	data-argsz[\r\n]+�numericz\+z\]z#poprtz;.*?$�,z\[�derefzinstruction-linez\nz\s+z;.*?\n)r'r�rtr�zinstruction-linezinstruction-argsz	data-argsr!N)r/r0r1r2r3r4r5r6ZINSTRUCTIONSr�r8r9r:Z
binary_number�joinZinstructionZsingle_charr7r�rrr;r<rr
r>rrrrBr,r,r,r-r�sv

)&r2r(Zpygments.lexerrrrrrrZpygments.lexers.c_cpprr	Zpygments.lexers.dr
Zpygments.tokenrrr
rrrrrr�__all__rrDrrrrrrrrrrrr,r,r,r-�<module>
s, ,L1


pKP'