U
    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/\*comments.inz/\*\*z\*\/#popz#pushz[^*/]+z\*(?!/)/z\b)prefixsuffixz
\bmodule\bmodule.namez\b(import)\b(\s*)import.modulez\b(from)\b(\s*)\b(z)\b(\s*)\b(import)\bimport.whatz\b(qualified)\b(\s*)z(\s*)\b(as)\b)r&   import.module.asz(\s*)(,)(\s*)z\s*z\b(class)\b(\s+)()import.what.classz\b(instance)(\s+)(z)(\s+)import.what.instancez(::)(\s*)\b(z)\bimport.what.typez\b(generic)\b(\s+)\b(z(,)(\s+)$,z\(import.what.class.membersz#pop:2z\.\.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`.]+)(\'))rootr    r   r%   r   r   r*   r   r+   r-   r,   r/   r4   r0   r1   r5   r!   r7   r"   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 rE   rE   7/usr/lib/python3/dist-packages/pygments/lexers/clean.pyr      s
  









 
 
 



N)r<   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   r   __all__r   rE   rE   rE   rF   <module>   s   
0