o
    Zh%                     @   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-2023 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i d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d4d5%e ej&fd4d5%e ej&j'fd6efgdd7e(fed8d9e)e*j+e(e*j+e(e*j+d:fd;e*j+d<fgdd4d5%e e,j-fd=e,fgd8d>e*j.fd?e*j/d@fgd@dAe*j/fd?e*j/dBfdCe*j/dDfdEe*j/fgd:dFe)e(e*e(dBfdGe)e(e*e(dDfdHe)e*e(fgd<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dedd6ej0dDfdPe1dDfgdedd6ej2dDfdQe1dDfgdeddRe#dSfe3dTgdTeddUej4dVfgdWededdRe#dBfdXe#dDfdYe#fdZefd6efgd.d[e!j5fgd\d]e!j6fd^e!fd_e!fd`e!fgdadOe!fgd*dbe!dDfdce!j5fed\gd,dde!dDfdee!j5fed\gdfe!dDfed\edagdge!dDfed\edagdhZ7diS )jr   z;
    For Felix source code.

    .. versionadded:: 1.2
    Felixzhttp://www.felix-lang.orgfelixflxz*.flxz*.flxhztext/x-felix)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forgetforkZfunctorZgotoidentr   
incompleteinheritinstance	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unitvoidanyboolbyteoffsetaddressZcaddressZ	cvaddressZvaddressZtinyZ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))?rt   
whitespace)ZaxiomZctorZfungenprocreduceunionz\b)suffixfuncname)classr!   Zcstructr:   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_]+%sz
0[0-7_]+%sz0[xX][0-9a-fA-F_]+%sz(0|[1-9][0-9_]*)%sz([rR][cC]?|[cC][rR])"""tdqsz([rR][cC]?|[cC][rR])'''tsqsz([rR][cC]?|[cC][rR])"Zdqsz([rR][cC]?|[cC][rR])'Zsqsz[cCfFqQwWuU]?"""Zstringescapez[cCfFqQwWuU]?'''z[cCfFqQwWuU]?"z[cCfFqQwWuU]?'z[\[\]{}:(),;?]z[a-zA-Z_]\w*:>z(%s)\b|z[a-zA-Z_]\w*z\s+rG   z(#)(\s*)(if)(\s+)(0)Zif0#rK   z$!=|==|<<|>>|\|\||&&|[-~+/*%=<>&^|.$]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:2r   z\],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})stringszP%(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]%nl"z\\\\|\\"|\\\n'z\\\\|\\'|\\\nz"""z''')r   r   N)8__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesZ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joinBuiltinPseudor   r   r	   Preprocr
   WordSingle	MultilineFunctionr   Classr   	NamespaceEscapeInterpoltokens r   r   L/var/www/html/lang_env/lib/python3.10/site-packages/pygments/lexers/felix.pyr      s   
>
IM
Q

W^m
s
y~
           #  * 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
     
,