o
    	ȷe
+                     @   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-2022 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                &   @   s  e Zd 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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d0e	ejefd1efd2ejd3fgd3d2ejd3fd4ejfd5ejfd6ejd7fgd
ed8d5ed9fgd9d:e	e
eee
d;fedgded8d5ed<fgd<d=e	e
eee
d;fedgded8d5ed>fgd>d?e	e
eee
d;fed8d5efgded8d5ed@fgd@dAe	e
eee
d;fededBedCgded8d5edDfgdDdEe	e
eee
d;fedFdGdGdHe
jdIfededBedCgdIed8d5ed7fgded8d5edJfgdJdKe	e
eee
d;fedLdGdGdHe
dMfededBedCgi dMed8d5ed7fgded8d5edNfgdNdOe	e
eee
d;fedPdGdGdHe
dQfededBedCgdQed8d5ed7fgded8d5edRfgdRdSe	e
eee
d;fededBedCgded8d5edTfgdTdUe	e
eee
d;fededBedCgded8d5edVfgdVdWe	e
eee
d;fededBedCgded8d5edXfgdXdYe	e
eee
d;fedZdGdGdHe
d[fededBedCgd[ed8d5ed7fgdBd\e	e
eeejfgdCd]e	e
eeejfgd*ed8d5ed7fgd,ed8d5ed7fged8d5ed7fged8d5ed7fged8d5ed7fged8d5ed7fged8d5ed7fged8d5ed7fgedd^efd_efd`efdaefdbefedcdGdGdHe
jfedddGdGdHe
fededGdGdHe
jfdfejfdgejfdhejfdiejfdjejfdke j!dlfdme j"fdne#fdoe#fdpe#fdqe#fdre#fdse#fdte#fdue#fdve#fdwe#fdxefdye	ejej$fgdze j!fd{e j!d|fdke j!d7fged8d6e j!d7fgd}	Z%d~S )r   z9
    For Kuin source code

    .. versionadded:: 2.9
    Kuinzhttps://github.com/kuina/Kuinkuinz*.knroot	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)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+   r[   r\   N)&__name__
__module____qualname____doc__nameurlaliases	filenamesr   r   r   r   r   r   r   FunctionClassConstantOtherr   r	   Single	Multiliner   r   Typer   FloatBinOctHexDecimalr   DoubleCharr
   Variabletokens ru   ru   K/var/www/ideatree/venv/lib/python3.10/site-packages/pygments/lexers/kuin.pyr      sp   "
'

/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   r   __all__r   ru   ru   ru   rv   <module>   s
     
,