HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/asm.cpython-311.pyc
�

�;f���dZddlZddlmZmZmZmZmZmZm	Z	ddl
mZmZddl
mZddlmZmZmZmZmZmZmZmZmZmZgd�ZGd�d	e��Zd
�ZGd�de��ZGd
�de��ZGd�de��ZGd�de��Z Gd�de��Z!Gd�de��Z"Gd�de��Z#Gd�de��Z$Gd�de��Z%Gd�de��Z&Gd�d e��Z'Gd!�d"e��Z(Gd#�d$e��Z)dS)%z�
    pygments.lexers.asm
    ~~~~~~~~~~~~~~~~~~~

    Lexers for assembly languages.

    :copyright: Copyright 2006-2024 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�"�eZdZdZdZddgZddgZdgZdZd	Z	d
Z
dZdezd
zezdzZdZ
dezdzZed��edzejfdezejdfdejfeejdfdefgeejfe
efdezejfe
ejfeejfdedfdejdfdejfdejdfed��ed��gdezd zeejee eje ��fdezd!ze
zd zeejee eje eje ��feejfe
ejfeejfd"e
zejfd#ej!fdedfdejdfdejfdejdfed��ed��g
d$efd%efdejfd&ejfgd'e fgd(�Z"d)�Z#d*S)+rz'
    For Gas (AT&T) assembly code.
    �GAS�gas�asm�*.sz*.Sz
text/x-gas�%https://www.gnu.org/software/binutils��
"(\\"|[^"])*"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[-*,.()\[\]!:{}]+)�rootr5r6r2r:c��tjd|tj��rdStjd|tj��rdSdS)Nz^\.(text|data|section)Tz^\.\w+g�������?)�re�search�M��texts �F/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/asm.py�analyse_textzGasLexer.analyse_texthsG��
�9�.��b�d�;�;�	��4�
�Y�y�$���
-�
-�	��3�	�	�N)$�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�url�
version_added�string�char�
identifier�number�registerrr�Label�	Attribute�Functionr
�Constantrr�Integer�Variablerr�Single�	Multiliner�Hexr�Char�tokensrF�rGrErrs����������D��e�n�G����I���I�
1�C��M��F��D�!�D�(�7�2�T�9�D�@�J�
-�F��Z��%�'�H�
�G�L�!�!�
�#�
�t�z�*�
�Z�
���1A�B�
&���7�
���(:�;�
���

����'�
�V��
�:�
�t�~�.�
�V�^�$�
�t�}�%�
��V�,�
����7�
�W�.�/�
%�w�'8�&�A��G�M�"�"��G�L�!�!�

�""�*�
,�V�
3�����T�;��
�$�&�&�
'�"�*�
,�Z�
7��
>�v�
E�����T�;��
�$�f�n�k�C�C�
D�
���'�
�V�^�$�
�t�}�%�
��Z���(�
�F�K�(�
��V�,�
����7�
�W�.�/�
%�w�'8�&�A��G�M�"�"��G�L�!�!�1
�6�J��
�Z� �
���/�
 �'�"3�4�	
�"�;�/�
�o:�:�F�x����rGrc�j�d}ddttjttt
��fdtttjt��fd|zdzttjtttj	ttjt��fd|zdzttjtttj	t��fd|zd	z|z|zd
ztttjttjtt|����fd|zdztttjtt|����fd|zd	z|z|zdztttjttjtt
��fd|zd	z|z|zd
ztttjttj��fdtfd|zdz|zdztttjttjttjttj��fd|zdztttjttjttj��fdtfg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)rrrWrr
rrr_rrYr�PropertyrZr)�	asm_lexer�hex_res  rE�_objdump_lexer_tokensrhos>���F��
-����[�$��?�?�
A�2���t�z�;�7�7�
9���Z�E�
E����Z��d�m�$�f�j�+�?�?�
@���Z�,�
,����Z��d�m�$�&�&�
'��V�^�N�
*�6�
1�&�
8�9S�
S���T�Z��V�Z���y�)�)�+�+�
,��V�^�6�
6���T�Z���y�)�)�+�+�
,��V�^�N�
*�6�
1�&�
8�9I�
I���T�Z��V�Z��U[�\�\�
^��V�^�N�
*�6�
1�&�
8��
@���T�Z��V�Z�H�H�
J��4� ��&�
 �!D�
D�V�
K�E�
Q���T�Z��T�]�J����V�Z�A�A�
B��&�
 �!<�
