a
    ñ»jŽ  ã                   @   sb   d Z ddlZddl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.carbon
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the Carbon programming language.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚCarbonLexerc                   @   sì   e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zdd	efd
efdefdejfdejfdejfdejfeddd�efdejfdejfdejfdejfdejfdejfdejfdejfde fde j!fde"fde#fde$j%fgiZ&d d!„ Z'd"S )#r   z
    For Carbon source.
    ÚCarbonz.https://github.com/carbon-language/carbon-langz*.carbonÚcarbonztext/x-carbonz2.15Úrootz\nz\s+z\\\nz	//(.*?)\nz/(\\\n)?[*].*?[*](\\\n)?/z((package|import|api|namespace|library)\bzg(abstract|alias|fn|class|interface|let|var|virtual|external|base|addr|extends|choice|constraint|impl)\b)ÚasÚorÚnotÚandÚbreakÚcontinueÚcaseÚdefaultÚifÚelseZ
destructorÚforÚforallÚwhileÚwhereZthenÚinÚisÚreturnZreturnedZfriendÚpartialÚprivateZ	protectedÚobserveÚSelfÚoverrideÚfinalÚmatchÚtypeZlikez\b)Úsuffixz(self)\bz(true|false)\bzA(auto|bool|string|i8|i16|i32|i64|u8|u16|u32|u64|f8|f16|f32|f64)\bz[0-9]*[.][0-9]+z0b[01]+z0o[0-7]+z0x[0-9a-fA-F]+z[0-9]+z"(\\.|[^"\\])*"z\'(\\.|[^\'\\])\'zm<<=|>>=|<<|>>|<=|>=|\+=|-=|\*=|/=|\%=|\|=|&=|\^=|&&|\|\||&|\||\+\+|--|\%|\^|\~|==|!=|::|[.]{3}|->|=>|[+\-*/&]z[|<>=!()\[\]{}.,;:\?]z
[^\W\d]\w*c                 C   s¨   d}d| v r|d7 }d| v r$|d7 }d| v r4|d7 }d| v rD|d7 }d| v rT|d7 }d| v rd|d7 }d	| v rt|d7 }d
| v r„|d7 }d| v r”|d7 }d| v r¤|d7 }|S )Nr   r   gš™™™™™¹?r)   r%   r$   ÚpackageZlibraryÚchoiceÚaddrÚ
constraintÚimpl© )ÚtextÚresultr0   r0   ú<E:\soccer\ml_env\Lib\site-packages\pygments/lexers/carbon.pyÚanalyse_textI   s,    zCarbonLexer.analyse_textN)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚ	mimetypesÚversion_addedÚreÚ	MULTILINEÚDOTALLÚflagsr   r   r   ÚSingleÚ	Multiliner   Ú	NamespaceÚDeclarationr   ÚPseudoÚConstantÚTyper
   ÚDoubleÚBinÚOctÚHexÚIntegerr	   ÚCharr   r   r   ÚOtherÚtokensr4   r0   r0   r0   r3   r      sV   ÿüüÿÿÜÿ))r8   r?   Zpygments.lexerr   r   Zpygments.tokenr   r   r   r   r   r	   r
   r   r   Ú__all__r   r0   r0   r0   r3   Ú<module>   s
   	,