a
    ;@b*                     @   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                G   @   sD  e Zd ZdZdZdgZdgZedg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.ejfd/efd0ejd1fgd0ejd1fd2ejfd3ejfd4ejd5fged6d3ed7fgd8ee	e
ee	d9fedged6d3ed:fgd;ee	e
ee	d9fedged6d3ed<fgd=ee	e
ee	d9fed6d3efged6d3ed>fgd?ee	e
ee	d9feded@edAged6d3edBfgdCee	e
ee	d9fedDdEdEdFe	jdGfeded@edAged6d3ed5fged6d3edHfgdIee	e
ee	d9fedJdEdEdFe	dKfeded@edAged6d3ed5fged6d3edLfgdMee	e
ee	d9fedNdEdEdFe	dOfeded@edAged6d3ed5fged6d3edPfgdQee	e
ee	d9feded@edAged6d3edRfgdSee	e
ee	d9feded@edAged6d3edTfgdUee	e
ee	d9feded@edAged6d3edVfgdWee	e
ee	d9fedXdEdEdFe	dYfeded@edAged6d3ed5fgdZee	e
eejfgd[ee	e
eejfged6d3ed5fged6d3ed5fged6d3ed5fged6d3ed5fged6d3ed5fged6d3ed5fged6d3ed5fged6d3ed5fgedd\efd]efd^efd_efd`efedadEdEdFe	jfedbdEdEdFe	fedcdEdEdFe	jfddejfdeejfdfejfdgejfdhejfdiejdjfdkej fdle!fdme!fdne!fdoe!fdpe!fdqe!fdre!fdse!fdte!fdue!fdvefdweejej"fgdxejfdyejdzfdiejd5fged6d4ejd5fgd{+Z#d|S )}r   z\
    For `Kuin <https://github.com/kuina/Kuin>`_ source code

    .. versionadded:: 2.9
    ZKuinZkuinz*.kn	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)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finallyr8   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\],)trueZfalseZnullinfme)Zbit16Zbit32Zbit64Zbit8boolcharr)   dictr*   floatr(   intlistZ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.   r1   r   r2   r5   r   r6   r9   r   r:   r   r;   r   r<   r   r=   r?   r,   r-   r#   r$   r    r   r!   r"   r   r%   r'   rL   rM   N)$__name__
__module____qualname____doc__namealiases	filenamesr   r   r   r   r   r   ZFunctionZClassZConstantZOtherr   r	   SingleZ	Multiliner   r   Typer   ZFloatZBinZOctZHexZDecimalr   DoubleZCharr
   ZVariabletokens rZ   rZ   3lib/python3.9/site-packages/pygments/lexers/kuin.pyr      s  


	
6


  N)rR   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   __all__r   rZ   rZ   rZ   r[   <module>   s   
 (