o
    Ñ­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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d0e"e#d/d)ƒfd1e"e#d/d+ƒfd2e"e#d/d-ƒfd3e$fd4ej%fd5 &d6 'e¡¡ej(fd5 &d6 'e¡¡ej(j)fd7efg“dd8e*fed9ƒd:e+e,j-e*e,j-e*e,j-ƒd;fd<e,j-d=fg“dd5 &d6 'e¡¡e.j/fd>e.fg“d9d?e,j0fd@e,j1dAfg“dAdBe,j1fd@e,j1dCfdDe,j1dEfdFe,j1fg“d;dGe+e*e,e*ƒdCfdHe+e*e,e*ƒdEfdIe+e,e*ƒfg“d=ed9ƒdJe+e,j-e*e"ƒdEfdKe+e,j-e*e"ƒdEfdLe+e,j-e*e"ƒdEfdMe,j-fdNe,j-fdOe,j-fdPe*dEfg“dedƒd7ej2dEfdQe3dEfg“dedƒd7ej4dEfdRe3dEfg“dedƒdSe$dTfe5dUƒg“dUedƒdVej6dWfg“dXedƒedƒdSe$dCfdYe$dEfdZe$fd[efd7efg“d/d\e"j7fg“d]d^e"j8fd_e"fd`e"fdae"fg“dbdPe"fg“d+dce"dEfdde"j7fed]ƒg“d-dee"dEfdfe"j7fed]ƒg“dge"dEfed]ƒedbƒgdhe"dEfed]ƒedbƒgdiœ¥Z9djS )kr   z 
    For Felix source code.
    ÚFelixzhttp://www.felix-lang.orgÚfelixÚflxz*.flxz*.flxhztext/x-felixz1.2)ÚelifÚelseÚendifÚifÚifdefÚifndef)HÚ_Ú_derefÚallÚasÚassertÚattemptÚcallÚcallbackÚcaseÚcasenoÚcclassÚcodeÚcompoundÚctypesÚdoÚdoneÚdowntor   r   Ú
endattemptÚendcaser   ÚendmatchÚenumÚexceptÚ
exceptionsÚexpectÚfinallyÚforÚforallÚforgetÚforkÚfunctorÚgotoÚidentr   Ú
incompleteÚinheritÚinstanceÚ	interfaceÚjumpÚlambdaÚloopÚmatchÚmoduleÚ	namespaceÚnewÚnoexpandÚnontermÚobjÚofÚopenÚparseÚraiseÚregexpÚreglexÚregmatchÚrenameÚreturnÚtheÚthenÚtoÚtypeÚtypecaseÚtypedefÚ	typematchÚtypeofÚuptoÚwhenÚwhilstÚwithÚyield)Ú_gc_pointerÚ_gc_typeÚbodyÚcommentÚconstÚexportÚheaderÚinlineÚlvalÚmacroÚnoinlineÚnoreturnÚpackageÚprivateÚpodÚpropertyÚpublicÚpublishÚrequiresÚtodoÚvirtualÚuse)ÚdefÚletÚrefÚvalÚvar)7ÚunitÚvoidÚanyÚboolÚbyteÚoffsetÚaddressÚcaddressÚ	cvaddressÚvaddressÚtinyÚshortÚintÚlongÚvlongÚutinyÚushortÚvshortÚuintÚulongÚuvlongÚint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64ÚfloatÚdoubleÚldoubleÚcomplexÚdcomplexÚlcomplexÚ	imaginaryÚ
dimaginaryÚ
limaginaryÚcharÚwcharÚucharÚcharpÚcharcpÚucharpÚucharcpÚstringÚwstringÚustringÚcontÚarrayÚvarrayÚlistÚlvalueÚoptÚslice)ÚfalseÚtrue)ÚandÚnotÚinÚisÚisinÚorÚxor)Ú_svcÚwhile)ÚrootÚselfÚthisz*([tTsSiIlLvV]|ll|LL|([iIuU])(8|16|32|64))?r¼   Ú
whitespace)ÚaxiomÚctorÚfunÚgenÚprocÚreduceÚunionz\b)ÚsuffixÚfuncname)Úclassr%   ÚcstructrH   Ú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+rb   z(#)(\s*)(if)(\s+)(0)Úif0ú#rh   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):Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚpreprocÚkeywordsÚkeyword_directivesÚkeyword_declarationsÚkeyword_typesÚkeyword_constantsÚoperator_wordsÚname_builtinsÚname_pseudoÚ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  úR/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/felix.pyr      sž   ÿþ
ÿÿÿÿÅÿ>ÿþ
÷ÂIþ·M
þ³Q

ü¯Wÿÿû©^ÿÿÿó¢m
ü“s
ü�yý‡~
þ‚ ù �ý ÿÿ �ô ÿù �ð ÿ �æ ü �ã #ü �Ý *ýý �ÒN)rä   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   r  r  r  r  Ú<module>   s
     
,