U
    YSh,                     @   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-2025 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   @   sZ  e Zd ZdZdZdZdgZdgZd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d0e
ejefd1efd2ejd3fgd2ejd3fd4ejfd5ejfd6ejd7fge	d8d5ed9fgd:e
eeeed;fe	dge	d8d5ed<fgd=e
eeeed;fe	dge	d8d5ed>fgd?e
eeeed;fe	d8d5efge	d8d5ed@fgdAe
eeeed;fe	de	dBe	dCge	d8d5edDfgdEe
eeeed;fedFdGdGdHejdIfe	de	dBe	dCge	d8d5ed7fge	d8d5edJfgdKe
eeeed;fedLdGdGdHedMfe	de	dBe	dCge	d8d5ed7fge	d8d5edNfgdOe
eeeed;fedPdGdGdHedQfe	de	dBe	dCge	d8d5ed7fge	d8d5edRfgdSe
eeeed;fe	de	dBe	dCge	d8d5edTfgdUe
eeeed;fe	de	dBe	dCge	d8d5edVfgdWe
eeeed;fe	de	dBe	dCge	d8d5edXfgdYe
eeeed;fedZdGdGdHed[fe	de	dBe	dCge	d8d5ed7fgd\e
eeeejfgd]e
eeeejf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	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   z
    For Kuin source code.
    Kuinzhttps://github.com/kuina/Kuinkuinz*.knz2.9	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)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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)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   r1   r4   r   r5   r8   r   r9   r=   r   r>   r   r?   r   r@   r    rA   rC   r/   r0   r&   r'   r#   r!   r$   r%   r"   r(   r*   rS   rT   N)'__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   r   r   r   r   r   FunctionClassConstantOtherr   r	   Single	Multiliner   r   Typer   FloatBinOctHexDecimalr   DoubleCharr
   Variabletokens ro   ro   G/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/kuin.pyr      sb             +


	      
 	  
     
   
7


  N)rY   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   __all__r   ro   ro   ro   rp   <module>   s   
 ,