
xi\c           @   s  d  Z  d d l m Z m Z 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	 g 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 S(   s   
    pygments.lexers.esoteric
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for esoteric languages.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
i(   t
   RegexLexert   includet   words(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Errort   BrainfuckLexert   BefungeLexert   RedcodeLexert   CAmkESLexert
   CapDLLexert
   AheuiLexerc           B   s   e  Z d  Z d Z d d g Z d d g Z d g Z i d e j f d e j	 f d	 e j
 f d
 e f g d 6d e d f d e f e d  g d 6d e d f d e d f e d  g d 6Z RS(   se   
    Lexer for the esoteric `BrainFuck <http://www.muppetlabs.com/~breadbox/bf/>`_
    language.
    t	   Brainfuckt	   brainfuckt   bfs   *.bfs   *.bs   application/x-brainfucks   [.,]+s   [+-]+s   [<>]+s   [^.,+\-<>\[\]]+t   commons   \[t   loops   \]t   roots   #pushs   #pop(   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypesR   t   Tagt   Builtint   VariableR   R   R   R   t   tokens(    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyR      s    		c           B   s   e  Z d  Z d Z d g Z d g Z d g Z i d e f d e f d e	 j
 f d e	 j f d	 e f d
 e	 j f d e j f d e j f d e f d e f d e f d e f g d 6Z RS(   s{   
    Lexer for the esoteric `Befunge <http://en.wikipedia.org/wiki/Befunge>`_
    language.

    .. versionadded:: 0.7
    t   Befunget   befunges	   *.befunges   application/x-befunges   [0-9a-f]s	   [+*/%!`-]s   [<>^v?\[\]rxjk]s	   [:\\$.,n]s   [|_mw]s   [{}]s   ".*?"s   \'.s   [#;]s   [pg&~=@iotsy]s   [()A-Z]s   \s+R   (   R   R   R   R   R   R   R   R	   R   R   R!   R    R   R   R   t   Doublet   SingleR   R   R"   (    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyR   4   s$   									c        *   B   s  e  Z d  Z d Z d d g Z d d g Z i d e j f d e f d e f d	 e f d
 e	 f d e
 f e d[ d. d/ e f e d\ d. d/ e j f dN e j f e d] d. d/ e j f dR e j f dS e j f dT e j f dU e f dV e j f dW e f dX e j f dY e f g dZ 6Z RS(^   s   
    Basic lexer for the input language for the
    `CAmkES <https://sel4.systems/CAmkES/>`_ component platform.

    .. versionadded:: 2.1
    t   CAmkESt   camkest   idl4s   *.camkess   *.idl4s	   ^\s*#.*\ns   \s+s   /\*(.|\n)*?\*/s   //.*\ns   [\[(){},.;\]]s   [~!%^&*+=|?:<>/-]t   assemblyt	   attributet	   componentt   compositiont   configurationt
   connectiont	   connectort   consumest   controlt   dataportt   Dataportt	   Dataportst   emitst   eventt   Eventt   Eventst   exportt   fromt   groupt   hardwaret   hast	   interfacet	   Interfacet   maybet	   proceduret	   Proceduret
   Procedurest   providest   templatet   threadt   threadst   tot   usest   witht   suffixs   \bt   boolt   booleant   Buft   chart	   charactert   doublet   floatt   int   inoutt   intt   int16_6t   int32_tt   int64_tt   int8_tt   integert   mutext   outt   realt   refint	   semaphoret   signedt   stringt   structt   uint16_tt   uint32_tt   uint64_tt   uint8_tt	   uintptr_tt   unsignedt   voids%   [a-zA-Z_]\w*_(priority|domain|buffer)t   dma_poolt   from_accesst	   to_accesss   import\s+(<[^>]*>|"[^"]*");s   include\s+(<[^>]*>|"[^"]*");s   0[xX][\da-fA-F]+s   -?[\d]+s   -?[\d]+\.[\d]+s   "[^"]*"s   [Tt]rue|[Ff]alses   [a-zA-Z_]\w*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   (   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   RX   RY   RZ   R[   R\   R]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   Rj   (   Rk   Rl   Rm   (   R   R   R   R   R   R   R   t   PreprocR   R
   R   R   R   t   Typet   ReservedR	   t   Hext   FloatR   R   R    R"   (    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyR   R   sJ   					         			c        )   B   s   e  Z d  Z d Z d g Z d g Z i d e j f d e f d e f d e f d e	 f d	 e	 f e
 dK d d e f e
 dL d d e j f e
 dM d d e j f dA e j f dB e f e
 dN d d e f e
 dO d d e f dI e f g dJ 6Z RS(P   s=  
    Basic lexer for
    `CapDL <https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml>`_.

    The source of the primary tool that reads such specifications is available
    at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this
    lexer only supports a subset of the grammar. For example, identifiers can
    shadow type names, but these instances are currently incorrectly
    highlighted as types. Supporting this would need a stateful lexer that is
    considered unnecessarily complex for now.

    .. versionadded:: 2.2
    t   CapDLt   capdls   *.cdls	   ^\s*#.*\ns   \s+s   /\*(.|\n)*?\*/s   (//|--).*\ns   [<>\[(){},:;=\]]s   \.\.t   archt   arm11t   capst   child_oft   ia32t   irqt   mapst   objectsRL   s   \bt   aept	   asid_poolt   cnodet   ept   framet	   io_devicet   io_portst   io_ptt   notificationt   pdt   ptt   tcbt   utt   vcput   asidt   addrt   badget   cachedt   domt   domainIDt   elft   fault_ept   Gt   guardt
   guard_sizet   initt   ipt   priot   spt   Rt   RGt   RXt   RWt   RWGt   RWXt   Wt   WGt   WXt   levelt   maskedt   master_replyt   paddrt   portst   replyt   uncacheds   0[xX][\da-fA-F]+s   \d+(\.\d+)?(k|M)?t   bitst   cspacet   vspacet
   reply_slott   caller_slott   ipc_buffer_slots   [a-zA-Z_][-@\.\w]*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   R   R   Rn   R   R
   R   R   Ro   Rp   R	   Rq   R   R"   (    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyR      s8   							    		c           B   s   e  Z d  Z d Z d g Z d g Z d& Z d' Z i d e f d e	 j
 f d d j e  e j f d d j e  e j f d  e f d! e f d" e f d# e f d$ e j f g	 d% 6Z RS((   s   
    A simple Redcode lexer based on ICWS'94.
    Contributed by Adam Blinkinsop <blinks@acm.org>.

    .. versionadded:: 0.8
    t   Redcodet   redcodes   *.cwt   DATt   MOVt   ADDt   SUBt   MULt   DIVt   MODt   JMPt   JMZt   JMNt   DJNt   CMPt   SLTt   SPLt   ORGt   EQUt   ENDt   At   Bt   ABt   BAt   Ft   Xt   Is   \s+s   ;.*$s   \b(%s)\bt   |s   [A-Za-z_]\w+s   [-+*/%]s   [#$@<>]s   [.,]s   [-+]?\d+R   (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   R   R   (   R   R   R   R   R   R   t   opcodest	   modifiersR   R   R&   t   joinR   t   Functiont	   DecoratorR   R
   R	   t   IntegerR"   (    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyR      s$   		  					c           B   sE   e  Z d  Z d Z d g Z d g Z i d e f d e f g d 6Z RS(   s|   
    Aheui_ Lexer.

    Aheui_ is esoteric language based on Korean alphabets.

    .. _Aheui: http://aheui.github.io/

    t   Aheuit   aheuis   *.aheuiu  [나-낳냐-냫너-넣녀-녛노-놓뇨-눟뉴-닇다-닿댜-댷더-덯뎌-뎧도-돟됴-둫듀-딓따-땋땨-떃떠-떻뗘-뗳또-똫뚀-뚷뜌-띟라-랗랴-럏러-렇려-렿로-롷료-뤃류-릫마-맣먀-먛머-멓며-몋모-뫃묘-뭏뮤-믷바-밯뱌-뱧버-벟벼-볗보-봏뵤-붛뷰-빃빠-빻뺘-뺳뻐-뻫뼈-뼣뽀-뽛뾰-뿧쀼-삏사-샇샤-샿서-섷셔-셯소-솧쇼-숳슈-싛싸-쌓쌰-썋써-쎃쎠-쎻쏘-쏳쑈-쑿쓔-씧자-잫쟈-쟣저-젛져-졓조-좋죠-줗쥬-즿차-챃챠-챻처-첳쳐-쳫초-촣쵸-춯츄-칗카-캏캬-컇커-컿켜-켷코-콯쿄-쿻큐-킣타-탛탸-턓터-텋텨-톃토-톻툐-퉇튜-틯파-팧퍄-퍟퍼-펗펴-폏포-퐇표-풓퓨-픻하-핳햐-햫허-헣혀-혛호-홓효-훟휴-힇]t   .R   (	   R   R   R   R   R   R   R   R   R"   (    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyR      s   		N(   R   t   pygments.lexerR    R   R   t   pygments.tokenR   R   R   R   R   R   R	   R
   R   t   __all__R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/pygments/lexers/esoteric.pyt   <module>
   s   @ A;$