<���T�Z��T�]�J���(�(�
)��%� �U+
�-�-rGc�F�eZdZdZdZdgZdgZdgZdZdZ	e
e��ZdS)rz,
    For the output of ``objdump -dr``.
    �objdumpz	*.objdumpztext/x-objdumpr*r+N)
rHrIrJrKrLrMrNrOrPrQrhrrarbrGrErr�sO���������D��k�G��
�I�!�"�I�
1�C��M�
"�
"�8�
,�
,�F�F�FrGrc�@��eZdZdZdZdgZdgZdgZdZdZ	�fd�Z
�xZS)rz@
    For the output of ``objdump -Sr`` on compiled D files.
    z	d-objdumpz*.d-objdumpztext/x-d-objdumpr*r+c�R��t��jttfi|��dS�N)�super�__init__rr��self�options�	__class__s  �rErozDObjdumpLexer.__init__��*����������9�9��9�9�9�9�9rG�rHrIrJrKrLrMrNrOrPrQro�
__classcell__�rss@rErr�si����������D��m�G���I�#�$�I�
1�C��M�:�:�:�:�:�:�:�:�:rGrc�D��eZdZdZdZgd�Zgd�ZdgZdZdZ	�fd�Z
�xZS)	rzB
    For the output of ``objdump -Sr`` on compiled C++ files.
    �cpp-objdump)ryzc++-objdumbzcxx-objdump)z
*.cpp-objdumpz
*.c++-objdumpz
*.cxx-objdumpztext/x-cpp-objdumpr*r+c�R��t��jttfi|��dSrm)rnror
rrps  �rErozCppObjdumpLexer.__init__�s*���������<�;�;�7�;�;�;�;�;rGrurws@rErr�sq����������D�;�;�;�G�C�C�C�I�%�&�I�
1�C��M�<�<�<�<�<�<�<�<�<rGrc�@��eZdZdZdZdgZdgZdgZdZdZ	�fd�Z
�xZS)rz@
    For the output of ``objdump -Sr`` on compiled C files.
    z	c-objdumpz*.c-objdumpztext/x-c-objdumpr*r+c�R��t��jttfi|��dSrm)rnrorrrps  �rErozCObjdumpLexer.__init__�rtrGrurws@rErr�si����������D��m�G���I�#�$�I�
1�C��M�:�:�:�:�:�:�:�:�:rGrc�2�eZdZdZdZddgZdgZdgZdZdZ	d	Z
d
ZdZdezd
zZ
dZdZdZdZdZdZdZdZed��ed��e
efdezdzejfe
ejjfed��dezejjfdezejfeejfdejfeejfeejfdej fde!fgd e"fgd!e#j$fd"e#j%fgd#eze&j'fd$e&fe(d%d&�'��e&fee&fee&fd(ezd)zezd*ze&fd+e&fd,e&fe(d-��e&fd.e&fg
d/�Z)d0S)1rz"
    For HSAIL assembly code.
    �HSAIL�hsail�hsaz*.hsailztext/x-hsailzVhttps://en.wikipedia.org/wiki/Heterogeneous_System_Architecture#HSA_Intermediate_Layerz2.2�"[^"]*?"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})r2�commentsr8z:?�keyword�&r0�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�requirenopartialworkgroupsr1��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>r2r�r�N)*rHrIrJrKrLrMrNrOrPrQrRrT�register_numberrV�	alignQual�	widthQual�	allocQual�roundingMod�datatypeMod�float�hexfloat�	ieeefloatrrrrWr\�	Anonymous�Globalrr_�Floatr[rrrr^r]r�TyperrarbrGrErr�s0���������D����G���I�� �I�
