Ë
    !täi0'  ã                   óÒ   — d Z ddlZddlmZ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 g d¢Z G d„ de«      Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Zy)zÚ
    pygments.lexers.algebra
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for computer algebra systems.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexerÚ
RegexLexerÚbygroupsÚdo_insertionsÚwords)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚ
Whitespace)ÚGAPLexerÚGAPConsoleLexerÚMathematicaLexerÚ
MuPADLexerÚBCLexerc                   óä   — e Zd ZdZdZdZdgZg d¢ZdZdde	j                  fd	efd
efdefdej                  fdej                   fdefdej$                  fdej&                  fdefdefdefgiZd„ Zy)r   z
    For GAP source code.
    ÚGAPúhttps://www.gap-system.orgÚgap)z*.gz*.gdz*.giz*.gapú2.0Úrootz#.*$ú"(?:[^"\\]|\\.)*"ú\(|\)|\[|\]|\{|\}aV  (?x)\b(?:
                if|then|elif|else|fi|
                for|while|do|od|
                repeat|until|
                break|continue|
                function|local|return|end|
                rec|
                quit|QUIT|
                IsBound|Unbind|
                TryNextMethod|
                Info|Assert
              )\bzD(?x)\b(?:
                true|false|fail|infinity
              )\bzx(?x)\b(?:
                (Declare|Install)([A-Z][A-Za-z]+)|
                   BindGlobal|BIND_GLOBAL
              )\bz\.|,|:=|;|=|\+|-|\*|/|\^|>|<z=(?x)\b(?:
                and|or|not|mod|in
              )\bzC(?x)
              (?:\w+|`[^`]*`)
              (?:::\w+|`[^`]*`)*ú[0-9]+(?:\.[0-9]*)?(?:e[0-9]+)?ú\.[0-9]+(?:e[0-9]+)?Ú.c                 óŠ   — d}t        j                  d| «      r|dz  }t        j                  d| «      r|dz  }t        |d«      S )Nç        zl(InstallTrueMethod|Declare(Attribute|Category|Filter|Operation|GlobalFunction|Synonym|SynonymAttr|Property))gffffffæ?zm(DeclareRepresentation|Install(GlobalFunction|Method|ImmediateMethod|OtherMethod)|New(Family|Type)|Objectify)g      ð?)ÚreÚsearchÚmin)ÚtextÚscores     úf/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/algebra.pyÚanalyse_textzGAPLexer.analyse_textG   sV   € Øˆô �9‰9ð>Ø?Cô
ð �S‰LˆEô �9‰9ðHØIMô
ð �S‰LˆEä�5˜#‹Ðó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚversion_addedr	   ÚSingler   r   r   r   ÚConstantÚBuiltinr
   ÚWordÚVariabler   r   Útokensr*   © r+   r)   r   r      sÔ   „ ñð €DØ
&€CØˆg€GÚ0€IØ€Mð 	Ø�g—n‘nÐ%Ø! 6Ð*Ø! ;Ð/ðð ððð �]‰]ððð �\‰\ð	ð
 -¨hÐ7ðð �]‰]ðð$à%)§]¡]ð4ð 0°Ð8Ø$ fÐ-Ø�4ˆLðG$
ð&€FóPr+   r   c                   ó:   — e Zd ZdZdZddgZdgZdZdZdZ	d	„ Z
d
„ Zy)r   zD
    For GAP console sessions. Modeled after JuliaConsoleLexer.
    zGAP sessionzgap-consolezgap-replz*.tstr   z2.14zgap-repl/euclidean.tstc           	   #   ó  K  — t        di | j                  ¤Ž}d}d}g }d}d}|j                  d¬«      D �])  }|j                  d«      s|j                  d«      r>|j	                  t        |«      dt        j                  |d d fgf«       ||dd  z  }d}d}n¸|sK|j                  d	«      r:|j	                  t        |«      dt        j                  |d d
 fgf«       ||d
