B
    `a[6                 @   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-2017 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@dAdBdCdDdEdFdGdHdIg@ZdJdKdLgZdd6d2dId>d?dd1d'd3d*d+gZdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[gZd\ejfd]efd^efd_efd`edafdbedcfddedefdfejdgfdhee ejfdiedjfdhee efdhedkdldmg ejfdnejfdhee ejfdhee ejfdoefdpej dqfdrej!dsfdtej"dsfduej#dsfdvej$dsfdwe%fdxe&fgdyej'fdfejdzfd{ejfgd|ej(fd}efd~efdefgdej'fddedzfe)dgdedzfdej'fe)dgdedzfe)de)dgdej*dzfdej*dzfgdefgdej fdej fe+dzgdej fe+dzgdej$j,fdej$fe+dzgdZ-dS )r   zS
    For `Nim <http://nim-lang.org/>`_ source code.

    .. versionadded:: 1.5
    ZNimrodZnimZnimrodz*.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)ZwordsZnewWordsnewZwordZch r   5lib/python3.7/site-packages/pygments/lexers/nimrod.pyunderscorize#   s    


zNimrodLexer.underscorizeZaddrandasZasmZatomicZbindblockbreakZcasecastZconceptZconstcontinueZ	converterZdeferdiscardZdistinctZdivZdoelifelseendenumexceptZexportfinallyforfuncifinyieldZ	interfaceisZisnotiteratorZletZmacromethodZmixinmodnotZnotinobjectZoforoutprocZptrraiserefreturnZsharedZshlZshrZstatictemplatetrytupletypeZwhenwhilewithZwithoutxorZniltrueZfalseintZint8Zint16Zint32Zint64floatZfloat32Zfloat64boolcharrangeZ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))rootrJ   rO   rH   rE   rF   rK   rP   zfloat-numberzfloat-suffixz
int-suffixN).__name__
__module____qualname____doc__namealiases	filenamesZ	mimetypesre	MULTILINE
IGNORECASEUNICODEflagsr   keywordsZkeywordsPseudoZopWordstypesr
   ZDocr   r   r   ZCharZWordr   Z	NamespaceZDeclarationZTypeZPseudor	   r   ZFloatZHexZBinZOctZIntegerr   r   ZEscapeZInterpolr   ZFunctionr   ZLongtokensr   r   r   r   r      s   










)rU   rY   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   r   r   r   r   <module>
   s
   ,