a
    ñ»jØ'  ã                   @   s~   d Z ddlmZ ddlmZ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mZ dgZG dd„ deƒZdS )zÒ
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚTemplate)Ú
RegexLexerÚincludeÚbygroupsÚusingÚthisÚdefaultÚwords)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚLiteralÚ
WhitespaceÚFantomLexerc                )   @   sœ  e Zd ZdZdZdgZdgZdgZdZdZ	dd	„ Z
d
ejfdejfdejfdejfgdefdefdejfdejfdejfdejfdedfdedfdejfdeejeejeeeƒfdeejeejeejƒfdefe
dƒeeedd�eƒfdefe
d ƒeeedd�eƒfgd!ej fd"ej fd#ej fd$ej!fd%ej!fded&fd'efgd!ej fd"ej fd#ej fd$ej!fd%ej!fded&fd'ej"fgd(efgd)efgd*efgd+efge#d,d-d-d.�efd/ej$j%fgd0e&fgd1efe
d2ƒejfe'd&ƒge(d3ƒe(d4ƒe(d5ƒe(d6ƒe(d7ƒe(d8ƒe(d9ƒe(d:ƒd;ejd<fd=ej)d>fd?eee*ejƒd@fe
dAƒeeedd�e*ej+e*e&ƒfe
dBƒeej+e*e&ƒfe
dCƒee&eje*eƒdDfe
dEƒee&ejƒfdFeee*eje*eƒdGfe
dHƒeeedd�e*eje*eƒdGfe
dIƒeeedd�e*ej+e*eƒfe
dJƒeeedd�e*ej+e*ee*eedd�eƒfe
dKƒeeedd�e*ej+e*eƒfe
dLƒeeedd�e*ej+ƒfdMedDfdNedOfdPe*fd'e,fgdQed&fe(dRƒgdQed&fe
dSƒeeedd�e*ej+e*eƒd&fe(dRƒgdTed&fe(dRƒgdPe*fdUefdVeejeejƒfdNed&fgdWe*fdXeeejeƒfdYeeejeƒfdZed[fe'd&ƒgdWe*fd\eej-e*ejƒd]fd^ejfe'd]ƒgdPe*fdNed_fe'd&ƒge(d3ƒe(d8ƒe(d:ƒdPe*fd`ee*ee*e&ƒfdTed&fd'e,fgdaœZ.dbS )cr   z!
    For Fantom source code.
    ÚFantomÚfanz*.fanzapplication/x-fantomzhttps://www.fantom.orgz1.5c                 C   s   t | ƒ tddddd�¡S )Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)ZpodZeosÚidÚtype)r   Ú
substituteÚdict)Ústr© r   ú<E:\soccer\ml_env\Lib\site-packages\pygments/lexers/fantom.pyÚs!   s    úÿzFantomLexer.sz(?s)/\*.*?\*/z//.*?$z\*\*.*?$z#.*$z \b-?[\d_]+(ns|ms|sec|min|hr|day)z(\b-?[\d_]*\.[\d_]+(ns|ms|sec|min|hr|day)z\b-?(\d+)?\.\d+(f|F|d|D)?z\b-?0x[0-9a-fA-F_]+z
\b-?[\d_]+z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'ú"Ú	insideStrú`Ú	insideUriz\b(true|false|null)\bz"(?:(\w+)(::))?(\w+)(<\|)(.*?)(\|>)z(?:(\w+)(::))?(\w+)?(#)(\w+)?z\[,\]z($type)(\[,\])ÚinType)Ústatez\[:\]z($type)(\[:\])z\\\\z\\"z\\`z\$\w+z	\$\{.*?\}z#popÚ.z'\b(public|protected|private|internal)\bz,\b(abstract|final|const|native|facet|enum)\bz8\b(abstract|native|once|override|static|virtual|final)\bzB\b(abstract|const|final|native|override|static|virtual|readonly)\b)ÚtryZcatchÚthrowÚfinallyÚforÚifÚelseÚwhileÚasÚisZisnotÚswitchÚcaser   ÚcontinueÚbreakÚdoÚreturnÚgetÚsetz\b)ÚprefixÚsuffixz\b(it|this|super)\bz4\+\+|\-\-|\+|\-|\*|/|\|\||&&|<=>|<=|<|>=|>|=|!|\[|\]z[\[\]|\->:?]z$idÚcommentsÚprotectionKeywordsÚtypeKeywordsÚmethodKeywordsÚfieldKeywordsÚliteralsÚotherKeywordsÚ	operatorszusing\br   z@\w+Úfacetz(class|mixin)(\s+)(\w+)Úinheritancez($type)([ \t]+)($id)(\s*)(:=)z($id)(\s*)(:=)z(\.|(?:\->))($id)(\s*)(\()ÚinsideParenz(\.|(?:\->))($id)z(new)(\s+)(make\w*)(\s*)(\()ÚinsideMethodDeclArgsz($type)([ \t]+)($id)(\s*)(\()z($type)(\s+)($id)(\s*)(,)z+($type)(\s+)($id)(\s*)(\->)(\s*)($type)(\|)z($type)(\s+)($id)(\s*)(\|)z($type)([ \t]+)($id)z\(z\{ÚinsideBracez\s+z\)Úrootz($type)(\s+)($id)(\s*)(\))z\}z:|,z(?:(\w+)(::))?(\w+)z[ \t]+z(\[)(\w+)(\])z(\")?([\w.]+)(\")?z::Ú
usingClassz(as)(\s+)(\w+)z#pop:2z[\w$]+ÚfacetFieldsz(\s*)(\w+)(\s*)(=))r9   r>   r    r"   r:   r;   r<   r=   r?   r@   r#   rF   rC   rD   rE   rB   r   rG   rA   rH   N)/Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   Ú	MultilineÚSingleÚSpecialr   ÚFloatÚHexÚIntegerr   ÚCharr   r   ÚConstantr   r   Ú	NamespaceÚClassÚFunctionr   r   r   ÚEscapeÚInterpolÚBacktickr	   ÚBuiltinÚPseudor   r   r   Ú	Decoratorr   ÚVariabler
   ÚDeclarationÚtokensr   r   r   r   r      sŽ  ûÿÿÿÿÿÿìù
ù
ÿÿÿÿÿÿýü
ú	ÿý

ÿÿÿÿþ
ÿþÿüÿÿþÿÿÿÿÿ¹Jþÿþûþÿûÿÿù
ÿûýù€ ¼N)rL   Ústringr   Zpygments.lexerr   r   r   r   r   r   r	   Zpygments.tokenr
   r   r   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r   Ú<module>   s
   
$0