d  z  }nk|r't        ||j                  |«      «      E d {  –—†  d}g }|j                  d«      s|r|t        j                  |f–— d}n|t        j                  |f–— d}|t        |«      z  }�Œ, |r$t        ||j                  |«      «      E d {  –—†  y y 7 Œ‚7 Œ­w)Nr   Ú FT)Úkeependszgap> zbrk> é   z> é   zError, r;   )r   ÚoptionsÚ
splitlinesÚ
startswithÚappendÚlenr   ÚPromptr   Úget_tokens_unprocessedÚErrorÚOutput)	Úselfr'   ÚgaplexerÚstartÚcurcodeÚ
insertionsÚoutputÚerrorÚlines	            r)   rH   z&GAPConsoleLexer.get_tokens_unprocessedf   s   è ø€ ÜÑ+˜dŸl™lÑ+ˆØˆØˆØˆ
ØˆØˆà—O‘O¨T�O×2ˆDØ�‰˜wÔ'¨4¯?©?¸7Ô+CØ×!Ñ!¤3 w£<°1´g·n±nÀdÈ2ÈAÀhÐ2OÐ1PÐ"QÔRØ˜4  ˜8Ñ#�Ø�Ø‘Ù §¡°Ô 5Ø×!Ñ!¤3 w£<°1´g·n±nÀdÈ2ÈAÀhÐ2OÐ1PÐ"QÔRØ˜4  ˜8Ñ#‘áÜ,Ø" H×$CÑ$CÀGÓ$Ló N÷ Nð Nà �GØ!#�JØ—?‘? 9Ô-±Ø¤§¡°Ð4Ò4Ø ‘Eà¤§¡°Ð5Ò5Ø�Ø”S˜“YÑŠEð+ 3ñ. Ü$Ø˜H×;Ñ;¸GÓDóF÷ Fñ Fð ðNøðFús%   ‚DFÄFÄA;FÆF
ÆFÆ
Fc                 ó2   — t        j                  d| «      ryy)Nz^gap> gÍÌÌÌÌÌì?r#   )r$   r%   )r'   s    r)   r*   zGAPConsoleLexer.analyse_textŠ   s   € ô
 �9‰9�Y Ô%Øàr+   N)r,   r-   r.   r/   r0   r2   r3   r1   r4   Ú_examplerH   r*   r;   r+   r)   r   r   [   s:   „ ñð €DØ˜jÐ)€GØ�	€IØ
&€CØ€MØ'€Hò!FóHr+   r   c                   ó6  — e Zd ZdZdZdZg d¢Zg d¢Zg d¢ZdZ	dZ
d	Zd
„ Zddefdej                  fdej                   fdej                   fdefdej$                  fdej$                  fdej&                  f ee
«      ef ee«      efdefdej2                  fgiZy)r   z,
    Lexer for Mathematica source code.
    ÚMathematicaz!https://www.wolfram.com/language/)ÚmathematicaÚmmaÚnbÚwlÚwolfram)z*.nbz*.cdfz*.nbpz*.maz*.wlz*.wls)zapplication/mathematicaz#application/vnd.wolfram.mathematicaz+application/vnd.wolfram.mathematica.packagezapplication/vnd.wolfram.cdfzapplication/vnd.wolfram.wlr   ) z;;Ú=z=.z!===z:=z->z:>z/.Ú+Ú-Ú*Ú/Ú^z&&z||Ú!z<>Ú|z/;Ú?Ú@z//z/@z@@z@@@z~~z===Ú&Ú<Ú>z<=z>=)Ú,Ú;Ú(Ú)Ú[Ú]Ú{Ú}c                 óP   — dj                  dj                  d„ | D «       «      «      S )Nz({})rc   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­w)N)r$   Úescape)Ú.0Úentrys     r)   Ú	<genexpr>z1MathematicaLexer._multi_escape.<locals>.<genexpr>®   s   è ø€ Ð%LÁG¸5¤b§i¡i°×&6ÁGùs   ‚!)ÚformatÚjoin)Úentriess    r)   Ú_multi_escapezMathematicaLexer._multi_escape­   s    € Ø�}‰}˜SŸX™XÑ%LÁGÓ%LÓLÓMÐMr+   r   z(?s)\(\*.*?\*\)z([a-zA-Z]+[A-Za-z0-9]*`)z([A-Za-z0-9]*_+[A-Za-z0-9]*)z#\d*z([a-zA-Z]+[a-zA-Z0-9]*)z
-?\d+\.\d*z
-?\d*\.\d+z-?\d+z".*?"ú\s+N)r,   r-   r.   r/   r0   r1   r2   r3   Ú	mimetypesr4   Ú	operatorsÚpunctuationrz   r	   r   Ú	Namespacer9   r   ÚFloatÚIntegerr   r
   r   r   r   r   r:   r;   r+   r)   r   r   •   sÖ   „ ñð €DØ
