https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/pygments/lexers/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/pygments/lexers/__pycache__/asm.cpython-310.pyc
o

���a���@spdZddlZddlmZmZmZmZmZmZm	Z	ddl
mZmZddl
mZddlmZmZmZmZmZmZmZmZmZmZgd�ZGdd	�d	e�Zd
d�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#Gdd�de�Z$Gdd�de�Z%Gdd�de�Z&Gd d!�d!e�Z'Gd"d#�d#e�Z(Gd$d%�d%e�Z)dS)&z�
    pygments.lexers.asm
    ~~~~~~~~~~~~~~~~~~~

    Lexers for assembly languages.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�bygroups�using�words�DelegatingLexer�default)�CppLexer�CLexer)�DLexer)
�Text�Name�Number�String�Comment�Punctuation�Other�Keyword�Operator�
Whitespace)�GasLexer�ObjdumpLexer�
DObjdumpLexer�CppObjdumpLexer�
CObjdumpLexer�
HsailLexer�	LlvmLexer�LlvmMirBodyLexer�LlvmMirLexer�	NasmLexer�NasmObjdumpLexer�	TasmLexer�	Ca65Lexer�Dasm16Lexerc@s�eZdZdZdZddgZddgZdgZdZd	Z	d
e	de	dZ
d
Zde
dZe
d�e
dejfde
ejdfdejfe
ejdfdefge
ejfeefde
ejfeejfeejfdedfdejdfdejfdejdfe
d�e
d�gde
deejeeeje�fde
dedeejeeejeeje�fe
ejfeejfeejfd eejfd!ejfdedfdejdfdejfdejdfe
d�e
d�g
d"efd#efdejfd$ejfgd%efgd&�Z d'd(�Z!d)S)*rz'
    For Gas (AT&T) assembly code.
    �GAS�gas�asm�*.sz*.Sz
text/x-gas�
"(\\"|[^"])*"z[\w$.@-]�
(?:[a-zA-Z$_]�*|\.�+)z(?:0[xX][a-fA-F0-9]+|#?-?\d+)�%�\b�
whitespace�:�\.�directive-argszlock|rep(n?z)?|data\d+�instruction-args�[\r\n]+�@�#popz([;#]|//).*?\nz/[*].*?[*]/z/[*].*?\n[\w\W]*?[*]/�punctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])(�$z
$'(.|\\')'�\n�\s+z/[*][\w\W]*?[*]/z[-*,.()\[\]!:]+)�rootr1r2r.r6cCs,t�d|tj�r
dSt�d|tj�rdSdS)Nz^\.(text|data|section)Tz^\.\w+g�������?)�re�search�M��text�r@�5/usr/lib/python3/dist-packages/pygments/lexers/asm.py�analyse_textfs
�zGasLexer.analyse_textN)"�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�string�char�
identifier�number�registerrr
�Label�	Attribute�Functionr�Constantrr�Integer�Variablerr�Single�	Multiliner�Hexr�Char�tokensrBr@r@r@rArsz
�	

�
����

