
xi\c           @   s  d  Z  d d l Z d d l m Z m Z m Z m Z m Z m Z d d l	 m
 Z
 m Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m Z m Z m Z d d d	 d
 d d d d d d d d g Z d e f d     YZ d   Z d e f d     YZ d	 e f d     YZ d
 e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ  d e f d     YZ! d e f d     YZ" d e f d     YZ# d e f d     YZ$ d e f d     YZ% d S(    s   
    pygments.lexers.asm
    ~~~~~~~~~~~~~~~~~~~

    Lexers for assembly languages.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   includet   bygroupst   usingt   wordst   DelegatingLexer(   t   CppLexert   CLexer(   t   DLexer(	   t   Textt   Namet   Numbert   Stringt   Commentt   Punctuationt   Othert   Keywordt   Operatort   GasLexert   ObjdumpLexert   DObjdumpLexert   CppObjdumpLexert   CObjdumpLexert
   HsailLexert	   LlvmLexert	   NasmLexert   NasmObjdumpLexert	   TasmLexert	   Ca65Lexert   Dasm16Lexerc           B   s/  e  Z d  Z d Z d d g Z d d g Z d g Z d Z d Z d	 e d
 e d Z	 d Z
 i e d  e	 d e j f d e	 e j d f d e j f e	 e j d f d e f g d 6e	 e j f e e f d e	 e j f e
 e j f d e d f d e d f e d  e d  g d 6d e	 d e e j e e e j e  f d e	 d e
 d e e j e e e j e e j e  f e	 e j f e
 e j f d e	 e j f d e
 e j f d e j f d e d f d e d f e d  e d  g d 6d e f d  e f d e f g d 6d! e f g d 6Z d"   Z RS(#   s'   
    For Gas (AT&T) assembly code.
    t   GASt   gast   asms   *.ss   *.Ss
   text/x-gass   "(\\"|[^"])*"s   [\w$.@-]s   (?:[a-zA-Z$_]s   *|\.s   +)s   (?:0[xX][a-zA-Z0-9]+|\d+)t
   whitespacet   :s   \.s   directive-argss   lock|rep(n?z)?|data\d+s   instruction-argss   [\r\n]+t   roott   @s   #pops	   [;#].*?\nt   punctuations   ([a-z0-9]+)( )(<)(s   )(>)s   )([-+])(t   %t   $s
   $'(.|\\')'s   \ns   \s+s   [-*,.()\[\]!:]+c         C   s<   t  j d |  t  j  r t St  j d |  t  j  r8 d Sd  S(   Ns   ^\.(text|data|section)s   ^\.\w+g?(   t   ret   matcht   Mt   True(   t   text(    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyt   analyse_text_   s    (   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   stringt   chart
   identifiert   numberR   R
   t   Labelt	   Attributet   FunctionR	   t   ConstantR   R   t   IntegerR   R   t   HexR   t   Variablet   Chart   tokensR-   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR      sX   								c         C   s  d } i d t  t j t t t  f d t  t t j t  f d | d t  t j t t t j t t j t  f d | d t  t j t t t j t  f d | d | | d	 t  t t j t t j t t	 |    f d | d | | d
 t  t t j t t j t t  f d | d | | d t  t t j t t j  f d t f d | d | d t  t t j t t j
 t t j t t j  f d | d t  t t j t t j
 t t j  f d t f g d 6S(   s;   
    Common objdump lexer tokens to wrap an ASM lexer.
    s   [0-9A-Za-z]s   (.*?)(:)( +file format )(.*?)$s"   (Disassembly of section )(.*?)(:)$t   (s+   +)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$s   +)( )(<)(.*?)(>:)$s   ( *)(s   +:)(\t)((?:s    )+)( *	)([a-zA-Z].*?)$s    )+)( *)(.*?)$s    )+)$s	   \t\.\.\.$s	   (\t\t\t)(s    +:)( )([^\t]+)(\t)(.*?)([-+])(0xs   +)$s   +:)( )([^\t]+)(\t)(.*?)$s   [^\n]+\nR#   (   R   R
   R9   R   R	   R   R   R>   R;   R   t   PropertyR<   R   (   t	   asm_lexert   hex_re(    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyt   _objdump_lexer_tokensf   s6    	!	c           B   s;   e  Z d  Z d Z d g Z d g Z d g Z e e  Z	 RS(   s)   
    For the output of 'objdump -dr'
    t   objdumps	   *.objdumps   text/x-objdump(
   R.   R/   R0   R1   R2   R3   R4   RF   R   RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR      s   			c           B   s8   e  Z d  Z d Z d g Z d g Z d g Z d   Z RS(   s=   
    For the output of 'objdump -Sr on compiled D files'
    s	   d-objdumps   *.d-objdumps   text/x-d-objdumpc         K   s    t  t |   j t t |  d  S(   N(   t   superR   t   __init__R   R   (   t   selft   options(    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyRI      s    (   R.   R/   R0   R1   R2   R3   R4   RI   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR      s   			c           B   sD   e  Z d  Z d Z d d d g Z d d d g Z d g Z d   Z RS(	   s?   
    For the output of 'objdump -Sr on compiled C++ files'
    s   cpp-objdumps   c++-objdumbs   cxx-objdumps   *.cpp-objdumps   *.c++-objdumps   *.cxx-objdumps   text/x-cpp-objdumpc         K   s    t  t |   j t t |  d  S(   N(   RH   R   RI   R   R   (   RJ   RK   (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyRI      s    (   R.   R/   R0   R1   R2   R3   R4   RI   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR      s   	c           B   s8   e  Z d  Z d Z d g Z d g Z d g Z d   Z RS(   s=   
    For the output of 'objdump -Sr on compiled C files'
    s	   c-objdumps   *.c-objdumps   text/x-c-objdumpc         K   s    t  t |   j t t |  d  S(   N(   RH   R   RI   R   R   (   RJ   RK   (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyRI      s    (   R.   R/   R0   R1   R2   R3   R4   RI   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR      s   			c           B   s  e  Z d  Z d Z d d g Z d g Z d g Z d Z d Z d Z	 d	 e	 d
 Z
 d Z d Z d Z d Z d Z d Z d Z d Z i e d  e d  e e f d e d e j f e
 e j j f e d  d e e j j f d e e j f e e j f d e j f e e j f e e j f d e j f d e f g d 6d e f g d 6d e  j! f d  e  j" f g d 6d! e e# j$ f d" e# f e% dd5 d6 e# f e e# f e e# f d7 e d8 e d
 e# f d9 e# f d: e# f e% d  e# f de# f g
 d 6Z& RS(!  s=   
    For HSAIL assembly code.

    .. versionadded:: 2.2
    t   HSAILt   hsailt   hsas   *.hsails   text/x-hsails   "[^"]*?"s   [a-zA-Z_][\w.]*s   [0-9]+s   (\$(c|s|d|q)t   )s   (align\(\d+\))s   (width\((\d+|all)\))s   (alloc\(agent\))s    ((_ftz)?(_up|_down|_zero|_near))s   _(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)s    ((\d+\.)|(\d*\.\d+))[eE][+-]?\d+sL   0[xX](([0-9a-fA-F]+\.[0-9a-fA-F]*)|([0-9a-fA-F]*\.[0-9a-fA-F]+))[pP][+-]?\d+s?   0((h|H)[0-9a-fA-F]{4}|(f|F)[0-9a-fA-F]{8}|(d|D)[0-9a-fA-F]{16})R!   t   commentsR$   s   :?t   keywordt   &R&   s   0[xX][a-fA-F0-9]+s   \d+s   [=<>{}\[\]()*.,:;!]|x\bR#   s   (\n|\s)+s	   /\*.*?\*/s   //.*?\nt   kernargs+   \$(full|base|small|large|default|zero|near)t   modulet	   extensiont   pragmat   progt   indirectt	   signaturet   declt   kernelt   functiont   enablebreakexceptionst   enabledetectexceptionst   maxdynamicgroupsizet   maxflatgridsizet   maxflatworkgroupsizet   requireddimt   requiredgridsizet   requiredworkgroupsizet   requirenopartialworkgroupst   suffixs   \bs   _(t   |t   _kernargs   (nop|imagefence)\bt   cleardetectexceptt   clockt   cuidt	   debugtrapt   dimt   getdetectexceptt   groupbaseptrt   kernargbaseptrt   laneidt   maxcuidt	   maxwaveidt   packetidt   setdetectexceptt   waveidt   workitemflatabsidt   workitemflatidt   nullptrt   abst   bitrevt   currentworkgroupsizet   currentworkitemflatidt   fractt   ncost   negt   nexp2t   nlog2t   nrcpt   nrsqrtt   nsint   nsqrtt
   gridgroupst   gridsizet   nott   sqrtt   workgroupidt   workgroupsizet   workitemabsidt
   workitemidt   ceilt   floort   rintt   trunct   addt   bitmaskt   borrowt   carryt   copysignt   divt   remt   subt   shlt   shrt   andt   ort   xort   unpackhit   unpacklot   maxt   mint   fmat   madt
   bitextractt	   bitselectt   shufflet   cmovt   bitalignt	   bytealignt   lerpt   nfmat   mult   mulhit   mul24hit   mul24t   mad24t   mad24hit	   bitinsertt   combinet   expandt   ldat   movt   packt   unpackt   packcvtt	   unpackcvtt   sadt   sementpt   ftost   stoft   cmpt   ldt   stt   _eqt   _net   _ltt   _let   _gtt   _get   _equt   _neut   _ltut   _leut   _gtut   _geut   _numt   _nant   _seqt   _snet   _sltt   _slet   _sgtt   _sget   _snumt   _snant   _sequt   _sneut   _sltut   _sleut   _sgtut   _sgeut   atomict   _ldt   _stt   _cast   _addt   _andt   _excht   _maxt   _mint   _ort   _subt   _wrapdect   _wrapinct   _xort   rett   cvtt	   _readonlyt   _globalt   brt   cbrt   sbrt   _scacqt   _screlt   _scart   _rlxt   _wavet   _wgt   _agentt   _systemt   ldimaget   stimaget   _v2t   _v3t   _v4t   _1dt   _2dt   _3dt   _1dat   _2dat   _1dbt   _2ddeptht	   _2dadeptht   _widtht   _heightt   _deptht   _arrayt   _channelordert   _channeltypet   querysamplert   _coordt   _filtert   _addressingt   barriert   wavebarriert   initfbart   joinfbart   waitfbart
   arrivefbart	   leavefbart   releasefbart   ldft   activelaneidt   activelanecountt   activelanemaskt   activelanepermutet   callt   scallt   icallt   allocat   packetcompletionsigt   addqueuewriteindext   casqueuewriteindext   ldqueuereadindext   stqueuereadindext   readonlyt   globalt   privatet   groupt   spillt   argt   _upit   _downit   _zeroit   _nearit   _upi_satt
   _downi_satt
   _zeroi_satt
   _neari_satt   _supit   _sdownit   _szeroit   _snearit	   _supi_satt   _sdowni_satt   _szeroi_satt   _sneari_satt   _ppt   _pst   _spt   _sst   _st   _pt   _pp_satt   _ps_satt   _sp_satt   _ss_satt   _s_satt   _p_sats	   i[1-9]\d*(   RT   RU   RV   RW   RX   RY   RZ   R[   R\   R]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   (   Ri   Rj   Rk   Rl   Rm   Rn   Ro   Rp   Rq   Rr   Rs   Rt   Ru   Rv   Rw   Rx   Ry   Rz   R{   R|   R}   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   Rh   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R  R	  R
  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R#  R$  R%  R&  R'  R(  R)  R*  R+  R,  R-  R.  R/  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  RK  ('   R.   R/   R0   R1   R2   R3   R4   R5   R7   t   register_numbert   registert	   alignQualt	   widthQualt	   allocQualt   roundingModt   datatypeModt   floatt   hexfloatt	   ieeefloatR   R   R
   R9   R?   t	   Anonymoust   GlobalR   R>   t   FloatR=   R   R	   R   t	   Multilinet   SingleR   t   TypeR   RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR      s   							    				                                    c        l  B   sY  e  Z d  Z d Z d g Z d g Z d g Z d Z d e d Z i e	 d  e d	 e
 j f e	 d
  d e e
 j f d e e
 j j f d e
 j j f d e
 j j f d e
 j j f d e e
 j f d e
 j j f d e e f d e f d e f d e f g d 6d e f d e f g d 6e ddde f e d e j f de f g d
 6Z RS(  s!   
    For LLVM assembly code.
    t   LLVMt   llvms   *.lls   text/x-llvms   "[^"]*?"s   ([-a-zA-Z$._][\w\-$.]*|RO   R!   s   \s*:RQ   R&   R$   s   %\d+s   @\d+s   #\d+t   !s   !\d+s   c?s   0[xX][a-fA-F0-9]+s,   -?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?s   [=<>{}\[\]()*.,!]|x\bR#   s   (\n|\s)+s   ;.*?\nt   acq_relt   acquireR   t	   addrspacet   addrspacecastt   afnt   aliast   aliaseet   alignt	   alignLog2t
   alignstackR$  t	   allocsizet   allOnest   alwaysinlinet	   amdgpu_cst	   amdgpu_est	   amdgpu_gst	   amdgpu_hst   amdgpu_kernelt	   amdgpu_lst	   amdgpu_pst	   amdgpu_vsR   t   anyt   anyregcct	   appendingt   arcpt
   argmemonlyt   argst   arm_aapcs_vfpcct   arm_aapcscct
   arm_apcscct   ashrR    R   t	   atomicrmwt
   attributest   available_externallyt
   avr_intrcct   avr_signalcct   bitt   bitcastt   bitMaskt   blockaddressR   t   branchFunnelt   builtint   byArgt   bytet	   byteArrayt   byvalt   cR!  t   calleet   callert   callst   catcht   catchpadt   catchrett   catchswitcht   cct   ccct   cleanupt
   cleanuppadt
   cleanuprett   cmpxchgt   coldt   coldcct   comdatt   commont   constantt   contractt
   convergentt   criticalt   cxx_fast_tlscct
   datalayoutt   declaret   defaultt   definet   deplibst   dereferenceablet   dereferenceable_or_nullt   distinctt	   dllexportt	   dllimportt   doublet	   dso_localt   dso_preemptablet   dsoLocalt   eqt   exactt
   exactmatcht   extern_weakt   externalt   externally_initializedt   extractelementt   extractvaluet   faddt   falset   fastt   fastcct   fcmpt   fdivt   fencet   filtert   flagsRS  t   fmult   fp128t   fpextt   fptosit   fptouit   fptrunct   fremt   fromt   fsubt	   funcFlagsR\   t   gct   getelementptrt   ghcccR+  t   guidt   gvt   halft   hasht   hhvm_ccct   hhvmcct   hiddent   hott   hotnesst   icmpt   ifunct   inaccessiblemem_or_argmemonlyt   inaccessiblememonlyt   inallocat   inboundst   indirt
   indirectbrt   infot   initialexect   inlinet
   inlineBitst
   inlinehintt   inranget   inregt   insertelementt   insertvaluet   instst   intel_ocl_bicct   inteldialectt   internalt   inttoptrt   invoket	   jumptablet   kindt   labelt
   landingpadt   largestt   linkaget   linkoncet   linkonce_odrt   livet   loadt   local_unnamed_addrt   localdynamict	   localexect   lshrR   t   metadataR   t   minsizeRT   t	   monotonict   msp430_intrccR   t   musttailt   nakedR1   t   nandt   net   nestt   ninft   nnant   noaliast	   nobuiltint	   nocapturet
   nocf_checkt   noduplicatet   noduplicatest   noimplicitfloatt   noinlinet   nonet   nonlazybindt   nonnullt	   norecurset	   noRecurset	   noredzonet   noreturnt   notailt   notEligibleToImportt   nounwindt   nswt   nszt   nullt   nuwt   oeqt   offsett   oget   ogtt   olet   oltt   onet   opaquet   optforfuzzingt   optnonet   optsizeR   t   ordt   patht   personalityt   phit	   ppc_fp128t   prefixt   preserve_allcct   preserve_mostccR,  t   prologuet	   protectedt   ptrtointt
   ptx_devicet
   ptx_kernelt   readnonet   readNoneR*  t   readOnlyt   reassoct   refst   relbft   releaset   resByArgt   resumeR   t   returnDoesNotAliast   returnedt   returns_twicet	   safestackt   samesizet   sanitize_addresst   sanitize_hwaddresst   sanitize_memoryt   sanitize_threadt   sdivt   sectiont   selectt   seq_cstt   sextt   sget   sgtt   shadowcallstackR   t   shufflevectort
   sideeffectt   signextt   singlet
   singleImplt   singleImplNamet   sitofpt   sizeM1t   sizeM1BitWidtht   slet   sltt   source_filenamet   speculatablet	   spir_funct   spir_kernelt   sremt   srett   sspt   sspreqt	   sspstrongt   storet   strictfpR   t	   summariest   summaryt   swiftcct
   swifterrort	   swiftselft   switcht	   syncscopet   tailt   targett   thread_localt   tot   tokent   triplet   trueR   t   typet   typeCheckedLoadConstVCallst   typeCheckedLoadVCallst   typeidt
   typeIdInfot   typeTestAssumeConstVCallst   typeTestAssumeVCallst   typeTestRest	   typeTestst   udivt   ueqt   uget   ugtt   uitofpt   ulet   ultt   umaxt   umint   undeft   unet   uniformRetValt   uniqueRetValt   unknownt   unnamed_addrt   unot	   unorderedt   unreachablet   unsatt   unwindt   uremt   uselistordert   uselistorder_bbt   uwtablet   va_argt   variablet   vFuncIdt   virtualConstPropt   voidt   volatilet   weakt   weak_odrt   webkit_jscct   win64cct   withint   wpdRest   wpdResolutionst	   writeonlyt   xt   x86_64_sysvcct   x86_fastcallcct   x86_fp80t
   x86_intrcct   x86_mmxt   x86_regcallcct   x86_stdcallcct   x86_thiscallcct   x86_vectorcallcct   xchgR   t   zeroextt   zeroinitializert   zextRf   s   \bs	   i[1-9]\d*(j  R_  R`  R   Ra  Rb  Rc  Rd  Re  Rf  Rg  Rh  R$  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  Rr  Rs  R   Rt  Ru  Rv  Rw  Rx  Ry  Rz  R{  R|  R}  R    R   R~  R  R  R  R  R  R  R  R  R   R  R  R  R  R  R  R  R!  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  RS  R  R  R  R  R  R  R  R  R  R  R\   R  R  R  R+  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R  R   R  RT   R   R  R   R  R  R1   R  R  R  R  R  R	  R
  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R#  R$  R%  R&  R'  R(  R)  R   R*  R+  R,  R-  R.  R/  R0  R1  R,  R2  R3  R4  R5  R6  R7  R8  R*  R9  R:  R;  R<  R=  R>  R?  R   R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  RK  RL  RM  RN  RO  RP  R   RQ  RR  RS  RT  RU  RV  RW  RX  RY  RZ  R[  R\  R]  R^  R_  R`  Ra  Rb  Rc  Rd  Re  Rf  R   Rg  Rh  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  Rr  Rs  Rt  R   Ru  Rv  Rw  Rx  Ry  Rz  R{  R|  R}  R~  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R  R  R  (
   R  R  RS  R  R  R  R.  R  R  Rr  (   R.   R/   R0   R1   R2   R3   R4   R5   R7   R   R
   R9   R?   RW  RV  R   R   R   R	   R   R   R   R[  RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR   Q  s   								                                                        c           B   s<  e  Z d  Z d Z d g Z d d g Z d g Z d Z d Z d Z	 d	 Z
 d
 Z e d e Z d d d Z d Z d Z d Z d Z d Z e j e j BZ i d e j d f e d  e d e j f d e e e j e j e j  d f e e d f e e j d f e e j  d f d e! f g d 6e e" f e e# j$ f e	 e# j% f e
 e# j& f e e# j' f e e# j( f e d  e e j) f e e j* f d e! d f e d  g d 6d e j f d e j+ d f d  e j d f g d 6d  e! f d! e! f d" e j+ f g d 6d# e, f d$ e- f d% e j f e e- j. f e e j/ f g d 6Z0 RS(&   s)   
    For Nasm (Intel) assembly code.
    t   NASMt   nasms   *.asms   *.ASMs   text/x-nasms   [a-z$._?][\w$.?#@~]*s,   (?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)s   [0-7]+qs   [01]+bs   [0-9]+s   \.e?s   "(\\"|[^"\n])*"|s   '(\\'|[^'\n])*'|s   `(\\`|[^`\n])*`s   (?:res|d)[bwdqt]|timesso   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]s   seg|wrt|stricts   byte|[dq]?words   (?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE)\s+s   ^\s*%t   preprocR!   R"   s   (%s)(\s+)(equ)s   instruction-argss   [\r\n]+R#   R%   s   #pops   [^;\n]+s   ;.*?\ns   \ns   [ \t]+s   ;.*s   [,():\[\]]+s   [&|^<>+*/%~-]+s   [$]+(1   R.   R/   R0   R1   R2   R3   R4   R7   t   hexnt   octnt   binnt   decnt   floatnR5   t   declkwRM  t   wordopRu  t
   directivesR(   t
   IGNORECASEt	   MULTILINER  R   t   PreprocR   R
   R9   R   R<   R   t   DeclarationR;   R	   R   R   R>   t   Octt   BinRX  R=   t   BuiltinR?   RZ  R   R   t   WordR[  RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR     sf   									c           B   s;   e  Z d  Z d Z d g Z d g Z d g Z e e  Z	 RS(   sM   
    For the output of 'objdump -d -M intel'.

    .. versionadded:: 2.0
    s   objdump-nasms   *.objdump-intels   text/x-nasm-objdump(
   R.   R/   R0   R1   R2   R3   R4   RF   R   RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR     s   			c           B   sl  e  Z d  Z d Z d g Z d d d g Z d g Z d Z d Z d	 Z	 d
 Z
 d Z e d e Z d d d Z d Z d Z d Z d Z d Z d Z e j e j BZ i d e j d f e d  e d e j f e e d f d e e f e e j e j  e j   d f e e j  d f e e j! d f d e" f g d 6e e# f e e$ j% f e	 e$ j& f e
 e$ j' f e e$ j( f e e$ j) f e d  e e j* f e e j+ f d e e" e j, e"  f d e" d  f e d  g d 6d! e j f d" e j, d  f d# e j d  f g d 6d$ e" f d% e" f d& e" f d' e j, f g d 6d( e- f d) e. f d* e j f e e. j/ f e e j0 f g d 6Z1 RS(+   s3   
    For Tasm (Turbo Assembler) assembly code.
    t   TASMt   tasms   *.asms   *.ASMs   *.tasms   text/x-tasms   [@a-z$._?][\w$.?#@~]*s,   (?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)s   [0-7]+qs   [01]+bs   [0-9]+s   \.e?s   "(\\"|[^"\n])*"|s   '(\\'|[^'\n])*'|s   `(\\`|[^`\n])*`s   (?:res|d)[bwdqt]|timesso   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]s   seg|wrt|stricts   byte|[dq]?words   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|SIZEs   db|dd|dw|T[A-Z][a-z]+s   ^\s*%R  R!   R"   s   instruction-argss   (%s)(\s+)(%s)s   [\r\n]+R#   R%   s   (\\\s*)(;.*)([\r\n])s   #pops   [^;\n]+s   ;.*?\ns   \ns   [\n\r]s   \\[\n\r]s   [ \t]+s   ;.*s   [,():\[\]]+s   [&|^<>+*=/%~-]+s   [$]+(2   R.   R/   R0   R1   R2   R3   R4   R7   R  R  R  R  R  R5   R  RM  R  Ru  R  t   datatypeR(   R  R  R  R   R  R   R
   R9   R   R   R<   R  R;   R	   R   R   R>   R  R  RX  R=   R  R?   RZ  R   R   R  R[  RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR     sl   										c           B   s   e  Z d  Z d Z d g Z d g Z e j Z i d e	 j
 f d e f d e j f d e f d e j f d	 e f d
 e f d e j f d e j f d e j f d e j f d e f d e f g d 6Z d   Z RS(   s@   
    For ca65 assembler sources.

    .. versionadded:: 1.6
    s   ca65 assemblert   ca65s   *.ss   ;.*s   \s+s   [a-z_.@$][\w.@$]*:s   ((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)\bs   \.\w+s   [-+~*/^&|!<>=]s	   "[^"\n]*.s	   '[^'\n]*.s   \$[0-9a-f]+|[0-9a-f]+h\bs   \d+s   %[01]+s   [#,.:()=\[\]]s   [a-z_.@$][\w.@$]*R#   c         C   s    t  j d | t  j  r d Sd  S(   Ns   ^\s*;g?(   R(   R)   R  (   RJ   R,   (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR-     s    (   R.   R/   R0   R1   R2   R3   R(   R  R  R   RZ  R	   R
   R9   R   t   PseudoR   R   R@   R   R>   R=   R  R   RA   R-   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR   j  s*   							c        $   B   s  e  Z d  Z d Z d g Z d d g Z d g Z d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) g$ Z d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 g Z d8 Z	 d9 e	 d: e	 d; Z
 d< Z d= Z d> d? j e  d@ Z dA e	 dB Z dC Z dD   Z i e dE  dF e
 e j f e
 dF e j f e e j dG f dH e
 e j dI f dJ e f g dK 6e e j f e e j f e e f g dL 6e
 e f e dL  g dM 6dN e f dO e dP f e dM  e dE  g dQ 6dJ e dP f dR e dP f e dE  g dS 6dT e f dU e dQ f e dM  e dS  g dG 6dT e f e dL  e e f e dS  g dI 6dV e f dW e f dX e f g dE 6Z RS(Y   sr   
    Simple lexer for DCPU-16 Assembly

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

    .. versionadded:: 2.4
    t   DASM16t   dasm16s   *.dasm16s   *.dasms   text/x-dasm16t   SETt   ADDt   SUBt   MULt   MLIt   DIVt   DVIt   MODt   MDIt   ANDt   BORt   XORt   SHRt   ASRt   SHLt   IFBt   IFCt   IFEt   IFNt   IFGt   IFAt   IFLt   IFUt   ADXt   SBXt   STIt   STDt   JSRt   INTt   IAGt   IASt   RFIt   IAQt   HWNt   HWQt   HWIt   At   Bt   Ct   Xt   Yt   Zt   It   Jt   SPt   PCt   EXt   POPt   PEEKt   PUSHs   [a-zA-Z$._0-9@]s   (?:[a-zA-Z$_]s   *|\.s   +)s   [+-]?(?:0[xX][a-zA-Z0-9]+|\d+)s   0b[01_]+s   (?i)(Rg   RO   s   '\\?t   's   "(\\"|[^"])*"c         c   sN   | j  d  } | j   |  j k r- t j n t j } | j   | | f Vd  S(   Ni    (   R-  t   uppert	   REGISTERSR
   R?   R9   t   start(   t   lexerR)   t   identt   klass(    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyt   guess_identifier  s    'R!   R"   s   instruction-argss   \.s	   data-argss   [\r\n]+R#   t   numericR/  s   \+s   \]s   #popt   derefs   ;.*?$s   instruction-linet   ,s   \[s   \ns   \s+s   ;.*?\n(   R.   R/   R0   R1   R2   R3   R4   t   INSTRUCTIONSR   R6   R7   R8   t   binary_numbert   joint   instructiont   single_charR5   R  R   R
   R9   R;   R	   R   R=   R   R   R   RA   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyR     sx   																			(&   R0   R(   t   pygments.lexerR    R   R   R   R   R   t   pygments.lexers.c_cppR   R   t   pygments.lexers.dR   t   pygments.tokenR	   R
   R   R   R   R   R   R   R   t   __all__R   RF   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s2   lib/python2.7/site-packages/pygments/lexers/asm.pyt   <module>
   s*   .@L	1pKP'