Ë Ïy†6 ´ãó—dZddlZddlmZmZmZmZmZmZm Z ddl m Z m 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)y)%zÉ pygments.lexers.asm ~~~~~~~~~~~~~~~~~~~ Lexers for assembly languages. :copyright: Copyright 2006-2023 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 e zd ze zd zZ d Z de zdzZ e d«e dzejfde zej dfdej fe ej"dfdefge ej&feefde zej fe ej,fe ej.fdedfdej4dfdej6fdej6dfe d«e d«g de zdzeej:eeej&e«fde zdze zdzeej:eeej&eej,e«fe ej&fe ej,fe ej.fd e zej,fd!ej>fdedfdej4dfdej6fdej6dfe d«e d«g d"efd#efdej4fd$ej6fgd%efgd&œZ d'„Z!y())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[-*,.()\[\]!:{}]+)Úrootr3r4r0r8cóœ—tjd|tj«rytjd|tj«ryy)Nz^\.(text|data|section)Tz^\.\w+gš™™™™™¹?)ÚreÚsearchÚM©Útexts ú8/usr/lib/python3.12/site-packages/pygments/lexers/asm.pyÚ analyse_textzGasLexer.analyse_textfs6€Ü �9‰9Ð.°´b·d±dÔ ;ØÜ �Y‰Y�y $¬¯©Ô -Øð.óN)"Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnameÚaliasesÚ filenamesÚ mimetypesÚstringÚcharÚ identifierÚnumberÚregisterrrÚLabelÚ AttributeÚFunctionr ÚConstantrrÚIntegerÚVariablerrÚSingleÚ MultilinerÚHexrÚCharÚtokensrD©rErCrrsŽ„ñð €DØ�eˆn€Gؘ�€IØ�€Ið€FØ €DØ! DÑ(¨7Ñ2°TÑ9¸DÑ@€JØ -€FØ�ZÑ %Ñ'€Hñ �LÓ !Ø ˜#Ñ ˜tŸz™zÐ *Ø �ZÑ  §¡Ð1AÐ BØ &¨¯©Ð 7Ø ˜Ÿ™Ð(:Ð ;Ø ˜Ð ð  𘟙Р'Ø �VÐ Ø �:Ñ ˜tŸ~™~Ð .Ø �V—^‘^Ð $Ø �t—}‘}Ð %Ø ˜ VÐ ,Ø  §¡°Ð 7Ø ˜W×.Ñ.Ð /Ø % w×'8Ñ'8¸&Ð Aá �MÓ "Ù �LÓ !ð  ð"" *Ñ ,¨VÑ 3Ù˜Ÿ™ T¨;¸¿ ¹ Ø$ó&ð 'ð" *Ñ ,¨ZÑ 7¸Ñ >¸vÑ EÙ˜Ÿ™ T¨;¸¿ ¹ Ø$ f§n¡n°kóCð D𠘟™Ð 'Ø �V—^‘^Ð $à �t—}‘}Ð %à �‰Z˜Ÿ™Ð (Ø ˜FŸK™KÐ (Ø ˜ VÐ ,Ø  §¡°Ð 7Ø ˜W×.Ñ.Ð /Ø % w×'8Ñ'8¸&Ð Aá �MÓ "Ù �LÓ !ð1 ð6�JÐ Ø �ZÐ Ø  §¡Ð /Ø  '×"3Ñ"3Ð 4ð  ð" ;Ð /ð ño:€FóxrErcór—d}ddttjttt «fdtttjt«fd|zdztt jtttjtt jt«fd|zdztt jtttjt«fd|zd z|z|zd ztttjtt jtt|««fd|zd ztttjtt|««fd|zd z|z|zd ztttjtt jtt «fd|zd z|z|zd ztttjtt j«fdtfd|zdz|zdztttjttjttjtt 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)rrrSrr rrr[rrUrÚPropertyrVr)Ú asm_lexerÚhex_res rCÚ_objdump_lexer_tokensrdms7€ð€Fàà -ÜœŸ™¤[´$¼Ó?ð Að2ÜœœtŸz™z¬;Ó7ð 9ð�‰ZÐEÑ EÜœŸ™¤Z´¼d¿m¹mÜ$¤f§j¡j´+ó?ð @ð�‰ZÐ,Ñ ,ÜœŸ™¤Z´¼d¿m¹mÜ$ó&ð 'ð�V‰^˜NÑ *¨6Ñ 1°&Ñ 8Ð9SÑ SÜœ¤T§Z¡Z´¼V¿Z¹ZÌܘyÓ)ó+ð ,ð�V‰^Ð6Ñ 6Üœ¤T§Z¡Z´Ü˜yÓ)ó+ð ,ð�V‰^˜NÑ *¨6Ñ 1°&Ñ 8Ð9IÑ IÜœ¤T§Z¡Z´¼V¿Z¹ZÌÔU[Ó\ð ^ð�V‰^˜NÑ *¨6Ñ 1°&Ñ 8¸Ñ @Üœ¤T§Z¡Z´¼V¿Z¹ZÓHð Jðœ4Ð ð˜&Ñ Ð!DÑ DÀVÑ KÈEÑ QÜœ¤T§Z¡Z´¼T¿]¹]ÌJÜŸ™¬ ´V·Z±ZóAð Bð˜&Ñ Ð!<Ñ <Üœ¤T§Z¡Z´¼T¿]¹]ÌJÜŸ™ó(ð )ðœ%Ð ðU+ ð- ð-rEcó6—eZdZdZdZdgZdgZdgZee «Z y)rz, For the output of ``objdump -dr``. Úobjdumpz *.objdumpztext/x-objdumpN) rFrGrHrIrJrKrLrMrdrr]r^rErCrr¢s.„ñð €D؈k€GØ� €IØ!Ð"€Iá " 8Ó ,�FrErcó8‡—eZdZdZdZdgZdgZdgZˆfd„ZˆxZ S)rz@ For the output of ``objdump -Sr`` on compiled D files. z d-objdumpz *.d-objdumpztext/x-d-objdumpc ó8•—t‰|�ttfi|¤Žy©N)ÚsuperÚ__init__r r©ÚselfÚoptionsÚ __class__s €rCrkzDObjdumpLexer.__init__·óø€Ü ‰Ñœ¤Ñ9°Ó9rE© rFrGrHrIrJrKrLrMrkÚ __classcell__©ros@rCrr®ó/ø„ñð €D؈m€GØ�€IØ#Ð$€I÷:ð:rErcó<‡—eZdZdZdZgd¢Zgd¢ZdgZˆfd„ZˆxZ S)rzB For the output of ``objdump -Sr`` on compiled C++ files. ú cpp-objdump)rvz c++-objdumbz cxx-objdump)z *.cpp-objdumpz *.c++-objdumpz *.cxx-objdumpztext/x-cpp-objdumpc ó8•—t‰|�ttfi|¤Žyri)rjrkr rrls €rCrkzCppObjdumpLexer.__init__Äsø€Ü ‰Ñœ¤<Ñ;°7Ó;rErqrss@rCrr»s+ø„ñð €DÚ;€GÚC€IØ%Ð&€I÷<ð{}\[\]()*.,:;!]|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<r0r€r�N)(rFrGrHrIrJrKrLrMrNrPÚregister_numberrRÚ alignQualÚ widthQualÚ allocQualÚ roundingModÚ datatypeModÚfloatÚhexfloatÚ ieeefloatrrrrSrXÚ AnonymousÚGlobalrr[ÚFloatrWrrrrZrYrÚTyperr]r^rErCrrÕs „ñð €DؘЀGØ� €IØÐ €Ià €FØ#€Jà€OØ Ñ0°6Ñ9€Hà!€IØ'€IØ#€Ià6€Kð :€Kð 0€EØ^€HØR€Iñ �LÓ !Ù �JÓ à �VÐ à �JÑ  Ñ % t§z¡zÐ 2à �t—}‘}×.Ñ.Ð /á �IÓ à �JÑ  § ¡ × 4Ñ 4Ð 5Ø �JÑ  § ¡ Ð .à �v—z‘zÐ "Ø ! 6§:¡:Ð .Ø ˜Ÿ ™ Ð %Ø �F—L‘LÐ !Ø �V—^‘^Ð $à '¨Ð 5ð+ ð0˜*Ð %ð ð˜7×,Ñ,Ð -Ø ˜Ÿ™Ð (ð ð ˜+Ñ % w§|¡|Ð 4ð<¸WÐ EÙ ðGð ô ð 'ð  (ð˜'Ð "Ø ˜'Ð "Ø �YÑ  Ñ $ yÑ 0°3Ñ 6¸Ð @Ø ˜'Ð "Ø " GÐ ,Ù ð%Eó%FðJHOðK% PðP˜7Ð #ðy= ñ?]�FrErcóB—eZdZdZdZdZdgZdgZdgZdZ de zd zZ d e zd zZ e d «e d ze jfe d«de ze jfde ze jj fde jj"fde jj fde jj fde ze jfde jj"fde zefdefdefdefgdefdefgedd¬«efed«ej2fd ej2fgd!œZy")#rz! For LLVM assembly code. ÚLLVMz"https://llvm.org/docs/LangRef.htmlÚllvmz*.llz text/x-llvmr~z([-a-zA-Z$._][\w\-$.]*|r›r`z|(\d+))r0z\s*:r�r.r6z%\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Ú alignstackrXÚ 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ÚcrUÚ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Úghcccr_Ú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ÚnakedrJÚ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_mostccr`ÚprologueÚ protectedÚptrtointÚ ptx_deviceÚ ptx_kernelÚreadnoneÚreadNoner^Ú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Úlabelr9rùÚx86_amxr½Úptrr€)r<r0r�N)rFrGrHrIrJÚurlrKrLrMrNrPÚ block_labelrrrSrXr‹rŠrrrrrrrr�r]r^rErCrr\s”„ñð €DØ .€C؈h€GØ�€IØ�€Ið€FØ+¨fÑ4°sÑ:€JؘÑ# jÑ0€Kñ �LÓ !ð˜7Ñ " D§J¡JÐ /á �IÓ à �JÑ  § ¡ Ð .Ø �JÑ  § ¡ × 4Ñ 4Ð 5Ø �d—m‘m×-Ñ-Ð .Ø �d—m‘m×*Ñ*Ð +Ø �d—m‘m×*Ñ*Ð +Ø �JÑ  § ¡ Ð .Ø �d—m‘m×-Ñ-Ð .Ø �V‰^˜VÐ $à ! 6Ð *Ø <¸fÐ Eà % {Ð 3ð) ð.˜:Ð &Ø ˜Ð ð ñ ðSCðhôiTðh 'ðiT (ñnð/ó0ð—<‘<ð !ð ˜7Ÿ<™<Ð (ð` ñ7|�FrErcóF—eZdZdZdZdZdgZgZgZe dd¬«e fde jfd e jfd e jfd e fd e fd e jdfed«de jjfe ddd¬«e j fe ddd¬«e j fdej$fdefde j fde j fe d«e fdee j*e«dfde j*dfed «d!eee«d"fd#efd$e fd%efged «d&ed'fged(«d&ed'fgd)eee «d*fd+eee«d,fd&ed'fgd-eee jj2«fd.eee j«fd+eee«d,fd&ed'fgd/eee j*«fd0eee j*«fded'fd&ed'fgd1efd2efe d3«e fd4e fd5e fd6efed «ed«d7efd8efded'fg d9ej8fgd:ej:fgd;e jjfgd<œ Zy=)>rzT For LLVM MIR examples without the YAML wrapper. .. versionadded:: 2.6 z LLVM-MIR Bodyú%https://llvm.org/docs/MIRLangRef.htmlz llvm-mir-body)ÚliveinsÚ successorsr1r˜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_]+ *Úvregr_zintrinsic\(\@[a-zA-Z0-9_.]+\)) rîrAr˜r—r¤r£rÍrÌrÐrÏz intpred\(z\))rwr™) rcrirfrerhrgrÍrÌrÐrÏz floatpred\(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(?=.)r7r‡z ( *)(:(?!:)))r7Úvreg_bank_or_classz( *)(\()Ú vreg_typez( *)(_)z( *)([a-zA-Z0-9_]+)z( *)([sp][0-9]+)z( *)(<[0-9]+ *x *[sp][0-9]+>)z\(z +) r4r¯ÚonÚintorrœ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<rrrrrrrr‡r_N)rFrGrHrIrJr rKrLrMrrrrSrXrr‹ÚBuiltinrrYrrr�rrr ÚMagicrrrWrŒr]r^rErCrrês„ñð €DØ 1€CØÐ€GØ€IØ€Iñ Ð,°SÔ 9¸7Ð Cà DÀdÇjÁjÐ QØ EÀtÇzÁzÐ RØ # T§Z¡ZÐ 0à ,¨dÐ 3à ˜dÐ #à  $§-¡-°Ð 8á �HÓ à -¨t¯}©}×/CÑ/CÐ Dá ðØ#/¸ô?Ø@DÇ Á ð Ná ð"Ø*8ÀôHà �\‰\ð ð�v—}‘}Ð %à �8Ð ð$ð0�\‰\ð1 ð4GØ �\‰\ð ñÐ)Ó *¨GÐ 4à ™x¨¯ © °jÓAÀ=Ð Qà % w§|¡|°_Ð Eá �IÓ à ™( 8¨ZÓ8¸%Ð @à �WÐ à ˜tÐ $à ˜4Ð ðOH ñV �IÓ Ø �t˜VÐ $ð ñ �GÓ Ø �t˜VÐ $ð ð ™h z°7Ó;Ð=[Ð \à ™( :¨tÓ4°kÐ BØ �t˜VÐ $ð  ð™ *¨d¯m©m×.AÑ.AÓBÐ CØ #¡X¨j¸$¿-¹-Ó%HÐ Ià ™( :¨tÓ4°kÐ BØ �t˜VÐ $ð  ð!¡(¨:°w·|±|Ó"DÐ EØ -©x¸ ÀGÇLÁLÓ/QÐ RØ �D˜&Ð !Ø �t˜VÐ $ð  ð�DˆMØ �JÐ Ù ð@óAà ð ð% dÐ +Ø *¨DÐ 1Ø �hÐ Ù �IÓ Ù �HÓ Ø �;Ð Ø ˜Ð Ø �D˜&Ð !ð ð ! &§.¡.Ð1Ð3Ø4°f·l±lÐCÐDØ'¨¯©×)=Ñ)=Ð>Ð?ñy}�FrErcó~—eZdZdZdZdZdgZdgZdefde dfd e d fd e fgd e d fde e e ««fgdefd e d fde dfedd¬«e dfedd¬«e dfedd¬«e fde dfde fdefg defed «gdej$fed «gdefed «gd e dfd e e e««fd!e e e««fgd"œZy#)$ran 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. .. versionadded:: 2.6 zLLVM-MIRrzllvm-mirz*.mirú#.*z--- \|$Úllvm_irz---Úllvm_mirz[^-#]+|.z(\.\.\.|(?=---))r7z((?:.|\n)+?)(?=(\.\.\.|---))zname:rJ)Ú alignmentr1r˜rQ)Ú 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&rJr-rQr3N)rFrGrHrIrJr rKrLrrr rrrrrrr r!rrr]r^rErCrrvs„ñ ð €DØ 1€C؈l€GØ� €Ið �WÐ à ˜ )Ð ,à �W˜jÐ )à ˜$Ð ð  ð! '¨6Ð 2à ,©h±u¸YÓ7GÓ.HÐ Ið  ð�WÐ à  '¨6Ð 2à �w Ð 'Ù �?ØôØ '¨ð 3á ð7àôà '¨ð 4ñð+àôà 'ð )ð˜7 OÐ 4à �DˆMØ �JÐ ð) ð.˜Ð Ù �F‹Oð ð  § ¡ Ð -Ù �F‹Oð ð ˜&Ð !Ù �F‹Oð ð! '¨8Ð 4à *©H±UÐ;KÓ5LÓ,MÐ Nð*©8±EÐ:JÓ4KÓ+LÐ Mð  ñg=�FrErcóR—eZdZdZdZdgZgd¢ZdgZdZdZ dZ d Z d Z d Z e d ze zZd ZdZdZdZdZdZej,ej.zZdej4dfed«e dzej:fde zeej>e e!jD«dfee!dfee!jDdfe ejFdfde fgee$fe e%jLfe e%jNfe e%jPfee%jRfe e%jTfed«eejVfe ejXfde dfed«g dej4fdejZdfdej4dfgde fde fd ejZfd!ejZfgd"e.fd#e/fd$e!j>fee/j`fee!jbfgd%œZ2d&„Z3y')(r z) For Nasm (Intel) assembly code. ÚNASMÚnasm)ú*.asmú*.ASMz*.nasmz text/x-nasmgð?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*%Úpreprocr0r1z(%s)(\s+)(equ)r4r5r8r7ú[^;\n]+r’r:ú[ \t]+rr$z [,{}():\[\]]+z[&|^<>+*/%~-]+ú[$]+©r<r4rAr0r8cóP—tjd|tj«ryy)NÚPROCF)r>ÚmatchÚ IGNORECASErAs rCrDzNasmLexer.analyse_texts€ä �8‰8�G˜T¤2§=¡=Ô 1Øð 2rEN)4rFrGrHrIrJrKrLrMÚpriorityrPÚhexnÚoctnÚbinnÚdecnÚfloatnrNÚdeclkwrRÚwordoprÀÚ directivesr>rIÚ MULTILINErþrÚPreprocrrrSrrVrrÚ DeclarationrUrrr[ÚOctÚBinrŒrWr!rXrYrrÚWordr�r]rDr^rErCr r Æs6„ñð €D؈h€GÚ,€IØ�€Ið€Hà(€JØ :€DØ €DØ €DØ €DØ �G‰^˜dÑ "€FØ K€FØ &€Fð:€Hð'€FØ €Dð2€Jð �M‰M˜BŸL™LÑ (€Eð�w—‘¨ Ð 2Ù �LÓ !Ø ˜#Ñ ˜tŸz™zÐ *Ø  Ñ +Ù˜Ÿ™¨ °G×4GÑ4GÓHØ"ð $ð˜Ð"4Ð 5Ø �W×(Ñ(Ð*<Ð =Ø ˜Ÿ™Ð(:Ð ;Ø ˜Ð $ð  ð�VÐ Ø �6—:‘:Ð Ø �6—:‘:Ð Ø �6—:‘:Ð Ø �V—\‘\Ð "Ø �6—>‘>Ð "Ù �MÓ "Ø �t—|‘|Ð $Ø ˜Ÿ™Ð 'Ø ˜ VÐ ,Ù �LÓ !ð  𘟙Р)Ø ˜Ÿ™¨Ð /Ø �G—O‘O VÐ ,ð ð �JÐ Ø ˜ Ð #Ø �W—^‘^Ð $Ø �W—^‘^Ð $ð  ð˜{Ð +Ø  Ð )Ø �g×&Ñ&Ð 'Ø �X—]‘]Ð #Ø �7—<‘<Ð ð  ñK,€Fó\rEr có6—eZdZdZdZdgZdgZdgZee «Z y)r!zO For the output of ``objdump -d -M intel``. .. versionadded:: 2.0 z objdump-nasmz*.objdump-intelztext/x-nasm-objdumpN) rFrGrHrIrJrKrLrMrdr r]r^rErCr!r!s0„ñð €DØÐ€GØ"Ð#€IØ&Ð'€Iá " 9Ó -�FrEr!có€—eZdZdZdZdgZgd¢ZdgZdZdZ dZ d Z d Z e d ze zZ d Zd ZdZdZdZdZdZej,ej.zZdej4dfed«edzej:feedfde›de›d�eej@e!ejD«dfeejDdfeejFdfde!fgee$fe e%jLfe e%jNfe e%jPfe e%jRfe e%jTfed«eejVfeejXfdee-e!ej\e!«fde!dfed«g dej4fd ej\dfd!ej4dfgd"e!fd#ee-e!«fd$e!fd%ej\fgd&e/fd'e0fd(ej@fee0jbfeejdfgd)œZ3d*„Z4y+),r"z3 For Tasm (Turbo Assembler) assembly code. ÚTASMÚtasm)r7r8z*.tasmz text/x-tasmz[@a-z$._?][\w$.?#@~]*r9r:r;rr<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])\bzseg|wrt|strictr?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]+r@rAr0r1r4r`z)(\s+)(r›r5r8z(\\)(\s*)(;.*)([\r\n])r7rBr’r:z[\n\r]z (\\)([\n\r])rCrz [,():\[\]]+z[&|^<>+*=/%~-]+rDrEcóP—tjd|tj«ryy)NrGT)r>rHÚIrAs rCrDzTasmLexer.analyse_textzs€ä �8‰8�G˜T¤2§4¡4Ô (Øð )rEN)5rFrGrHrIrJrKrLrMrPrKrLrMrNrOrNrPrRrQrÀrRÚdatatyper>rIrSrþrrTrrrSrrrVrrUrUrrr[rVrWrŒrWr!rXr rYrrrXr�r]rDr^rErCr"r"*sR„ñð €D؈h€GÚ,€IØ�€Ià)€JØ :€DØ €DØ €DØ €DØ �G‰^˜dÑ "€FØ K€FØ &€Fð8€Hð€FØ €Dð4€Jð )€Hà �M‰M˜BŸL™LÑ (€Eð�w—‘¨ Ð 2Ù �LÓ !Ø ˜#Ñ ˜tŸz™zÐ *Ø ˜Ð"4Ñ 5Ú!+ªXÐ 6Ù˜Ÿ™¨ °G×4GÑ4GÓHØ"ð $ð�W×(Ñ(Ð*<Ð =Ø ˜Ÿ™Ð(:Ð ;Ø ˜Ð $ð  ð�VÐ Ø �6—:‘:Ð Ø �6—:‘:Ð Ø �6—:‘:Ð Ø �V—\‘\Ð "Ø �6—>‘>Ð "Ù �MÓ "Ø �t—|‘|Ð $Ø ˜Ÿ™Ð 'à &Ù �d˜J¨¯©¸ Ó Cð Eà ˜ VÐ ,Ù �LÓ !ð ð"˜Ÿ™Ð )Ø ˜Ÿ™¨Ð /Ø �G—O‘O VÐ ,ð ð ˜ Ð #Ø ™h t¨ZÓ8Ð 9Ø ˜ Ð #Ø �W—^‘^Ð $ð  ð˜[Ð )Ø  Ð *Ø �g×&Ñ&Ð 'Ø �X—]‘]Ð #Ø �7—<‘<Ð ð  ñQ/€FóbrEr"có —eZdZdZdZdgZdgZejZ dde jfde fde jfd efd ej fd efd efd ej&fdej*fdej,fdej.fdefde fg iZd„Zy)r#z@ For ca65 assembler sources. .. versionadded:: 1.6 zca65 assemblerÚca65r)r<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óP—tjd|tj«ryy)Nz^\s*;gÍÌÌÌÌÌì?)r>r?rS)rmrBs rCrDzCa65Lexer.analyse_text¡s€ä �9‰9�X˜t¤R§\¡\Ô 2Øð 3rEN)rFrGrHrIrJrKrLr>rIrþrrYrrrSrÚPseudorrr\rr[rWrWrr]rDr^rErCr#r#€sÈ„ñð €D؈h€GØ�€Ià �M‰M€Eð Ø �W—^‘^Ð $Ø �ZÐ Ø " D§J¡JÐ /ðð!ð "ð�w—~‘~Ð &Ø  Ð )Ø ˜6Ð "Ø ˜6Ÿ;™;Ð 'Ø (¨&¯*©*Ð 5Ø �V—^‘^Ð $Ø ˜Ÿ ™ Ð #Ø ˜{Ð +Ø ! 4Ð (ð! ð€Fó*rEr#c óN—eZdZdZdZdZdgZddgZdgZgd¢Z gd ¢Z d Z d e zd ze zd zZ dZ dZddje «zdzZde zdzZdZd„Zed«de zej,fe dzej,feej.dfde zej.dfdefgeej4fe ej4feefge efed«gdefded fed!«ed«gded fd"ed fed«gd#efd$ed%fed!«ed&«gd#efed«eefed&«gd'efd(efd)efgd*œZy+),r$z: For DCPU-16 Assembly. .. versionadded:: 2.4 ÚDASM16z http://0x10c.com/doc/dcpu-16.txtÚ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ÚZr^Ú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—|jd«}|j«|jvrtjntj }|j «||f–—y­w)Nr)raÚupperÚ REGISTERSrrXrSÚstart)ÚlexerrHÚidentÚklasss rCÚguess_identifierzDasm16Lexer.guess_identifierÓsFèø€Ø— ‘ ˜A“ˆØ!&§¡£°%·/±/Ñ!A”— ’ ÄtÇzÁzˆØ�k‰k‹m˜U EÐ)Ó)ùs‚A$A&r0r1r4r2ú data-argsr5Únumericz\+z\]r7rcz;.*?$r z\[Úderefúinstruction-liner:r;r’)r<r¢rcr£r¤r4r¡r0N)rFrGrHrIrJr rKrLrMÚ INSTRUCTIONSr›rOrPrQÚ binary_numberÚjoinÚ instructionÚ single_charrNr rrrSrUrrrWrrrr]r^rErCr$r$§sñ„ñð €DØ ,€C؈j€GؘXÐ&€IØ Ð!€Iò €Lò€Ið €DØ! DÑ(¨7Ñ2°TÑ9¸DÑ@€JØ .€FØ€MؘSŸX™X lÓ3Ñ3°cÑ9€KؘD‘. 3Ñ&€KØ €Fò*ñ �LÓ !Ø �:Ñ ˜tŸz™zÐ *Ø ˜#Ñ ˜tŸz™zÐ *Ø ˜$Ÿ-™-Ð);Ð <Ø �ZÑ  §¡° Ð <Ø ˜Ð $ð  ð˜FŸN™NÐ +Ø �V—^‘^Ð $Ø ˜&Ð !ð ðÐ)Ð *Ù �IÓ ð ð �KÐ Ø �K Ð (Ù �E‹NÙ �LÓ !ð  ð˜ VÐ ,Ø �w Ð 'Ù �LÓ !ð ð�;Ð Ø �K Ð )Ù �E‹NÙ Ð&Ó 'ð  ð�;Ð Ù �IÓ Ø �VÐ Ù Ð&Ó 'ð  ð�JÐ Ø �ZÐ Ø ˜Ð ð ña5�FrEr$)*rIr>Úpygments.lexerrrrrrrr Úpygments.lexers.c_cppr r Úpygments.lexers.dr Úpygments.tokenr rrrrrrrrrÚ__all__rrdrrrrrrrrr r!r"r#r$r^rErCÚr¯sðñó ÷÷ñç2Ý$÷)÷)÷)ò '€ô PˆzôPòf2ôj -�:ô -ô :�Oô :ô <�oô <ô :�Oô :ôD�ôDôNK� ôKô\I�zôIôXM�:ôMô`S� ôSôl .�|ô .ôS� ôSôl$� ô$ôNf�*õfrE