o
    ‡ÎÖañ  ã                   @   sj   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„ deƒZdS )zÌ
    pygments.lexers.clean
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Clean language.

    :copyright: Copyright 2006-2021 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                   @   sÖ  e 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de	 ZdZd 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#d$�efg“deed#d#d$�ejfd%ejd&fg“d&edƒeejdfg“dd'eeeƒd(fd)e d* eeeejeeƒd+fg“d(d,eeeƒfd-eeeƒd.feejfd/eeeeƒfdefedƒg“d0edƒe	ejdfe
ejdfg“d+d1e d2 eeeejƒd3fd4e d5 eeeejeƒd6fd7e
 d8 eeeejƒd9fd:e	 d e
 d8 eeeeƒfedƒd;eeeƒfd<edfedƒg“d3d=edfd>ed?fd<ed@fedƒg“d?d=efdAefdBedfedƒg“d6dCedfd>ed6fd<ed@fedƒedƒg“d9d=edfdDedEfd<ed@fedƒg“dEd=efdAefdFedfedƒg“ddGej fdHe!j"fdIe!j#fdJe!j$fdKe!j%fdLefdMe&j'dNfg“dOe&j'fdMe&j'dfdPe&j'fdQe(dfgdRe)fdSe)fgdTefdUeeejeƒfge	efeefeej*fe
ejfeejfgdVœ¥Z+dWS )Xr   z«
    Lexer for the general purpose, state-of-the-art, pure and lazy functional
    programming language Clean (http://clean.cs.ru.nl/Clean).

    .. versionadded: 2.2
    Ú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)r8   ú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`.]+)(\'))rA   r5   r6   r7   N),Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesr0   Ú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© r_   r_   ú7/usr/lib/python3/dist-packages/pygments/lexers/clean.pyr      sN   ÷ÿÿô

ýñ

ûìÿå
þâ"
þÞ&
þþÚ,úÔ4

ýÌ9
ÿ
ÿ
ÿ
ÿôÇGü¹Mü³Sû­Zü¦`ü f
ùšp
üþÿþû‚N)rE   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__r   r_   r_   r_   r`   Ú<module>   s
    
0