a
    kh                     @   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   sl   t tjdd}|| 7 }t 8}|t|dd |  t|j	|d}W d    n1 s^0    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   S/var/www/auris/lib/python3.9/site-packages/sympy/parsing/tests/test_custom_latex.pyinit_custom_parser   s    
,r   c                  C   sL   t t} ttjj$ | d | d W d    n1 s>0    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   s<   d|d v r&t jj|d ddS t jj|d S d S )N,r   .)sympycoreZnumbersZFloatreplaceZ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<0    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   
	