3
V'ícû ã @ sj d Z ddlmZmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZmZ dgZG dd deZdS )zÌ
pygments.lexers.clean
~~~~~~~~~~~~~~~~~~~~~
Lexer for the Clean language.
:copyright: Copyright 2006-2022 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 ZdZdZdZdgZddgZdnZdoZ d Z
d!Zd"Zd#e Z
d#e
Zd$Zd%je
eegZed&ed'ed(ed)ed*ed+ed,ed-ed.g d/efgd0ejfd1ejd2fd3ejd2fgd4ejd5fd1ejd6fd7ejfd8ejfd9ejfgeed:d:d;efgee d:d:d;ejfd<ejd=fged*eejd5fgd>eeed?fd@e dA eeeejeedBfgdCeeefdDeeedpfeejfdFeeeefd/efed5ged*e
ejd5feejd5fgdGe dH eeeejdIfdJe dK eeeejedLfdMe dN eeeejdOfdPe
d% e dN eeeefed.dQeeefdRed5fed*gdSed5fdTedUfdRedVfed*gdSefdWefdXed5fed.gdYed5fdTedLfdRedVfed*ed.gdSed5fdZed[fdRedVfed*gdSefdWefd\ed5fed.gd]e j!fd^e"j#fd_e"j$fd`e"j%fdae"j&fdbe fdce'j(ddfgdee'j(fdce'j(d5fdfe'j(fdge)d5fgdhe*fdie*fgdjefdkeeejefge
efeefeej+feejfe
ejfgdlZ,dmS )qr 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/CleanÚcleanz*.iclz*.dclÚcaseÚccallÚclassÚcodeú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_.`]+ú|ÚcommentsÚ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úimport.module.asz
(\s*)(,)(\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`.]+)(\'))Úrootr2 r. zcomments.inr/ r0 zmodule.namer1 z
import.modulezimport.module.aszimport.whatzimport.what.classzimport.what.class.memberszimport.what.instancezimport.what.typez import.what.type.consesandfieldsr3 zliterals.stringdr4 r5 r6 N)r r r r r r r r r r r r r r r! r"