B
    G
\                 @   sf   d Z ddl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-2015 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )ExtendedRegexLexerwords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edededededededededg	defgdejfdejdfdejdfgdejdfdejdfdejfd ejfd!ejfgeed"d"d#efgeed"d"d#ejfd$ejd%fgedeejdfgd&eeed'fd(e d) eeeejeed*fgd+eeefd,eeed-feejfd.eeeefd/edfgede	ejdfe
ejdfgd0e d1 eeeejd2fd3e d4 eeeejed5fd6e
 d7 eeeejd8fd9e	 d e
 d7 eeeefedd:eeefd;edfedgd<edfd=ed>fd;ed?fedgd<efd@efdAedfedgdBedfd=ed5fd;ed?fededgd<edfdCedDfd;ed?fedgd<efd@efdEedfedgdFejfdGe j!fdHe j"fdIe j#fdJe j$fdKefdLe%j&dMfgdNe%j&fdLe%j&dfdOe%j&fdPe'dfgdQe(fdRe(fgdSefdTe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dUZ*dVS )Wr   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
    ZCleanZcleanz*.iclz*.dcl)ZcaseZccallclasscodezcode inlineZderiveZexportZforeignZgenericifinZinfixZinfixlZinfixrinstanceZletZofZ	otherwiseZspecialZstdcallwherewith)implementationZ
definitionsystemz[a-z`][\w\d`]*z[A-Z`][\w\d`]*z[~@#\$%\^?!+\-*<>\\/|&=:]+_z[a-zA-Z_][a-zA-Z0-9_.`]+|commentskeywordsmoduleimport
whitespaceliterals	operators
delimitersnamesz\s+z//.*\nz/\*zcomments.inz/\*\*z\*\/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)z#popzimport.module.asz(\s*)(,)(\s*)z\s*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"zliterals.stringdz	[^\\"\n]+z\\.z[$\n]z[-~@#\$%\^?!+*<>\\/|&=:\.]+z\b_+\bz[,;(){}\[\]]z(\')([\w`.]+)(\'))rootr    r   zcomments.inr   r   zmodule.namer   zimport.modulezimport.module.aszimport.whatzimport.what.classzimport.what.class.memberszimport.what.instancezimport.what.typez import.what.type.consesandfieldsr!   zliterals.stringdr"   r#   r$   N)+__name__
__module____qualname____doc__namealiases	filenamesr   ZmodulewordsZlowerIdZupperIdZfunnyIdZscoreUpperIdZscoreLowerIdZmoduleIdjoinZclassIdr   r   r   SingleZMultiSpecialr   r   Z	Namespacer
   ZClassr   r   r	   ZCharr   ZOctZFloatZIntegerZHexr   Doubler   r   ZFunctiontokens r9   r9   4lib/python3.7/site-packages/pygments/lexers/clean.pyr      s   











N)r0   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   r   __all__r   r9   r9   r9   r:   <module>
   s   0