o
    ý©Zh  ã                   @   sj   d Z ddl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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-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚdefaultÚbygroups)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚNimrodLexerc                   @   sú  e Zd ZdZdZdZddgZddgZdgZe	j
e	jB Zd	d
„ Zg d¢Zg d¢Zg d¢Zg d¢Zdejdfdejfdejdfdefdejdfdefdefdeejeejƒdfdedfdejdfded fd!ejd"fd#eeƒ ejfd$eeejƒ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d0ejfd1e+fgd2ej,fd!ejd3fd4ejfgd5ej-fd6efd7efd8efgd9ejfdejd:fd;ejd3fd<ejfgd9ejfdejd:fd=ejd3fd<ejfgd>ej,fded3fe.d?ƒgd@ed3fdAej,fe.d?ƒgdejd3fe.d?ƒdBejfgdCe"j/d3fdDe"j/d3fgdBefgdEe%j&fdFe%j&fe0d3ƒgdGe%j&fe0d3ƒgdHe%j*j1fdIe%j*fe0d3ƒgdJefdKejfdLed3fdMe"j2fgdNefdKejfdOejd3fdPejfgdQœZ3dRS )Sr   z9
    For Nim source code.

    .. versionadded:: 1.5
    ÚNimrodzhttp://nim-lang.org/ÚnimrodÚnimz*.nimz*.nimrodz
text/x-nimc                 C   sN   g }g }| D ]}|D ]}|  |¡ |  d¡ q
|  d |¡¡ g }qd |¡S )Nz_?Ú ú|)ÚappendÚjoin)ÚwordsZnewWordsÚnewÚwordÚch© r   úM/var/www/html/lang_env/lib/python3.10/site-packages/pygments/lexers/nimrod.pyÚunderscorize#   s   

zNimrodLexer.underscorize)8ÚaddrÚandÚasÚasmÚbindÚblockÚbreakÚcaseÚcastZconceptÚconstÚcontinueÚ	converterZdeferÚdiscardZdistinctÚdivÚdoÚelifÚelseÚendÚenumÚexceptÚexportÚfinallyÚforÚifÚinÚyieldÚ	interfaceÚisÚisnotÚiteratorZletZmixinÚmodÚnotÚnotinÚobjectZofÚorÚoutZptrÚraiseÚrefÚreturnÚshlÚshrZstaticÚtryÚtupleÚtypeÚusingÚwhenÚwhileÚxor)ÚnilÚtrueÚfalse)r   r@   r=   rM   rE   rF   r+   r<   r6   r>   r9   r:   )ÚintZint8Zint16Zint32Zint64ÚfloatZfloat32Zfloat64ÚboolÚcharÚrangeÚarrayÚseqÚsetÚstringz##\[Ú
doccommentz##.*$z#\[Úcommentz#.*$z\{\.Úpragmaz[*=><+\-/@$~&%!?|\\\[\]]z<\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;z(\n\s*)(of)(\s)Ú
casebranchz
(?:[\w]+)"Úrdqsz"""Útdqsú"Údqsú'Úcharsz(%s)\bz0(proc|func|method|macro|template)(\s)(?![(\[\]])Úfuncname)ÚfromÚimportr   r2   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\$z[^\]#]+z#pushz\]##z[\]#]z\]#z0\\([\\abcefnrtvl"\']|\n|x[a-f0-9]{2}|[0-9]{1,3})Ústringsz"(?!")z""z\nz$((?![\d_])\w)(((?!_)\w)|(_(?!_)\w))*z`.+`z\.(?!\.)[0-9_]*[f]*ze[+-]?[0-9][0-9_]*z
\'f(32|64)z
\'i(32|64)z	\'i(8|16)ú,z[\n ]+ú:z\w+|[^:]z[:,]z\.\}z\w+|\W+|[^.}])Úrootrc   rk   rZ   r[   ra   r^   r_   rd   Únlrh   rg   ri   r]   r\   N)4Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚ
IGNORECASEÚflagsr   ÚkeywordsZkeywordsPseudoZopWordsÚtypesr   ÚDocr   Ú	MultilineÚOtherr   r   r   r   Ú
Whitespacer	   ÚDoubleÚCharÚWordÚ	NamespaceÚDeclarationr
   ÚBuiltinÚPseudor   ÚFloatÚHexÚBinÚOctÚIntegerr   ÚEscapeÚInterpolr   ÚFunctionr   ÚLongÚLabelÚtokensr   r   r   r   r      sâ    


ÿ
ÿÿ

ÿÿÿ



Í6
ýú


ü

üÿüý
ý

þÿýþ
ýü
ü
…)rs   ry   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   Ú__all__r   r   r   r   r   Ú<module>   s    
,