
    g^                       d dl mZ d dlmZmZ d dlmZ  edddgi          Zerd dlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d d	l m!Z!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-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3m4Z4 d dl5m6Z6 d dl1m7Z7m8Z8 d dl9Z9d Z:d Z;d Z<d Z=ed             Z>ed             Z?ed             Z@d ZAd ZBed             ZCd ZDd ZEd ZFed             ZGdS d ZHdS )    SymPyExpression)raisesXFAIL)import_modulezclang.cindexfromlistcindex)import_kwargs)VariableStringReturnFunctionDefinitionIntegerFloatDeclaration	CodeBlockFunctionPrototypeFunctionCall	NoneToken
AssignmentTypeIntBaseTypeSignedIntTypeUnsignedIntType	FloatTypeAddAugmentedAssignmentSubAugmentedAssignmentMulAugmentedAssignmentDivAugmentedAssignmentModAugmentedAssignmentWhile)PreDecrementPostDecrementPreIncrementPostIncrement)AddMulModPowRationalStrictLessThanLessThanStrictGreaterThanGreaterThanEquality
Unequality)AndNotOr)Symbol)falsetrueNc                  B
   d} d}d}d}t          | d                                          }t          |d                                          }t          |d                                          }t          |d                                          }|d         t          t          t	          d          t          t          d                    	                    k    sJ |d
         t          t          t	          d          t          t          d                    	                    k    sJ |d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    	                    k    sJ |d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    	                    k    sJ |d         t          t          t	          d          t          t          d                    	                    k    sJ |d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    	                    k    sJ |d         t          t          t	          d          t          t          d                    	                    k    sJ |d         t          t          t	          d          t          t          d                    t          d
                              k    sJ |d
         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ d S )Nint a;
