
    '                         S r SSKJr  SSKJrJrJrJrJrJ	r	J
r
  SSKJrJrJrJrJrJrJrJrJrJr  S/r " S S\5      rg)z
pygments.lexers.fantom
~~~~~~~~~~~~~~~~~~~~~~

Lexer for the Fantom language.

:copyright: Copyright 2006-2023 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            "       
   \ rS rSrSrSrS/rS/rS/rS r	0 SS	\
R                  4S
\
R                  4S\
R                  4S\
R                  4/_SS\4S\4S\R                  4S\R                   4S\R"                  4S\R&                  4S\S4S\S4S\R,                  4S\" \R2                  \\R4                  \\\5      4S\" \R2                  \\R4                  \\R6                  5      4S\4\	" S5      \" \" \SS9\5      4S\4\	" S 5      \" \" \SS9\5      4/_SS!\R>                  4S"\R>                  4S#\R>                  4S$\R@                  4S%\R@                  4S\S&4S'\4/_SS!\R>                  4S"\R>                  4S#\R>                  4S$\R@                  4S%\R@                  4S\S&4S'\RB                  4/_S(S)\4/_S*S+\4/_S,S-\4/_S.S/\4/_S0\"" S1S2S2S39\4S4\RF                  RH                  4/_S5S6\%4/_SS7\4\	" S85      \R4                  4\&" S&5      /_S9\'" S5      \'" S(5      \'" S*5      \'" S,5      \'" S.5      \'" S5      \'" S05      \'" S55      S:\R2                  S;4S<\RP                  S=4S>\" \\)\R4                  5      S?4\	" S@5      \" \" \SS9\)\RT                  \)\%5      4\	" SA5      \" \RT                  \)\%5      4\	" SB5      \" \%\R6                  \)\5      SC4\	" SD5      \" \%\R6                  5      4SE\" \\)\R6                  \)\5      SF4\	" SG5      \" \" \SS9\)\R6                  \)\5      SF4\	" SH5      \" \" \SS9\)\RT                  \)\5      4\	" SI5      \" \" \SS9\)\RT                  \)\\)\" \SS9\5      4\	" SJ5      \" \" \SS9\)\RT                  \)\5      4\	" SK5      \" \" \SS9\)\RT                  5      4SL\SC4SM\SN4SO\)4S'\+4/_SCSP\S&4\'" S95      /_SFSP\S&4\	" SQ5      \" \" \SS9\)\RT                  \)\5      S&4\'" S95      /_SNSR\S&4\'" S95      /_S?SO\)4SS\4ST\" \R2                  \\R4                  5      4SM\S&4/_S;SU\)4SV\" \\
R                  \5      4SW\" \\R2                  \5      4SX\SY4\&" S&5      /_SU\)4SZ\" \RX                  \)\R4                  5      S[4S\\R4                  4\&" S[5      /SO\)4SM\S]4\&" S&5      /\'" S5      \'" S5      \'" S55      SO\)4S^\" \)\\)\%5      4SR\S&4SO\)4S'\+4/S_.Er-S`r.ga)br      z0
For Fantom source code.

.. versionadded:: 1.5
Fantomfanz*.fanzapplication/x-fantomc           	      J    [        U 5      R                  [        SSSSS95      $ )Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)podeosidtype)r   
substitutedict)strs    )lib/third_party/pygments/lexers/fantom.pys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*)(=))rP   rK   rQ    N)/__name__
__module____qualname____firstlineno____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__static_attributes__rR   r%   r"   r   r      s   
 DgG	I'(I

Nw001''//*gnn%
N 	0&98&A)6<<8#VZZ0FNN+.<;,;,%w'7'782dnnk4::!6;89 .dnnk4::!4==23 w !eD17;=w !eD17;=)
N> 	fmm$V]]#V]]#v'6??+;'6N
?NP 	fmm$V]]#V]]#v'6??+;'6??#
QNb 	7A
cNh 	<gF
iNn 	H
oNv 	$&
wN~ 	 7 @EUT 	
 $T\\%8%89
NN 	DhO
ONT 	k*vY

#FO
UN` 	J()N#$%O$JO$K **G4dnng.'':tzz)R /0eD1:mmZ;<
  !dmmZ:< ,-hz;G
 #$h.0 -gz4==*kR#%
  ! "eD1:mmZ>#	% +,eD1:t}} +/0 =>eD1:t}} +z5X;V!#$ ,-eD1:t}} +/0
 &'eD1:mm%& K/K/Z 4LOH
aNr 	K(FO
sNz 	K(,-eD1:t}} +/068 FO!
{NH 	K(FO
INP 	Z [!#dnnk4::>@K(
QN^ 	
#k7??K@B"k4>>;?AK.FO
_Nr 
#g)):tzzBHN

#H
 Z K/FO
 JJK Z "HZz8$TUK(Z 4L	
INFr%   N)rW   stringr   pygments.lexerr   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   __all__r   rR   r%   r"   <module>ru      sD      - - - /f* fr%   