File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/nimrod.cpython-38.pyc
U
`a�[6 � @ sf d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZmZ dgZG dd� de�ZdS )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 Zd ZdZdZddgZddgZdgZej ej
B ejB Zdd � Z
d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIg@ZdJdKdLgZdd6d2dId>d?dd1d'd3d*d+gZdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[gZd\ejfd]efd^efd_efd`edafdbedcfddedefdfejdgfdhe
e� ejfdiedjfdhe
e� efdhe
dkdldmg� ejfdnejfdhe
e� ejfdhe
e� ejfdoefdpej dqfdrej!dsfdtej"dsfduej#dsfdvej$dsfdwe%fdxe&fgdyej'fdfejdzfd{ejfgd|ej(fd}efd~efdefgd�ej'fddedzfe)d��gd�edzfd�ej'fe)d��gd�edzfe)d��e)d��gd�ej*dzfd�ej*dzfgd�efgd�ej fd�ej fe+dz�gd�ej fe+dz�gd�ej$j,fd�ej$fe+dz�gd��Z-d�S )�r zS
For `Nim <http://nim-lang.org/>`_ source code.
.. versionadded:: 1.5
ZNimrodZnimZnimrodz*.nimz*.nimrodz
text/x-nimc C s@ g }d}| D ](}|D ]}||d 7 }q|� |� d}qd�|�S )N� z_?�|)�append�join)ZwordsZnewWords�newZwordZch� r �8/usr/lib/python3/dist-packages/pygments/lexers/nimrod.py�underscorize# s
zNimrodLexer.underscorizeZaddr�and�asZasmZatomicZbind�block�breakZcase�castZconceptZconst�continueZ converterZdefer�discardZdistinctZdivZdo�elif�else�end�enum�exceptZexport�finally�for�func�if�in�yieldZ interface�isZisnot�iteratorZletZmacro�methodZmixin�mod�notZnotin�objectZof�or�out�procZptr�raise�ref�returnZsharedZshlZshrZstatic�template�try�tuple�typeZwhen�while�withZwithout�xorZnil�trueZfalse�intZint8Zint16Zint32Zint64�floatZfloat32Zfloat64�bool�char�rangeZarray�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))))�float-suffix�float-numberz0x[a-f0-9][a-f0-9_]*�
int-suffixz0b[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\$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_]*ze[+-]?[0-9][0-9_]*z
\'f(32|64)z
\'i(32|64)z \'i(8|16))�rootrJ rR rH rE rF rK rS rO rN rP N).�__name__�
__module__�__qualname__�__doc__�name�aliases� filenamesZ mimetypes�re� MULTILINE�
IGNORECASE�UNICODE�flagsr �keywordsZkeywordsPseudoZopWords�typesr
ZDocr r r ZCharZWordr Z NamespaceZDeclarationZTypeZPseudor r ZFloatZHexZBinZOctZIntegerr r
ZEscapeZInterpolr ZFunctionr ZLong�tokensr r r r r s` � � � ��
� �
�&
��
����
����
��)rX r\ Zpygments.lexerr r r Zpygments.tokenr r r r r r
r r r
�__all__r r r r r �<module> s
,