b�C��M�
�F�#�J��O���0�6�9�H�!�I�'�I�#�I�6�K�
:�K�
0�E�^�H�R�I�
�G�L�!�!��G�J���
�V��
�J�
��
%�t�z�2�
�t�}�.�/��G�I���
�J�
��
� 4�5�
�J�
��
�.�
�v�z�"�
!�6�:�.�
���%�
�F�L�!�
�V�^�$�
'��5�+
�0�*�%�
��7�,�-�
���(�
��+�
%�w�|�4�<�W�E�
�U�G��
��� '�

(��'�"�
�'�"�
�Y�
��
$�y�
0�3�
6��@�
�'�"�
"�G�,�
�U�%E�%F�%F�JHO�K%
P�P�7�#�y=
�?]�]�F�F�FrGrc���eZdZdZdZdZdgZdgZdgZdZ	dZ
d	e
zd
zZdezdzZe
d
��edzejfe
d��dezejfdezejjfdejjfdejjfdejjfdezejfdejjfde
zefdefdefdefgdefdefgedd���efed ��ejfd!ejfgd"�Zd#S)$rz!
    For LLVM assembly code.
    �LLVMz"https://llvm.org/docs/LangRef.html�llvmz*.llztext/x-llvmr+r�z([-a-zA-Z$._][\w\-$.]*|r�rdz|(\d+))r2z\s*:r�r0r8z%\d+z@\d+z#\d+�!z!\d+zc?r�z,-?\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�
