U
    luf,                     @   sj   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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-2023 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
Whitespace	KuinLexerc                G   @   sV  e Zd ZdZdZdZdgZdgZedgedde	e
ee
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/e	ejefd0efd1ejd2fgd1ejd2fd3ejfd4ejfd5ejd6fged7d4ed8fgd9e	e
eee
d:fedged7d4ed;fgd<e	e
eee
d:fedged7d4ed=fgd>e	e
eee
d:fed7d4efged7d4ed?fgd@e	e
eee
d:fededAedBged7d4edCfgdDe	e
eee
d:fedEdFdFdGe
jdHfededAedBged7d4ed6fged7d4edIfgdJe	e
eee
d:fedKdFdFdGe
dLfededAedBged7d4ed6fged7d4edMfgdNe	e
eee
d:fedOdFdFdGe
dPfededAedBged7d4ed6fged7d4edQfgdRe	e
eee
d:fededAedBged7d4edSfgdTe	e
eee
d:fededAedBged7d4edUfgdVe	e
eee
d:fededAedBged7d4edWfgdXe	e
eee
d:fedYdFdFdGe
dZfededAedBged7d4ed6fgd[e	e
eeejfgd\e	e
eeejf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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 source code.

    .. versionadded:: 2.9
    ZKuinzhttps://github.com/kuina/KuinZkuinz*.kn	statement
whitespacezT(\+?)([ \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)ZrlsZ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)Z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)Zcatchfinallyr9   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)Zbit16Zbit32Zbit64Z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)+rootr   r   r'   r   r)   r   r*   r   r+   r   r,   r   r/   r2   r   r3   r6   r   r7   r:   r   r;   r   r<   r   r=   r   r>   r@   r-   r.   r$   r%   r!   r   r"   r#   r    r&   r(   rP   rQ   N)&__name__
__module____qualname____doc__nameurlaliases	filenamesr   r   r   r   r   r   r   ZFunctionZClassConstantZOtherr   r	   SingleZ	Multiliner   r   Typer   ZFloatZBinOctZHexDecimalr   DoubleCharr
   Variabletokens rd   rd   8/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/kuin.pyr      s`             +


	      
 	  
     
   
7


  N)rV   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   __all__r   rd   rd   rd   re   <module>   s   
 ,