B
    `                  @   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-2021 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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-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFg=ZdGdHdIgZdd5d1dFd<d=dd0d&d2d)d*gZdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXgZdYejfdZefd[efd\efd]ed^fd_ed`fdaedbfdcejddfdeee ejfdfedgfdeee efdeedhdidjg ejfdkejfdeee ejfdeee ejfdlefdmej dnfdoej!dpfdqej"dpfdrej#dpfdsej$dpfdte%fdue&fgdvej'fdcejdwfdxejfgdyej(fdzefd{efd|efgd}ej'fdaedwfe)d~gdedwfdej'fe)d~gdedwfe)d~e)dgdej*dwfdej*dwfgdefgdej fdej fe+dwgdej fe+dwgdej$j,fdej$fe+dwgdZ-dS )r   zS
    For `Nim <http://nim-lang.org/>`_ source code.

    .. versionadded:: 1.5
    ZNimrodZnimrodZnimz*.nimz*.nimrodz
text/x-nimc             C   sH   g }d}x4| D ],}x|D ]}||d 7 }qW | | d}qW d|S )N z_?|)appendjoin)wordsZnewWordsnewwordch r   ^/home/kop/projects/devel/pgwui/test_venv/lib/python3.7/site-packages/pygments/lexers/nimrod.pyunderscorize"   s    


zNimrodLexer.underscorizeaddrandasZasmbindblockbreakZcasecastZconceptconstcontinue	converterdeferdiscardZdistinctdivdoelifelseendenumexceptZexportfinallyforfuncifinyieldZ	interfaceisZisnotiteratorZletmacromethodZmixinmodnotnotinobjectZoforoutprocptrraiserefreturnZshlZshrZstatictemplatetrytupletypeZusingwhenwhilexorniltruefalseintZ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))))zfloat-suffixzfloat-numberz0x[a-f0-9][a-f0-9_]*z
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))rootr_   rd   r]   rZ   r[   r`   re   zfloat-numberzfloat-suffixz
int-suffixN).__name__
__module____qualname____doc__namealiases	filenames	mimetypesre	MULTILINE
IGNORECASEUNICODEflagsr   keywordsZkeywordsPseudoZopWordstypesr
   ZDocr   r   r   CharWordr   	NamespaceZDeclarationTypeZPseudor	   r   ZFloatZHexZBinOctZIntegerr   r   ZEscapeZInterpolr   ZFunctionr   ZLongtokensr   r   r   r   r      s   










)rj   ro   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   r   r   r   r   <module>	   s
   ,