§
    ‹Ÿj0'  ã                   óò   — 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dS )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dS )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     úd/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/pygments/lexers/algebra.pyÚanalyse_textzGAPLexer.analyse_textG   sh   € Øˆõ Œ9ð>Ø?Cñ
ô 
ð 	ð �S‰LˆEõ Œ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Ð0Ð0€IØ€Mð 	Ø�g”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dS )r   zD
    For GAP console sessions. Modeled after JuliaConsoleLexer.
    zGAP sessionzgap-consolezgap-replz*.tstr   z2.14zgap-repl/euclidean.tstc           	   #   óx  K  — t          di | j        ¤Ž}d}d}g }d}d}|                     d¬¦  «        D �]W}|                     d¦  «        s|                     d¦  «        rL|                     t          |¦  «        dt          j        |d d…         fgf¦  «         ||dd …         z  }d}d}nÌ|s]|                     d	¦  «        rH|                     t          |¦  «        dt          j        |d d
…         fgf¦  «         ||d
d …         z  }nm|r-t          || 	                    |¦  «        ¦  «        E d {V —† d}g }|                     d¦  «        s|r|t          j
        |fV — d}n|t          j        |fV — d}|t          |¦  «        z  }�ŒY|r+t          || 	                    |¦  «        ¦  «        E d {V —† d S d S )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   sY  è è € ÝÐ+Ð+˜dœlÐ+Ð+ˆØˆØˆØˆ
ØˆØˆà—O’O¨T�OÑ2Ô2ð 	ñ 	ˆDØ�Š˜wÑ'Ô'ð ¨4¯?ª?¸7Ñ+CÔ+Cð Ø×!Ò!¥3 w¡<¤<°1µg´nÀdÈ2ÈAÈ2ÄhÐ2OÐ1PÐ"QÑRÔRÐRØ˜4   œ8Ñ#�Ø�Ø��Øð  §¢°Ñ 5Ô 5ð Ø×!Ò!¥3 w¡<¤<°1µg´nÀdÈ2ÈAÈ2ÄhÐ2OÐ1PÐ"QÑRÔRÐRØ˜4   œ8Ñ#��àð $Ý,Ø" H×$CÒ$CÀGÑ$LÔ$Lñ Nô  Nð Nð Nð Nð Nð Nð Nð Nà �GØ!#�JØ—?’? 9Ñ-Ô-ð 6°ð 6Ø¥¤°Ð4Ð4Ð4Ð4Ø �E�Eà¥¤°Ð5Ð5Ð5Ð5Ø�Ø•S˜‘Y”YÑˆE‰Eàð 	FÝ$Ø˜H×;Ò;¸GÑDÔDñFô Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð	Fð 	Fr+   c                 ó4   — t          j        d| ¦  «        rdS dS )Nz^gap> gÍÌÌÌÌÌì?r#   )r$   r%   )r'   s    r)   r*   zGAPConsoleLexer.analyse_textŠ   s"   € õ
 Œ9�Y Ñ%Ô%ð 	Ø�3à�3r+   N)r,   r-   r.   r/   r0   r2   r3   r1   r4   Ú_examplerH   r*   r;   r+   r)   r   r   [   sg   € € € € € ðð ð €DØ˜jÐ)€GØ�	€IØ
&€CØ€MØ'€Hð!Fð !Fð !FðHð ð ð ð r+   r   c                   óþ   — 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j        fgiZdS )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                 óf   — d                      d                     d„ | D ¦   «         ¦  «        ¦  «        S )Nz({})rc   c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S )N)r$   Úescape)Ú.0Úentrys     r)   ú	<genexpr>z1MathematicaLexer._multi_escape.<locals>.<genexpr>®   s,   è è € Ð%LÐ%L¸5¥b¤i°Ñ&6Ô&6Ð%LÐ%LÐ%LÐ%LÐ%LÐ%Lr+   )ÚformatÚjoin)Úentriess    r)   Ú_multi_escapezMathematicaLexer._multi_escape­   s/   € Ø�}Š}˜SŸXšXÐ%LÐ%LÀGÐ%LÑ%LÔ%LÑLÔLÑMÔ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ÐCÐC€Ið/ð /ð /€Ið
 €Mð€Ið ;€KðNð Nð Nð 	Ø Ð)à(¨$¬.Ð9Ø,¨d¬mÐ<Ø�d”mÐ$Ø'¨Ð.à˜FœLÐ)Ø˜FœLÐ)Ø�v”~Ð&àˆU�9ÑÔ˜xÐ(ØˆU�;ÑÔ Ð-Ø�vÐØ�T”_Ð%ð
ð€F€F€Fr+   r   c                   óP  — 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j        ee¦  «        fdej        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dS ) 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   Å   s^  € € € € € ðð ð €DØ
 €CØˆi€GØ�€IØ€Mð ˜œÐ'Ø�WÔ&¨	Ð2Ø! 6Ð*Ø! ;Ð/ð
ð ð
ðð
 ”jð"ðð
 Œ]ðð % d¤lÔ&9Ð:Ø=¸xÐHðð Œ]ðð 1°&Ð9ð<ð ˆX�d”m T¨;Ñ7Ô7ð9ð1à26´-ðAð 0°Ð8Ø$ fÐ-Ø�ZÐ Ø�4ˆLðc2
ðh ˜Ô)Ð*Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð	
ði:ð :€F€F€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dS )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Ð*Ø˜+Ð&ØˆUð  ð ).ð/ñ /ô /ð 18ð9ð"Ø#+ð-ð " 6Ð*Ø˜&Ð!Ø�4ˆLð
ð  ˜Ô)Ð*Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð
ð!ð €F€F€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¨      s½  ððð ð 
€	€	€	à LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Lð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ðð ð €ðCð Cð Cð Cð Cˆzñ Cô Cð CðL7ð 7ð 7ð 7ð 7�eñ 7ô 7ð 7ðt-ð -ð -ð -ð -�zñ -ô -ð -ð`Eð Eð Eð Eð E�ñ Eô Eð EðPð ð ð ð ˆjñ ô ð ð ð r+   