
    j                     6    d dl mZ d dlZ G d de          ZdS )    )EvalWithCompoundTypesNc                   0     e Zd ZdZdZd fd	ZddZ xZS )
SimpleEvalz]Rewrite SimpleEval.
    >>> s = SimpleEval("20 + 30 - ( 10 * 5)")
    >>> s.eval()
    0
    Nc                     t          t          |                               |           |dk    rD|| _        t	          j        |                                          j        d         j        | _	        dS dS )zCreate the evaluator instance.  Set up valid operators (+,-, etc)
        functions (add, random, get_val, whatever) and names.)	functions r   N)
superr   __init__exprastparsestripbodyvalueast_parsed_value)selfr   r   	__class__s      `/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/casbin/util/expression.pyr
   zSimpleEval.__init__   sh     	j$((9(===2::DI$'Idjjll$;$;$@$C$ID!!! :    c                 H    |r|| _         |                     | j                  S )z\evaluate an expresssion, using the operators, functions and
        names previously set up.)names_evalr   )r   r   s     r   evalzSimpleEval.eval$   s(      	DJzz$/000r   )N)__name__
__module____qualname____doc__r   r
   r   __classcell__)r   s   @r   r   r      si          J J J J J J1 1 1 1 1 1 1 1r   r   )
simpleevalr   r   r    r   r   <module>r!      sW    - , , , , , 



1 1 1 1 1& 1 1 1 1 1r   