o
    GZh                     @   s   d dl Z d dlZd dlmZ d dlZd dlmZ d dlmZm	Z	m
Z
 d dlmZ edZedu Ze je jedZdZd	Zdd
dZdd ZG dd de	Zdd ZdS )    N)Path)raises)LarkLaTeXParserTransformToSymPyExprparse_latex_lark)import_modulelarkz ../latex/lark/grammar/latex.larkzA
%override DIV_SYMBOL: DIV
%override MUL_SYMBOL: MUL | CMD_TIMES
z 
%override number: /\d+(,\d*)?/
c                 C   sn   t tjdd}|| 7 }t }|t|dd |  t|j	|d}W d    |S 1 s0w   Y  |S )Nzutf-8)encodingutf8)grammar_filetransformer)
r   r   	read_texttempfileNamedTemporaryFilewritebytesflushr   name)Zmodificationr   Zlatex_grammarfparser r   T/var/www/auris/lib/python3.10/site-packages/sympy/parsing/tests/test_custom_latex.pyinit_custom_parser   s   

r   c                  C   sN   t t} ttjj | d | d W d    d S 1 s w   Y  d S )Nz	a \cdot bzx \div y)r   modification1r   r   
exceptionsUnexpectedCharactersdoparser   r   r   r   test_custom1&   s
   
"r   c                   @   s   e Zd Zdd ZdS )CustomTransformerc                 C   s8   d|d v rt jj|d ddS t jj|d S )N,r   .)sympycorenumbersFloatreplaceInteger)selftokensr   r   r   number0   s   zCustomTransformer.numberN)__name__
__module____qualname__r*   r   r   r   r   r   /   s    r   c                  C   sr   t tt} ttjj td td W d    n1 sw   Y  | d | d | d | d d S )Nz100,1z0,009z2,71828z3,14159)	r   modification2r   r   r   r   r   r   r   r   r   r   r   test_custom27   s   




r/   )N)osr   pathlibr   r"   Zsympy.testing.pytestr   Zsympy.parsing.latex.larkr   r   r   Zsympy.externalr   r   disabledpathjoindirname__file__r   r   r.   r   r   r   r/   r   r   r   r   <module>   s     
	