-€CÚ;€GÚC€Iò/€Ið
 €Mð€Ið ;€KòNð 	Ø Ð)à(¨$¯.©.Ð9Ø,¨d¯m©mÐ<Ø�d—m‘mÐ$Ø'¨Ð.à˜FŸL™LÐ)Ø˜FŸL™LÐ)Ø�v—~‘~Ð&á�9Ó˜xÐ(Ù�;Ó Ð-Ø�vÐØ�T—_‘_Ð%ð
ð�Fr+   r   c                   óÊ  — e Zd ZdZdZdZdgZdgZdZde	j                  fde	j                  d	fd
efdefdefdej                   fdej"                  fdej$                  j&                  fdefdej*                  fdefd eej0                  ee«      fdej4                  fdefdefdefdefgde	j                  fde	j                  dfde	j                  dfde	j                  fgdœZy) r   z[
    A MuPAD lexer.
    Contributed by Christopher Creutzig <christopher@creutzig.de>.
    ÚMuPADzhttp://www.mupad.comÚmupadz*.muz0.8z//.*?$ú/\*Úcommentr   r   a¹  (?x)\b(?:
                next|break|end|
                axiom|end_axiom|category|end_category|domain|end_domain|inherits|
                if|%if|then|elif|else|end_if|
                case|of|do|otherwise|end_case|
                while|end_while|
                repeat|until|end_repeat|
                for|from|to|downto|step|end_for|
                proc|local|option|save|begin|end_proc|
                delete|frame
              )\baU  (?x)\b(?:
                DOM_ARRAY|DOM_BOOL|DOM_COMPLEX|DOM_DOMAIN|DOM_EXEC|DOM_EXPR|
                DOM_FAIL|DOM_FLOAT|DOM_FRAME|DOM_FUNC_ENV|DOM_HFARRAY|DOM_IDENT|
                DOM_INT|DOM_INTERVAL|DOM_LIST|DOM_NIL|DOM_NULL|DOM_POLY|DOM_PROC|
                DOM_PROC_ENV|DOM_RAT|DOM_SET|DOM_STRING|DOM_TABLE|DOM_VAR
              )\bz�(?x)\b(?:
                PI|EULER|E|CATALAN|
                NIL|FAIL|undefined|infinity|
                TRUE|FALSE|UNKNOWN
              )\bz\b(?:dom|procname)\bz-\.|,|:|;|=|\+|-|\*|/|\^|@|>|<|\$|\||!|\'|%|~=zž(?x)\b(?:
                and|or|not|xor|
                assuming|
                div|mod|
                union|minus|intersect|in|subset
              )\bz \b(?:I|RDN_INF|RD_NINF|RD_NAN)\bzi(?x)
              ((?:[a-zA-Z_#][\w#]*|`[^`]*`)
              (?:::[a-zA-Z_#][\w#]*|`[^`]*`)*)(\s*)([(])z](?x)
              (?:[a-zA-Z_#][\w#]*|`[^`]*`)
              (?:::[a-zA-Z_#][\w#]*|`[^`]*`)*r   r    r{   r!   z[^/*]+z#pushú\*/ú#popú[*/]©r   r†   N)r,   r-   r.   r/   r0   r1   r2   r3   r4   r	   r5   Ú	Multiliner   r   r   r   ÚClassr6   r7   ÚPseudor
   r8   r   r   ÚFunctionr   r9   r   r:   r;   r+   r)   r   r   Å   sc  „ ñð €DØ
 €CØˆi€GØ�€IØ€Mð ˜Ÿ™Ð'Ø�W×&Ñ&¨	Ð2Ø! 6Ð*Ø! ;Ð/ð
ð ð
ðð
 —j‘jð"ðð
 �]‰]ðð % d§l¡l×&9Ñ&9Ð:Ø=¸xÐHðð �]‰]ðð 1°&Ð9ð<ñ �d—m‘m T¨;Ó7ð9ð1à26·-±-ðAð 0°Ð8Ø$ fÐ-Ø�ZÐ Ø�4ˆLðc2
ðh ˜×)Ñ)Ð*Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ñi:�Fr+   r   c            	       óØ   — e Zd ZdZdZdZdgZdgZdZde	j                  dfd	efd
ef edd¬«      efdefdefdefdefgde	j                  fde	j                  dfde	j                  fgdœZy)r   z
    A BC lexer.
    ÚBCz https://www.gnu.org/software/bc/Úbcz*.bcz2.1r…   r†   r   z[{}();,])ÚifÚelseÚwhileÚforÚbreakÚcontinueÚhaltÚreturnÚdefineÚautoÚprintÚreadÚlengthÚscaleÚsqrtÚlimitsÚquitÚwarrantyz\b)Úsuffixz!\+\+|--|\|\||&&|([-<>+*%\^/!=])=?z[0-9]+(\.[0-9]*)?z\.[0-9]+r!   z[^*/]+r‡   rˆ   r‰   rŠ   N)r,   r-   r.   r/   r0   r1   r2   r3   r4   r	   r‹   r   r   r   r   r
   r   r   r:   r;   r+   r)   r   r     sÉ   „ ñð €DØ
,€CØˆf€GØ�€IØ€Mð �W×&Ñ&¨	Ð2Ø! 6Ð*Ø˜+Ð&Ùð  ð ).ô/ð 18ð9ð"Ø#+ð-ð " 6Ð*Ø˜&Ð!Ø�4ˆLð
ð  ˜×)Ñ)Ð*Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð
ñ!�Fr+   r   )r/   r$   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r   r;   r+   r)   Ú<module>r¨      so   ðñó 
ç LÕ L÷-÷ -÷ -ò€ôCˆzô CôL7�eô 7ôt-�zô -ô`E�ô EôPˆjõ r+   