alignstackr[�	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�crX�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�ghcccrb�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�nakedrL�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_mostccrc�prologue�	protected�ptrtoint�
ptx_device�
ptx_kernel�readnone�readNonera�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�
willreturnr1r�)r��half�bfloatr��double�fp128�x86_fp80�	ppc_fp128�labelr<r��x86_amxr��ptrr�)r>r2r�N)rHrIrJrKrLrPrMrNrOrQrRrT�block_labelrrrWr\r�r�rrrrrrrr�rarbrGrErrgs����������D�
.�C��h�G���I���I��M��F�+�f�4�s�:�J���#�j�0�K�
�G�L�!�!��7�
"�D�J�/��G�I���
�J�
��
�.�
�J�
��
� 4�5�
�d�m�-�.�
�d�m�*�+�
�d�m�*�+�
�J�
��
�.�
�d�m�-�.�
�V�^�V�$�
!�6�*�
<�f�E�
%�{�3�)
�.�:�&�
�� �
��U�SC�h�iT�T�T�h '�iT
(�n�U�/�0�0��<�
!��7�<�(�`
�7|�|�F�F�FrGrc���eZdZdZdZdZdgZgZgZdZ	e
dd���efd	ej
fd
ej
fdej
fdefd
efdejdfed��dejjfe
ddd���ejfe
ddd���ejfdejfdefdejfdejfe
d��efdeeje��dfdejd fed!��d"eee��d#fd$efd%efd&efged!��d'ed(fged)��d'ed(fgd*eee��d+fd,eee��d-fd'ed(fgd.eeejj��fd/eeej��fd,eee��d-fd'ed(fgd0eeej��fd1eeej��fded(fd'ed(fgd2efd3efe
d4��efd5efd6efd7efed!��ed��d8efd9efded(fgd:ejfgd;ejfgd<ejjfgd=�
Zd>S)?rz9
    For LLVM MIR examples without the YAML wrapper.
    z
LLVM-MIR Body�%https://llvm.org/docs/MIRLangRef.htmlz
llvm-mir-body�2.6)�liveins�
successorsr3r�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_]+ *�vregrbzintrinsic\(\@[a-zA-Z0-9_.]+\))
r�rDr�r�r�r�r�r�r�r�z	intpred\(z\))rzr�)
rfrlrirhrkrjr�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(?=.)r9r�z( *)(:(?!:)))r9�vreg_bank_or_classz( *)(\()�	vreg_typez( *)(_)z( *)([a-zA-Z0-9_]+)z( *)([sp][0-9]+)z( *)(<[0-9]+ *x *[sp][0-9]+>)z\(z +)r7r��on�intor
r�r>r�r�r�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>rrrrr rrr�rbN) rHrIrJrKrLrPrMrNrOrQrrrrWr\rr��Builtinrr]rrr�rrr
�Magicrrr[r�rarbrGrErr�s����������D�
1�C���G��I��I��M�
�U�,�S�
9�
9�
9�7�C�
D�d�j�Q�
E�t�z�R�
#�T�Z�0�
,�d�3�
�d�#�
 �$�-��8��G�H���
-�t�}�/C�D�
�U��#/��?�?�?�@D��
N�
�U�"�*8��H�H�H�
�\�
��v�}�%�
�8��$�0�\�1
�4G�
�\�
��U�)�
*�
*�G�4�
�x�x���j�A�A�=�Q�
%�w�|�_�E��G�I���
�(�(�8�Z�8�8�%�@�
�W��
�t�$�
�4� �OH
�V
�G�I���
�t�V�$�
�
�G�G���
�t�V�$�
��h�h�z�7�;�;�=[�\�
�(�(�:�t�4�4�k�B�
�t�V�$�
����*�d�m�.A�B�B�C�
#�X�X�j�$�-�%H�%H�I�
�(�(�:�t�4�4�k�B�
�t�V�$�

�!�(�(�:�w�|�"D�"D�E�
-�x�x�
�G�L�/Q�/Q�R�
�D�&�!�
�t�V�$�
��D�M�
�J��
�U�@�A�A�
�
�%�d�+�
*�D�1�
�h���G�I����G�H���
�;��
���
�D�&�!�
� !�&�.�1�3�4�f�l�C�D�'���)=�>�?�y}�}�F�F�FrGrc���eZdZdZdZdZdgZdgZdZde	fde
d	fd
e
dfdefgd
e
dfdee
e����fgde	fd
e
dfde
dfedd���e
dfedd���e
dfedd���e
fde
dfdefdefg	defed��gdejfed��gdefed��gd
e
d fd!ee
e����fd"ee
e����fgd#�Zd$S)%raS
    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.
    zLLVM-MIRrzllvm-mirz*.mirr�#.*z--- \|$�llvm_irz---�llvm_mirz[^-#]+|.z(\.\.\.|(?=---))r9z((?:.|\n)+?)(?=(\.\.\.|---))zname:rL)�	alignmentr3r�rU)�	legalized�regBankSelected�tracksRegLiveness�selected�exposesReturnsTwice�boolean)�	registers�stack�
fixedStackr�	frameInfo�machineFunctionInfoz	body: *\|�
llvm_mir_bodyz.+r<z[^\n]+z *(true|false)z *[0-9]+z#pop:2z((?:.|\n)+?)(?=\.\.\.|---)z(?!\.\.\.|---)((?:.|\n)+))r>r(r)rLr0rUr6N)rHrIrJrKrLrPrMrNrQrrr
rrrrrrr	r$rrrarbrGrErr�s����������D�
1�C��l�G��	�I��M�
�W��
��)�,�
�W�j�)�
�$��	
�!�'�6�2�
,�h�h�u�u�Y�7G�7G�.H�.H�I�	
��W��
 �'�6�2�
�w��'�
�U�?����� '��
3�
�U�7����� '��
4��U�+����� '�
)��7�O�4�
�D�M�
�J��)
�.����G�F�O�O�
�
���-��G�F�O�O�
�
�&�!��G�F�O�O�
�!�'�8�4�
*�H�H�U�U�;K�5L�5L�,M�,M�N�*�8�8�E�E�:J�4K�4K�+L�+L�M�	
�g=�=�F�F�FrGrc��eZdZdZdZdgZgd�ZdgZdZdZ	dZ
d	Zd
ZdZ
dZd
ZedzezZdZdZdZdZdZdZejejzZdejdfed��edzejfde�d�e ej!e"e#j$��dfee#dfee#j$dfeej%dfde"fgee&fee'j(fe
e'j)fee'j*fee'j+fee'j,fed��eej-feej.fde"dfed��gdejfd ej/dfd!ejdfgd!e"fd"e"fd#ej/fd$ej/fgd%e0fd&e1fd'e#j!fee1j2fee#j3fgd(�Z4d)�Z5d*S)+r z)
    For Nasm (Intel) assembly code.
    �NASM�nasm)�*.asm�*.ASMz*.nasmztext/x-nasmzhttps://nasm.usr+g�?z[a-z$._?][\w$.?#@~]*�,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)�[0-7]+q�[01]+br��\.e?�/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`�(?:res|d)[bwdqt]|timesz�(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]|k[0-7]|[xyz]mm(?:[12][0-9]?|3[01]?|[04-9]))\bzseg|wrt|strict|rel|abs�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*%�preprocr2r3rdz)(\s+)(equ)r6r7r:r9�[^;\n]+r�r<�[ \t]+rr'z
