K indZddlZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZmZmZmZmZmZddlmZgdZGddeZGd d eZGd d eZGd deZGddeZGddeZGddeZ GddeZ!GddeZ"GddeZ#GddeZ$y)z pygments.lexers.haskell ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Haskell and related languages. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)Lexer RegexLexerbygroups do_insertionsdefaultincludeinheritline_re) TextCommentOperatorKeywordNameStringNumber PunctuationGeneric Whitespace) unistring) HaskellLexer HspecLexer IdrisLexer AgdaLexer CryptolLexerLiterateHaskellLexerLiterateIdrisLexerLiterateAgdaLexerLiterateCryptolLexer KokaLexerceZdZdZdZdZddgZdgZdgZdZ d Z d Z gd e fd e jfd e jdfdej"dfdej"dfdej&fdj)dj+e ej"fdej.fdej2zdzej4fdej2zdzefdej6zdzej8fdej6zdzej8fdej8fdej8fdej8fd ej4fd!ej<fd"ej8fd#efd$ej@fd%ej@fd&ej@fd'ej@fd(ejBfd)ejDfd*ejFfd+ejHfd,ej.d-fd.ed/fd0ej8fd1ejJfd2e&fd e fd.ed/fd3e&d4fd5efd6ej6zd7zej6zd8ze'ejPe ee ed4fd6ej6zd9ze'ejPe ee e&d:fd6ej6zd;ze'ejPe e&d:fdzejPd4fgd e fd=ej6zd?zej8fd@ej2zdAzej4fd e jfd e jdfdBe&fd#efdCe&dDfd3e&dEfg dFe jfd e jdGfdHe jd4fdIe jfgdJej.d4fdKejRdLfd,ej.d4fgdMefdKejRdLfd.ed4fgdNejRd4fdOej6zdPzejRd4fdj+e ejRd4fdQejRd4fdRejRd4fdSejRd4fdTe'e ejRd4fgdUZ*yV)WrzP A Haskell lexer based on the lexemes defined in the Haskell 98 Report. Haskellzhttps://www.haskell.org/haskellhsz*.hsztext/x-haskellz0.8)caseclassdatarderivingdoelsefamilyifin infix[lr]?instanceletnewtypeofthentypewhere_NULSOHz[SE]TXEOTENQACKBELBSHTLFVTFFCRzS[OI]DLEzDC[1-4]NAKSYNETBCANEMSUBESCz[FGRU]SSPDEL\s+!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$\{-comment \bimport\bimport \bmodule\bmodule \berror\b\b({})(?!\')\b|z'[^\\]'z^[_z][\w\']*z'?[_z][\w']*z('')?[z(')[z (')\[[^\]]*\]z (')\([^)]*\)z(')[:!#$%&*+.\\/<=>?@^|~-]+\\(?![:!#$%&*+.\\/<=>?@^|~-]+)+(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+):[:!#$%&*+.\\/<=>?@^|~-]*[:!#$%&*+.\\/<=>?@^|~-]+z40[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*zR0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?z\d(_*\d)*_*[eE][+-]?\d(_*\d)*z+\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?z0[bB]_*[01](_*[01])*z0[oO]_*[0-7](_*[0-7])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z \d(_*\d)*' character"string\[\]\(\) [][(),;`{}]\)#pop qualified\bz([z][\w.]*)(\s+)(as)(\s+)([z][\w.]*)z][\w.]*)(\s+)(hiding)(\s+)(\()funclistz][\w.]*)(\s+)(\()[\w.]+[z][\w.]*z]\w*z (_[\w\']+|[z ][\w\']*),\(rfrf#pop:2[^-{}]+#push-\}[-{}][^\\']'\\escape[^\\"]+[abfnrtv"\'&\\]z\^[][z@^_]o[0-7]+ x[\da-fA-F]+\d+ (\s+)(\\)rootrRrTrfrPr]r_rsN)+__name__ __module__ __qualname____doc__nameurlaliases filenames mimetypes version_addedreservedasciirr Single MultilinerReservedr ExceptionformatjoinrCharuniLlFunctionLuTyper WordrFloatBinOctHexIntegerBuiltinrr NamespaceEscapetokens]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pygments/lexers/haskell.pyrrs D $C$GI!"IMFH 9E * Z * 27>> B * W&& 2 * G,,h 7* G,,h 7* 4>> **  % %chhx&8 97;K;K L*  %* cff_{ *DMM :* svv  *D 1*  + -w|| <* svv  +W\\ :!* "w|| ,#* $gll +%* &,W\\ :'* */ >+* ,%fjj 1?* @' 3A* B1&** =C* D6>> *E* H6;; ,I* J68 $K* Ngll #O* Pdll #Q* R[ )S* ZZ 68 $ K ( W % SVV^9 9CFF B[ P dnnj':t Lf VSVV^? ? dnnj':{ SU_ aSVV^2 2 dnnj+ >  L /# (Z SVV^2 2 dnnj+ >  L CFF]Z ' @  Z CFF]W $gll 3 cff $| 3T]] C 17>> B W&& 2 ;  (( 3 K!9 : K *  ** + W&& 0 W&& / w(( )  f - FMM8 , &++v &   FMM8 , && !   7   (&-- @ XXe_fmmV 4  / fmmV 4 V]]F + 8J > G KnFrrc eZdZdZdZdgZdgZgZdZdde e e e jfde e e e jfd e e e e jfegiZy ) rz< A Haskell lexer with support for Hspec constructs. Hspechspecz*Spec.hsz2.4r{z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")N)r|r}r~rrrrrrrr rrDocr rrrrrrsy DiG IIM  "HT:vzz$J K ((4VZZ*P Q '$ FJJ)O P   FrrceZdZdZdZdZddgZdgZdgZdZ d Z d Z d Z d jd je eeej$fdeeej(fdeeej(fdeeej*dfdeeej.eej2efdjd je ej$fdeej$edfdej4fdefdej2fdej2fdej:fdej:fdej<fdej>fde jBdfd e d!fd"efd#efgd$efd%eejDee#d&fd'ejDd(fgd$efd)ej4fd*ej.fd+ej(fd,ej*dfd-e#fd.efd/e#d0fd1e#d2fg d3ej*fd,ej*d4fd5ej*d(fd6ej*fgd7e jBfd8e jHd9fde jBd(fgd:e fd8e jHd9fd e d(fgd;e jHd(fde jHd(fde jHd(fd?eee jHd(fgd@Z%yA)Brzq A lexer for the dependently typed programming language Idris. Based on the Haskell and Agda Lexer. Idriszhttps://www.idris-lang.org/idrisidrz*.idrz text/x-idris2.0)3r$r%r&rusingr(r)r+r,r-r.rewriteauto namespacecodatamutualprivatepublicabstracttotalpartial interfaceimplementationexportcovering constructorr/proofr1r2staticr4r5withpatterntermsyntaxprefix postulate parametersrecorddsl impossibleimplicittacticsintrosintrocomputerefineexacttrivialr6) liblinkflagrhidefreezeaccessrloggingdynamicrerror_handlerslanguagez ^(\s*)(%({}))rWz((\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$z(\s*)(\|{3}.*?)$z (\s*)(\{-)rP^(\s*)([^\s(){}]+)(\s*)(:)(\s*)rV(import|module)(\s+)rT('')?[A-Z][\w\']*z [a-z][\w\']*z(<-|::|->|=>|=)z"([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)\d+[eE][+-]?\d+\d+\.\d+([eE][+-]?\d+)?0[xX][\da-fA-F]+rxr\r]r^r_ [^\s(){}]+\s+?rM([A-Z][\w.]*)(\s+)(\()rf [A-Z][\w.]*rd[A-Z]\w*(_[\w\']+|[a-z][\w\']*)z--.*$rOrir[rjrkrcrlrmrnrorpz[^\\']rrrsrtru \^[][A-Z@^_]rvrwry)r{rTrfrPr]r_rsN)&r|r}r~rrrrrrrrr directivesrrrrrrr rrrrr rrr rrrrrrrrrrrrrrrsR D 'CG I IMWH 9E YJ  $ $SXXj%9 : j'"2"2 3 5 8(:w~~:^ _ (:w~~"F G HZ1B1BCY O / j$--X]]J W Y % %chhx&8 97;K;K L $hw/?/?&Lh W !7<< 0 d #  / 2HMM B  . ' 6 &** - V^^ $ 6;; , 68 $ D ! j !7 <Z & dnnj+ >  L T^^V 4  Z ',, ' ' 7 w~~ & W&& 2 ;  (( 3 K!9 : K *  ** + W&& 0 W&& / w(( )   $ FMM8 , &++v &   FMM8 , && !   7 fmmV 4 XXe_fmmV 4  / fmmV 4 V]]F + 8J > G IMFrrc*eZdZdZdZdZdgZdgZdgZdZ dZ d e e e je ej e fd ej$fd ej&d fd ej(dfdj+dj-e ej0fde ej0e dfdej2fdefdej fdej6fdej6fdej8fdej:fdej>dfdedfde fde fgd ej(fd ej(d!fd"ej(d#fd$ej(fgd ej&d fd%e d#fd&e fge!jDd e!jDde!jDde!jDd'd(Z"y))*rza For the Agda dependently typed functional programming language and proof assistant. Agdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpagdaz*.agdaz text/x-agdar)+rr coinductiverr&r(z eta-equalityfieldforallhidingr, inductiveinfixinfixlinfixrr. interleavedr/macrorzno-eta-equalityopaqueopenoverlaprr primitiverquote quoteTermrrenamingrrtactic unfoldingunquote unquoteDecl unquoteDefrvariabler4rrrNrOrPz\{!holerVrWrrTz\b(Set|Prop)[\u2080-\u2089]*\bz (\(|\)|\{|\})z((\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)rrrrxr\r]r^r_rrz[^!{}]+rnz!\}rdz[!{}]z[a-zA-Z][\w.\']*z [\W0-9_]+rs)r{rrTrPr]r_rsN)#r|r}r~rrrrrrrrrrrrr rr rr Directiverrrrrrrrrrrr rrrrrrr s D :ChG IIMH0 j$--mmZ1 227>> B W&& 2 W&& / % %chhx&8 97;K;K L $hw/?/?&L   . = x ( 8(-- H  . ' 6 &** - V^^ $ 6;; , 68 $ D ! j !9 @** + W&& 0 W&& / w(( )  W&& 2 $ / 4   &&y1!((5%%h/%%h/]/FrrceZdZdZdZddgZdgZdgZdZdZ d Z d Z d e fd e jfd e jdfdej"dfdej"dfdej&fdj)dj+e ej"fdej,fdefdej.fdej,fdej2fdej.fdefdej6fdej6fdej8fd ej:fd!ej<fd"ej@d#fd$ed%fd&ej.fd'ejBfd(e"fgd e fd$ed%fd)e"d*fd+efd,e#ejHe ee ed*fd-e#ejHe ee e"d.fd/e#ejHe e"d.fd0ejHd*fgd e fd/e#ejHe e"d.fd1ejHd*fgd e fd2ej.fd3ej,fd4e"fdefd5e"d6fd)e"d7fgd8e jfd e jd9fd:e jd*fd;e jfgdfd"ej@d*fgd?efd=ejJd>fd$ed*fgd@ejJd*fdAejJd*fdj+e ejJd*fdBejJd*fdCejJd*fd!ejJd*fdDe#e ejJd*fgdEZ&hdFZ'dGZ(yH)IrzX FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report. Cryptolcryptolcryz*.cryztext/x-cryptolhttps://www.cryptol.netr)ArithBitCmpFalseInfTruer)rexternfinr+rRinflg2maxminrTr0pragmapropertyr2r3r4widthr6rM//.*$/\*rPrQrRrSrTrUrVrWz^[_a-z][\w\']*z'?[_a-z][\w']*rrXrYrZr[rrz 0[oO][0-7]+rrxr\r]r^r_r`rarbrcrdrez(([A-Z][\w.]*)(\s+)(as)(\s+)([A-Z][\w.]*)z#([A-Z][\w.]*)(\s+)(hiding)(\s+)(\()rfrrgrrrrirjrkrl[^/*]+rn\*/[*/]rqrrrsrtrurrvrwryrz><<>><<<>>>parregseqrtailconsterrorsplittracerASSERTlengthreverse transpose undefinedc#Kdg}tj|||D]9\}}}|tur$||jvr|tj|f3|||f;yw)Nr{)rget_tokens_unprocessedrEXTRA_KEYWORDSr)selftextstackindextokenvalues rr-z#CryptolLexer.get_tokens_unprocessedsd11$eD * E5%}$*=*=!=T\\500UE))  *sAAN))r|r}r~rrrrrrrrrrr rrrrrrrrrrr rrrrrrrrrrrrrrr.r-rrrrris D% G I!"I #CM2H 9EZ w~~ & W&& 2G,,h 7 G,,h 7 4>> *  % %chhx&8 97;K;K L  .  % !7<< 0 . > ;X]] K )7<< 8 (( 3  . ' 6 VZZ ( &** - V^^ $ 6;; , 68 $ gll # dll # [ )A! HZ 68 $ K ( W % 8 dnnj':t Lf V4 dnnj':{ SU_ a' dnnj+ >  L /# (Z & dnnj+ >  L T^^V 4  Z ',, ' ' 7;  (( 3 K!9 : K *  )) * W&& 0 W&& / g'' (  f - FMM8 , &++v &   FMM8 , && !   7 fmmV 4 XXe_fmmV 4  / fmmV 4 V]]F + 8J > G wdFLN *rrc@eZdZdZej dZdZdZy) LiterateLexera Base class for lexers of literate file formats based on LaTeX or Bird-style (prefixing each code line with ">"). Additional options accepted: `litstyle` If given, must be ``"bird"`` or ``"latex"``. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird. z(>[ \t]*)(.*\n)c >||_tj|fi|y)N) baselexerr__init__)r/r8optionss rr9zLiterateLexer.__init__s" t'w'rc #K|jjd}||jdddvxrdxsd}d}g}|dk(rtj|D]}|j }|j j|}|rR|jt|dtj|j dfgf||j dz }|jt|dt|fgfn dd l m}|d i|j} d} d} tj|D]}|j }| r-|jjd rd} | |z } <||z }B|jjd r>d} | |z } |jt|t!| j#| fd} | |z } |jt|t!| j#| ft%||j&j#|Ed{y7w) Nlitstylerz%\latexbird)TexLexerz \end{code}z \begin{code}r)r:getlstripr finditergroupbird_rematchappendlenr Specialr pygments.lexers.markuprB startswithlistr-rr8) r/r0stylecode insertionsrHlinemrBlxlexer codelinesr>s rr-z$LiterateLexer.get_tokens_unprocesseds   , =[[]1Q'50=gGE F? ))$/ F{{}LL&&t,%%s4y)*GOOQWWQZ(H'I'KLAGGAJ&D%%s4yAtT?2C&DE F 8..GIE ))$/ "{{}{{}// >$%   [[]--o> !ITME%%s4y'+G,J,J5,Q'R'TUETME "   s4y#G$B$B5$IJL M T^^-R-RSW-XYYYsH6I8H>9IN) r|r}r~rrecompilerGr9r-rrrr6r6s% bjj+,G(*Zrr6c6eZdZdZdZgdZdgZdgZdZdZ dZ y ) raS For Literate Haskell (Bird-style or LaTeX) source. Additional options accepted: `litstyle` If given, must be ``"bird"`` or ``"latex"``. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird. zLiterate Haskell)zliterate-haskelllhaskelllhsz*.lhsztext/x-literate-haskellz-https://wiki.haskell.org/Literate_programmingz0.9c Htdi|}tj||fi|yNr)rr6r9r/r:hslexers rr9zLiterateHaskellLexer.__init__Ds$))tW88rN r|r}r~rrrrrrrr9rrrrr2s1  D5G I*+I 9CM9rrc6eZdZdZdZgdZdgZdgZdZdZ dZ y ) raQ For Literate Idris (Bird-style or LaTeX) source. Additional options accepted: `litstyle` If given, must be ``"bird"`` or ``"latex"``. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird. zLiterate Idris)zliterate-idrislidrislidrz*.lidrztext/x-literate-idrisz?https://idris2.readthedocs.io/en/latest/reference/literate.htmlrc Htdi|}tj||fi|yr\)rr6r9r]s rr9zLiterateIdrisLexer.__init__[s$'w'tW88rNr_rrrrrIs1  D2G I()I KCM9rrc6eZdZdZdZddgZdgZdgZdZdZ d Z y ) ra: For Literate Agda source. Additional options accepted: `litstyle` If given, must be ``"bird"`` or ``"latex"``. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird. z Literate Agdaz literate-agdalagdaz*.lagdaztext/x-literate-agdazEhttps://agda.readthedocs.io/en/latest/tools/literate-programming.htmlrc Ltdi|}tj||fddi|y)Nr<r>r)rr6r9)r/r: agdalexers rr9zLiterateAgdaLexer.__init__rs)(( tYLLGLrNr_rrrrr`s7  D(G I'(I QCMMrrc6eZdZdZdZgdZdgZdgZdZdZ dZ y ) raS For Literate Cryptol (Bird-style or LaTeX) source. Additional options accepted: `litstyle` If given, must be ``"bird"`` or ``"latex"``. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird. zLiterate Cryptol)zliterate-cryptollcryptollcryz*.lcryztext/x-literate-cryptolrrc Htdi|}tj||fi|yr\)rr6r9)r/r:crylexers rr9zLiterateCryptolLexer.__init__s$*'*tX99rNr_rrrrrws1  D6G I*+I #CM:rrceZdZdZdZdZdgZddgZdgZdZ gd Z gd Z gd Z gd Z d ZdezdzZdZej$Zej(Zej.Zeddezedfdeeeedfdeeeedfdj;dj=e dzeeeedfdeeeeeej>fdeeeej>eeeeeej> fdezdzeeeeeej@fdezdzeeeeeeeej@fdj;dj=e ezejBfdj;dj=e ezefdj;dj=e ezejDfd ezefd!eej>efd"eej>efd#ezdzeej>efd$ejFfd%e$jJd&fed'ze&fd(e&fd)e'fd*e(jRfd+e(jTfd,e(jVfd-e$jXd.fd/e$jJd0fgd1efedgd2e'd3fedgd4ed5fed6gd7ed3fd4ed5fd8efd9eeeefed6geddj;dj=e ezefd:j;dj=e ezd;zed3fdefd>eej>efd?efe-d3g d@eee.j^fdAefdBe.j`dCfdDe.jbfgdEe.j`fdBe.j`dFfdGe.j`d3fdHe.j`fgdIe$jJfdJe$jdfd/e$jJd3fgdKe$jJfedLdMe$jJd3fgdNe$jXfedLdOe$jXd3fgdPe$jdfdQe$jdfdRe$jdfdSe$jdfgdT Z3yU)Vrz& Lexer for the Koka language. Kokaz/https://koka-lang.github.io/koka/doc/index.htmlkokaz*.kkz*.kkiz text/x-kokaz1.6)"rrrr3cotyperectypealiasstructconfunfunctionvalvarexternalr+r2r)elifreturnrHrrrrTrRasrinlinerectryyieldenumrr.)r3rprqrrrsr)rexistssomer) forwhilerepeatforeachzforeach-indexedr$catchfinallycsjsfilerefassignedz[$%&*+@!/\\^~=.:\-?|<>]+z(?!)z (?![\w/]) whitespacez::?r3z(alias)(\s+)([a-z]\w*)? alias-typez(struct)(\s+)([a-z]\w*)? struct-typez({})rWz(\s+)([a-z]\w*)?z=(module)(\s+)(interface(?=\s))?(\s+)?((?:[a-z]\w*/)*[a-z]\w*)z`(import)(\s+)((?:[a-z]\w*/)*[a-z]\w*)(?:(\s*)(=)(\s*)(qualified)?(\s*)((?:[a-z]\w*/)*[a-z]\w*))?z>^(public|private)?(\s+)?(function|fun|val)(\s+)([a-z]\w*|\((?:z|/)\))zd^(?:(public|private)(?=\s+external))?((?|[=.]z((?:[a-z]\w*/)*)([A-Z]\w*)z((?:[a-z]\w*/)*)([a-z]\w*)z((?:[a-z]\w*/)*)(\((?:z_\w*z@" litstringz |/(?![*/])`z [{}()\[\];,]z![0-9]+\.[0-9]+([eE][\-+]?[0-9]+)?z0[xX][0-9a-fA-F]+z[0-9]+r\charr^r_=z(?=\((?!,*\)))rdz[(\[<] type-nested type-contentz[)\]>]riz([a-z]\w*)(\s*)(:)(?!:)z(?=(({})z))z[EPHVX]z[a-z][0-9]*(?![\w/])z((?:[a-z]\w*/)*)([a-z]\w+)z ::|->|[.:|]z (\n\s*)(#.*)$rMrrPrrrnrrz[^"]+z""z [^\\"\n]+escape-sequencez["\n]z [^\\\'\n]+z[\'\n]z \\[nrt\\"\']z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{6}) r{rrr3rrrrPrr_rrN)4r|r}r~rrrrrrrkeywordstypeStartKeywords typekeywordsbuiltinsymbols sboundaryboundaryr Attribute tokenTypeClass tokenTypeDefrEmphtokenConstructorrrrrrrrrrPseudoVariablerDoubler rrrrrrrr Preprocrrrrrrrrrs D ;ChG!IIM H  L G*G#%IHI::L|| L !i F 3 '':|)T   ((7J *U  nnSXX&789 !"*7J "M   N gz7J O Q+gz4>>:wPZz4>>; < %'./1:; gz7J N P ")*,56 gz7JUYUbUb c e ^^CHH\2 3h > M ^^CHHX. /( :G D ^^CHHW- . 97>> J ) +W 5+ dnn&6 7 9 *HT^^T,J K & 09 < dnnd + - dmm $FMM; /| #X . 8  k *26<< @ !6:: .  ' 6;; ' 6==( +u; ~7O FO  V 4 FO  = 1 N #  6 *  = 1 9  ' dJ 2 4 N #   L !^^CHH\2 3h > H    2 3h > E f ( "I .%i 0 i(( ) * dnni 0 2 * dnni 0 2Y ' FO/ 8x GOOD E Z W&& 2 w~~ &  )) * W&& 0 W&& / g'' (  v}} % FMM " 6==& ) 6== ) % & v}}f - FKK ( % &  V , fmm , !6== 1 !6== 1 !6== 1  cXFrr)%rrVpygments.lexerrrrrrrr r pygments.tokenr r r rrrrrrrpygmentsrr__all__rrrrrr6rrrrrrrrrs '''---% 0 A:AH*ll^F FRF*:F*R=ZE=Z@9=9.99.M M.:=:.T Tr