
    oVh                        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                  j!                  e j                  j#                  e      d      ZdZd	Zdd
Zd Z G d de	      Zd Zy)    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                 (   t        t              j                  d      }|| z  }t        j                         5 }|j                  t        |d             |j                          t        |j                  |      }d d d        |S # 1 sw Y   S xY w)Nzutf-8)encodingutf8)grammar_filetransformer)
r   r   	read_texttempfileNamedTemporaryFilewritebytesflushr   name)modificationr   latex_grammarfparsers        U/home/dcms/DCMS/lib/python3.12/site-packages/sympy/parsing/tests/test_custom_latex.pyinit_custom_parserr      s    &00'0BM\!M		$	$	& O!	mf56		 aff+N	O MO Ms   ABBc                      t        t              } t        t        j                  j
                        5  | j                  d       | j                  d       d d d        y # 1 sw Y   y xY w)Nz	a \cdot bzx \div y)r   modification1r   r	   
exceptionsUnexpectedCharactersdoparser   s    r   test_custom1r"   &   sM      .F	44	5 $|${#$ $ $s   #AA(c                       e Zd Zd Zy)CustomTransformerc                     d|d   v r<t         j                  j                  j                  |d   j	                  dd            S t         j                  j                  j                  |d         S )N,r   .)sympycorenumbersFloatreplaceInteger)selftokenss     r   numberzCustomTransformer.number0   sY    &)::%%++F1I,=,=c3,GHH::%%--fQi88    N)__name__
__module____qualname__r0    r1   r   r$   r$   /   s    9r1   r$   c                  P   t        t        t              } t        t        j
                  j                        5  t        d       t        d       d d d        | j                  d       | j                  d       | j                  d       | j                  d       y # 1 sw Y   NxY w)Nz100,1z0,009z2,71828z3,14159)	r   modification2r$   r   r	   r   r   r   r    r!   s    r   test_custom2r8   7   s|      /@AF	44	5 " 	!!	" NN7
NN7
NN9
NN9" "s   BB%)N)osr   pathlibr   r(   sympy.testing.pytestr   sympy.parsing.latex.larkr   r   r   sympy.externalr   r	   disabledpathjoindirname__file__r   r   r7   r   r"   r$   r8   r5   r1   r   <module>rC      s~    	    ' \ \ (V 4<ww||BGGOOH57YZ

$9, 9r1   