[,{}():\[\]]+z[&|^<>+*/%~-]+�[$]+�r>r6rDr2r:c�J�tjd|tj��rdSdS)N�PROCF)r@�match�
IGNORECASErCs rErFzNasmLexer.analyse_text"s)��
�8�G�T�2�=�1�1�	��5�	�	rGN)6rHrIrJrKrLrMrNrOrPrQ�priorityrT�hexn�octn�binn�decn�floatnrR�declkwrV�wordopr��
directivesr@rL�	MULTILINErr�PreprocrrrWrrZrr�DeclarationrYrrr_�Oct�Binr�r[r$r\r]rr�Wordr�rarFrbrGrEr r �sU���������D��h�G�,�,�,�I���I�
�C��M��H�(�J�:�D��D��D��D�
�G�^�d�
"�F�
K�F�
&�F�:�H�'�F��D�2�J�
�M�B�L�(�E��w��	�2��G�L�!�!�
�#�
�t�z�*�
)�*�
)�
)�
)�����
�G�4G�H�H�"�
$���"4�5�
�W�(�*<�=�
���(:�;�
��$�
��V��
�6�:��
�6�:��
�6�:��
�V�\�"�
�6�>�"��G�M�"�"�
�t�|�$�
���'�
��V�,��G�L�!�!�
����)�
����/�
�G�O�V�,�
��J��
�
�#�
�W�^�$�
�W�^�$�	
��{�+�
��)�
�g�&�'�
�X�]�#�
�7�<� �
�K,�,�F�\����rGr c�F�eZdZdZdZdgZdgZdgZdZdZ	e
e��ZdS)r!z4
    For the output of ``objdump -d -M intel``.
    zobjdump-nasmz*.objdump-intelztext/x-nasm-objdumpr*z2.0N)
rHrIrJrKrLrMrNrOrPrQrhr rarbrGrEr!r!(sQ���������D���G�"�#�I�&�'�I�
1�C��M�
"�
"�9�
-�
-�F�F�FrGr!c���eZdZdZdZdgZgd�ZdgZdZdZ	dZ
d	Zd
ZdZ
dZed
zezZdZdZdZdZdZdZdZejejzZdejdfed��e
dzejfee dfde
�de�d�e!ej"e#e j$��dfee j$dfe
ej%dfde#fgee&fee'j(fee'j)fe
e'j*fee'j+fee'j,fed��eej-fe
ej.fde!e/e#ej0e#��fde#d fed��gd!ejfd"ej0d fd#ejd fgd$e#fd%e!e/e#��fd&e#fd'ej0fgd(e1fd)e2fd*e j"fee2j3fee j4fgd+�Z5d,�Z6d-S).r"z3
    For Tasm (Turbo Assembler) assembly code.
    �TASM�tasm)r:r;z*.tasmztext/x-tasmz-https://en.wikipedia.org/wiki/Turbo_Assemblerr+z[@a-z$._?][\w$.?#@~]*r<r=r>r�r?r@rAzs(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])\bzseg|wrt|strictrBz�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]+rCrDr2r3r6rdz)(\s+)(r�r7r:z(\\)(\s*)(;.*)([\r\n])r9rEr�r<z[\n\r]z(\\)([\n\r])rFrz[,():\[\]]+z[&|^<>+*=/%~-]+rGrHc�J�tjd|tj��rdSdS)NrJT)r@rK�IrCs rErFzTasmLexer.analyse_text�s)��
�8�G�T�2�4�(�(�	��4�	�	rGN)7rHrIrJrKrLrMrNrOrPrQrTrNrOrPrQrRrRrSrVrTr�rU�datatyper@rLrVrrrWrrrWrrrZrrXrYrrr_rYrZr�r[r$r\r
r]rrr[r�rarFrbrGrEr"r"6s����������D��h�G�,�,�,�I���I�
9�C��M�)�J�:�D��D��D��D�
�G�^�d�
"�F�
K�F�
&�F�8�H��F��D�4�J�)�H��M�B�L�(�E��w��	�2��G�L�!�!�
�#�
�t�z�*�
��"4�5�
0�*�
0�
0�X�
0�
0�
0�����
�G�4G�H�H�"�
$��W�(�*<�=�
���(:�;�
��$�
��V��
�6�:��
�6�:��
�6�:��
�V�\�"�
�6�>�"��G�M�"�"�
�t�|�$�
���'�
&�
�X�d�J���
�
C�
C�
E�
��V�,��G�L�!�!�
�"���)�
����/�
�G�O�V�,�
��
�#�
�h�h�t�Z�8�8�9�
�
�#�
�W�^�$�	
��[�)�
��*�
�g�&�'�
�X�]�#�
�7�<� �
�Q/�/�F�b����rGr"c���eZdZdZdZdgZdgZdZdZe	j
Zddej
fd	efd
ejfdefdejfd
efdefdejfdejfdejfdejfdefdefg
iZd�ZdS)r#z%
    For ca65 assembler sources.
    zca65 assembler�ca65r)zhttps://cc65.github.ioz1.6r>rr=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\br�z%[01]+z