int b;
zfloat a;
float b;
zint a;
float b;
int c;z+int x = 1, y = 6.78;
float p = 2, q = 9.67;cr   aintctype   bfloat32          nbitsnmantnexp   xr=   valuey   p2.05   	precision   qz9.67)
r   return_exprr   r   r4   r   r   r   r   r   c_src1c_src2c_src3c_src4res1res2res3res4s           ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/parsing/tests/test_c_parser.pytest_variabler`      s@    	
  	
 	% 	
 vs++7799vs++7799vs++7799vs++7799Aw+s 00  
 
 
 
 
 
 Aw+s 00  
 
 
 
 
 
 Aw+s9%%!"++!"++ 	    

 

 

 

 

 

 Aw+s9%%!"++!"++ 	    

 

 

 

 

 

 Aw+s 00  
 
 
 
 
 
 Aw+s9%%!"++!"++ 	    

 

 

 

 

 

 Aw+s 00  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   ER000	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   Fb111	 	 	
 
 
 
 
 
 
 
    c                  p%   d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}t          | d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |	d                                          }t          |
d                                          }t          |d                                          }t          |d                                          }t          |d                                          }|d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d           t          t          d                    t          d                              k    sJ |d         t          t          t	          d!          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d"          t          d#          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d"          t          d#          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d%          t          d&          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d%          t          d&          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d%          t          d&          $          t          d                              k    sJ |d'         t          t          t	          d(          t          t          d%          t          d&          $          t          d                              k    sJ |d)         t          t          t	          d*          t          t          d%          t          d&          $          t          d                              k    sJ |d         t          t          t	          d+          t          t          d%          t          d&          $          t          d                              k    sJ |d         t          t          t	          d,          t          t          d%          t          d&          $          t          d                              k    sJ |d-         t          t          t	          d.          t          t          d%          t          d&          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d'         t          t          t	          d(          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d/          t          d0          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d/          t          d0          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d/          t          d0          $          t          d                              k    sJ |d'         t          t          t	          d(          t          t          d/          t          d0          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d1          t          d#          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d1          t          d#          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d2          t          d&          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d2          t          d&          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d2          t          d&          $          t          d                              k    sJ |d'         t          t          t	          d(          t          t          d2          t          d&          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d3          t          d4          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d3          t          d4          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d5          t          d0          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d5          t          d0          $          t          d                              k    sJ |d         t          t          t	          d          t          t          d5          t          d0          $          t          d                              k    sJ |d'         t          t          t	          d(          t          t          d5          t          d0          $          t          d                              k    sJ d S )6Nz
int a = 1;zint a = 1;
int b = 2;
zint a = 2.345, b = 5.67;zint p = 6, q = 23.45;zint x = '0', y = 'a';zint r = true, s = false;zsigned char a = 1, b = 5.1;zjshort a = 1, b = 5.1;signed short c = 1, d = 5.1;short int e = 1, f = 5.1;signed short int g = 1, h = 5.1;z-signed int a = 1, b = 5.1;int c = 1, d = 5.1;z,long a = 1, b = 5.1;long int c = 1, d = 5.1;zunsigned char a = 1, b = 5.1;z@unsigned short a = 1, b = 5.1;unsigned short int c = 1, d = 5.1;zunsigned int a = 1, b = 5.1;z>unsigned long a = 1, b = 5.1;unsigned long int c = 1, d = 5.1;r9   r   r:   r;   r>   rJ   r?   rH      rN   rM   rT   rB   rI   0   rL   a   rsint8rC   )rE   int16   rS   d   efg   hint64@   uint8uint16uint32rA   uint64)
r   rU   r   r   r4   r   r   r   r   r   )rW   rX   rY   rZ   c_src5c_src6c_src_type1c_src_type2c_src_type3c_src_type4c_src_type5c_src_type6c_src_type7c_src_type8r[   r\   r]   r^   res5res6	res_type1	res_type2	res_type3	res_type4	res_type5	res_type6	res_type7	res_type8s                               r_   test_intr      s8     	 ,((+ * 	/ 	" 	' 	 61 	 50 	
 vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799#K55AACC	#K55AACC	#K55AACC	#K55AACC	#K55AACC	#K55AACC	#K55AACC	#K55AACC	Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00bkk  
 
 
 
 
 
 Aw+s 00bkk  
 
 
 
 
 
 Aw+s 00bkk  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 Aw+s 00ajj  
 
 
 
 
 
 |{s"6NN!!**   ajj  	  	  	 	 	 	 |{s"6NN!!**   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{VC[["7OO!"++   ajj          |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s 00ajj          |{s 00ajj          |{s 00ajj          |{s 00ajj          |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s"7OO!"++   ajj  	  	  	 	 	 	 |{s$7OO!!**   ajj  	  	  	 	 	 	 |{s$7OO!!**   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 |{s$8$$!"++   ajj  	  	  	 	 	 	 	 	ra   c                     d} d}d}d}d}d}d}d}t          | d	                                          }t          |d	                                          }	t          |d	                                          }
t          |d	                                          }t          |d	                                          }t          |d	                                          }t          |d	                                          }t          |d	                                          }|d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |	d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |	d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |
d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |
d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |d
         t          t          t	          d           t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |d         t          t          t	          d!          t          t          d          t          d          t          d          t          d                    t          d"d                              k    sJ |d
         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          dd                              k    sJ |d         t          t          t	          d          t          t          d          t          d          t          d          t          d                    t          d#d                              k    sJ |d
         t          t          t	          d          t          t          d$          t          d%          t          d&          t          d'                    t          dd                              k    sJ |d         t          t          t	          d          t          t          d$          t          d%          t          d&          t          d'                    t          d#d                              k    sJ |d
         t          t          t	          d          t          t          d(          t          d)          t          d*          t          d+                    t          dd                              k    sJ |d         t          t          t	          d          t          t          d(          t          d)          t          d*          t          d+                    t          d#d                              k    sJ d S ),Nzfloat a = 1.0;z float a = 1.25;
float b = 2.39;
zfloat x = 1, y = 2;zfloat p = 5, e = 7.89;zfloat r = true, s = false;zfloat x = 1, y = 2.5;zdouble x = 1, y = 2.5;zlong double x = 1, y = 2.5;r9   r   r:   r@   rA   rB   rC   rD   z1.0rP   rQ   rJ   1.25r>   r?   z2.3900000000000001rI   rL   rO   rN   z5.0rm   z7.89rf   rg   z0.02.5float64rs   4      float80P   ?      )	r   rU   r   r   r4   r   r   r   r   )rW   rX   rY   rZ   rx   rz   r{   r|   r[   r\   r]   r^   r   r   r   r   s                   r_   
test_floatr   w  sj	   !% 	 ')- . / 4vs++7799vs++7799vs++7799vs++7799vs++7799#K55AACC	#K55AACC	#K55AACC	Aw+s9%%!"++!"++ 	   ER000	 	 	      Aw+s9%%!"++!"++ 	   Fb111	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   0B???	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   ER000	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   ER000	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   ER000	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   Fb111	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   ER000	 	 	
 
 
 
 
 
 Aw+s9%%!"++!"++ 	   ER000	 	 	
 
 
 
 
 
 |{s9%%!"++!"++ 	   ER000	 	 	        |{s9%%!"++!"++ 	   ER000	 	 	        |{s9%%!"++!"++ 	   ER000	 	 	        |{s9%%!"++!"++ 	   ER000	 	 	        |{s9%%!"++!"++ 	   ER000	 	 	        |{s9%%!"++!"++ 	   ER000	 	 	         ra   c                  D   d} d}d}d}t          | d                                          }t          |d                                          }t          |d                                          }t          |d                                          }|d         t          t          t	          d          t          t          d                    t          	                    k    sJ |d
         t          t          t	          d          t          t          d                    t          	                    k    sJ |d         t          t          t	          d          t          t          d                    t          	                    k    sJ |d
         t          t          t	          d          t          t          d                    t          	                    k    sJ |d         t          t          t	          d          t          t          d                    t          	                    k    sJ |d
         t          t          t	          d          t          t          d                    t          	                    k    sJ |d         t          t          t	          d          t          t          d                    t          	                    k    sJ |d
         t          t          t	          d          t          t          d                    t          	                    k    sJ |d         t          t          t	          d          t          t          d                    t          	                    k    sJ d S )Nzbool a = true, b = false;zbool a = 1, b = 0;zbool a = 10, b = 20;z bool a = 19.1, b = 9.0, c = 0.0;r9   r   r:   boolrJ   r>   r?   rH   )	r   rU   r   r   r4   r   r   r6   r5   rV   s           r_   	test_boolr   W  s   ' 	
 ! 	
 # 	
 / 	 vs++7799vs++7799vs++7799vs++7799Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))        Aw+VC[[&..))         ra   c                  R   d} d}d}d}t          | d                                          }t          |d                                          }t          |d                                          }t          |d                                          }|d         t          t                      t	          d          dt          t          t          t          d	          t          t	          d
                                                            k    sJ |d         t          t          t	          d
                    t	          d          dt          t          t          t          d	          t          t	          d
                                        t          d	                              k    sJ |d         t          t          t	          d          t          d          t          d          t          d                    t	          d          dt          t          t          t          d          t          t	          d          t          d          t          d          t          d                                        t          d                              k    sJ |d         t          t          t	          d          t          d          t          d          t          d                    t	          d          d          k    sJ d S )Nvoid fun1()
{
int a;
}zint fun2()
{
int a;
return a;
}z#float fun3()
{
float b;
return b;
}zfloat fun4()
{}r9   r   fun1 r:   r;   r<   name
parametersbodyfun2r@   rA   rB   rC   rD   fun3r?   fun4)r   r   )r   rU   r   r   r   r   r   r   r4   r   r   r   r   r   rV   s           r_   test_functionr     s'    	 	 	 	
 vs++7799vs++7799vs++7799vs++7799Aw,KKs(88    	
 
 
 
 
 
 
 Aw,v''s(88    s 	
 
 
 
 
 
 
 Aw,y!!bkkbkkQZZ	   s&"9--")"++")"++!(	    
 
 s 
 
 
 
 
 
 
2 Aw+y!!bkkbkkQZZ	   	
 	
 	
 	
 	
 	
 	
 	
 	
ra   c                     d} d}d}t          | d                                          }t          |d                                          }t          |d                                          }|d         t          t                      t	          d          t          t          d          t          t	          d                    	          ft          t          t          t          d
          t          t	          d                    	                                        k    sJ |d         t          t          t	          d                    t	          d          t          t          d          t          t	          d          t          d          t          d          t          d                    	          t          t          d          t          t	          d          t          d          t          d          t          d                    	          ft          t          t          t          d          t          t	          d                    	                    t          d                              k    sJ |d         t          t          t	          d          t          d          t          d          t          d                    t	          d          t          t          d          t          t	          d                    	          t          t          d          t          t	          d          t          d          t          d          t          d                    	          t          t          d          t          t	          d                    	          ft          t          t          t          d          t          t	          d          t          d          t          d          t          d                    	                    t          d                              k    sJ d S )Nzvoid fun1( int a)
{
int i;
}z/int fun2(float x, float y)
{
int a;
return a;
}z8float fun3(int p, float q, int r)
{
float b;
return b;
}r9   r   r   r:   r;   r<   ir   r   rI   r@   rA   rB   rC   rD   rL   r   rN   rT   rf   r?   )r   rU   r   r   r   r   r4   r   r   r   r   r   r   )rW   rX   rY   r[   r\   r]   s         r_   test_parametersr     s    	 	 	 vs++7799vs++7799vs++7799Aw,KK3KK$VF^^44   s(88    
 
 
 
 
 
 
& Aw,v''3KK"y))%bkk%bkk$QZZ	     3KK"y))%bkk%bkk$QZZ	    ( s(88    s / 
  
  
  
  
  
  
D Aw,y!!bkkbkkQZZ	   3KK$VF^^44   3KK"y))%bkk%bkk$QZZ	     3KK$VF^^44  & s&"9--")"++")"++!(	    
 
 s 7)
 )
 )
 )
 )
 )
 )
 )
 )
ra   c                  ~   d} d}d}d}d}t          | d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }	|d         t          t          t	          d                    t	          d	          t          t          d
          t          t	          d                              ft          t          d
                              k    sJ |d         t          t                      t	          d          dt          t          t          t          d
          t          t	          d	          t          d          f                                                  k    sJ |d         t          t          t	          d                    t	          d          t          t          d          t          t	          d                              t          t          d          t          t	          d                              t          t          d          t          t	          d                              ft          t          d                              k    sJ |d         t          t                      t	          d          dt          t          t          t          d          t          t	          d          t          d          t          d          t          d          f                                                  k    sJ |d         t          t          t	          d                    t	          d          t          t          d          t          t	          d                              t          t          d          t          t	          d                              t          t          d          t          t	          d                              ft          t          d                              k    sJ |d         t          t                      t	          d          dt          t          t          t          d          t          t	          d                                        t          t          t          d          t          t	          d                                        t          t          t          d          t          t	          d                                        t          t          t          d          t          t	          d          t          d          t          d          t          d          f                                                  k    sJ |d         t          t          t	          d                    t	          d          t          t          d          t          t	          d          t          d           t          d!          t          d"          #                    t          t          d          t          t	          d          t          d           t          d!          t          d"          #                    t          t          d          t          t	          d                              ft          t          d                              k    sJ |d         t          t                      t	          d          dt          t          t          t          d
          t          t	          d          t          d           t          d!          t          d"          #                              t          t          t          d          t          t	          d          t          d           t          d!          t          d"          #                              t          t          t          d          t          t	          d                                        t          t          t          d$          t          t	          d          t          d
          t          d          t          d          f                                                  k    sJ |	d         t          t          t	          d                    t	          d%          dt          t          d&                              k    sJ |	d         t          t                      t	          d          dt          t          t          t          d          t          t	          d%          d                                                  k    sJ d S )'Nz@int fun1(int x)
{
return x;
}
void caller()
{
int x = fun1(2);
}zTint fun2(int a, int b, int c)
{
return a;
}
void caller()
{
int y = fun2(2, 3, 4);
}ziint fun3(int a, int b, int c)
{
return b;
}
void caller()
{
int p;
int q;
int r;
int z = fun3(p, q, r);
}zpint fun4(float a, float b, int c)
{
return c;
}
void caller()
{
float x;
float y;
int z;
int i = fun4(x, y, z)
}z7int fun()
{
return 1;
}
void caller()
{
int a = fun()
}r9   r   r;   r   rI   r<   r   r>   callerr   rH   )function_args)rK   r   r:   r?   rL   rS   rl   r   rN   rT   rf   zr   r@   rA   rB   rC   rD   r   fun )r   rU   r   r   r   r   r4   r   r   r   r   r   r   r   
rW   rX   rY   rZ   rx   r[   r\   r]   r^   r   s
             r_   test_function_callr     s	    	 	
 	
 	 	 vs++7799vs++7799vs++7799vs++7799vs++7799 Aw,v''  00    s 
 
 
 
 
 
 
 Aw,KK!!VC[[*6&>> '

+"     
 
	      " Aw,v''  00   VC[[ 00   VC[[ 00  	 s       $ Aw,KK!!VC[[*"6NN '

 '

 '

+"  	 	 	  	      ( Aw,v''$VF^^44   $VF^^44   $VF^^44  
 s       & Aw,KK!!VC[[(88   
 VC[[(88   
 VC[[(88   
 VC[[*"6NN &s &s &s+"  	 	 	 ! 	! ! ! ! ! ! !F Aw,v'' 9%%!"++!"++ 	     VC[[9%%!"++!"++ 	     VC[[ 00  !( s /      8 Aw,KK!!VC[[&"9--")"++")"++!(	    	 	 VC[[&"9--")"++")"++!(	    	 	 VC[[(88   
 VC[[*6&>> &s &s &s+"    
 
5% %	* * * * * * *X Aw,v''r

 	       Aw,KK!!VC[[*6%==*,      	        ra   c                     d} d}t          dd          }t          dd          }|                    |            |                    |           |                                 |                                 t          dd                                          }t          dd                                          }t          j        d           t          j        d           |d         t          t          t          d          t          t          d	                    
                    k    sJ |d         t          t          t          d          t          t          d	                    
                    k    sJ |d         t          t                      t          d          dt          t          t          t          d          t          t          d	                    
                                        k    sJ d S )Nr8   r   z..a.hwz..b.hr9   r   r:   r;   r<   r>   r?   r   r   r   )openwritecloser   rU   osremover   r   r4   r   r   r   r   r   )rW   rX   f1f2r[   r\   s         r_   
test_parser     s    	
 	 '3'3

		&







w,,88::w,,88::
	'
	'Aw+s 00  
 
 
 
 
 
 Aw+s 00  
 
 
 
 
 
 Aw,KKs(88    	
 
 
 
 
 
 
 
 
ra   c            "        <=>?@ d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d<d =d!>d"?d#@t          | d$                                          }t          |d$                                          }t          |d$                                          } t          |d$                                          }!t          |d$                                          }"t          |d$                                          }#t          |d$                                          }$t          |d$                                          }%t          |d$                                          }&t          |	d$                                          }'t          |
d$                                          }(t          |d$                                          })t          |d$                                          }*t          |d$                                          }+t          |d$                                          },t          |d$                                          }-t          |d$                                          }.t          |d$                                          }/t          |d$                                          }0t          |d$                                          }1t          |d$                                          }2t          |d$                                          }3t          |d$                                          }4t          |d$                                          }5t          |d$                                          }6t          |d$                                          }7t          |d$                                          }8t          |d$                                          }9t          |d$                                          }:t          |d$                                          };|d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d(                    t          d+                              ,          k    sJ |d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d%          -                    t          t          t          d(                    t          t          d(          t          d+                              t          t          t          d(                    t          t          t          d.          t          d(                    t          d/                                        ,          k    sJ | d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d0          -                    t          t          t          d(                    t          t          d(          t          d1                                        ,          k    sJ |!d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d2          t          t	          d)                    *                    t          t          t          d(                    t          d3                    t          t          t          d2                    t          t          t          d4          t          t          d(          t          d4                              t          t          d5          t          d(                    t          d6                                        ,          k    sJ |"d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d2          t          t	          d)                    *                    t          t          t          d$          t          t	          d)                    *                    t          t          t          d7          t          t	          d)                    *                    t          t          t          d(                    t          d+                    t          t          t          d2                    t          d4                    t          t          t          d$                    t          d2                    t          t          t          d7                    t          t          t          d(          t          d2                    t          t          t          d(          t          d$                    t          d4                    t          t          d$          t          t          d8          t          d7                                                            ,          k    sJ |#d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d2          t          t	          d)                    *                    t          t          t          d$          t          t	          d)                    *                    t          t          t          d7          t          t	          d)                    *                    t          t          t          d(                    t          d+                    t          t          t          d2                    t          d4                    t          t          t          d$                    t          d.                    t          t          t          d7                    t          t          t          d(          t          d9                    t          t          d.          t          t          d2          t          d4                              t          t          d4          t          d2                    t          t          d$          t          d7                                                  ,          k    sJ |$d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d:          t          d;          t          d<          t          d=          >          *                    t          t          t          d(                    t!          d?d@A                              ,          k    sJ |%d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d:          t          d;          t          d<          t          d=          >          *                    t          t          t          d(                    t!          dBd@A                              ,          k    sJ |&d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d:          t          d;          t          d<          t          d=          >          *                    t          t          t          d(                    t!          dCd@A                              ,          k    sJ |'d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d(                    t          d6                              ,          k    sJ |(d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d(                    t          dD                              ,          k    sJ |)d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d(                    t          dE                              ,          k    sJ |*d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d2          t          t	          d)                    *                    t          t          t          d$          t          t	          d:          t          d;          t          d<          t          d=          >          *                    t          t          t          d$                    t          t          t          d(          t          d8                    t          d2                                        ,          k    sJ |+d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d4          -                    t          t          t          d7          t          t	          d)                    t          dF          -                    t          t          t          dG          t          t	          d)                    t          d0          -                    t          t          t          dH          t          t	          d)                    *                    t          t          t          dH                    t          t#          d+d4          t          d(          t          t          t          d4          t          d(                    t          t          d7          t          t          dG          t          d8                                                                      ,          k    sJ |,d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d(                    t          d+                              ,          k    sJ |-d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d4          -                    t          t          t          d2          t          t	          d)                    *                    t          t          t          d2                    t%          t          d(          t          d.                                        ,          k    sJ |.d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d3          -                    t          t          t          d2          t          t	          d)                    t          d.          -                    t          t          t          d$          t          t	          d)                    *                    t          t          t          d$                    t%          t          d(          t          d2                                        ,          k    sJ |/d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d3          -                    t          t          t          d2          t          t	          d)                    t          d.          -                    t          t          t          dI          t          t	          d)                    t          dJ          -                    t          t          t          d$          t          t	          d)                    *                    t          t          t          d$                    t%          t          t          d(          t          t          d3          t          t          d(          t          d8                    t          d2                              t          dI                                        ,          k    sJ |0d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d3          -                    t          t          t          d2          t          t	          d)                    t          d.          -                    t          t          t          dI          t          t	          d)                    t          dJ          -                    t          t          t          d$          t          t	          d)                    *                    t          t          t          d$                    t%          t          t          t%          t          d(          t          dI                    t          t          d8          t%          t          d2          t          dI                                        t%          t          t          d(          t          d2                    t          dI                              t          dI                                        ,          k    sJ |1d%         t          t                      t	          d&          d't          t          t          t          d(          t'          t	          dK                    *                    t          t          t          d2          t'          t	          dK                    *                    t          t          t          d(                    t(                    t          t          t          d2                    t*                              ,          k    sJ |2d%         t          t                      t	          d&          d't          t          t          t          d(          t'          t	          dK                    *                    t          t          t          d2          t'          t	          dK                    *                    t          t          t          d$          t'          t	          dK                    *                    t          t          t          d7          t'          t	          dK                    *                    t          t          t          d(                    t(                    t          t          t          d2                    t*                    t          t          t          d$                    t(                    t          t          t          d7                    t(                              ,          k    sJ |3d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d+          -                    t          t          t          d2          t          t	          d)                    t          d4          -                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dP          t'          t	          dK                    *                    t          t          t          dQ          t'          t	          dK                    *                    t          t          t          dR          t'          t	          dK                    *                    t          t          t          dS          t'          t	          dK                    *                    t          t          t          dL                    t-          t          d(          t          d+                              t          t          t          dM                    t-          t          d2          t          d4                              t          t          t          dN                    t/          t          d+          t          d(                              t          t          t          dO                    t/          t          d+          t          d2                              t          t          t          dP                    t1          t          d(          t          d%                              t          t          t          dQ                    t3          t          d2          t          d0                              t          t          t          dR                    t5          t          d(          t          d%                              t          t          t          dS                    t7          t          d2          t          dT                                        ,          k    sJ |4d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    t          d.          -                    t          t          t          d2          t          t	          d)                    t          d9          -                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dP          t'          t	          dK                    *                    t          t          t          dQ          t'          t	          dK                    *                    t          t          t          dL                    t-          t          d(          t          d2                              t          t          t          dM                    t/          t          d(          t          d2                              t          t          t          dN                    t1          t          d(          t          d2                              t          t          t          dO                    t3          t          d(          t          d2                              t          t          t          dP                    t5          t          d(          t          d2                              t          t          t          dQ                    t7          t          d(          t          d2                                        ,          k    sJ |5d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d:          t          d;          t          d<          t          d=          >          *                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dL                    t-          t          d(          t!          dUd@A                              t          t          t          dN                    t/          t!          dVd@A          t          d(                                        ,          k    sJ |6d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d:          t          d;          t          d<          t          d=          >          t!          dUd@A          -                    t          t          t          d2          t          t	          d:          t          d;          t          d<          t          d=          >          t!          dWd@A          -                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dP          t'          t	          dK                    *                    t          t          t          dQ          t'          t	          dK                    *                    t          t          t          dL                    t-          t          d(          t          d2                              t          t          t          dM                    t/          t          d(          t          d2                              t          t          t          dN                    t1          t          d(          t          d2                              t          t          t          dO                    t3          t          d(          t          d2                              t          t          t          dP                    t5          t          d(          t          d2                              t          t          t          dQ                    t7          t          d(          t          d2                                        ,          k    sJ |7d%         t          t                      t	          d&          d't          t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dP          t'          t	          dK                    *                    t          t          t          dQ          t'          t	          dK                    *                    t          t          t          dL                    t*                    t          t          t          dM                    t(                    t          t          t          dN                    t*                    t          t          t          dO                    t(                    t          t          t          dP                    t*                    t          t          t          dQ                    t(                              ,          k    sJ |8d%         t          t                      t	          d&          d't          t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dP          t'          t	          dK                    *                    t          t          t          dQ          t'          t	          dK                    *                    t          t          t          dL                    t*                    t          t          t          dM                    t(                    t          t          t          dN                    t(                    t          t          t          dO                    t*                    t          t          t          dP                    t*                    t          t          t          dQ                    t(                              ,          k    sJ |9d%         t          t                      t	          d&          d't          t          t          t          d(          t'          t	          dK                    *                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dL                    t          d(                    t          t          t          dM                    t(                    t          t          t          dN                    t*                    t          t          t          dO                    t          d(                    	  	        ,          k    sJ |:d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dL                    t          d(                    t          t          t          dM                    t(                    t          t          t          dN                    t*                    t          t          t          dO                    t          d(                    	  	        ,          k    sJ |;d%         t          t                      t	          d&          d't          t          t          t          d(          t          t	          d)                    *                    t          t          t          d2          t          t	          d)                    *                    t          t          t          d$          t'          t	          dK                    *                    t          t          t          d7          t'          t	          dK                    *                    t          t          t          dL          t'          t	          dK                    *                    t          t          t          dM          t'          t	          dK                    *                    t          t          t          dN          t'          t	          dK                    *                    t          t          t          dO          t'          t	          dK                    *                    t          t          t          dP          t'          t	          dK                    *                    t          t          t          dQ          t'          t	          dK                    *                    t          t          t          dL                    t9          t          d(          t          d2                              t          t          t          dM                    t9          t          d(          t          d$                              t          t          t          dN                    t9          t          d$          t          d7                              t          t          t          dO                    t;          t          d(          t          d2                              t          t          t          dP                    t;          t          d(          t          d$                              t          t          t          dQ                    t;          t          d$          t          d7                                        ,          k    sJ t=          t>          <fdX           t=          t>          =fdY           t=          t>          >fdZ           t=          t>          ?fd[           t=          t>          @fd\           d S )]Nzvoid func(){
int a;
a = 1;
}z2void func(){
int a = 0;
a = a + 1;
a = 3*a - 10;
}z-void func(){
int a = 10;
a = 1 + a - 3 * 6;
}zHvoid func(){
int a;
int b;
a = 100;
b = a*a + a*a + a + 19*a + 1 + 24;
}z`void func(){
int a;
int b;
int c;
int d;
a = 1;
b = 2;
c = b;
d = ((a+b)*(a+c))*((c-d)*(a+c));
}zdvoid func(){
int a;
int b;
int c;
int d;
a = 1;
b = 2;
c = 3;
d = (a*a*a*a + 3*b*b + b + b + c*d);
}z!void func(){
float a;
a = 1.01;
}z'void func(){
float a;
a = 10.0 + 2.5;
}z'void func(){
float a;
a = 10.0 / 2.5;
}z"void func(){
int a;
a = 100 / 4;
}z0void func(){
int a;
a = 20 - 100 / 4 * 5 + 10;
}z4void func(){
int a;
a = (20 - 100) / 4 * (5 + 10);
}z.void func(){
int a;
int b;
float c;
c = b/a;
}zRvoid func(){
int a = 2;
int d = 5;
int n = 10;
int s;
s = (a/2)*(2*a + (n-1)*d);
}z void func(){
int a;
a = 1 % 2;
}z+void func(){
int a = 2;
int b;
b = a % 3;
}z8void func(){
int a = 100;
int b = 3;
int c;
c = a % b;
}z`void func(){
int a = 100;
int b = 3;
int mod = 1000000007;
int c;
c = (a + b * (100/a)) % mod;
}zvoid func(){
int a = 100;
int b = 3;
int mod = 1000000007;
int c;
c = ((a % mod + b % mod) % mod* (a % mod - b % mod) % mod) % mod;
}z5void func(){
bool a
bool b;
a = 1 == 2;
b = 1 != 2;
}z]void func(){
bool a;
bool b;
bool c;
bool d;
a = 1 == 2;
b = 1 <= 2;
c = 1 > 2;
d = 1 >= 2;
}zvoid func(){
int a = 1;
int b = 2;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
bool c7;
bool c8;
c1 = a == 1;
c2 = b == 2;
c3 = 1 != a;
c4 = 1 != b;
c5 = a < 0;
c6 = b <= 10;
c7 = a > 0;
c8 = b >= 11;
}zvoid func(){
int a = 3;
int b = 4;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = a == b;
c2 = a != b;
c3 = a < b;
c4 = a <= b;
c5 = a > b;
c6 = a >= b;
}zvoid func(){
float a = 1.25float b = 2.5;
bool c1;
bool c2;
bool c3;
bool c4;
c1 = a == 1.25;
c2 = b == 2.54;
c3 = 1.2 != a;
c4 = 1.5 != b;
}zvoid func(){
float a = 1.25
float b = 2.5;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = a == b;
c2 = a != b;
c3 = a < b;
c4 = a <= b;
c5 = a > b;
c6 = a >= b;
}zvoid func(){
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = true == true;
c2 = true == false;
c3 = false == false;
c4 = true != true;
c5 = true != false;
c6 = false != false;
}zvoid func(){
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = true && true;
c2 = true && false;
c3 = false && false;
c4 = true || true;
c5 = true || false;
c6 = false || false;
}z|void func(){
bool a;
bool c1;
bool c2;
bool c3;
bool c4;
c1 = a && true;
c2 = false && a;
c3 = true || a;
c4 = a || false;
}zmvoid func(){
int a;
bool c1;
bool c2;
bool c3;
bool c4;
c1 = a && 1;
c2 = a && 0;
c3 = a || 1;
c4 = 0 || a;
}zvoid func(){
int a;
int b;
bool c;
bool d;
bool c1;
bool c2;
bool c3;
bool c4;
bool c5;
bool c6;
c1 = a && b;
c2 = a && c;
c3 = c && d;
c4 = a || b;
c5 = a || c;
c6 = c || d;
}zvoid func(){
int a;
a = -1;
}zvoid func(){
int a;
a = -+1;
}zvoid func(){
int a;
a = 2*-2;
}z#void func(){
int a;
a = (int)2.0;
}z/void func(){
int a=100;
a = (a==100)?(1):(0);
}r9   r   funcr   r:   r;   r<   r>   r   rJ   rS   i
   ir?   d   rH         rk   rl   r@   rA   rB   rC   rD   z1.01rP   rQ   12.54.0rc   nrg   modʚ;r   c1c2c3c4c5c6c7c8r   r   1.2r   c                  $    t           d          S Nr9   r   c_src_raise1s   r_   <lambda>z'test_binary_operators.<locals>.<lambda>      OL#,N,N ra   c                  $    t           d          S r   r   c_src_raise2s   r_   r   z'test_binary_operators.<locals>.<lambda>  r   ra   c                  $    t           d          S r   r   )c_src_raise3s   r_   r   z'test_binary_operators.<locals>.<lambda>  r   ra   c                  $    t           d          S r   r   )c_src_raise4s   r_   r   z'test_binary_operators.<locals>.<lambda>  r   ra   c                  $    t           d          S r   r   )c_src_raise5s   r_   r   z'test_binary_operators.<locals>.<lambda>   r   ra   ) r   rU   r   r   r   r   r   r   r4   r   r   r   r&   r'   r)   r   r   r*   r(   r   r5   r6   r/   r0   r+   r,   r-   r.   r1   r3   r   NotImplementedError)ArW   rX   rY   rZ   rx   ry   c_src7c_src8c_src9c_src10c_src11c_src12c_src13c_src14c_src15c_src16c_src17c_src18c_src19c_src20c_src21c_src22c_src23c_src24c_src25c_src26c_src27c_src28c_src29c_src30r[   r\   r]   r^   r   r   res7res8res9res10res11res12res13res14res15res16res17res18res19res20res21res22res23res24res25res26res27res28res29res30r   r   r   r   r   sA                                                               @@@@@r_   test_binary_operatorsr    s;    	 	 	 	
 	
 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 	 	: 	. 	( 	. 	* 	* 	$ 	$ 	4 	 	 	 	 	 vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;Aw,KKVC[[(88   
 8F3KK00'!**== 	       Aw,KKVC[[$VF^^44!!**& & &' ' VC[[))s

$ $ 
 8F3KK00#AJJ"3KK) )  	   	      2 Aw,KKVC[[(88%bkk    VC[[))s   	      * Aw,KKVC[[(88   
 VC[[(88   
 VC[[))CLL" " VC[[))#AJJ"3KK#AJJ( (  #BKK"3KK) )     	" " " " " " "H Aw,KKVC[[(88   
 VC[[(88   
 VC[[(88   
 VC[[(88   
 VC[[))AJJ    VC[[))AJJ  VC[[))3KK! ! VC[[))"3KK"3KK) )  &s &s" " $AJJ  "3KK ' &s" "   ?5 5	: : : : : : :x Aw,KKVC[[(88   
 VC[[(88   
 VC[[(88   
 VC[[(88   
 VC[[))AJJ  VC[[))AJJ  VC[[))AJJ  VC[[))"3KK#AJJ  #AJJ &s '

" "  #AJJ"3KK  "3KK"3KK !  C9 9	> > > > > > >@ Aw,KKVC[[&"9--")"++")"++!(	    	 	 VC[[))&B///  	      , Aw,KKVC[[&"9--")"++")"++!(	    	 	 VC[[))&B///  	      , Aw,KKVC[[&"9--")"++")"++!(	    	 	 VC[[))%2...  	      , Qx-KKVC[[(88   
 VC[[))BKK 
 
	      " Qx-KKVC[[(88   
 VC[[))CLL 
 
	      " Qx-KKVC[[(88   
 VC[[))DMM 
 
	      " Qx-KKVC[[(88   
 VC[[(88   
 VC[[&"9--")"++")"++!(	    	 	 VC[[))"3KK#BKK  s 	 	+ 	$ $ $ $ $ $ $L Qx-KKVC[[(88%ajj    VC[[(88%ajj    VC[[(88%bkk    VC[[(88   
 VC[[)) As '

 &s" "   &s #$*3KK$+BKK!& !&" "   1, ,	1 1 1 1 1 1 1f Qx-KKVC[[(88   
 VC[[))AJJ 
 
	      " Qx-KKVC[[(88%ajj    VC[[(88   
 VC[[))s

   	      4 Qx-KKVC[[(88%cll    VC[[(88%ajj    VC[[(88   
 VC[[))ss  % 	      @ Qx-KKVC[[(88%cll    VC[[(88%ajj    VE]](88%j11    VC[[(88   
 VC[[))"3KK ' #$*3KK$+BKK!& !& !'s" "
 
 u  1) )	. . . . . . .` Qx-KKVC[[(88%cll    VC[[(88%ajj    VE]](88%j11    VC[[(88   
 VC[[)) #$*3KK$*5MM!& !& !$$+BKK$'(.s(.u%* %*!& !&" "   #$*3KK$*3KK!& !& !'u" " , u/  14 4	9 9 9 9 9 9 9v Qx-KKVC[[!&..11   
 VC[[!&..11   
 VC[[))  VC[[))  	      4 Qx-KKVC[[!&..11   
 VC[[!&..11   
 VC[[!&..11   
 VC[[!&..11   
 VC[[))  VC[[))  VC[[))  VC[[)) C% %	* * * * * * *X Qx-KKVC[[(88%ajj    VC[[(88%ajj    VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**s

   VD\\**s

   VD\\**

s   VD\\**

s   VD\\**"s

   VD\\**s   VD\\**%s

   VD\\**s  Mm m	r r r r r r rh Qx-KKVC[[(88%ajj    VC[[(88%ajj    VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**ss   VD\\**ss   VD\\**"ss   VD\\**ss   VD\\**%ss   VD\\**ss  ]U U	Z Z Z Z Z Z Zx Qx-KKVC[[&"9--")"++")"++!(	    	 	 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**sf333   VD\\**er222s  M- -	2 2 2 2 2 2 2j Qx-KKVC[[&"9--")"++")"++!(	   $Fb999  
 
 VC[[&"9--")"++")"++!(	   $ER888  
 
 VD\\!&..11   
 VD\\!&..      VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**ss   VD\\**ss   VD\\**"ss   VD\\**ss   VD\\**%ss   VD\\**ss  s` `	e e e e e e eN Qx-KK	VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**  VD\\**  VD\\**  VD\\**  VD\\**  VD\\** g7! 7!; ; ; ; ; ; ;z Qx-KKVD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**  VD\\**  VD\\**  VD\\**  VD\\**  VD\\** g6 6	; ; ; ; ; ; ;z Qx-KKVC[[!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**3KK  VD\\**  VD\\**  VD\\**3KK M* *	/ / / / / / /b Qx-KKVC[[(88   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**3KK  VD\\**  VD\\**  VD\\**3KK M* *	/ / / / / / /b Qx-KKVC[[(88   
 VC[[(88   
 VC[[!&..11   
 VC[[!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\!&..11   
 VD\\**ss   VD\\**ss   VD\\**ss   VD\\**ss   VD\\**ss   VD\\**ss  m] ]	b b b b b b bH 	"$N$N$N$NOOO"$N$N$N$NOOO"$N$N$N$NOOO"$N$N$N$NOOO"$N$N$N$NOOOOOra   c                  y  @A d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d }d!@d"At          | d#                                          } t          |d#                                          }!t          |d#                                          }"t          |d#                                          }#t          |d#                                          }$t          |d#                                          }%t          |d#                                          }&t          |d#                                          }'t          |d#                                          }(t          |	d#                                          })t          |
d#                                          }*t          |d#                                          }+t          |d#                                          },t          |d#                                          }-t          |d#                                          }.t          |d#                                          }/t          |d#                                          }0t          |d#                                          }1t          |d#                                          }2t          |d#                                          }3t          |d#                                          }4t          |d#                                          }5t          |d#                                          }6t          |d#                                          }7t          |d#                                          }8t          |d#                                          }9t          |d#                                          }:t          |d#                                          };t          |d#                                          }<t          |d#                                          }=t          |d#                                          }>t          |d#                                          }?| d$         t          t          t	          d%          t          t          d&                    t          d'          (                    k    sJ | d)         t          t          t	          d*          t          t          d&                    t	          d%          (                    k    sJ |!d$         t          t          t	          d*          t          t          d&                    t          d)          (                    k    sJ |!d)         t          t          t	          d%          t          t          d&                    t          t	          d*          t          d)                    (                    k    sJ |"d$         t          t          t	          d*          t          t          d+          t          d,          t          d-          t          d.          /          t          d0d12          (                    k    sJ |"d)         t          t          t	          d%          t          t          d+          t          d,          t          d-          t          d.          /          t          t          d3d12          t	          d*                    (                    k    sJ |#d$         t          t          t	          d*          t          t          d&                    t          d4          (                    k    sJ |$d$         t          t          t	          d*          t          t          d&                    t          d5          (                    k    sJ |%d$         t          t          t	          d%          t          t          d&                    t          d6          (                    k    sJ |%d)         t          t          t	          d#          t          t          d&                    t          d7          (                    k    sJ |%d6         t          t          t	          d*          t          t          d&                    t          t	          d%          t          t          d8          t	          d#                              (                    k    sJ |&d$         t          t          t	          d%          t          t          d&                    t          d)          (                    k    sJ |&d)         t          t          t	          d#          t          t          d&                    t          t	          d%          t          d6                    (                    k    sJ |&d6         t          t          t	          d*          t          t          d&                    t          t          d9          t          t	          d%          t          d6                    t	          d#                    (                    k    sJ |'d$         t          t                      t          d:          d;t          t          t          t	          d*          t          t          d&                    t          d)          (                    t          t          t	          d%          t          t          d&                    t          d6          (                    t          t          t	          d<          t          t          d&                    t	          d*          (                    t!          t          t	          d*                    t	          d%                    t!          t          t	          d%                    t	          d<                              =          k    sJ |(d$         t          t          t	          d*          t          t          d&                    t          d)          (                    k    sJ |(d)         t          t          t	          d%          t          t          d&                    t          d6          (                    k    sJ |(d6         t          t          t	          d#          t          t          d&                    t	          d*          (                    k    sJ |(d7         t          t          t	          d>          t          t          d&                    t          t	          d*          t	          d%          t	          d#                    (                    k    sJ |(d8         t          t          t	          d?          t          t          d&                    t          t          t	          d*          t          d7                    t          t          d7          t          t	          d*          t          d6                    t	          d%                    t          t          d7          t	          d*          t          t	          d%          t          d6                              t          t	          d%          t          d7                              (                    k    sJ |(d@         t          t          t	          dA          t          t          d&                    t          t          t	          d*          t	          d%          t          t          dB          t	          d#                              t          t	          d*          t	          d%          t	          d#                              (                    k    sJ |(dC         t          t          t	          dD          t          t          d&                    t          t	          d*          t          t	          d%          t          t          dB          t	          d#                              t          t          t	          d*          t	          d%          t	          d#          t	          d>                    t          d6                              (                    k    sJ |)d$         t          t          t	          d*          t          t          d+          t          d,          t          d-          t          d.          /          t          dEd12          (                    k    sJ |)d)         t          t          t	          d%          t          t          d+          t          d,          t          d-          t          d.          /          t          dFd12          (                    k    sJ |)d6         t          t          t	          d#          t          t          d+          t          d,          t          d-          t          d.          /          t          t          t	          d*          t          d6                    t          t          d6          t	          d*          t	          d%                    t          t	          d%          t          d6                              (                    k    sJ |*d$         t          t          t	          d*          t          t          d+          t          d,          t          d-          t          d.          /          t          dGd12          (                    k    sJ |+d$         t          t          t	          d*          t          t          d&                    t          dH          (                    k    sJ |,d$         t          t          t	          d*          t          t          d&                    t          dI          (                    k    sJ |-d$         t          t          t	          d*          t          t          d&                    t          dJ          (                    k    sJ |.d$         t          t          t	          d*          t          t          d&                    t          d8          (                    k    sJ |.d)         t          t          t	          d%          t          t          d&                    t          d6          (                    k    sJ |.d6         t          t          t	          d#          t          t          d+          t          d,          t          d-          t          d.          /          t          t          t	          d*          t          dB                    t	          d%                    (                    k    sJ |/d$         t          t          t	          d*          t          t          d&                    t          d6          (                    k    sJ |/d)         t          t          t	          d>          t          t          d&                    t          d@          (                    k    sJ |/d6         t          t          t	          dK          t          t          d&                    t          d9          (                    k    sJ |/d7         t          t          t	          dL          t          t          d&                    t          t#          d)d6          t	          d*          t          t          t          d6          t	          d*                    t          t	          d>          t          t	          dK          t          dB                                                  (                    k    sJ |0d$         t          t          t	          d*          t          t          d&                    t          d)          (                    k    sJ |1d$         t          t          t	          d*          t          t          d&                    t          d6          (                    k    sJ |1d)         t          t          t	          d%          t          t          d&                    t%          t	          d*          t          d7                    (                    k    sJ |2d$         t          t          t	          d*          t          t          d&                    t          d'          (                    k    sJ |2d)         t          t          t	          d%          t          t          d&                    t          d7          (                    k    sJ |2d6         t          t          t	          d#          t          t          d&                    t%          t	          d*          t	          d%                    (                    k    sJ |3d$         t          t          t	          d*          t          t          d&                    t          d'          (                    k    sJ |3d)         t          t          t	          d%          t          t          d&                    t          d7          (                    k    sJ |3d6         t          t          t	          dM          t          t          d&                    t          dN          (                    k    sJ |3d7         t          t          t	          d#          t          t          d&                    t%          t          t	          d*          t          t          d'          t          t	          d*          t          dB                    t	          d%                              t	          dM                    (                    k    sJ |4d$         t          t          t	          d*          t          t          d&                    t          d'          (                    k    sJ |4d)         t          t          t	          d%          t          t          d&                    t          d7          (                    k    sJ |4d6         t          t          t	          dM          t          t          d&                    t          dN          (                    k    sJ |4d7         t          t          t	          d#          t          t          d&                    t%          t          t          t	          d*          t          t          dB          t	          d%                              t          t	          d*          t	          d%                              t	          dM                    (                    k    sJ |5d$         t          t          t	          d*          t'          t          dO                    t(          (                    k    sJ |5d)         t          t          t	          d%          t'          t          dO                    t*          (                    k    sJ |6d$         t          t          t	          d*          t'          t          dO                    t*          (                    k    sJ |6d)         t          t          t	          d%          t'          t          dO                    t*          (                    k    sJ |6d6         t          t          t	          d#          t'          t          dO                    t(          (                    k    sJ |6d7         t          t          t	          d>          t'          t          dO                    t(          (                    k    sJ |7d$         t          t          t	          d*          t          t          d&                    t          d)          (                    k    sJ |7d)         t          t          t	          d%          t          t          d&                    t          d6          (                    k    sJ |7d6         t          t          t	          dP          t'          t          dO                    t-          t	          d*          t          d)                    (                    k    sJ |7d7         t          t          t	          dQ          t'          t          dO                    t-          t	          d%          t          d6                    (                    k    sJ |7d8         t          t          t	          dR          t'          t          dO                    t/          t          d)          t	          d*                    (                    k    sJ |7d@         t          t          t	          dS          t'          t          dO                    t/          t          d)          t	          d%                    (                    k    sJ |7dC         t          t          t	          dT          t'          t          dO                    t1          t	          d*          t          d$                    (                    k    sJ |7dU         t          t          t	          dV          t'          t          dO                    t3          t	          d%          t          d9                    (                    k    sJ |7d.         t          t          t	          dW          t'          t          dO                    t5          t	          d*          t          d$                    (                    k    sJ |7dX         t          t          t	          dY          t'          t          dO                    t7          t	          d%          t          dZ                    (                    k    sJ |8d$         t          t          t	          d*          t          t          d&                    t          d7          (                    k    sJ |8d)         t          t          t	          d%          t          t          d&                    t          d8          (                    k    sJ |8d6         t          t          t	          dP          t'          t          dO                    t-          t	          d*          t	          d%                    (                    k    sJ |8d7         t          t          t	          dQ          t'          t          dO                    t/          t	          d*          t	          d%                    (                    k    sJ |8d8         t          t          t	          dR          t'          t          dO                    t1          t	          d*          t	          d%                    (                    k    sJ |8d@         t          t          t	          dS          t'          t          dO                    t3          t	          d*          t	          d%                    (                    k    sJ |8dC         t          t          t	          dT          t'          t          dO                    t5          t	          d*          t	          d%                    (                    k    sJ |8dU         t          t          t	          dV          t'          t          dO                    t7          t	          d*          t	          d%                    (                    k    sJ |9d$         t          t          t	          d*          t          t          d+          t          d,          t          d-          t          d.          /          t          d[d12          (                    k    sJ |9d)         t          t          t	          d%          t          t          d+          t          d,          t          d-          t          d.          /          t          dFd12          (                    k    sJ |9d6         t          t          t	          dP          t'          t          dO                    t-          t	          d*          t          d[d12                    (                    k    sJ |9d7         t          t          t	          dQ          t'          t          dO                    t-          t	          d%          t          d\d12                    (                    k    sJ |9d8         t          t          t	          dR          t'          t          dO                    t/          t          d]d12          t	          d*                    (                    k    sJ |9d@         t          t          t	          dS          t'          t          dO                    t/          t          d^d12          t	          d%                    (                    k    sJ |:d$         t          t          t	          d*          t          t          d+          t          d,          t          d-          t          d.          /          t          d[d12          (                    k    sJ |:d)         t          t          t	          d%          t          t          d+          t          d,          t          d-          t          d.          /          t          dFd12          (                    k    sJ |:d6         t          t          t	          dP          t'          t          dO                    t-          t	          d*          t	          d%                    (                    k    sJ |:d7         t          t          t	          dQ          t'          t          dO                    t/          t	          d*          t	          d%                    (                    k    sJ |:d8         t          t          t	          dR          t'          t          dO                    t1          t	          d*          t	          d%                    (                    k    sJ |:d@         t          t          t	          dS          t'          t          dO                    t3          t	          d*          t	          d%                    (                    k    sJ |:dC         t          t          t	          dT          t'          t          dO                    t5          t	          d*          t	          d%                    (                    k    sJ |:dU         t          t          t	          dV          t'          t          dO                    t7          t	          d*          t	          d%                    (                    k    sJ |;d$         t          t          t	          dP          t'          t          dO                    t*          (                    k    sJ |;d)         t          t          t	          dQ          t'          t          dO                    t(          (                    k    sJ |;d6         t          t          t	          dR          t'          t          dO                    t*          (                    k    sJ |;d7         t          t          t	          dS          t'          t          dO                    t(          (                    k    sJ |;d8         t          t          t	          dT          t'          t          dO                    t*          (                    k    sJ |;d@         t          t          t	          dV          t'          t          dO                    t(          (                    k    sJ |<d$         t          t          t	          dP          t'          t          dO                    t*          (                    k    sJ |<d)         t          t          t	          dQ          t'          t          dO                    t(          (                    k    sJ |<d6         t          t          t	          dR          t'          t          dO                    t(          (                    k    sJ |<d7         t          t          t	          dS          t'          t          dO                    t*          (                    k    sJ |<d8         t          t          t	          dT          t'          t          dO                    t*          (                    k    sJ |<d@         t          t          t	          dV          t'          t          dO                    t(          (                    k    sJ |=d$         t          t          t	          d*          t'          t          dO                    t(          (                    k    sJ |=d)         t          t          t	          dP          t'          t          dO                    t	          d*          (                    k    sJ |=d6         t          t          t	          dQ          t'          t          dO                    t(          (                    k    sJ |=d7         t          t          t	          dR          t'          t          dO                    t*          (                    k    sJ |=d8         t          t          t	          dS          t'          t          dO                    t	          d*          (                    k    sJ |>d$         t          t          t	          d*          t          t          d&                    t          d)          (                    k    sJ |>d)         t          t          t	          dP          t'          t          dO                    t	          d*          (                    k    sJ |>d6         t          t          t	          dQ          t'          t          dO                    t(          (                    k    sJ |>d7         t          t          t	          dR          t'          t          dO                    t*          (                    k    sJ |>d8         t          t          t	          dS          t'          t          dO                    t	          d*          (                    k    sJ |?d$         t          t          t	          d*          t          t          d&                    t          d)          (                    k    sJ |?d)         t          t          t	          d%          t          t          d&                    t          d$          (                    k    sJ |?d6         t          t          t	          d#          t'          t          dO                    t(          (                    k    sJ |?d7         t          t          t	          d>          t'          t          dO                    t*          (                    k    sJ |?d8         t          t          t	          dP          t'          t          dO                    t9          t	          d*          t	          d%                    (                    k    sJ |?d@         t          t          t	          dQ          t'          t          dO                    t9          t	          d*          t	          d#                    (                    k    sJ |?dC         t          t          t	          dR          t'          t          dO                    t9          t	          d#          t	          d>                    (                    k    sJ |?dU         t          t          t	          dS          t'          t          dO                    t;          t	          d*          t	          d%                    (                    k    sJ |?d.         t          t          t	          dT          t'          t          dO                    t;          t	          d*          t	          d#                    (                    k    sJ |?dX         t          t          t	          dV          t'          t          dO                    t;          t	          d#          t	          d>                    (                    k    sJ t=          t>          @fd_           t=          t>          Afd`           d S )aNzint b = 100;
int a = b;
zint a = 1;
int b = a + 1;
z*float a = 10.0 + 2.5;
float b = a * 20.0;
zint a = 1 + 100 - 3 * 6;
z+int a = (((1 + 100) * 12) - 3) * (6 - 10);
z)int b = 2;
int c = 3;
int a = b + c * 4;
z2int b = 1;
int c = b + 2;
int a = 10 * b * b * c;
zCvoid func(){
int a = 1;
int b = 2;
int temp = a;
a = b;
b = temp;
}zint a = 1;
int b = 2;
int c = a;
int d = a + b + c;
int e = a*a*a + 3*a*a*b + 3*a*b*b + b*b*b;
int f = (a + b + c) * (a + b - c);
int g = (a + b + c + d)*(a + b + c + d)*(a * (b - c));
z<float a = 10.0;
float b = 2.5;
float c = a*a + 2*a*b + b*b;
zfloat a = 10.0 / 2.5;
zint a = 100 / 4;
zint a = 20 - 100 / 4 * 5 + 10;
z#int a = (20 - 100) / 4 * (5 + 10);
z%int a = 4;
int b = 2;
float c = b/a;
zAint a = 2;
int d = 5;
int n = 10;
int s = (a/2)*(2*a + (n-1)*d);
zint a = 1 % 2;
zint a = 2;
int b = a % 3;
z'int a = 100;
int b = 3;
int c = a % b;
zOint a = 100;
int b = 3;
int mod = 1000000007;
int c = (a + b * (100/a)) % mod;
ztint a = 100;
int b = 3;
int mod = 1000000007;
int c = ((a % mod + b % mod) % mod *(a % mod - b % mod) % mod) % mod;
zbool a = 1 == 2, b = 1 != 2;z2bool a = 1 < 2, b = 1 <= 2, c = 1 > 2, d = 1 >= 2;zint a = 1, b = 2;
bool c1 = a == 1;
bool c2 = b == 2;
bool c3 = 1 != a;
bool c4 = 1 != b;
bool c5 = a < 0;
bool c6 = b <= 10;
bool c7 = a > 0;
bool c8 = b >= 11;z{int a = 3, b = 4;
bool c1 = a == b;
bool c2 = a != b;
bool c3 = a < b;
bool c4 = a <= b;
bool c5 = a > b;
bool c6 = a >= b;zjfloat a = 1.25, b = 2.5;
bool c1 = a == 1.25;
bool c2 = b == 2.54;
bool c3 = 1.2 != a;
bool c4 = 1.5 != b;zfloat a = 1.25, b = 2.5;
bool c1 = a == b;
bool c2 = a != b;
bool c3 = a < b;
bool c4 = a <= b;
bool c5 = a > b;
bool c6 = a >= b;zbool c1 = true == true;
bool c2 = true == false;
bool c3 = false == false;
bool c4 = true != true;
bool c5 = true != false;
bool c6 = false != false;zbool c1 = true && true;
bool c2 = true && false;
bool c3 = false && false;
bool c4 = true || true;
bool c5 = true || false;
bool c6 = false || false;zebool a = false;
bool c1 = a && true;
bool c2 = false && a;
bool c3 = true || a;
bool c4 = a || false;zRint a = 1;
bool c1 = a && 1;
bool c2 = a && 0;
bool c3 = a || 1;
bool c4 = 0 || a;zint a = 1, b = 0;
bool c = false, d = true;
bool c1 = a && b;
bool c2 = a && c;
bool c3 = c && d;
bool c4 = a || b;
bool c5 = a || c;
bool c6 = c || d;zchar a = 'b';zint a[] = {10, 20};r9   r   r?   r;   r   rJ   r>   r:   r@   rA   rB   rC   rD   r   rP   rQ   z20.0S   irH   rS   rl   r   r   r   tempr   rk   rm   rc   rn   r   rM   ro   z10.0r   r   r   r   r   r   rg   r   r   r   r   r   r   r   r   rp   r   r   	   r   r   r   z2.54r   z1.5c                  $    t           d          S r   r   r   s   r_   r   ztest_var_decl.<locals>.<lambda>  r   ra   c                  $    t           d          S r   r   r   s   r_   r   ztest_var_decl.<locals>.<lambda>  r   ra   ) r   rU   r   r   r4   r   r   r   r&   r   r   r'   r)   r   r   r   r   r*   r(   r   r5   r6   r/   r0   r+   r,   r-   r.   r1   r3   r   r   )BrW   rX   rY   rZ   rx   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c_src31c_src32r[   r\   r]   r^   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  res31res32r   r   sB                                                                   @@r_   test_var_declr    sW:     	$ 	) 	 . 	
 @ 	
( 	- 	 	 	2 	 + 	
 & 	
 4 	
 8 	
$ 	4 	 $ 	
$ 	$ 	6 	7 	 + 	
 A 	
! 	"  	" 	  	( 	( 	$ 	  		  	  	
 " 	 vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799vs++7799--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;--99;;Aw+VC[[ 00cll        Aw+VC[[ 00Skk        Aw+VC[[ 00ajj        Aw+hvc{{VF^^,,s

 ' ' ' 
 
 
 
 
 
 Aw+VC[[9%%!"++!"++ 	   Fb111  
 
 
 
 
 
 Aw+VC[[9%%!"++!"++ 	   &B///3KK         Aw+VC[[ 00bkk        Aw+VC[[ 00enn        Aw+VC[[ 00ajj        Aw+VC[[ 00ajj        Aw+VC[[ 003KK

s  	 	 	      Aw+VC[[ 00ajj        Aw+VC[[ 003KKAJJ         Aw+VC[[ 00BKKs

  3KK 
 
 
      Aw,KKVC[[(88%ajj    VC[[(88%ajj    VF^^(88$Skk    VC[[))3KK  VC[[))6NN / 	             D Aw+VC[[ 00ajj        Aw+VC[[ 00ajj        Aw+VC[[ 00Skk        Aw+VC[[ 003KK3KK3KK   	 	 	 	 	 	 Aw+VC[[ 00s

  

"3KK#AJJ  s  

s"3KK#AJJ   s

 +        @ Aw+VC[[ 00ss#BKK"3KK   sss         * Aw+VC[[ 003KKs#BKK"3KK   "3KK"3KK"3KK"3KK	   

         2 Qx;VC[[9%%!"++!"++ 	   Fb111  
 
 
 
 
 
 Qx;VC[[9%%!"++!"++ 	   ER000  
 
 
 
 
 
 Qx;VC[[9%%!"++!"++ 	   s

  

ss 
 s

         4 Qx;VC[[9%%!"++!"++ 	   ER000  
 
 
 
 
 
 Qx;VC[[ 00bkk        Qx;VC[[ 00cll        Qx;VC[[ 00dmm        Qx;VC[[ 00ajj        Qx;VC[[ 00ajj        Qx;VC[[9%%!"++!"++ 	   s  3KK        $ Qx;VC[[ 00ajj        Qx;VC[[ 00ajj        Qx;VC[[ 00bkk        Qx;VC[[ 00QNN3KK#AJJ"3KK  "3KK &s '" "          . Qx;VC[[ 00ajj        Qx;VC[[ 00ajj        Qx;VC[[ 003KKAJJ         Qx;VC[[ 00cll        Qx;VC[[ 00ajj        Qx;VC[[ 003KK3KK         Qx;VC[[ 00cll        Qx;VC[[ 00ajj        Qx;VE]] 00j))        Qx;VC[[ 00s#CLL &s '" " #3KK 
 
 5MM        ( Qx;VC[[ 00cll        Qx;VC[[ 00ajj        Qx;VE]] 00j))        Qx;VC[[ 00"3KK ' &s" "  "3KK"3KK   5MM        , Qx;VC[[&..))        Qx;VC[[&..))        Qx;VC[[&..))        Qx;VC[[&..))        Qx;VC[[&..))        Qx;VC[[&..))        Qx;VC[[ 00ajj        Qx;VC[[ 00ajj        Qx;VD\\&..))3KKAJJ         Qx;VD\\&..))3KKAJJ         Qx;VD\\&..)) AJJ3KK         Qx;VD\\&..)) AJJ3KK         Qx;VD\\&..))$VC[[AJJ         Qx;VD\\&..))3KKBKK         Qx;VD\\&..))'3KKAJJ         Qx;VD\\&..))!3KKBKK         Qx;VC[[ 00ajj        Qx;VC[[ 00ajj        Qx;xtfVnn%%ss ( ( ( 
 
 
 
 
 
 Qx;VD\\&..)) 3KK3KK         Qx;VD\\&..))$3KK3KK         Qx;VD\\&..))3KK3KK         Qx;VD\\&..))'3KK3KK         Qx;VD\\&..))!3KK3KK         Qx;VC[[9%%!"++!"++ 	   Fb111  
 
 
 
 
 
 Qx;VC[[9%%!"++!"++ 	   ER000  
 
 
 
 
 
 Qx;VD\\&..))3KK&B///         Qx;VD\\&..))3KK&B///         Qx;VD\\&..)) %2...3KK         Qx;VD\\&..)) %2...3KK         Qx;VC[[9%%!"++!"++ 	   Fb111  
 
 
 
 
 
 Qx;VC[[9%%!"++!"++ 	   ER000  
 
 
 
 
 
 Qx;VD\\&..))3KK3KK         Qx;VD\\&..)) 3KK3KK         Qx;VD\\&..))$3KK3KK         Qx;VD\\&..))3KK3KK         Qx;VD\\&..))'3KK3KK         Qx;VD\\&..))!3KK3KK         Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VC[[&..))        Qx;VD\\&..))Skk        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))Skk        Qx;VC[[ 00ajj        Qx;VD\\&..))Skk        Qx;VD\\&..))        Qx;VD\\&..))        Qx;VD\\&..))Skk        Qx;VC[[ 00ajj        Qx;VC[[ 00ajj        Qx;VC[[&..))        Qx;VC[[&..))        Qx;VD\\&..))3KK3KK         Qx;VD\\&..))3KK3KK         Qx;VD\\&..))3KK3KK         Qx;VD\\&..))3KK3KK         Qx;VD\\&..))3KK3KK         Qx;VD\\&..))3KK3KK         	"$N$N$N$NOOO"$N$N$N$NOOOOOra   c                     d} d}t          | d                                          }t          |d                                          }|d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d	          t          t          d                    t          d
                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d	          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          d                              k    sJ |d         t          t          t	          d          t          t          d                    t	          d                              k    sJ |d         t          t          t	          d          t          t          d                    t          t	          d          t          d                                        k    sJ |d         t          t          t	          d          t          t          d                    t          t	          d          t          t	          d	          t	          d                    t          t          d          t	          d          t          t	          d          t          d                                                            k    sJ d S )Nz int a = (1);int b = (1 + 2 * 3);zPint a = 1, b = 2, c = 3;int d = (a);int e = (a + 1);int f = (a + b * c - d / e);r9   r   r:   r;   r>   rJ   r?   rp   rH   rS   rk   rl   rm   rc   rn   r   )r   rU   r   r   r4   r   r   r   r&   r'   r)   )rW   rX   r[   r\   s       r_   test_paren_exprr     s   # 	+ 	 vs++7799vs++7799Aw+VC[[ 00ajj        Aw+VC[[ 00ajj        Aw+VC[[ 00ajj        Aw+VC[[ 00ajj        Aw+VC[[ 00ajj        Aw+VC[[ 00Skk        Aw+VC[[ 003KKAJJ         Aw+VC[[ 003KKss  s"3KK#BKK            ra   c                     d} d}ddt          | d                                          }t          |d                                          }|d         t          t                      t	          d          dt          t          t          t          d	          t          t	          d
                    t          d                              t          t          t          d          t          t	          d
                    t          d                              t          t          d	                    t          t          d                    t          t          d	                    t          t          d                                        k    sJ |d         t          t                      t	          d          dt          t          t          t          d	          t          t	          d
                    t          d                              t          t          t          d          t          t	          d
                    t          d                              t          t          t          d          t          t	          d
                    t          d                              t          t          t          d          t          t	          d
                    t          t          d	                                        t          t          t          d          t          t	          d
                    t          t          d                                        t          t          t          d          t          t	          d
                    t          t          d	                                        t          t          t          d          t          t	          d
                    t          t          d                                        t          t          t          d          t          t	          d                    t                               t          t          t          d          t          t	          d                    t#          t          d                                        t          t          t          d          t          t	          d                    t                               t          t          t          d          t          t	          d                    t$                                                  k    sJ t'          t(          fd           t'          t(          fd           d S )Nz:void func(){
int a = 10;
int b = 20;
++a;
--b;
a++;
b--;
}zvoid func(){
int a = 10;
int b = -100;
int c = +19;
int d = ++a;
int e = --b;
int f = a++;
int g = b--;
bool h = !false;
bool i = !d;
bool j = !0;
bool k = !10.0;
}z&void func(){
int a = 10;
int b = ~a;
}z'void func(){
int a = 10;
int b = *&a;
}r9   r   r   r   r:   r;   r   rJ   r?   r   r   i   rk   rm   rn   ro   rq   r   r   jkc                  $    t           d          S r   r   r   s   r_   r   z&test_unary_operators.<locals>.<lambda>  r   ra   c                  $    t           d          S r   r   r   s   r_   r   z&test_unary_operators.<locals>.<lambda>  r   ra   )r   rU   r   r   r   r   r   r   r4   r   r   r$   r"   r%   r#   r   r6   r2   r5   r   r   )rW   rX   r[   r\   r   r   s       @@r_   test_unary_operatorsr'    s    	 	$ 	 	 vs++7799vs++7799Aw,KKVC[[(88%bkk    VC[[(88%bkk    VC[[))VC[[))fSkk**fSkk**! 	      0 Aw,KKVC[[(88%bkk    VC[[(88%dmm    VC[[(88%bkk    VC[[(88*6#;;77    VC[[(88*6#;;77    VC[[(88+F3KK88    VC[[(88+F3KK88    VC[[!&..11"    VC[[!&..11!&++..    VC[[!&..11"    VC[[!&..11#   {C C	H H H H H H HT 	"$N$N$N$NOOO"$N$N$N$NOOOOOra   c                     d} t          | d                                          }|d         t          t                      t	          d          dt          t          t          t          d          t          t	          d                    t          d          	                    t          t          t          d                    t          d
                    t          t          t          d                    t          d
                    t          t          t          d                    t          d
                    t          t          t          d                    t          d
                    t          t          t          d                    t          d
                                        k    sJ d S )NzHvoid func(){
int a = 100;
a += 10;
a -= 10;
a *= 10;
a /= 10;
a %= 10;
}r9   r   r   r   r:   r;   r   rJ   r   r   )r   rU   r   r   r   r   r   r   r4   r   r   r   r   r   r   r    )c_srcress     r_   !test_compound_assignment_operatorr+    s    	 eS))55771v+KKs(88%cll    'VC[[))BKK  'VC[[))BKK  'VC[[))BKK  'VC[[))BKK  'VC[[))BKK 1 	! ! ! ! ! ! ! ! !ra   c                  
   d} d}d}d}d}t          | d                                          }t          |d                                          }t          |d                                          }t          |d                                          }t          |d                                          }	|d         t          t                      t	          d          d	t          t          t          t          d
          t          t	          d                    t          d                              t          t          t          d
          t          d                    t          t          t          d
                                                            k    sJ |d         |d         k    sJ |d         t          t                      t	          d          d	t          t          t          t          d
          t          t	          d                    t          d                              t          t          t          d          t          t	          d                    t          d                              t          t          t          d
          t          d                    t          t          t          d
                    t          t          d                                                            k    sJ |d         t          t          t	          d                    t	          d          t          t          d          t          t	          d                              ft          t          t          t          d          t          t	          d                    t          d                              t          t          t          d          t          d                    t          t!          t          t          d                    t#          t          d          t          d                              t%          t          t          d                    t          d                                        t'          d                              k    sJ |	d         t          t                      t	          d          d	t          t          t          d          t          t                                                              k    sJ d S )Nz/void func(){
int i = 0;
while(i < 10)
{
i++;
}}z,void func(){
int i = 0;
while(i < 10)
i++;
}zDvoid func(){
int i = 10;
int cnt = 0;
while(i > 0)
{
i--;
cnt++;
}
}z[int digit_sum(int n){
int sum = 0;
while(n > 0)
{
sum += (n % 10);
n /= 10;
}
return sum;
}zvoid func(){
while(1);
}r9   r   r   r   r   r;   rJ   r   )r   r   cnt	digit_sumr   r<   sumr>   )r   rU   r   r   r   r   r   r   r4   r   r   r!   r+   r%   r-   r#   r   r(   r   r   r   s
             r_   test_while_stmtr0    s    	 		 		 	 	 vs++7799vs++7799vs++7799vs++7799vs++7799Aw,KKVC[[(88%ajj    "s  #%"3KK  
 
 
 	      2 Aw$q'!!!!Aw,KKs(88%bkk    u(88%ajj    %s

  #%"3KK  &"5MM 	    	" " " " " " "H Aw,v''$$3KK$VF^^44   u(88%ajj    %s

  #.$ &u" "   &s '" "	  /$ &s" " $BKK	    . u?   * * * * * * *X Aw,KKAJJ"!    	        ra   c                  p     ddl m  t          t           fd           t          t          d            d S )Nr   CCodeConverterc                                    S )Nr   r2  s   r_   r   ztest_raise.<locals>.<lambda>  s    NN$4$4 ra   c                  $    t          dd          S )N r9   )moder   r   ra   r_   r   ztest_raise.<locals>.<lambda>  s    OC$D$D$D ra   )sympy.parsing.c.c_parserr3  r   ImportErrorr2  s   @r_   
test_raiser:  }  sI    ;;;;;;{4444555{DDEEEEEra   )Isympy.parsing.sym_exprr   sympy.testing.pytestr   r   sympy.externalr   cinsympy.codegen.astr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   sympy.codegen.cnodesr"   r#   r$   r%   
sympy.corer&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   sympy.logic.boolalgr1   r2   r3   sympy.core.symbolr4   r5   r6   r   r`   r   r   r   r   r   r   r   r  r  r   r'  r+  r0  r:  r   ra   r_   <module>rD     s   2 2 2 2 2 2 . . . . . . . . ( ( ( ( ( (mNZ(4LMMM yQF' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '% % % % % % % % % % % %                          1000000000((((((11111111III
 
 
DY Y Yx] ] ]@Q Q Qf ^
 ^
 U^
@ x
 x
 Ux
t \ \ U\~3
 3
 3
ldP dP dPN9 [P [P U[P|,W W WtTP TP TPn0 0 0d s s Us s snF F F F Fra   