
    |e                     p    d Z ddl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mZ dgZ G d de      Zy)z
    pygments.lexers.clean
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Clean language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )ExtendedRegexLexerwordsdefaultincludebygroups)
CommentErrorKeywordLiteralNameNumberOperatorPunctuationString
Whitespace
CleanLexerc                   D   e Zd ZdZdZdZdgZddgZdZdZ	d	Z
d
ZdZdez   Zde
z   ZdZdj!                  e
eeg      Zi d ed       ed       ed       ed       ed       ed       ed       ed       ed      g	ddefgddej*                  fdej,                  dfdej.                  dfgddej,                  dfdej,                  d fd!ej,                  fd"ej,                  fd#ej,                  fgd eed$d$%      efgd ee	d$d$%      ej4                  fd&ej4                  d'fgd' ed      eej8                  dfgdd( eee      d)fd*ez   d+z    eeeej8                  ee      d,fgd)d- eee      fd. eee      d/feej8                  fd0 eeee      fdef ed      gd1 ed      e
ej8                  dfeej8                  dfgd,d2ez   d3z    eeeej8                        d4fd5ez   d6z    eeeej8                  e      d7fd8ez   d9z    eeeej8                        d:fd;e
z   dz   ez   d9z    eeee      f ed      d< eee      fd=edf ed      gd4d>edfd?ed@fd=edAf ed      gd@d>efdBefdCedf ed      gd7dDedfd?ed7fd=edAf ed       ed      gd:d>edfdEedFfd=edAf ed      gdFd>efdBefdGedf ed      gddHe jB                  fdIe"jF                  fdJe"jH                  fdKe"jJ                  fdLe"jL                  fdMe fdNe'jP                  dOfgdPe'jP                  fdNe'jP                  dfdQe'jP                  fdRe)dfgdSe*fdTe*fgdUefdV eeej8                  e      fge
efeefeejV                  feej8                  feej8                  fgdWZ,yX)Yr   z
    Lexer for the general purpose, state-of-the-art, pure and lazy functional
    programming language Clean.

    .. versionadded: 2.2
    Cleanzhttp://clean.cs.ru.nl/Cleancleanz*.iclz*.dcl)caseccallclasscodezcode inlinederiveexportforeigngenericifininfixinfixlinfixrinstanceletof	otherwisespecialstdcallwherewith)implementation
definitionsystemz[a-z`][\w`]*z[A-Z`][\w`]*z[~@#$%\^?!+\-*<>\\/|&=:]+_z[a-zA-Z_][a-zA-Z0-9_.`]+|rootcommentskeywordsmoduleimport
whitespaceliterals	operators
delimitersnamesz\s+z//.*\nz/\*zcomments.inz/\*\*z\*\/#popz#pushz[^*/]+z\*(?!/)/z\b)prefixsuffixz
\bmodule\bzmodule.namez\b(import)\b(\s*)zimport.modulez\b(from)\b(\s*)\b(z)\b(\s*)\b(import)\bzimport.whatz\b(qualified)\b(\s*)z(\s*)\b(as)\b)r:   import.module.asz(\s*)(,)(\s*)r>   z\b(class)\b(\s+)()zimport.what.classz\b(instance)(\s+)(z)(\s+)zimport.what.instancez(::)(\s*)\b(z)\bzimport.what.typez\b(generic)\b(\s+)\b(z(,)(\s+)$,z\(zimport.what.class.membersz#pop:2z\.\.z\)z[,)]z[({]z import.what.type.consesandfieldsz[)}]z$\'([^\'\\]|\\(x[\da-fA-F]+|\d+|.))\'z[+~-]?0[0-7]+\bz[+~-]?\d+\.\d+(E[+-]?\d+)?z[+~-]?\d+\bz[+~-]?0x[\da-fA-F]+\bz
True|False"literals.stringdz	[^\\"\n]+z\\.z[$\n]z[-~@#$%\^?!+*<>\\/|&=:.]+z\b_+\bz[,;(){}\[\]]z(\')([\w`.]+)(\'))rC   r7   r8   r9   N)-__name__
__module____qualname____doc__nameurlaliases	filenamesr2   modulewordslowerIdupperIdfunnyIdscoreUpperIdscoreLowerIdmoduleIdjoinclassIdr   r   r   Single	MultilineSpecialr   r
   	Namespacer   Classr   r   r   r   Charr   OctFloatIntegerHexr   Doubler	   r   Functiontokens     7/usr/lib/python3/dist-packages/pygments/lexers/clean.pyr   r      s    D
'CiG'"IH =KGG*G'>L'>L*Hhh'23GEJJHHL!JK L!G

E 	Z 
E 	'W&&6w6
E( 	g''0W&&0))***+7$$%
)E6 	8E%8'B
7E< 	;uU;W=N=NOG--}=
=ED 	L!tzz6*
EEL 	!8GZ#@/R"X-0GG*djj*gN
MEX 	$hw
&CDx
G<>Z[tzz"x
KLMZ FO
YEh 	L!djj&)djj&)
iEr 	!G+d2*djj9;NP"W,y8*djj*EG]_w&/j$**=?QS%/#5?&H*d35G(;
;<:v&L!
sEN 	;'K!<=:x(L!	
OEZ 	$;k"K(G	&
[Ef 	k6*K!78:x(L!G!
gEt 	;'k#EF:x(L!	
uE@ 	+;k"k6*G	-
AEL 	4gllC,*FLL9V^^,%vzz2G$6=="45
ME` 6==)6==&)V]]#uf%	
 *84!

 k*!djj+>@
 dO4 dmm$djj!4::&
}EFrc   N)rG   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   __all__r   rb   rc   rd   <module>rh      s:    Q P. . . .a# arc   