o
    ‡ÎÖa$  ã                   @   s^   d Z ddlmZ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 dgZG dd„ deƒZdS )zï
    pygments.lexers.sophia
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Sophia.

    Derived from pygments/lexers/reason.py.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚdefaultÚwords)ÚCommentÚKeywordÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚSophiaLexerc                   @   s˜  e Zd ZdZdZdgZdgZg ZdZdZ	dZ
dZd	ejfd
ejfdejfgdejfdejfdejdfdejfdejfdejdfdejfdejfdejfeedd�efee	dd�ejfee
ddd�ejfeeddd�ej fdejfde!fdejfdefdej"fdej"fd ej#fd!ej$d"fgd#ejfd$ejd%fd&ejd'fd(ejfgd)ej$fe%d*ƒd+ej$fd!ej$d'fgdefd,e!fd-ejfd.ejd'fd/ed'fe&d'ƒgd0œZ'd1S )2r   zW
    A `Sophia <https://buildwithsophia.com/>`_ lexer.

    .. versionadded:: 2.11
    ÚSophiaÚsophiaz*.aes)Úcontractr   ÚletÚswitchÚtypeÚrecordÚdatatypeÚifÚelifÚelseÚfunctionÚstatefulÚpayableÚpublicÚ
entrypointÚprivateÚindexedÚ	namespaceÚ	interfaceÚmainÚusingÚasÚforÚhiding)ÚstateÚputÚabortÚrequire)ÚmodÚbandÚborÚbxorÚbnot)ÚintÚaddressÚboolÚbitsÚbytesÚstringÚlistÚoptionÚcharÚunitÚmapÚeventÚhashÚ	signatureÚoracleÚoracle_queryz\\[\\"\'ntbr]z
\\[0-9]{3}z\\x[0-9a-fA-F]{2}z\s+z(true|false)\bz\b([A-Z][\w\']*)(?=\s*\.)Údottedz\b([A-Z][\w\']*)z//.*?\nz	\/\*(?!/)Úcommentz0[xX][\da-fA-F][\da-fA-F_]*z#[\da-fA-F][\da-fA-F_]*z\d[\d_]*z\b)Úsuffix)ÚprefixrC   z[=!<>+\\*/:&|?~@^-]z[.;:{}(),\[\]]z(ak_|ok_|oq_|ct_)[\w']*z[^\W\d][\w']*z7'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'z'.'z'[a-z][\w]*ú"r6   z[^/*]+z\/\*z#pushz\*\/z#popz\*z[^\\"]+úescape-sequencez\\\nz\.z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z[a-z_][\w\']*)rF   ÚrootrB   r6   rA   N)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚkeywordsÚbuiltinsÚword_operatorsÚprimitive_typesr   ÚEscaper   Ú
Whitespacer   ÚConstantr   ÚClassÚFunctionr   ÚSingleÚ	Multiliner	   ÚHexÚLabelÚIntegerr   ÚBuiltinr
   ÚWordÚTyper   ÚCharÚVariableÚDoubler   r   Útokens© re   re   ú8/usr/lib/python3/dist-packages/pygments/lexers/sophia.pyr      sp    ý

ÿ
ä

ü
ü
ú
ÐN)rK   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   re   re   re   rf   Ú<module>   s
    (