����<rcCspd}ddttjttt�fdtttjt�fd|dttjtttj	ttjt�fd|dttjtttj	t�fd|d	||d
tttjttjtt
|��fd|dtttjtt
|��fd|d	||dtttjttjtt�fd|d	||d
tttjttj�fdtfd|d|dtttjttjttjttj�fd|dtttjttjttj�fdt
fgiS)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+:)( *\t)([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z	\t\.\.\.$z	(\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)rr
rPrrrrrXrrRr�PropertyrSr)�	asm_lexer�hex_rer@r@rA�_objdump_lexer_tokensms`��
��
����

����
��
����r_c@�.eZdZdZdZdgZdgZdgZee	�Z
dS)rz,
    For the output of ``objdump -dr``.
    �objdumpz	*.objdumpztext/x-objdumpN)rCrDrErFrGrHrIrJr_rrZr@r@r@rAr�src�6eZdZdZdZdgZdgZdgZ�fdd�Z�Z	S)rz@
    For the output of ``objdump -Sr`` on compiled D files.
    z	d-objdumpz*.d-objdumpztext/x-d-objdumpc�t�jttfi|��dS�N)�super�__init__rr��self�options��	__class__r@rArf��zDObjdumpLexer.__init__�
rCrDrErFrGrHrIrJrf�
__classcell__r@r@rjrAr��rcs:eZdZdZdZgd�Zgd�ZdgZ�fdd�Z�Z	S)rzB
    For the output of ``objdump -Sr`` on compiled C++ files.
    �cpp-objdump)rpzc++-objdumbzcxx-objdump)z
*.cpp-objdumpz
*.c++-objdumpz
*.cxx-objdumpztext/x-cpp-objdumpcrcrd)rerfr	rrgrjr@rArf�rlzCppObjdumpLexer.__init__rmr@r@rjrAr�srcrb)rz@
    For the output of ``objdump -Sr`` on compiled C files.
    z	c-objdumpz*.c-objdumpztext/x-c-objdumpcrcrd)rerfr
rrgrjr@rArf�rlzCObjdumpLexer.__init__rmr@r@rjrAr�rorc@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
d(e$fd)e$fd*e$fe&d+�e$fd,e$fg
d-�Z'd.S)/rz=
    For HSAIL assembly code.

    .. versionadded:: 2.2
    �HSAIL�hsail�hsaz*.hsailztext/x-hsail�"[^"]*?"z[a-zA-Z_][\w.]*�[0-9]+z(\$(c|s|d|q)z)\bz(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.�commentsr4z:?�keyword�&r,�0[xX][a-fA-F0-9]+�\d+z[=<>{}\[\]()*.,:;!]|x\bz(\n|\s)+z	/\*.*?\*/z//.*?\n�kernargz+\$(full|base|small|large|default|zero|near))�module�	extension�pragma�prog�indirect�	signature�decl�kernel�function�enablebreakexceptions�enabledetectexceptions�maxdynamicgroupsize�maxflatgridsize�maxflatworkgroupsize�requireddim�requiredgridsize�requiredworkgroupsize�requirenopartialworkgroupsr-��suffixz_(�|�)�_kernargz(nop|imagefence)\b)��cleardetectexcept�clock�cuid�	debugtrap�dim�getdetectexcept�groupbaseptr�kernargbaseptr�laneid�maxcuid�	maxwaveid�packetid�setdetectexcept�waveid�workitemflatabsid�workitemflatid�nullptr�abs�bitrev�currentworkgroupsize�currentworkitemflatid�fract�ncos�neg�nexp2�nlog2�nrcp�nrsqrt�nsin�nsqrt�
gridgroups�gridsize�not�sqrt�workgroupid�
workgroupsize�
workitemabsid�
workitemid�ceil�floor�rint�trunc�add�bitmask�borrow�carry�copysign�div�rem�sub�shl�shr�and�or�xor�unpackhi�unpacklo�max�min�fma�mad�
bitextract�	bitselect�shuffle�cmov�bitalign�	bytealign�lerp�nfma�mul�mulhi�mul24hi�mul24�mad24�mad24hi�	bitinsert�combine�expand�lda�mov�pack�unpack�packcvt�	unpackcvt�sad�sementp�ftos�stof�cmp�ld�st�_eq�_ne�_lt�_le�_gt�_ge�_equ�_neu�_ltu�_leu�_gtu�_geu�_num�_nan�_seq�_sne�_slt�_sle�_sgt�_sge�_snum�_snan�_sequ�_sneu�_sltu�_sleu�_sgtu�_sgeu�atomic�_ld�_st�_cas�_add�_and�_exch�_max�_min�_or�_sub�_wrapdec�_wrapinc�_xor�ret�cvt�	_readonlyr��_global�br�cbr�sbr�_scacq�_screl�_scar�_rlx�_wave�_wg�_agent�_system�ldimage�stimage�_v2�_v3�_v4�_1d�_2d�_3d�_1da�_2da�_1db�_2ddepth�	_2dadepth�_width�_height�_depth�_array�
_channelorder�_channeltype�querysampler�_coord�_filter�_addressing�barrier�wavebarrier�initfbar�joinfbar�waitfbar�
arrivefbar�	leavefbar�releasefbar�ldf�activelaneid�activelanecount�activelanemask�activelanepermute�call�scall�icall�alloca�packetcompletionsig�addqueuewriteindex�casqueuewriteindex�ldqueuereadindex�stqueuereadindex�readonly�global�private�group�spill�arg�_upi�_downi�_zeroi�_neari�_upi_sat�
_downi_sat�
_zeroi_sat�
_neari_sat�_supi�_sdowni�_szeroi�_sneari�	_supi_sat�_sdowni_sat�_szeroi_sat�_sneari_sat�_pp�_ps�_sp�_ss�_s�_p�_pp_sat�_ps_sat�_sp_sat�_ss_sat�_s_sat�_p_sat�	i[1-9]\d*)r:r.rvrwN)(rCrDrErFrGrHrIrJrKrM�register_numberrO�	alignQual�	widthQual�	allocQual�roundingMod�datatypeMod�float�hexfloat�	ieeefloatrrr
rPrU�	Anonymous�GlobalrrX�FloatrTrrrrWrVr�TyperrZr@r@r@rAr�sp

�����	%�(�
�rc@s�eZdZdZdZdgZdgZdgZdZdedZ	d	e	d
Z
ed�e
dej
fed
�de	ejfde	ejjfdejjfdejjfdejjfde	ejfdejjfdeefdefdefdefgdefdefgeddd�efed�ejfdejfgd �Zd!S)"rz!
    For LLVM assembly code.
    �LLVM�llvmz*.llztext/x-llvmrtz([-a-zA-Z$._][\w\-$.]*|r�r[z|(\d+))r.z\s*:rwr,r4z%\d+z@\d+z#\d+�!z!\d+zc?ryz,-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?z[=<>{}\[\]()*.,!]|x\bz	(\n|\s+)+�;.*?\n(��aarch64_sve_vector_pcs�aarch64_vector_pcs�acq_rel�acquirer��	addrspace�
addrspacecast�afn�alias�aliasee�align�	alignLog2�
alignstackrN�	allocsize�allOnes�alwaysinline�alwaysInline�	amdgpu_cs�	amdgpu_es�
amdgpu_gfx�	amdgpu_gs�	amdgpu_hs�
amdgpu_kernel�	amdgpu_ls�	amdgpu_ps�	amdgpu_vsr��any�anyregcc�	appending�arcp�
argmemonly�args�arm_aapcs_vfpcc�arm_aapcscc�
arm_apcscc�ashrr&r
�	atomicrmw�
attributes�available_externally�
avr_intrcc�avr_signalcc�bit�bitcast�bitMask�blockaddress�
blockcountr�branchFunnel�builtin�byArg�byref�byte�	byteArray�byval�crK�callbr�callee�caller�calls�canAutoHide�catch�catchpad�catchret�catchswitch�cc�ccc�cfguard_checkcc�cleanup�
cleanuppad�
cleanupret�cmpxchg�cold�coldcc�comdat�common�constant�contract�
convergent�critical�cxx_fast_tlscc�
datalayout�declarer�define�deplibs�dereferenceable�dereferenceable_or_null�distinct�	dllexport�	dllimport�	dso_local�dso_local_equivalent�dso_preemptable�dsoLocal�eq�exact�
exactmatch�extern_weak�external�externally_initialized�extractelement�extractvalue�fadd�false�fast�fastcc�fcmp�fdiv�fence�filter�flags�fmul�fneg�fpext�fptosi�fptoui�fptrunc�freeze�frem�from�fsub�	funcFlagsr��gc�
getelementptr�ghcccrU�guid�gv�hash�hhvm_ccc�hhvmcc�hidden�hot�hotness�icmp�ifunc�inaccessiblemem_or_argmemonly�inaccessiblememonly�inalloca�inbounds�indir�
indirectbr�info�initialexec�inline�
inlineBits�
inlinehint�inrange�inreg�
insertelement�insertvalue�insts�intel_ocl_bicc�inteldialect�internal�inttoptr�invoke�	jumptable�kind�
landingpad�largest�linkage�linkonce�linkonce_odr�live�load�local_unnamed_addr�localdynamic�	localexec�lshrr��metadatar��minsizer|�	monotonic�
msp430_intrccr��mustprogress�musttail�nakedrG�nand�ne�nest�ninf�nnan�noalias�	nobuiltin�
nocallback�	nocapture�
nocf_check�noduplicate�noduplicates�nofree�noimplicitfloat�noinline�noInline�nomerge�none�nonlazybind�nonnull�	noprofile�	norecurse�	noRecurse�	noredzone�noreturn�nosync�notail�notEligibleToImport�noundef�nounwind�nsw�nsz�null�null_pointer_is_valid�nuw�oeq�offset�oge�ogt�ole�olt�one�opaque�
optforfuzzing�optnone�optsizer��ord�param�params�	partition�path�personality�phi�poison�preallocated�prefix�preserve_allcc�preserve_mostccrV�prologue�	protected�ptrtoint�
ptx_device�
ptx_kernel�readnone�readNonerT�readOnly�reassoc�refs�relbf�release�resByArg�resumer�returnDoesNotAlias�returned�
returns_twice�	safestack�samesize�sanitize_address�sanitize_hwaddress�sanitize_memory�sanitize_memtag�sanitize_thread�sdiv�section�select�seq_cst�sext�sge�sgt�shadowcallstackr��
shufflevector�
sideeffect�signext�single�
singleImpl�singleImplName�sitofp�sizeM1�sizeM1BitWidth�sle�slt�source_filename�speculatable�speculative_load_hardening�	spir_func�spir_kernel�srem�sret�ssp�sspreq�	sspstrong�store�strictfpr��	summaries�summary�swiftcc�
swifterror�	swiftself�switch�	syncscope�tail�tailcc�target�thread_local�to�token�triple�truer��type�typeCheckedLoadConstVCalls�typeCheckedLoadVCalls�typeid�typeidCompatibleVTable�
typeIdInfo�typeTestAssumeConstVCalls�typeTestAssumeVCalls�typeTestRes�	typeTests�udiv�ueq�uge�ugt�uitofp�ule�ult�umax�umin�undef�une�
uniformRetVal�uniqueRetVal�unknown�unnamed_addr�uno�	unordered�unreachable�unsat�unwind�urem�uselistorder�uselistorder_bb�uwtable�va_arg�varFlags�variable�vcall_visibility�vFuncId�virtFunc�virtualConstProp�void�volatile�vscale�vTableFuncs�weak�weak_odr�webkit_jscc�win64cc�within�wpdRes�wpdResolutions�	writeonly�x�
x86_64_sysvcc�x86_fastcallcc�
x86_intrcc�x86_mmx�
x86_regcallcc�
x86_stdcallcc�x86_thiscallcc�x86_vectorcallcc�xchgr��zeroext�zeroinitializer�zext�immarg�
willreturnr-r�)
r��half�bfloatr}�double�fp128�x86_fp80�	ppc_fp128�labelr.r��x86_amxr�rv)r:r.rwN)rCrDrErFrGrHrIrJrKrM�block_labelrr
rPrUr�r�rrrrrrrr�rZr@r@r@rAr\sL




��T�T�W��
�rc@seZdZdZdZdgZgZgZeddd�e	fde
jfde
jfd	e
jfd
e
fde
fde
jd
fe
d�de
jjfedddd�e
jfedddd�e
jfdejfdefde
jfde
jfed�e	fdee	je�dfde	jdfe
d�d eee�d!fd"efd#e
fd$efge
d�d%ed&fge
d'�d%ed&fgd(eee	�d)fd*eee�d+fd%ed&fgd,eee
jj�fd-eee
j�fd*eee�d+fd%ed&fgd.eee	j�fd/eee	j�fded&fd%ed&fgd0efd1efed2�e	fd3e
fd4e
fd5efe
d�e
d�d6efd7efded&fgd8ejfgd9ejfgd:e
jjfgd;�
Zd<S)=rz�
    For LLVM MIR examples without the YAML wrapper.

    For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.

    .. versionadded:: 2.6
    z
LLVM-MIR Bodyz
llvm-mir-body)�liveins�
successorsr/r�z4bb\.[0-9]+(\.[a-zA-Z0-9_.-]+)?( \(address-taken\))?:z5bb\.[0-9]+ \(%[a-zA-Z0-9_.-]+\)( \(address-taken\))?:z%bb\.[0-9]+(\.\w+)?z%stack\.[0-9]+(\.\w+\.addr)?z%subreg\.\w+z%[a-zA-Z0-9_]+ *�vregrUzintrinsic\(\@[a-zA-Z0-9_.]+\))
r�r6r�r�r�r�r�r�r�r�z	intpred\(z\))rlr�)
rXr^r[rZr]r\r�r�r�r�zfloatpred\(z\$\w+�=a(G_ANYEXT|G_[SZ]EXT|G_SEXT_INREG|G_TRUNC|G_IMPLICIT_DEF|G_PHI|G_FRAME_INDEX|G_GLOBAL_VALUE|G_INTTOPTR|G_PTRTOINT|G_BITCAST|G_CONSTANT|G_FCONSTANT|G_VASTART|G_VAARG|G_CTLZ|G_CTLZ_ZERO_UNDEF|G_CTTZ|G_CTTZ_ZERO_UNDEF|G_CTPOP|G_BSWAP|G_BITREVERSE|G_ADDRSPACE_CAST|G_BLOCK_ADDR|G_JUMP_TABLE|G_DYN_STACKALLOC|G_ADD|G_SUB|G_MUL|G_[SU]DIV|G_[SU]REM|G_AND|G_OR|G_XOR|G_SHL|G_[LA]SHR|G_[IF]CMP|G_SELECT|G_GEP|G_PTR_MASK|G_SMIN|G_SMAX|G_UMIN|G_UMAX|G_[US]ADDO|G_[US]ADDE|G_[US]SUBO|G_[US]SUBE|G_[US]MULO|G_[US]MULH|G_FNEG|G_FPEXT|G_FPTRUNC|G_FPTO[US]I|G_[US]ITOFP|G_FABS|G_FCOPYSIGN|G_FCANONICALIZE|G_FMINNUM|G_FMAXNUM|G_FMINNUM_IEEE|G_FMAXNUM_IEEE|G_FMINIMUM|G_FMAXIMUM|G_FADD|G_FSUB|G_FMUL|G_FMA|G_FMAD|G_FDIV|G_FREM|G_FPOW|G_FEXP|G_FEXP2|G_FLOG|G_FLOG2|G_FLOG10|G_FCEIL|G_FCOS|G_FSIN|G_FSQRT|G_FFLOOR|G_FRINT|G_FNEARBYINT|G_INTRINSIC_TRUNC|G_INTRINSIC_ROUND|G_LOAD|G_[ZS]EXTLOAD|G_INDEXED_LOAD|G_INDEXED_[ZS]EXTLOAD|G_STORE|G_INDEXED_STORE|G_ATOMIC_CMPXCHG_WITH_SUCCESS|G_ATOMIC_CMPXCHG|G_ATOMICRMW_(XCHG|ADD|SUB|AND|NAND|OR|XOR|MAX|MIN|UMAX|UMIN|FADD|FSUB)|G_FENCE|G_EXTRACT|G_UNMERGE_VALUES|G_INSERT|G_MERGE_VALUES|G_BUILD_VECTOR|G_BUILD_VECTOR_TRUNC|G_CONCAT_VECTORS|G_INTRINSIC|G_INTRINSIC_W_SIDE_EFFECTS|G_BR|G_BRCOND|G_BRINDIRECT|G_BRJT|G_INSERT_VECTOR_ELT|G_EXTRACT_VECTOR_ELT|G_SHUFFLE_VECTOR)\bz6(COPY|PHI|INSERT_SUBREG|EXTRACT_SUBREG|REG_SEQUENCE)\b)�killed�implicitz
(i[0-9]+)( +)�constantintz(half|float|double) +�
constantfloat�integerz(::)( *)�mmo�;.*z
[a-zA-Z0-9_]+z	[(), \n]+z(?=.)r5r}z( *)(:(?!:)))r5�vreg_bank_or_classz( *)(\()�	vreg_typez( *)(_)z( *)([a-zA-Z0-9_]+)z( *)([sp][0-9]+)z( *)(<[0-9]+ *x *[sp][0-9]+>)z\(z +)r)r��on�intor�r�r0r�rzr�r�z%ir\.[a-zA-Z0-9_.-]+z%ir-block\.[a-zA-Z0-9_.-]+z[-+]�,z\), \(z-?[0-9]+z-?[0-9]+\.[0-9]+(e[+-][0-9]+)?z\@[a-zA-Z0-9_.]+)
r:rr	rr
rrr
r}rUN)rCrDrErFrGrHrIrJrrr
rPrUrr��BuiltinrrVrrr�rrr�MagicrrrTr�rZr@r@r@rAr�s�

������

�K���	�
���


�rc@seZdZdZdZdgZdgZdefdedfded	fd
e	fgdedfd
e
ee��fgdefdedfdedfe
ddd�edfe
ddd�edfe
ddd�efdedfde	fdefg	defed�gdejfed�gdefed�gdedfde
ee��fd e
ee��fgd!�Zd"S)#ra�
    Lexer for the overall LLVM MIR document format.

    MIR is a human readable serialization format that's used to represent LLVM's
    machine specific intermediate representation. It allows LLVM's developers to
    see the state of the compilation process at various points, as well as test
    individual pieces of the compiler.

    For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.

    .. versionadded:: 2.6
    zLLVM-MIRzllvm-mirz*.mir�#.*z--- \|$�llvm_irz---�llvm_mirz[^-#]+|.z(\.\.\.|(?=---))r5z((?:.|\n)+?)(?=(\.\.\.|---))zname:rG)�	alignmentr/r�rN)�	legalized�regBankSelected�tracksRegLiveness�selected�exposesReturnsTwice�boolean)�	registers�stack�
fixedStackr�	frameInfo�machineFunctionInfoz	body: *\|�
llvm_mir_bodyz.+r8z[^\n]+z *(true|false)z *[0-9]+z#pop:2z((?:.|\n)+?)(?=\.\.\.|---)z(?!\.\.\.|---)((?:.|\n)+))r:rrrGrrNr#N)rCrDrErFrGrHrIrrrrrrrrr
rrrrrZr@r@r@rArvsb�������������
�rc
@s�eZdZdZdZdgZddgZdgZdZdZ	d	Z
d
ZdZdZ
e
d
e
ZdZdZdZdZdZdZejejBZdejdfed�e	dejfde	eeje e!j"�dfee!dfee!j"dfe	ej#dfde fgee$fe
e%j&fee%j'fee%j(fee%j)fe
e%j*fed�eej+fe	ej,fde dfed�gdejfdej-dfdejdfgde fd e fd!ej-fd"ej-fgd#e.fd$e/fd%e!jfee/j0fee!j1fgd&�Z2d'd(�Z3d)S)*rz)
    For Nasm (Intel) assembly code.
    �NASM�nasm�*.asm�*.ASMztext/x-nasmg�?z[a-z$._?][\w$.?#@~]*�,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)�[0-7]+q�[01]+bru�\.e?�/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`�(?:res|d)[bwdqt]|timeszt(r[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])\b�seg|wrt|strict�byte|[dq]?wordz�(?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE)(?=\s)�^\s*%�preprocr.r/z(%s)(\s+)(equ)r2r3r6r5�[^;\n]+r�r8�[ \t]+rr�[,():\[\]]+z[&|^<>+*/%~-]+�[$]+�r:r2r1r.r6cC�t�d|tj�r
dSdS)N�PROCF)r;�match�
IGNORECASEr>r@r@rArB��zNasmLexer.analyse_textN)4rCrDrErFrGrHrIrJ�priorityrM�hexn�octn�binn�decn�floatnrK�declkwrO�wordopr��
directivesr;r:�	MULTILINEr�r�Preprocrr
rPrrSrr�DeclarationrRrrrX�Oct�Binr�rTrrUrVrr�Wordr�rZrBr@r@r@rAr�sz
�

