§
    £E±c  ã                   óx   — 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e¦  «        ZdS )zç
    pygments.lexers.nimrod
    ~~~~~~~~~~~~~~~~~~~~~~

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

    :copyright: Copyright 2006-2022 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                   óT  — 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        z  Z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¦  «        z  ej        fd# eeej        ¦  «        d$fd" ee¦  «        z  efd" eg d%¢¦  «        z  ej         fd&ej!        fd" ee¦  «        z  e"j#        fd" ee¦  «        z  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j        fd0e+fgd1ej,        fd ej        d2fd3ej        fgd4ej-        fd5efd6efd7efgd8ej        fdej        d9fd:ej        d2fd;ej        fgd8ej        fdej        d9fd<ej        d2fd;ej        fgd=ej,        fded2f e.d>¦  «        gd?ed2fd@ej,        f e.d>¦  «        gdej        d2f e.d>¦  «        dAej        fgdBe"j/        d2fdCe"j/        d2fgdAefgdDe%j&        fdEe%j&        f e0d2¦  «        gdFe%j&        f e0d2¦  «        gdGe%j*        j1        fdHe%j*        f e0d2¦  «        gdIefdJej        fdKed2fdLe"j2        fgdMefdJej        fdNej        d2fdOej        fgdPœZ3dQS )Rr   z9
    For Nim source code.

    .. versionadded:: 1.5
    ÚNimrodzhttp://nim-lang.org/ÚnimrodÚnimz*.nimz*.nimrodz
text/x-nimc                 óð   — g }g }| D ][}|D ],}|                      |¦  «         |                      d¦  «         Œ-|                      d                     |¦  «        ¦  «         g }Œ\d                     |¦  «        S )Nz_?Ú ú|)ÚappendÚjoin)ÚwordsÚnewWordsÚnewÚwordÚchs        ú8/usr/lib/python3/dist-packages/pygments/lexers/nimrod.pyÚunderscorizezNimrodLexer.underscorize#   sƒ   € ØˆØˆØð 	ð 	ˆDØð !ð !�Ø—
’
˜2‘”�Ø—
’
˜4Ñ Ô Ð Ð Ø�OŠO˜BŸGšG C™LœLÑ)Ô)Ð)ØˆCˆCØ�xŠx˜Ñ!Ô!Ð!ó    )8ÚaddrÚandÚasÚasmÚbindÚblockÚbreakÚcaseÚcastÚconceptÚconstÚcontinueÚ	converterÚdeferÚdiscardÚdistinctÚdivÚdoÚelifÚelseÚendÚenumÚexceptÚexportÚfinallyÚforÚifÚinÚyieldÚ	interfaceÚisÚisnotÚiteratorÚletÚmixinÚmodÚnotÚnotinÚobjectÚofÚorÚoutÚptrÚraiseÚrefÚreturnÚshlÚshrÚstaticÚtryÚtupleÚtypeÚusingÚwhenÚwhileÚxor)ÚnilÚtrueÚfalse)r#   rJ   rF   rY   rP   rQ   r2   rE   r=   rG   r@   rA   )ÚintÚint8Úint16Úint32Úint64ÚfloatÚfloat32Ú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   r9   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+|[^.}])Úrootru   r}   rl   rm   rs   rp   rq   rv   Únlrz   ry   r{   ro   rn   N)4Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚ
IGNORECASEÚflagsr    ÚkeywordsÚkeywordsPseudoÚ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Útokens© r!   r   r   r      s”  € € € € € ðð ð €DØ
 €CØ˜Ð€GØ˜*Ð%€IØ�€IàŒL˜2œ=Ñ(€Eð	"ð 	"ð 	"ð	ð 	ð 	€Hðð ð €Nðð ð €Gð
ð ð €Eð �f”j ,Ð/Ø�v”zÐ"Ø�WÔ&¨	Ð2Ø�gÐð �f”l HÐ-ð )¨(Ð3ØLØðð    ¨$¬/¸7Ø*.¬/ñ";ô ";Ø<HðJð ˜F FÐ+Ø�V”] FÐ+Ø�&˜%Ð ð �&”+˜wÐ'ð ˜˜ gÑ.Ô.Ñ.°´Ð>Ø@ØˆX�g˜tœÑ/Ô/°ð=à˜˜ hÑ/Ô/Ñ/°Ð9Ø˜˜Ð&MÐ&MÐ&MÑNÔNÑNØÔð à˜WÔ0Ð1Ø˜˜ eÑ,Ô,Ñ,¨d¬lÐ;Ø˜˜ nÑ5Ô5Ñ5°w´~ÐFð 7¸Ð=ð 2ØŒ\Ð;ð=à$ f¤j°,Ð?Ø˜fœj¨,Ð7Ø ¤
¨LÐ9Ø˜fœn¨lÐ;ð �T”_Ð%Ø�UˆOðg4
ðl >¸v¼}ÐMØ�6”; Ð'Ø�6”;Ðð
ð & v¤Ð7Ø˜fÐ%à˜Ð à�FˆOð
ð ˜œÐ$Ø�f”j 'Ð*Ø�f”j &Ð)Ø�v”zÐ"ð	
ð ˜Ô*Ð+Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�wÔ(Ð)ð	
ð AØŒ]ðà�6˜6Ð"ØˆG�IÑÔð	
ð ˜ Ð'Ø�F”MÐ"ØˆG�IÑÔð
ð �V”] FÐ+ØˆG�IÑÔØ�F”MÐ"ð
ð 5°d´mÀVÐLØ�d”m VÐ,ð
ð
 �FˆOð
ð $ V¤\Ð2Ø" F¤LÐ1ØˆG�F‰OŒOð
ð ˜FœLÐ)ØˆG�F‰OŒOð
ð
 ˜FœNÔ/Ð0Ø˜6œ>Ð*ØˆG�F‰OŒOð
ð �;ÐØ˜œÐ(Ø�8˜VÐ$Ø˜$œ*Ð%ð	
ð �dˆOØ˜œÐ(Ø�f”l FÐ+Ø˜vœ|Ð,ð	
ðwAð A€F€F€Fr!   )r…   r‹   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   Ú__all__r   r©   r!   r   ú<module>r­      só   ððð ð 
€	€	€	à AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ˆ/€ðtð tð tð tð t�*ñ tô tð tð tð tr!   