File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/clean.cpython-310.pyc
o
;j � @ sj d Z ddlmZmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZmZ dgZG dd� de�ZdS )z�
pygments.lexers.clean
~~~~~~~~~~~~~~~~~~~~~
Lexer for the Clean language.
:copyright: Copyright 2006-present 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 Zd ZdZdZdZdgZddgZdZdZ d Z
d
ZdZdZ
d
e Zd
e ZdZd�eee
g�Zi ded�ed�ed�ed�ed�ed�ed�ed�ed�g �ddefg�ddejfdejdfdejdfg�ddejd fdejd!fd"ejfd#ejfd$ejfg�dee d%d%d&�efg�dee
d%d%d&�ejfd'ejd(fg�d(ed�eejd fg�dd)eee�d*fd+e d, eeeejee�d-fg�d*d.eee�fd/eee�d0feejfd1eeee�fdefe d �g�d2ed�eejd feejd fg�d-d3e d4 eeeej�d5fd6e d7 eeeeje�d8fd9e d: eeeej�d;fd<e d e d: eeee�fed�d=eee�fd>ed fed�g�d5d?ed fd@edAfd>edBfed�g�dAd?efdCefdDed fed�g�d8dEed fd@ed8fd>edBfed�ed�g�d;d?ed fdFedGfd>edBfed�g�dGd?efdCefdHed fed�g�ddIe!j"fdJe#j$fdKe#j%fdLe#j&fdMe#j'fdNe!fdOe(j)dPfg�dQe(j)fdOe(j)d fdRe(j)fdSe*d fgdTe+fdUe+fgdVefdWeeeje�fgeefeefe
ej,feejfeejfgdX��Z-dYS )Zr z�
Lexer for the general purpose, state-of-the-art, pure and lazy functional
programming language Clean.
.. versionadded: 2.2
ZCleanzhttp://clean.cs.ru.nl/CleanZcleanz*.iclz*.dcl� )�caseZccall�class�codezcode inlineZderiveZexportZforeignZgeneric�if�inZinfixZinfixlZinfixr�instanceZletZofZ otherwiseZspecialZstdcall�where�with)�implementationZ
definition�systemz[a-z`][\w`]*z[A-Z`][\w`]*z[~@#$%\^?!+\-*<>\\/|&=:]+�_z[a-zA-Z_][a-zA-Z0-9_.`]+�|�rootZcomments�keywords�module�import�
whitespace�literals� operators�
delimiters�namesz\s+z//.*\nz/\*zcomments.inz/\*\*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)r( �import.module.asz
(\s*)(,)(\s*)r, 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�"�literals.stringdz [^\\"\n]+z\\.z[$\n]z[-~@#$%\^?!+*<>\\/|&=:.]+z\b_+\bz[,;(){}\[\]]z(\')([\w`.]+)(\'))r1 r% r&