
    |e%                     p    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e      Zy)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            "       V   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      edf edd      edfdedf ee
d      ef eed      ej.                  f eed      ej0                  f eed      ej2                  f eed      ej4                  f ed      dej8                  fdej8                  fd ej8                  fd!ez  ej:                  fd"ez  ej<                  fd#ez  ej>                  fd$ez  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jH                  fd4d5jK                  e      z  ejL                  fd4d5jK                  e      z  ejL                  jN                  fd6efgdd7e(f ed8      d9 e)e*jV                  e(e*jV                  e(e*jV                        d:fd;e*jV                  d<fgdd4d5jK                  e      z  e,jZ                  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:dF e)e(e*e(      dBfdG e)e(e*e(      dDfdH e)e*e(      fgd< ed8      dI e)e*jV                  e(e!      dDfdJ e)e*jV                  e(e!      dDfdK e)e*jV                  e(e!      dDfdLe*jV                  fdMe*jV                  fdNe*jV                  fdOe(dDfgd ed      d6ej`                  dDfdPe1dDfgd ed      d6ejd                  dDfdQe1dDfgd ed      dRe#dSf e3dT      gdT ed      dUejh                  dVfgdW ed       ed      dRe#dBfdXe#dDfdYe#fdZefd6efgd.d[e!jj                  fgd\d]e!jl                  fd^e!fd_e!fd`e!fgdadOe!fgd*dbe!dDfdce!jj                  f ed\      gd,dde!dDfdee!jj                  f ed\      gdfe!dDf ed\       eda      gdge!dDf ed\       eda      gdhZ7yi)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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'   cstructrJ   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])"dqsz([rR][cC]?|[cC][rR])'sqsz[cCfFqQwWuU]?"""stringescapez[cCfFqQwWuU]?'''z[cCfFqQwWuU]?"z[cCfFqQwWuU]?'z[\[\]{}:(),;?]z[a-zA-Z_]\w*:>z(%s)\b|z[a-zA-Z_]\w*z\s+rd   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: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	mimetypes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joinBuiltinPseudor   r   r
   Preprocr   WordSingle	MultilineFunctionr	   Classr   	NamespaceEscapeInterpoltokens     7/usr/lib/python3/dist-packages/pygments/lexers/felix.pyr   r      s    D
%CG(#I IGHM&NMK DrL!  %*,j" B5Qk#-wE8E*G4%e4dnnE'68K8KL=/>$U3W5E5EF K +,2LL:67=||E?\\
  00&**=--vzz:$'77D"%55v~~F '7&7$fe4$fe4.&)IJ.&)IJvx'FGvx'FG , 

+ -00$,,?+..0C0CDd#w<
r| 	Z I %*goo1279 7??G,

}rR 	.118==A4h?
SrZ 	'..)g''4
[rb 	w(()g''1g''0g''(	
crn 	)Wj97D,Wj96C8GZ89
or| 	I/gooz6:FD/gooz6:FD/gooz6:FD) 7??#7??+J'
}rZ 	L!dmmV4f%	
[rf 	L!djj&1f%	
grr 	L!K!<=M"
sr| 	L!9
}rD 	L!K K)K(;(d#
ErV 	<=C]]L
Wr^ 	&'-8f% 6N	
_rr 	FO
srx 	66"v}}-I	
yrD 	66"v}}-I	
ErR VV$IDM
 VV$IDM
[rFr  N)r   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   r   __all__r   r  r  r  <module>r     s:    $ $ $ .A Ar  