
    L&i'                         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e          ZdS )z
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2022 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            !       	   e Zd ZdZdZdgZdgZdgZd Zi dde	j
        fd	e	j        fd
e	j        fde	j        fgd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          e          fdef ed           e eed          e          fgd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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'd(efgd)d*efgd+d,efgd-d.efgd/ e!d0d1d12          efd3ej"        j#        fgd4d5e$fgdd6ef ed7          ej        f e%d%          gd8 e&d           e&d'           e&d)           e&d+           e&d-           e&d           e&d/           e&d4          d9ej        d:fd;ej'        d<fd= eee(ej                  d>f ed?           e eed          e(ej)        e(e$          f ed@           eej)        e(e$          f edA           ee$ej        e(e          dBf edC           ee$ej                  fdD eee(ej        e(e          dEf edF           e eed          e(ej        e(e          dEf edG           e eed          e(ej)        e(e          f edH           e eed          e(ej)        e(ee( eed          e          f edI           e eed          e(ej)        e(e          f edJ           e eed          e(ej)                  fdKedBfdLedMfdNe(fd&e*fgdBdOed%f e&d8          gdEdOed%f edP           e eed          e(ej)        e(e          d%f e&d8          gdMdQed%f e&d8          gd>dNe(fdRefdS eej        eej                  fdLed%fgd:dTe(fdU eee	j        e          fdV eeej        e          fdWedXf e%d%          gdTe(fdY eej+        e(ej                  dZfd[ej        f e%dZ          gdNe(fdLed\f e%d%          g e&d           e&d           e&d4          dNe(fd] ee(ee(e$          fdQed%fdNe(fd&e*fgd^Z,d_S )`r   z<
    For Fantom source code.

    .. versionadded:: 1.5
    Fantomfanz*.fanzapplication/x-fantomc                 h    t          |                               t          dddd                    S )Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)podeosidtype)r   
substitutedict)strs    c/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/fantom.pyszFantomLexer.s!   s@    }}'' " <  	
 	
 		
    commentsz(?s)/\*.*?\*/z//.*?$z\*\*.*?$z#.*$literalsz \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.protectionKeywordsz'\b(public|protected|private|internal)\btypeKeywordsz,\b(abstract|final|const|native|facet|enum)\bmethodKeywordsz8\b(abstract|native|once|override|static|virtual|final)\bfieldKeywordszB\b(abstract|const|final|native|override|static|virtual|readonly)\botherKeywords)trycatchthrowfinallyforifelsewhileasisisnotswitchcaser	   continuebreakdoreturngetsetz\b)prefixsuffixz\b(it|this|super)\b	operatorsz4\+\+|\-\-|\+|\-|\*|/|\|\||&&|<=>|<=|<|>=|>|=|!|\[|\]z[\[\]|\->:?]z$idrootz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\)z($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*)(=))rN   rI   rO   N)-__name__
__module____qualname____doc__namealiases	filenames	mimetypesr"   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tokens r#   r!   r   r      s        
 DgG	I'(I

 

 

Nw01''/*gn%
N 	0&98&A)6<8#VZ0FN+.<;,;,%w'782Xdnk4:!6;8 89 .Xdnk4:!4=2 23 wQ !!XeeD1117;;=wQ !!XeeD1117;;=)
N> 	fm$V]#V]#v'6?+;'6N
?NP 	fm$V]#V]#v'6?+;'6?#
QNb 	7A
cNh 	<gF
iNn 	H
oNv 	$&
wN~ 	U 7 @EUT T T 	
 $T\%89
NN 	DhO
ONT 	k*QvYY
#GFOO
UN` 	GJG())GN##G$%%GO$$GJGO$$GK  *G4dng.'':tz)R)R Q/00XeeD111:mZ; ;<
 Q !!XdmZ::< Q,--Xhz;GG
 Q#$$Xh..0 -Xgz4=*kRR#%
 Q ! " "XeeD111:mZ> >#	% Q+,,XeeD111:t} +/ /0 Q=>>XeeD111:t} +z55X;V;V;V!# #$ Q,--XeeD111:t} +/ /0
 Q&''XeeD111:m% %& K/K/Z 4LOH
aNr 	K(GFOO
sNz 	K(Q,--XeeD111:t} +/ /068 GFOO!
{NH 	K(GFOO
INP 	Z [!#Xdnk4:>>@K(
QN^ 	
#Xk7?K@@B"Xk4>;??AK.GFOO
_Nr 
#Xg):tzBBHN
#GH
 Z K/GFOO
 GJGJGK  Z "HHZz8$T$TUK(Z 4L	
IN N NFFFr#   N)rS   stringr   pygments.lexerr   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   __all__r   rl   r#   r!   <module>rq      s<                          - - - - - - - - - - - - - - - - - - - - - - - - /f f f f f* f f f f fr#   