o
    \h›
  ã                   @   sb   d Z ddlZddl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 dgZG dd„ deƒZdS )a  
    pygments.lexers.maxima
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the computer algebra system Maxima.

    Derived from pygments/lexers/algebra.py.

    :copyright: Copyright 2006-2025 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                   @   sò   e Zd ZdZdZdZddgZddgZdZd	Z	d
Z
dZdZdejdfdefdefdefee
ƒejfee	ƒefeeƒefeeƒejfdeejejeƒfdejfdejfdejfdej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d„ Z d S )!r   zF
    A Maxima lexer.
    Derived from pygments.lexers.MuPADLexer.
    ÚMaximazhttp://maxima.sourceforge.netÚmaximaÚmacsymaz*.macz*.maxz2.11)Ú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:   c                 C   s0   d}t  d| t j¡r|d7 }d| v r|d7 }|S )Ng        z\$\s*$gš™™™™™©?z:=g{®Gáz”?)ÚreÚsearchÚ	MULTILINE)ÚtextÚstrength© rA   úY/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/maxima.pyÚanalyse_textL   s   zMaximaLexer.analyse_textN)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚversion_addedÚkeywordsÚ	constantsÚ	operatorsÚoperator_wordsr   Ú	Multiliner
   r   r   r	   ÚConstantr   r   ÚWordr   ÚFunctionr   Ú
WhitespaceÚVariabler   ÚFloatÚIntegerÚtokensrC   rA   rA   rA   rB   r      sJ    


ýþí

üê)rG   r<   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   Ú__all__r   rA   rA   rA   rB   Ú<module>   s    (