a
    ñ»jº%  ã                   @   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.felix
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Felix language.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚbygroupsÚdefaultÚwordsÚcombined)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚ
FelixLexerc                !   @   sô  e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
dZdZdZdZdZdZdZdZdZedƒeddd�edfeddd�edfdedfeedd�efeedd�ejfeedd�ejfeedd�ejfeedd�ejfedƒdejfdejfd ejfd!e› �ejfd"e› �ejfd#e› �ej fd$e› �ej!fd%e"d&fd'e"d(fd)e"d*fd+e"d,fd-e"e#d.d&ƒfd/e"e#d.d(ƒfd0e"e#d.d*ƒfd1e"e#d.d,ƒfd2e$fd3ej%fd4 &d5 'e¡¡ej(fd4 &d5 'e¡¡ej(j)fd6efgd7e*fed8ƒd9e+e,j-e*e,j-e*e,j-ƒd:fd;e,j-d<fgd4 &d5 'e¡¡e.j/fd=e.fgd>e,j0fd?e,j1d@fgdAe,j1fd?e,j1dBfdCe,j1dDfdEe,j1fgdFe+e*e,e*ƒdBfdGe+e*e,e*ƒdDfdHe+e,e*ƒfged8ƒdIe+e,j-e*e"ƒdDfdJe+e,j-e*e"ƒdDfdKe+e,j-e*e"ƒdDfdLe,j-fdMe,j-fdNe,j-fdOe*dDfgedƒd6ej2dDfdPe3dDfgedƒd6ej4dDfdQe3dDfgedƒdRe$dSfe5dTƒgedƒdUej6dVfgedƒedƒdRe$dBfdWe$dDfdXe$fdYefd6efgdZe"j7fgd[e"j8fd\e"fd]e"fd^e"fgdOe"fgd_e"dDfd`e"j7fedaƒgdbe"dDfdce"j7fedaƒgdde"dDfedaƒedeƒgdfe"dDfedaƒedeƒgdgœZ9dhS )ir   z 
    For Felix source code.
    ÚFelixzhttp://www.felix-lang.orgÚfelixÚflxz*.flxz*.flxhztext/x-felixz1.2)ÚelifÚelseÚendifÚifZifdefZifndef)HÚ_Z_derefÚallÚasÚassertÚattemptÚcallÚcallbackÚcaseZcasenoÚcclassÚcodeZcompoundÚctypesÚdoÚdoneZdowntor   r   Z
endattemptZendcaser   ÚendmatchÚenumÚexceptÚ
exceptionsÚexpectÚfinallyÚforÚforallZforgetZforkZfunctorZgotoÚidentr   Ú
incompleteÚinheritÚinstanceZ	interfaceZjumpÚlambdaÚloopÚmatchÚmoduleÚ	namespaceÚnewZnoexpandZnontermÚobjZofÚopenÚparseÚraiseÚregexpZreglexZregmatchÚrenameÚreturnZtheZthenÚtoÚtypeZtypecaseZtypedefZ	typematchZtypeofZuptoÚwhenZwhilstÚwithÚyield)Z_gc_pointerZ_gc_typeÚbodyÚcommentÚconstZexportÚheaderÚinlineZlvalÚmacroZnoinlineZnoreturnÚpackageÚprivateZpodÚpropertyÚpublicÚpublishÚrequiresÚtodoZvirtualZuse)ÚdefZletÚrefÚvalÚvar)7ÚunitZvoidÚanyÚboolÚbyteÚoffsetÚaddressZcaddressZ	cvaddressZvaddressZtinyÚshortÚintÚlongZvlongZutinyZushortZvshortZuintZulongZuvlongZint8Zint16Zint32Zint64Zuint8Zuint16Zuint32Zuint64ÚfloatÚdoubleZldoubleÚcomplexZdcomplexZlcomplexZ	imaginaryZ
dimaginaryZ
limaginaryÚcharZwcharZucharZcharpZcharcpZucharpZucharcpÚstringZwstringZustringÚcontÚarrayZvarrayÚlistZlvalueÚoptÚslice)ÚfalseÚtrue)ÚandÚnotÚinÚisÚisinÚorÚxor)Z_svcÚwhile)ÚrootÚselfÚthisz*([tTsSiIlLvV]|ll|LL|([iIuU])(8|16|32|64))?Ú
whitespace)ZaxiomZctorZfunÚgenÚprocÚreduceÚunionz\b)ÚsuffixÚfuncname)Úclassr!   Zcstructr8   ÚstructÚ	classnamez(instance|module|typeclass)\bÚ
modulenameÚ	operatorszK0[xX]([0-9a-fA-F_]*\.[0-9a-fA-F_]+|[0-9a-fA-F_]+)[pP][+\-]?[0-9_]+[lLfFdD]?zH[0-9_]+(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)[lLfFdD]?z/\.(0|[1-9][0-9_]*)([eE][+\-]?[0-9_]+)?[lLfFdD]?z0[Bb][01_]+z0[0-7_]+z0[xX][0-9a-fA-F_]+z(0|[1-9][0-9_]*)z([rR][cC]?|[cC][rR])"""Útdqsz([rR][cC]?|[cC][rR])'''Útsqsz([rR][cC]?|[cC][rR])"Údqsz([rR][cC]?|[cC][rR])'Úsqsz[cCfFqQwWuU]?"""Ústringescapez[cCfFqQwWuU]?'''z[cCfFqQwWuU]?"z[cCfFqQwWuU]?'z[\[\]{}:(),;?]z[a-zA-Z_]\w*:>z({})\bú|z[a-zA-Z_]\w*z\s+rE   z(#)(\s*)(if)(\s+)(0)Úif0ú#rI   z$!=|==|<<|>>|\|\||&&|[-~+/*%=<>&^|.$]z//(.*?)$z/[*]Úcomment2z[^/*]z#pushz[*]/z#popz[/*]z^(\s*)(#if.*?(?<!\\))(\n)z^(\s*)(#endif.*?(?<!\\))(\n)z	(.*?)(\n)z(import|include)(\s+)(<[^>]*?>)z(import|include)(\s+)("[^"]*?")z(import|include)(\s+)('[^']*?')z[^/\n]+ú/z	(?<=\\)\nz\nz(?=\()z(?=\{)z\[)Úmodulename2Útvarlistr‹   z([a-zA-Z_]\w*)z#pop:2z\]ú,z(with|where)\bzY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})zP%(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]ú%ú"z\\\\|\\"|\\\nÚstringsú'z\\\\|\\'|\\\nz"""Únlz''')rr   ru   r€   rE   r‰   r‡   rI   r{   r~   r   r‹   rŒ   r…   r�   r’   rƒ   r„   r�   r‚   N):Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedZpreprocÚkeywordsZkeyword_directivesZkeyword_declarationsZkeyword_typesZkeyword_constantsZoperator_wordsZname_builtinsZname_pseudoZdecimal_suffixesr   r   r   r   Ú	DecoratorÚDeclarationÚTypeÚConstantr   ÚFloatÚBinÚOctÚHexÚIntegerr   r   r   ÚLabelÚformatÚjoinÚBuiltinÚPseudor   r   r	   ÚPreprocr
   ÚWordÚSingleÚ	MultilineÚFunctionr   ÚClassr   Ú	NamespaceÚEscapeÚInterpolÚtokens© r¶   r¶   ú;E:\soccer\ml_env\Lib\site-packages\pygments/lexers/felix.pyr      s<  ÿþ
ÿÿÿÿÅ>ÿþ
÷þ
þ

üÿÿûÿÿÿó
ü
üý
þù
ÿÿÿùÿüüýý€ ÓN)r–   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   r¶   r¶   r¶   r·   Ú<module>   s   
 ,