3

V'ícã@sjdZddlZddlmZmZmZmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZdgZGdd„deƒZdS)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ÚNimrodLexerc8@sšeZdZdZdZdZddgZddgZdgZe	j
e	jBZd	d
„Z
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBg8ZdCdDdEgZdd3d/dBd9d:dd.d&d0d)d*gZdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTgZdUejdVfdWejfdXejdYfdZefd[ejd\fd]efd^efd_eejeejƒd`fdaedbfdcejddfdeedffdgejdhfdie
eƒejfdjeeejƒdkfdie
eƒefdie
dldmdnd"gƒej fdoej!fdie
eƒe"j#fdie
eƒej$fdpe"fdqe%j&dœfdte%j'dufdve%j(dufdwe%j)dufdxe%j*dufdyejfdze+fgd{ej,fdgejd|fd}ejfgd~ej-fdefd€efdefgd‚ejfdUejdƒfd„ejd|fd…ejfgd‚ejfdXejdƒfd†ejd|fd…ejfgd‡ej,fdeed|fe.dˆƒgd‰ed|fdŠej,fe.dˆƒgdcejd|fe.dˆƒd‹ejfgdŒe"j/d|fde"j/d|fgd‹efgdŽe%j&fde%j&fe0d|ƒgde%j&fe0d|ƒgd‘e%j*j1fd’e%j*fe0d|ƒgd“efd”ejfd•ed|fd–e"j2fgd—efd”ejfd˜ejd|fd™ejfgdšœZ3d›S)rz9
    For Nim source code.

    .. versionadded:: 1.5
    ZNimrodzhttp://nim-lang.org/ZnimrodZnimz*.nimz*.nimrodz
text/x-nimcCsVg}g}xB|D]:}x |D]}|j|ƒ|jdƒqW|jdj|ƒƒg}qWdj|ƒS)Nz_?Úú|)ÚappendÚjoin)ÚwordsZnewWordsÚnewÚwordÚch©rú:/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/nimrod.pyÚunderscorize#s


zNimrodLexer.underscorizeÚaddrÚandÚasZasmÚbindÚblockÚbreakZcaseÚcastZconceptÚconstÚcontinueÚ	converterÚdeferÚdiscardZdistinctÚdivZdoÚelifÚelseÚendÚenumÚexceptÚexportÚfinallyÚforÚifÚinÚyieldZ	interfaceÚisZisnotÚiteratorZletZmixinÚmodÚnotÚnotinÚobjectZofÚorÚoutÚptrÚraiseÚrefÚreturnZshlZshrZstaticÚtryÚtupleÚtypeZusingÚwhenÚwhileÚxorÚnilÚtrueÚfalseÚintZint8Zint16Zint32Zint64ÚfloatZfloat32Zfloat64Ú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Úimportrz(v_?a_?r)\bz&\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*z![0-9][0-9_]*(?=([e.]|\'f(32|64)))úfloat-suffixúfloat-numberz0x[a-f0-9][a-f0-9_]*z
int-suffixz0b[01][01_]*z0o[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]*ze[+-]?[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+|[^.}])ÚrootrZrarQrRrXrUrVr[Únlzfloat-numberzfloat-suffixz
int-suffixrTrSN)r^r_)4Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚ
IGNORECASEÚflagsrÚkeywordsZkeywordsPseudoZopWordsÚtypesrZDocrZ	MultilineZOtherrr
rrÚ
Whitespacer	ÚDoubleZCharÚWordÚ	NamespaceZDeclarationr
ZBuiltinZPseudorZFloatZHexZBinÚOctZIntegerrZEscapeZInterpolrZFunctionrZLongZLabelÚtokensrrrrrsÂ


























)riroZpygments.lexerrrrrZpygments.tokenrrrr	r
rrr
rÚ__all__rrrrrÚ<module>	s
,