
    |e                     d    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e      Zy)z
    pygments.lexers.sophia
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Sophia.

    Derived from pygments/lexers/reason.py.

    :copyright: Copyright 2006-2023 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                      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j2                  fdej4                  fdej6                  f eed      ef ee	d      ej:                  f ee
dd      ej>                  f eedd      ej@                  fdej>                  fde!fdej4                  fdefdejD                  fdejD                  fd ejF                  fd!ejH                  d"fgd#ej.                  fd$ej.                  d%fd&ej.                  d'fd(ej.                  fgd)ejH                  f e%d*      d+ejH                  fd!ejH                  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'y1)2r   z5
    A Sophia 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)prefixrE   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]*"r8   z[^/*]+z\/\*z#pushz\*\/z#popz\*z[^\\"]+escape-sequencez\\\nz\.z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z[a-z_][\w\']*)rH   rootrD   r8   rC   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     8/usr/lib/python3/dist-packages/pygments/lexers/sophia.pyr   r      sM    DjG	IIH 4H;NFO v}}-FMM*!6==1
 T__% 0 01)4::x@ $--0(7,,i8+VZZ8'4&..)8E*G48E*DLL9>%>N?5?N#X]]3,'4t$G[[V[[!T]]+6==(+9
> ))*g''1g''0G%%&	
 '%&fmm$6==&)	
 TNK %t}}5dmmV4tV,FO
a8Frh   N)rM   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   __all__r   rg   rh   ri   <module>rm      s8   
 ? >   /S* Srh   