o
    ‡ÎÖa*  ã                   @   sf   d Z ddlmZmZ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 dgZG dd„ deƒZdS )zÊ
    pygments.lexers.kuin
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the Kuin language.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚusingÚthisÚbygroupsÚwords)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ	KuinLexerc                &   @   sÔ  e Zd ZdZdZdgZdgZi dedƒg“dedƒdee	e
eƒejƒd	fd
ee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfdee	e
eƒejƒdfde	dfd e	d!fd"e	d#fd$e	d%fd&e	d'fd(e	d)fd*e	d+fd,ed-fd.efg“dd/ejfd0efd1ejd2fg“d2d1ejd2fd3ejfd4ejfd5ejd6fg“d	ed7ƒd4ed8fg“d8d9ee	e
eƒe	ƒd:fedƒg“ded7ƒd4ed;fg“d;d<ee	e
eƒe	ƒd:fedƒg“ded7ƒd4ed=fg“d=d>ee	e
eƒe	ƒd:fed7ƒd4efg“ded7ƒd4ed?fg“d?d@ee	e
eƒe	ƒd:fedƒedAƒedBƒg“ded7ƒd4edCfg“dCdDee	e
eƒe	ƒd:fedEdFdFdG�e	jdHfedƒedAƒedBƒg“dHed7ƒd4ed6fg“ded7ƒd4edIfg“dIdJee	e
eƒe	ƒd:fedKdFdFdG�e	dLfedƒedAƒedBƒg“i dLed7ƒd4ed6fg“ded7ƒd4edMfg“dMdNee	e
eƒe	ƒd:fedOdFdFdG�e	dPfedƒedAƒedBƒg“dPed7ƒd4ed6fg“ded7ƒd4edQfg“dQdRee	e
eƒe	ƒd:fedƒedAƒedBƒg“ded7ƒd4edSfg“dSdTee	e
eƒe	ƒd:fedƒedAƒedBƒg“ded7ƒd4edUfg“dUdVee	e
eƒe	ƒd:fedƒedAƒedBƒg“ded7ƒd4edWfg“dWdXee	e
eƒe	ƒd:fedYdFdFdG�e	dZfedƒedAƒedBƒg“dZed7ƒd4ed6fg“dAd[ee	e
eƒejƒfg“dBd\ee	e
eƒejƒfg“d)ed7ƒd4ed6fg“d+ed7ƒd4ed6fg“¥ed7ƒd4ed6fged7ƒd4ed6fged7ƒd4ed6fged7ƒd4ed6fged7ƒd4ed6fged7ƒd4ed6fgedƒd]efd^efd_efd`efdaefedbdFdFdG�e	jfedcdFdFdG�e	fedddFdFdG�e	jfdeejfdfejfdgejfdhejfdiejfdjejdkfdlej fdme!fdne!fdoe!fdpe!fdqe!fdre!fdse!fdte!fdue!fdve!fdwefdxeejej"ƒfgdyejfdzejd{fdjejd6fged7ƒd5ejd6fgd|œ	¥Z#d}S )~r   z\
    For `Kuin <https://github.com/kuina/Kuin>`_ source code

    .. versionadded:: 2.9
    ÚKuinÚkuinz*.knÚrootÚ	statementÚ
whitespacezL(\+?[ \t]*\*?[ \t]*\bfunc)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)Úfunc_z;\b(class)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)Úclass_z:\b(enum)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)Úenum_zB\b(block)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úblock_zB\b(ifdef)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úifdef_z?\b(if)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úif_zC\b(switch)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úswitch_zB\b(while)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úwhile_z@\b(for)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úfor_zD\b(foreach)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Úforeach_z@\b(try)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?Útry_z\b(do)\bÚdoz(\+?[ \t]*\bvar)\bÚvarz\b(const)\bÚconstz	\b(ret)\bÚretz\b(throw)\bÚthrowz\b(alias)\bÚaliasz\b(assert)\bÚassertz\|Úcontinued_linez[ \t]*\nz
^[ \t]*;.*z[ \t]+(?![; \t])z\{Úmultiline_commentz(?:\s*;.*|[^{}\n]+)z\nz\}z#popÚexprÚfuncz)\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(func)\bz#pop:2Úclassz*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(class)\bÚenumz)\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(enum)\bÚblockz*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(block)\bÚbreakÚskipÚifdefz*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(ifdef)\b)ÚrlsÚdbgz\b)ÚprefixÚsuffixÚifdef_spÚifz'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(if)\b)ÚelifÚelseÚif_spÚswitchz+\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(switch)\b)ÚcaseÚdefaultÚtoÚ	switch_spÚwhilez*\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(while)\bÚforz(\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(for)\bÚforeachz,\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(foreach)\bÚtryz(\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(try)\b)ÚcatchÚfinallyr>   Útry_spz+\b(break)\b([ \t]+)([a-zA-Z_][0-9a-zA-Z_]*)z*\b(skip)\b([ \t]+)([a-zA-Z_][0-9a-zA-Z_]*)z\(z\)z\[z\]ú,)ÚtrueÚfalseÚnullÚinfÚme)Úbit16Úbit32Úbit64Úbit8ÚboolÚcharr,   Údictr-   Úfloatr+   ÚintÚlistÚqueueÚstackz(\b[0-9]\.[0-9]+(?!\.)(:?e[\+-][0-9]+)?\bz\b2#[01]+(?:b(?:8|16|32|64))?\bz \b8#[0-7]+(?:b(?:8|16|32|64))?\bz$\b16#[0-9A-F]+(?:b(?:8|16|32|64))?\bz\b[0-9]+(?:b(?:8|16|32|64))?\bú"Ústringz'(?:\\.|.)+?'z(?:\.|\$(?:>|<)?)z(?:\^)z(?:\+|-|!|##?)z
(?:\*|/|%)z(?:~)z(?:(?:=|<>)(?:&|\$)?|<=?|>=?)z(?:&)z(?:\|)z(?:\?)z(?::(?::|\+|-|\*|/|%|\^|~)?)z!\b([a-zA-Z_][0-9a-zA-Z_]*)(?=@)\bz (@)?\b([a-zA-Z_][0-9a-zA-Z_]*)\bz(?:\\[^{\n]|[^"\\])+z\\\{ÚtoStrInString)	r#   r!   r$   r%   r"   r(   r*   rZ   r[   N)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesr   r   r   r   r   r   ÚFunctionÚClassÚConstantÚOtherr   r	   ÚSingleÚ	Multiliner   r   ÚTyper   ÚFloatÚBinÚOctÚHexÚDecimalr   ÚDoubleÚCharr
   ÚVariableÚtokens© rs   rs   ú6/usr/lib/python3/dist-packages/pygments/lexers/kuin.pyr      sn   ÿÿæü"
ýÞ'

üÙ/þÑ3þÍ7þÉ;þÅ?þÁCý½Hþ¸Lü´Rþ®Vûª]þ£aþŸeû›lþ”pþ�tûŒ{þ…þ� ü �ü 
þ �ö ü �ò þ �ì ü �è þ �â "û �Þ )þ �× /ÿ �Ñ 2ÿ �Î 5þ �Ë 9þ �Ç >þþþþþþþþþþüü
Ï6

ý
þ � �ïN)r_   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   Ú__all__r   rs   rs   rs   rt   Ú<module>   s
     
(