U
    YSh                     @   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-2025 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                8   @   s  e Zd ZdZdZdZddgZddgZdgZd	Z	e
je
jB Zd
d Zddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCg8ZdDdEdFgZdd4d0dCd:d;dd/d'd1d*d+gZdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUgZdVejdWfdXejfdYejdZfd[efd\ejd]fd^efd_efd`eejeejdafdbedcfddejdefdfedgfdhejdifdjee dkej fdleeejdmfdjee dkefdn!edodpdqd#gej"fdrej#fdjee dke$j%fdjee dkej&fdse$fdte'j(dufdve'j)dwfdxe'j*dwfdye'j+dwfdze'j,dwfd{ejfd|e-fgd}ej.fdhejd~fdejfgdej/fdefdefdefgdejfdVejdfdejd~fdejfgdejfdYejdfdejd~fdejfgdej.fdfed~fe0dgded~fdej.fe0dgddejd~fe0ddejfgde$j1d~fde$j1d~fgdefgde'j(fde'j(fe2d~gde'j(fe2d~gde'j,j3fde'j,fe2d~gdefdejfded~fde$j4fgdefdejfdejd~fdejfgdZ5dS )r   z
    For Nim source code.
    Nimrodzhttp://nim-lang.org/nimrodnimz*.nimz*.nimrodz
text/x-nimz1.5c                 C   sN   g }g }| D ]6}|D ]}| | | d q| d| g }qd|S )Nz_? |)appendjoin)wordsZnewWordsnewwordch r   I/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/nimrod.pyunderscorize"   s    
zNimrodLexer.underscorizeaddrandasasmbindblockbreakcasecastZconceptconstcontinue	converterZdeferdiscardZdistinctdivdoelifelseendenumexceptZexportfinallyforifinyieldZ	interfaceisZisnotiteratorZletZmixinmodnotnotinobjectZoforoutZptrraiserefreturnZshlZshrZstatictrytupletypeusingwhenwhilexorniltruefalse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'chars(z)\bz0(proc|func|method|macro|template)(\s)(?![(\[\]])funcnamez({})\b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\$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+|[^.}])rootr^   rg   rU   rV   r\   rY   rZ   r`   nlrd   rc   re   rX   rW   N)6__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedre	MULTILINE
IGNORECASEflagsr   keywordsZkeywordsPseudoZopWordstypesr   Docr   	MultilineOtherr   r   r   r   
Whitespacer	   DoubleCharWordformat	NamespaceDeclarationr
   BuiltinPseudor   FloatHexBinOctIntegerr   EscapeInterpolr   Functionr   LongLabeltokensr   r   r   r   r      s                                                                           






  



6










)ro   rv   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
   
,