Your IP : 216.73.216.213
B
z��\� � @ sf d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZmZmZ dgZG dd� de�ZdS )z�
pygments.lexers.clean
~~~~~~~~~~~~~~~~~~~~~
Lexer for the Clean language.
:copyright: Copyright 2006-2019 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 Zd ZdZdZdgZddgZdZdZdZ d Z
d
Zde
Zde Z
dZd
�e e
eg�Zed�ed�ed�ed�ed�ed�ed�ed�ed�g defgdejfdejdfdejdfgdejdfdejdfdejfd ejfd!ejfgeed"d"d#�efgeed"d"d#�ejfd$ejd%fged�eejdfgd&eee�d'fd(e d) eeeejee�d*fgd+eee�fd,eee�d-feejfd.eeee�fd/edfged�e ejdfe
ejdfgd0e d1 eeeej�d2fd3e d4 eeeeje�d5fd6e
d7 eeeej�d8fd9e d
e
d7 eeee�fed�d:eee�fd;edfed�gd<edfd=ed>fd;ed?fed�gd<efd@efdAedfed�gdBedfd=ed5fd;ed?fed�ed�gd<edfdCedDfd;ed?fed�gd<efd@efdEedfed�gdFejfdGe j!fdHe j"fdIe j#fdJe j$fdKefdLe%j&dMfgdNe%j&fdLe%j&dfdOe%j&fdPe'dfgdQe(fdRe(fgdSefdTeeeje�fge efe
efeej)fe
ejfeejfgdU�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
ZClean�cleanz*.iclz*.dcl)ZcaseZccall�class�codezcode inlineZderiveZexportZforeignZgeneric�if�inZinfixZinfixlZinfixr�instanceZletZofZ otherwiseZspecialZstdcall�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/\*zcomments.inz/\*\*z\*\/z#popz#pushz[^*/]+z\*(?!/)�/z\b)�prefix�suffixz
\bmodule\bzmodule.namez\b(import)\b(\s*)z
import.modulez\b(from)\b(\s*)\b(z)\b(\s*)\b(import)\bzimport.whatz\b(qualified)\b(\s*)z
(\s*)\b(as)\b)z#popzimport.module.asz
(\s*)(,)(\s*)z\s*z\b(class)\b(\s+)(�)zimport.what.classz\b(instance)(\s+)(z)(\s+)zimport.what.instancez(::)(\s*)\b(z)\bzimport.what.typez\b(generic)\b(\s+)\b(z(,)(\s+)�$�,z\(zimport.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�"zliterals.stringdz [^\\"\n]+z\\.z[$\n]z[-~@#\$%\^?!+*<>\\/|&=:\.]+z\b_+\bz[,;(){}\[\]]z(\')([\w`.]+)(\'))�rootr! r zcomments.inr r zmodule.namer z
import.modulezimport.module.aszimport.whatzimport.what.classzimport.what.class.memberszimport.what.instancezimport.what.typez import.what.type.consesandfieldsr"