YBFj0'dZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZgdZGddeZGdd eZGd d eZGd d eZGddeZdS)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 RegexLexerbygroups do_insertionswords) TextCommentOperatorKeywordNameStringNumber PunctuationGeneric Whitespace)GAPLexerGAPConsoleLexerMathematicaLexer MuPADLexerBCLexerceZdZdZdZdZdgZgdZdZdde j fd e fd e fd e fd ejfd ejfdefdejfdejfdefdefdefg iZdZdS)rz For GAP source code. GAPhttps://www.gap-system.orggap)z*.gz*.gdz*.giz*.gap2.0rootz#.*$"(?:[^"\\]|\\.)*"\(|\)|\[|\]|\{|\}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\.|,|:=|;|=|\+|-|\*|/|\^|>|?C    SLE 9 HIM    SLE5#N)__name__ __module__ __qualname____doc__nameurlaliases filenames version_addedr Singler rr r ConstantBuiltinr WordVariablerrtokensr*r+r)rrs D &CgG000IM  gn % !6 * !; /  ] \   -h 7] $%)] 40 8 $f - 4LG$ &FPr+rc<eZdZdZdZddgZdgZdZdZdZ d Z d Z d S) rzD For GAP console sessions. Modeled after JuliaConsoleLexer. z GAP sessionz gap-consolezgap-replz*.tstrz2.14zgap-repl/euclidean.tstc #xKtd i|j}d}d}g}d}d}|dD]W}|ds|drL|t |dt j|ddfgf||ddz }d}d}n|s]|d rH|t |dt j|dd fgf||d dz }nm|r-t|| |Ed{Vd}g}|d s|r|t j |fVd}n|t j |fVd}|t |z }Y|r+t|| |Ed{VdSdS) NrFT)keependszgap> zbrk> z> zError, r;) roptions splitlines startswithappendlenrPromptrget_tokens_unprocessedErrorOutput) selfr'gaplexerstartcurcode insertionsoutputerrorlines r)rHz&GAPConsoleLexer.get_tokens_unprocessedfsY++dl++ OOTO22  Dw'' 4??7+C+C !!3w<<1gnd2A2h2O1P"QRRR48#  5 5 !!3w<<1gnd2A2h2O1P"QRRR48#$,"H$C$CG$L$L N NNNNNNNN G!#J??9--664444 EE5555 SYY EE  F$H;;GDDFF F F F F F F F F F F Fr+c4tjd|rdSdS)Nz^gap> g?r#)r$r%)r's r)r*zGAPConsoleLexer.analyse_texts" 9Y % % 33r+N) r,r-r.r/r0r2r3r1r4_examplerHr*r;r+r)rr[sg Dj)G I &CM'H!F!F!FHr+rceZdZdZdZdZgdZgdZgdZdZ dZ d Z d Z d d e fd ejfdejfdejfdefdejfdejfdejfee efee efdefdejfg iZdS)rz, Lexer for Mathematica source code. Mathematicaz!https://www.wolfram.com/language/) mathematicammanbwlwolfram)z*.nbz*.cdfz*.nbpz*.maz*.wlz*.wls)zapplication/mathematicaz#application/vnd.wolfram.mathematicaz+application/vnd.wolfram.mathematica.packagezapplication/vnd.wolfram.cdfzapplication/vnd.wolfram.wlr) z;;=z=.z!===z:=z->z:>z/.+-*/^z&&z||!z<>|z/;?@z//z/@z@@z@@@z~~z===&<>z<=z>=),;()[]{}cfddd|DS)Nz({})rcc3>K|]}tj|VdS)N)r$escape).0entrys r) z1MathematicaLexer._multi_escape..s,%L%L5bi&6&6%L%L%L%L%L%Lr+)formatjoin)entriess r) _multi_escapezMathematicaLexer._multi_escapes/}}SXX%L%LG%L%L%LLLMMMr+rz(?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/r0r1r2r3 mimetypesr4 operators punctuationrzr r Namespacer9rFloatIntegerrr rr rrr:r;r+r)rrs D -C;;;GCCCI///I MI ;KNNN   ) ($. 9 ,dm < dm $ ' . FL ) FL ) v~ & U9  x ( U;   - v  T_ % FFFr+rcPeZdZdZdZdZdgZdgZdZde j fde j d fd e fd e fd efd ejfdejfdejjfdefdejfdefdeejee fdejfdefdefdefdefgde j fde j dfde j dfde j fgdZdS) rz[ A MuPAD lexer. Contributed by Christopher Creutzig . MuPADzhttp://www.mupad.commupadz*.muz0.8z//.*?$/\*commentrra(?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#]*|`[^`]*`)*rr r{r!z[^/*]+z#push\*/#pop[*/]rrN)r,r-r.r/r0r1r2r3r4r r5 Multiliner rr r Classr6r7Pseudor r8rrFunctionrr9rr:r;r+r)rrs^ D CiGIM ' W& 2 !6 * !; /   j  "  ]   %dl&9 : =x H ]  1& 9<XdmT; 7 7 9126- A0 8 $f - Z 4Lc2 h) * W& 0 W& / g' (  i::FFFr+rc eZdZdZdZdZdgZdgZdZde j dfd e fd e fe d d efdefdefdefdefgde j fde j dfde j fgdZdS)rz A BC lexer. BCz https://www.gnu.org/software/bc/bcz*.bcz2.1rrrz[{}();,])ifelsewhileforbreakcontinuehaltreturndefineautoprintreadlengthscalesqrtlimitsquitwarrantyz\b)suffixz!\+\+|--|\|\||&&|([-<>+*%\^/!=])=?z[0-9]+(\.[0-9]*)?z\.[0-9]+r!z[^*/]+rrrrN)r,r-r.r/r0r1r2r3r4r rr rrr r rrr:r;r+r)rr s D ,CfGIMW& 2 !6 * + & U ).///18 9"#+ -"6 * & ! 4L ) * W& / g' ( !FFFr+r)r/r$pygments.lexerrrrrrpygments.tokenrr r r r r rrrr__all__rrrrrr;r+r)rs LLLLLLLLLLLLLL------------------------   CCCCCzCCCL77777e777t-----z---`EEEEEEEEPjr+