Your IP : 216.73.216.213
B
ʽ�\! � @ s� d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ ddddgZG d d� de�ZG d
d� de�ZG dd� de�ZG dd� de�ZdS )
z�
pygments.lexers.algebra
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for computer algebra systems.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�bygroups�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�GAPLexer�MathematicaLexer�
MuPADLexer�BCLexerc @ s� e Zd ZdZdZdgZddddgZdd ejfd
e fde
fdefd
ej
fdejfdefdejfdejfdefdefdefgiZdS )r
zX
For `GAP <http://www.gap-system.org>`_ source code.
.. versionadded:: 2.0
ZGAPZgapz*.gz*.gdz*.giz*.gap�rootz#.*$z"(?:[^"\\]|\\.)*"z\(|\)|\[|\]|\{|\}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+|`[^`]*`)*z[0-9]+(?:\.[0-9]*)?(?:e[0-9]+)?z\.[0-9]+(?:e[0-9]+)?�.N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenamesr �Singler
r r r �Constant�Builtinr �Word�Variabler r �tokens� r r �H/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/algebra.pyr
s( c @ s� e Zd ZdZdZdddgZdddd gZd
ddd
gZdZdZ dd� Z
ddefdej
fdejfdejfdefdejfdejfdejfee�efee �efdefdejfgiZdS )r zp
Lexer for `Mathematica <http://www.wolfram.com/mathematica/>`_ source code.
.. versionadded:: 2.0
ZMathematicaZmathematicaZmma�nbz*.nbz*.cdfz*.nbpz*.mazapplication/mathematicaz#application/vnd.wolfram.mathematicaz+application/vnd.wolfram.mathematica.packagezapplication/vnd.wolfram.cdf) z;;�=z=.z!===z:=z->z:>z/.�+�-�*�/�^z&&z||�!z<>�|z/;�?�@z//z/@z@@z@@@z~~z===�&�<�>z<=z>=)�,�;�(�)�[�]�{�}c C s dd� dd� | D �� S )Nz(%s)r* c s s | ]}t �|�V qd S )N)�re�escape)�.0�entryr r r! � <genexpr>` s z1MathematicaLexer._multi_escape.<locals>.<genexpr>)�join)�entriesr r r! �
_multi_escape_ s zMathematicaLexer._multi_escaper 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".*?"z\s+N)r r r r r r r Z mimetypesZ operators�punctuationr? r r Z Namespacer r ZFloatZIntegerr r r r
r �
Whitespacer r r r r! r H s0
c @ s� e Zd ZdZdZdgZdgZdejfdej dfde
fd efd
efde
jfde
jfd
e
jjfdefdejfdefdee
jee�fde
jfdefdefdefgdej fdej dfdej dfdej fgd�ZdS )r z�
A `MuPAD <http://www.mupad.com>`_ lexer.
Contributed by Christopher Creutzig <christopher@creutzig.de>.
.. versionadded:: 0.8
ZMuPADZmupadz*.muz//.*?$z/\*�commentz"(?:[^"\\]|\\.)*"z\(|\)|\[|\]|\{|\}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#]*|`[^`]*`)*z[0-9]+(?:\.[0-9]*)?(?:e[0-9]+)?z\.[0-9]+(?:e[0-9]+)?r z[^*/]z#pushz\*/z#popz[*/])r rB N)r r r r r r r r r � Multiliner
r r r ZClassr r ZPseudor r r r ZFunctionr r r r r r r! r w s6
c @ s� e Zd ZdZdZdgZdgZdejdfde fde
fed d
d�efde
fd
efdefdefgdejfdejdfdejfgd�ZdS )r zV
A `BC <https://www.gnu.org/software/bc/>`_ lexer.
.. versionadded:: 2.1
ZBCZbcz*.bcz/\*rB z"(?:[^"\\]|\\.)*"z[{}();,])�if�else�while�for�break�continueZhalt�returnZdefine�auto�print�read�lengthZscale�sqrtZlimits�quitZwarrantyz\b)�suffixz!\+\+|--|\|\||&&|([-<>+*%\^/!=])=?z[0-9]+(\.[0-9]*)?z\.[0-9]+r z[^*/]+z\*/z#popz[*/])r rB N)r r r r r r r r rC r
r r r r r r r r r r r! r � s"