�
�

����.rc@r`)r zO
    For the output of ``objdump -d -M intel``.

    .. versionadded:: 2.0
    zobjdump-nasmz*.objdump-intelztext/x-nasm-objdumpN)rCrDrErFrGrHrIrJr_rrZr@r@r@rAr sr c@s�eZdZdZdZdgZgd�ZdgZdZdZ	dZ
d	Zd
ZedeZ
dZd
ZdZdZdZdZdZejejBZdejdfed�edejfeedfdeefeej e!ej"�dfeej"dfeej#dfde!fgee$fe	e%j&fe
e%j'fee%j(fe
e%j)fee%j*fed�eej+feej,fdee-e!ej.e!�fde!dfed�gdejfdej.dfdejdfgd e!fd!ee-e!�fd"e!fd#ej.fgd$e/fd%e0fd&ej fee0j1feej2fgd'�Z3d(d)�Z4d*S)+r!z3
    For Tasm (Turbo Assembler) assembly code.
    �TASM�tasm)r&r'z*.tasmztext/x-tasmz[@a-z$._?][\w$.?#@~]*r(r)r*rur+r,r-zs(r[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])\br.r/z�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]+r0r1r.r/r2z
(%s)(\s+)(%s)r3r6z(\\)(\s*)(;.*)([\r\n])r5r2r�r8z[\n\r]z(\\)([\n\r])r3rr4z[&|^<>+*=/%~-]+r5r6cCr7)Nr8T)r;r9�Ir>r@r@rArByr;zTasmLexer.analyse_textN)5rCrDrErFrGrHrIrJrMr=r>r?r@rArKrBrOrCr�rD�datatyper;r:rEr�rrFrr
rPrrrSrrGrRrrrXrHrIr�rTrrUrrVrrrJr�rZrBr@r@r@rAr!*s|

�

�
�

����0r!c@s�eZdZdZdZdgZdgZejZ	dde
jfdefde
jfd	efd
ejfdefdefd
ejfdejfdejfdejfdefde
fg
iZdd�ZdS)r"z@
    For ca65 assembler sources.

    .. versionadded:: 1.6
    zca65 assembler�ca65r'r:rr9z[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\brzz%[01]+z
[#,.:()=\[\]]z[a-z_.@$][\w.@$]*cCst�d|tj�r
dSdS)Nz^\s*;g�������?)r;r<rE)rhr?r@r@rArB�r;zCa65Lexer.analyse_textN)rCrDrErFrGrHrIr;r:r�rrVrr
rPr�PseudorrrYrrXrTrIrrZrBr@r@r@rAr"s2���r"c@sjeZdZdZdZdgZddgZdgZgd�Zgd�Z	d	Z
d
e
de
dZd
ZdZ
dd�e�dZde
dZdZdd�Zed�deejfedejfeejdfdeejdfdefge
ejfeejfeefgeefed�gdefded fed!�ed�gded fd"ed fed�gd#efd$ed%fed!�ed&�gd#efed�eefed&�gd'efd(efd)efgd*�Zd+S),r#zf
    For DCPU-16 Assembly.

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

    .. versionadded:: 2.4
    �DASM16�dasm16z*.dasm16z*.dasmz
text/x-dasm16)$�SET�ADD�SUB�MUL�MLI�DIV�DVI�MOD�MDI�AND�BOR�XOR�SHR�ASR�SHL�IFB�IFC�IFE�IFN�IFG�IFA�IFL�IFU�ADX�SBX�STI�STD�JSR�INT�IAG�IAS�RFI�IAQ�HWN�HWQ�HWI)�A�B�C�X�Y�ZrM�J�SP�PC�EX�POP�PEEK�PUSHz[a-zA-Z0-9_$@.]r)r*r+z[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)z0b[01_]+z(?i)(r�r�z'\\?�'r(ccs:�|�d�}|��|jvrtjntj}|��||fVdS)Nr)rW�upper�	REGISTERSr
rUrP�start)�lexerr9�ident�klassr@r@rA�guess_identifier�s�
zDasm16Lexer.guess_identifierr.r/r2r0�	data-argsr3�numericz\+z\]r5rYz;.*?$rz\[�deref�instruction-liner8r9r�)r:r�rYr�r�r2r�r.N)rCrDrErFrGrHrIrJ�INSTRUCTIONSr�rLrMrN�
binary_number�join�instruction�single_charrKr�rr
rPrRrrrTrrrrZr@r@r@rAr#�sl	
�
�������
�r#)*rFr;�pygments.lexerrrrrrrr�pygments.lexers.c_cppr	r
�pygments.lexers.dr�pygments.tokenrr
rrrrrrrr�__all__rr_rrrrrrrrrr r!r"r#r@r@r@rA�<module>s2
$0S5


QUU'

https://t.me/RX1948 - 2025