U
    YSh%                     @   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-2025 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forget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unit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cstructr9   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+rF   z(#)(\s*)(if)(\s+)(0)if0#rJ   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''')rt   rw   r   rF   r   r   rJ   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   H/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/felix.pyr      sL   
 > 




 
    



 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   
 ,