o
    x¡·i6  ã                   @   sf   d Z ddl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gZG dd„ deƒZdS )zç
    pygments.lexers.nimrod
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Nim language (formerly known as Nimrod).

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚdefault)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚNimrodLexerc                   @   s,  e Zd ZdZdZddgZddgZdgZej	ej
B ejB Zdd	„ Zg d
¢Zg d¢Zg d¢Zg d¢Zdejfdefdefdefdedfdedfdedfdejdfdeeƒ ejfdedfdeeƒ efdeg d¢ƒ ejfdejfdeeƒ ejfdeeƒ ejfdefd ej d!fd"ej!d#fd$ej"d#fd%ej#d#fd&ej$d#fd'e%fd(e&fgd)ej'fdejd*fd+ejfgd,ej(fd-efd.efd/efgd0ej'fded*fe)d1ƒgd2ed*fd3ej'fe)d1ƒgd4ed*fe)d1ƒe)d5ƒgd6ej*d*fd7ej*d*fgd8efgd9ej fd:ej fe+d*ƒgd;ej fe+d*ƒgd<ej$j,fd=ej$fe+d*ƒgd>œZ-d?S )@r   zS
    For `Nim <http://nim-lang.org/>`_ source code.

    .. versionadded:: 1.5
    ÚNimrodÚnimÚnimrodz*.nimz*.nimrodz
text/x-nimc                 C   s@   g }d}| D ]}|D ]}||d 7 }q
|  |¡ d}qd |¡S )NÚ z_?ú|)ÚappendÚjoin)ÚwordsÚnewWordsÚnewÚwordÚch© r   úW/home/ubuntu/.local/lib/python3.10/site-packages/wandb/vendor/pygments/lexers/nimrod.pyÚunderscorize#   s   

zNimrodLexer.underscorize)@ÚaddrÚandÚasÚasmÚatomicÚbindÚblockÚbreakÚcaseÚcastÚconceptÚconstÚcontinueÚ	converterÚdeferÚdiscardÚdistinctÚdivÚdoÚelifÚelseÚendÚenumÚexceptÚexportÚfinallyÚforÚfuncÚifÚinÚyieldÚ	interfaceÚisÚisnotÚiteratorÚletÚmacroÚmethodÚmixinÚmodÚnotÚnotinÚobjectÚofÚorÚoutÚprocÚptrÚraiseÚrefÚreturnÚsharedÚshlÚshrÚstaticÚtemplateÚtryÚtupleÚtypeÚwhenÚwhileÚwithÚwithoutÚxor)ÚnilÚtrueÚfalse)r   rJ   rF   r]   rR   rS   r/   rE   r;   rG   r>   r?   )ÚintÚint8Úint16Úint32Úint64ÚfloatÚfloat32Úfloat64ÚboolÚcharÚrangeÚarrayÚseqÚsetÚstringz##.*$z#.*$z[*=><+\-/@$~&%!?|\\\[\]]z<\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;z
(?:[\w]+)"Úrdqsz"""Útdqsú"Údqsú'Úcharsz(%s)\bz(p_?r_?o_?c_?\s)(?![(\[\]])Úfuncname)ÚfromÚimportr   z(v_?a_?r)\bz&\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*z![0-9][0-9_]*(?=([e.]|\'f(32|64))))úfloat-suffixúfloat-numberz0x[a-f0-9][a-f0-9_]*ú
int-suffixz0b[01][01_]*z0o[0-7][0-7_]*z[0-9][0-9_]*z\s+z.+$z-\\([\\abcefnrtvl"\']|x[a-f0-9]{2}|[0-9]{1,3})z#popÚ.z(?<!\$)\$(\d+|#|\w+)+z[^\\\'"$\n]+z[\'"\\]z\$z0\\([\\abcefnrtvl"\']|\n|x[a-f0-9]{2}|[0-9]{1,3})Ústringsz"(?!")z""z"""(?!")Únlz$((?![\d_])\w)(((?!_)\w)|(_(?!_)\w))*z`.+`z\nz\.(?!\.)[0-9_]*ze[+-]?[0-9][0-9_]*z
\'f(32|64)z
\'i(32|64)z	\'i(8|16))Úrootru   r}   rs   rp   rq   rv   r~   rz   ry   r{   N).Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚ
IGNORECASEÚUNICODEÚflagsr   ÚkeywordsÚkeywordsPseudoÚopWordsÚtypesr
   ÚDocr   r   r   ÚCharÚWordr   Ú	NamespaceÚDeclarationÚTypeÚPseudor	   r   ÚFloatÚHexÚBinÚOctÚIntegerr   r   ÚEscapeÚInterpolr   ÚFunctionr   ÚLongÚtokensr   r   r   r   r      s¤    
ÿ
ÿÿ



Ý&
ýú
ÿüýý

þÿýþ
ý
¬)rƒ   rˆ   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r   r   Ú<module>   s   
,