a
    W_ %                     @   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 g dZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZdS )z
    pygments.lexers.esoteric
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for esoteric languages.

    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewords)	TextCommentOperatorKeywordNameStringNumberPunctuationError)BrainfuckLexerBefungeLexerRedcodeLexerCAmkESLexer
CapDLLexer
AheuiLexerc                   @   s~   e Zd ZdZdZddgZddgZdgZdej	fd	ej
fd
ejfdefgdedfdefedgdedfdedfedgdZdS )r   ze
    Lexer for the esoteric `BrainFuck <http://www.muppetlabs.com/~breadbox/bf/>`_
    language.
    Z	BrainfuckZ	brainfuckZbfz*.bfz*.bzapplication/x-brainfuckz[.,]+z[+-]+z[<>]+z[^.,+\-<>\[\]]+z\[loopz\]commonz#pushz#pop)r   rootr   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr	   TagBuiltinVariabler   r   r   r   tokens r#   r#   :/usr/lib/python3/dist-packages/pygments/lexers/esoteric.pyr      s&   r   c                   @   s   e Zd ZdZdZdgZdgZdgZd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iZdS )r   z{
    Lexer for the esoteric `Befunge <http://en.wikipedia.org/wiki/Befunge>`_
    language.

    .. versionadded:: 0.7
    ZBefungeZbefungez	*.befungezapplication/x-befunger   z[0-9a-f]z	[+*/%!`-]z[<>^v?\[\]rxjk]z	[:\\$.,n]z[|_mw]z[{}]z".*?"z\'.z[#;]z[pg&~=@iotsy]z[()A-Z]\s+N)r   r   r   r   r   r   r   r   r   r   r	   r!   r    r   r   r
   DoubleSingler   r   r"   r#   r#   r#   r$   r   4   s(   r   c                   @   s   e Zd ZdZdZddgZddgZd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dejfedddejfdejfdejfdejfdefdejfdefdejfdefgiZdS )r   z
    Basic lexer for the input language for the
    `CAmkES <https://sel4.systems/CAmkES/>`_ component platform.

    .. versionadded:: 2.1
    ZCAmkESZcamkesZidl4z*.camkesz*.idl4r   	^\s*#.*\nr%   /\*(.|\n)*?\*/z//.*\nz[\[(){},.;\]]z[~!%^&*+=|?:<>/-])"ZassemblyZ	attributeZ	componentZcompositionZconfigurationZ
connectionZ	connectorZconsumesZcontrolZdataportZDataportZ	DataportsZemitsZeventZEventZEventsZexportfromgroupZhardwareZhasZ	interfaceZ	InterfacemaybeZ	procedureZ	ProcedureZ
ProceduresZprovidestemplatethreadZthreadstoZuseswith\bsuffix)boolZbooleanZBufchar	characterZdoublefloatinZinoutintZint16_6Zint32_tZint64_tZint8_tZintegerZmutexoutrealZrefinZ	semaphoreZsignedstringZstructZuint16_tZuint32_tZuint64_tZuint8_tZ	uintptr_tZunsignedZvoidz%[a-zA-Z_]\w*_(priority|domain|buffer))Zdma_poolZfrom_accessZ	to_accesszimport\s+(<[^>]*>|"[^"]*");zinclude\s+(<[^>]*>|"[^"]*");0[xX][\da-fA-F]+z-?[\d]+z-?[\d]+\.[\d]+z"[^"]*"z[Tt]rue|[Ff]alsez[a-zA-Z_]\w*N)r   r   r   r   r   r   r   r   Preprocr   r   r   r   r   TypeReservedr   HexZFloatr
   r	   r    r"   r#   r#   r#   r$   r   R   sF   		
r   c                   @   s   e Zd ZdZdZdgZdgZd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edddejfdejfdefedddefedddefdefgiZdS )r   a=  
    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
    ZCapDLZcapdlz*.cdlr   r(   r%   r)   z(//|--).*\nz[<>\[(){},:;=\]]z\.\.)ZarchZarm11ZcapsZchild_ofZia32ZirqmapsZobjectsr1   r2   )ZaepZ	asid_poolZcnodeZepframeZ	io_deviceZio_portsZio_ptZnotificationZpdZptZtcbutZvcpu)ZasidZaddrZbadgecachedZdomZdomainIDZelfZfault_epGZguardZ
guard_sizeZinitZipZprioZspRZRGZRXZRWZRWGZRWXWZWGZWXlevelZmaskedZmaster_replyZpaddrZportsZreplyZuncachedr=   z\d+(\.\d+)?(k|M)?)bits)ZcspaceZvspaceZ
reply_slotZcaller_slotZipc_buffer_slotz[a-zA-Z_][-@\.\w]*N)r   r   r   r   r   r   r   r   r>   r   r   r   r   r?   r@   r   rA   r	   r"   r#   r#   r#   r$   r      sJ   r   c                   @   s   e Zd ZdZdZdgZdgZdZdZdde	fd	e
jfd
de ejfd
de ejfdefdefdefdefdejfg	iZdS )r   z
    A simple Redcode lexer based on ICWS'94.
    Contributed by Adam Blinkinsop <blinks@acm.org>.

    .. versionadded:: 0.8
    ZRedcodeZredcodez*.cw)ZDATZMOVZADDZSUBZMULZDIVZMODZJMPZJMZZJMNZDJNZCMPZSLTZSPLZORGZEQUZEND)ABZABZBAFXIr   r%   z;.*$z\b(%s)\b|z[A-Za-z_]\w+z[-+*/%]z[#$@<>]z[.,]z[-+]?\d+N)r   r   r   r   r   r   r   ZopcodesZ	modifiersr   r   r'   joinr	   ZFunctionZ	Decoratorr   r   r   ZIntegerr"   r#   r#   r#   r$   r      s$   r   c                   @   s4   e Zd ZdZdZdgZdgZddefdefgiZ	dS )	r   z|
    Aheui_ Lexer.

    Aheui_ is esoteric language based on Korean alphabets.

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

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