�
|�e�
� �h � d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ dgZ G d� de� Zy)a
pygments.lexers.maxima
~~~~~~~~~~~~~~~~~~~~~~
Lexer for the computer algebra system Maxima.
Derived from pygments/lexers/algebra.py.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�bygroups�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�MaximaLexerc � � e Zd ZdZdZdZddgZddgZdZd Z d
Z
dZdej d
fdefdefdef ee � ej$ f ee� ef ee
� ef ee� ej* fd eej. ej2 e� fdej4 fdej8 fdej: fdej2 fdefgdej fdej dfdej dfdej fgd�Zd� Zy)r zb
A Maxima lexer.
Derived from pygments.lexers.MuPADLexer.
.. versionadded:: 2.11
�Maximazhttp://maxima.sourceforge.net�maxima�macsymaz*.macz*.max)�if�then�else�elseif�do�while�repeat�until�for�from�to�downto�step�thru)z%piz%ez%phiz%gammaz%i�und�ind�infinity�inf�minf�true�false�unknown�done)�.�:�=�#�+�-�*�/�^�@�>�<�|�!�')�and�or�notz/\*�commentz"(?:[^"\\]|\\.)*"z\(|\)|\[|\]|\{|\}z[,;$]zi(?x)
((?:[a-zA-Z_#][\w#]*|`[^`]*`)
(?:::[a-zA-Z_#][\w#]*|`[^`]*`)*)(\s*)([(])za(?x)
(?:[a-zA-Z_#%][\w#%]*|`[^`]*`)
(?:::[a-zA-Z_#%][\w#%]*|`[^`]*`)*z>[-+]?(\d*\.\d+([bdefls][-+]?\d+)?|\d+(\.\d*)?[bdefls][-+]?\d+)z[-+]?\d+z\s+r* z[^*/]+z#pushz\*/z#popz[*/])�rootr< |