[#,.:()=\[\]]z[a-z_.@$][\w.@$]*c�J�tjd|tj��rdSdS)Nz^\s*;g�������?)r@rArV)rqrDs  rErFzCa65Lexer.analyse_text�s)��
�9�X�t�R�\�2�2�	��3�	�	rGN)rHrIrJrKrLrMrNrPrQr@rLrrr]rrrWr�Pseudorrr`rr_r[rZrrarFrbrGrEr#r#�s����������D��h�G���I�
"�C��M��M�E�	�
�W�^�$�
�Z� �
"�D�J�/��!�
"��w�~�&�
��)�
�6�"�
�6�;�'�
(�&�*�5�
�V�^�$�
��
�#�
�{�+�
!�4�(�!
��F�*����rGr#c�V�eZdZdZdZdZdgZddgZdgZdZ	gd	�Z
gd
�ZdZdezd
zezdzZ
dZdZdd�e
��zdzZdezdzZdZd�Zed��de
zejfe
dzejfeejdfde
zejdfdefgeejfeejfeefge
efed��gdefd ed!fed"��ed��gded!fd#ed!fed��gd$efd%ed&fed"��ed'��gd$efed��eefed'��gd(efd)efd*efgd+�Zd,S)-r$z
    For DCPU-16 Assembly.
    �DASM16z http://0x10c.com/doc/dcpu-16.txt�dasm16z*.dasm16z*.dasmz
text/x-dasm16z2.4)$�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�Zra�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,c#��K�|�d��}|���|jvrtjntj}|���||fV�dS)Nr)rd�upper�	REGISTERSrr\rW�start)�lexerrK�ident�klasss    rE�guess_identifierzDasm16Lexer.guess_identifier�sW�������A����!&�����%�/�!A�!A��
�
�t�z���k�k�m�m�U�E�)�)�)�)�)�)rGr2r3r6r4�	data-argsr7�numericz\+z\]r9rfz;.*?$r#z\[�deref�instruction-liner<r=r�)r>r�rfr�r�r6r�r2N) rHrIrJrKrLrPrMrNrOrQ�INSTRUCTIONSr�rSrTrU�
binary_number�join�instruction�single_charrRr�rrrWrYrrr[rrrrarbrGrEr$r$�sL���������D�
,�C��j�G��X�&�I� �!�I��M�
�
�
�L����I��D�!�D�(�7�2�T�9�D�@�J�
.�F��M��S�X�X�l�3�3�3�c�9�K��D�.�3�&�K�
�F�*�*�*�
�G�L�!�!�
�:�
�t�z�*�
�#�
�t�z�*�
�$�-�);�<�
�Z�
����<�
��$�

��F�N�+�
�V�^�$�
�&�!�
��)�*��G�I���
��K� �
�K��(��G�E�N�N��G�L�!�!�	
���V�,�
�w��'��G�L�!�!�
��;��
�K��)��G�E�N�N��G�&�'�'�	
��;���G�I���
�V���G�&�'�'�	
��J��
�Z� �
�� �
�a5�5�F�F�FrGr$)*rKr@�pygments.lexerrrrrrrr	�pygments.lexers.c_cppr
r�pygments.lexers.dr�pygments.tokenr
rrrrrrrrr�__all__rrhrrrrrrrrr r!r"r#r$rbrGrE�<module>r�s�����
�	�	�	�������������������2�2�2�2�2�2�2�2�$�$�$�$�$�$�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�'�'�'��R�R�R�R�R�z�R�R�R�j2�2�2�j-�-�-�-�-�:�-�-�-�:�:�:�:�:�O�:�:�:�<�<�<�<�<�o�<�<�<�
:�
:�
:�
:�
:�O�
:�
:�
:� D�D�D�D�D��D�D�D�NL�L�L�L�L�
�L�L�L�^H�H�H�H�H�z�H�H�H�VL�L�L�L�L�:�L�L�L�^U�U�U�U�U�
�U�U�U�p.�.�.�.�.�|�.�.�.�U�U�U�U�U�
�U�U�U�p$�$�$�$�$�
�$�$�$�Ne�e�e�e�e�*�e�e�e�e�erG