Ë
    Ç[;jx  ã                   ó|  — d dl Z d dlmZ d dlZddlmZ ddlmZ ddlm	Z	 ddl
mZ g Zej                  D ]<  Zdj                   ed	«      D � cg c]  } e›| ›�‘Œ
 c} «      Zej%                  e«       Œ> d
j                  e«      Z e«         G d„ de j&                  «      Zedk(  r e j,                  «        yyc c} w )é    N)ÚStringIOé   )ÚScanning)ÚModuleScope)ÚStringParseContext)Úinit_threadÚ é
   Ú
c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestScanningc                 ó¶   — t        j                  dt        «      }t        t        «      }t	        d«      }t        dd d «      }t        j                  ||||¬«      S )Nz	fake codezfake contextÚfake_module)ÚscopeÚcontext)r   ÚStringSourceDescriptorÚcoder   r   r   ÚPyrexScanner)ÚselfÚsourceÚbufr   r   s        úkG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Compiler/Tests/TestScanning.pyÚmake_scannerzTestScanning.make_scanner   sL   € Ü×0Ñ0°¼dÓCˆÜ”t‹nˆÜ$ ^Ó4ˆÜ˜M¨4°Ó6ˆä×$Ñ$ S¨&¸ÀwÔOÐOó    c                 óŠ  — | j                  «       }| j                  |j                  d«       | j                  |j                  d«       |j	                  «        | j                  |j                  d«       | j                  |j                  d«       |j
                  }| j                  |dd  d«       |j                  «       }| j                  ||j
                  «       |j	                  «        | j                  ||j                  |j                  f«       |j                  dk7  r |j	                  «        |j                  dk7  rŒ g }g }g }|j	                  «        |j                  dk7  rq|j                  |j                  «       |j                  |j                  «       |j                  |j
                  «       |j	                  «        |j                  dk7  rŒqt        |d d d…   |d d d…   |d d d…   «      D ]  \  }}}	|j                  |||	«       Œ d}
|j                  dk7  r‚| j                  |j                  ||
   «       | j                  |j                  ||
   «       | j                  |j
                  ||
   «       |j	                  «        |
dz  }
|j                  dk7  rŒ‚| j                  |
t        |«      «       y )	NÚIDENTÚa0Úa1é   )r   é   ÚNEWLINEéÿÿÿÿr   )r   ÚassertEqualÚsyÚsystringÚnextÚlast_token_position_tupleÚpeekÚappendÚzipÚput_backÚlen)r   ÚscannerÚa1posÚa2peekÚline_syÚline_systringÚline_posr$   r%   ÚposÚns              r   Útest_put_back_positionsz$TestScanning.test_put_back_positions   sQ  € Ø×#Ñ#Ó%ˆà×Ñ˜Ÿ™ WÔ-Ø×Ñ˜×)Ñ)¨4Ô0Ø�‰ŒØ×Ñ˜Ÿ™ WÔ-Ø×Ñ˜×)Ñ)¨4Ô0Ø×1Ñ1ˆØ×Ñ˜˜q˜r˜ FÔ+Ø—‘“ˆØ×Ñ˜ × AÑ AÔBØ�‰ŒØ×Ñ˜ '§*¡*¨g×.>Ñ.>Ð!?Ô@ð �j‰j˜IÒ%Ø�L‰LŒNð �j‰j˜IÓ%ð ˆØˆØˆà�‰ŒØ�j‰j˜IÒ%Ø�N‰N˜7Ÿ:™:Ô&Ø× Ñ  ×!1Ñ!1Ô2Ø�O‰O˜G×=Ñ=Ô>Ø�L‰LŒNð	 �j‰j˜IÓ%ô "%Ø‘D�b�D‰M˜=©¨2¨Ñ.°¹¸2¸±ö"
ÑˆB�˜#ð ×Ñ˜R ¨3Õ/ð"
ð
 ˆØ�j‰j˜IÒ%Ø×Ñ˜WŸZ™Z¨°©Ô4Ø×Ñ˜W×-Ñ-¨}¸QÑ/?Ô@Ø×Ñ˜W×>Ñ>ÀÈÁÔLØ�L‰LŒNØ�‰FˆAð �j‰j˜IÓ%ð 	×Ñ˜œC ›MÕ*r   c                 óz	  — | j                  «       }t        j                  |«      5 }|j                  dk7  r |j	                  «        |j                  dk7  rŒ d d d «       | j                  «       |j	                  «        | j                  |j                  d«       |j                  }t        j                  |«      5 }|j                  dk7  rA|j	                  «        |j                  dk(  r|j                  d«       n|j                  dk7  rŒAd d d «       | j                  |«       | j                  |j                  d«       | j                  |j                  |«       |j	                  «        | j                  |j                  d«       |j	                  «        | j                  |j                  d«       t        j                  |«      5 }|j                  d«       d d d «       | j                  |j                  d«       |j	                  «        | j                  |j                  d«       |j                  |j                  }}|j                  }t        j                  |«      5  |j	                  «        |j                  |j                  }	}|j                  }
t        j                  |«      5  t        j                  |«      5  |j	                  «        |j	                  «        |j                  d	«       d d d «       | j                  |j                  |j                  f||	f«       d d d «       | j                  |j                  |j                  f||	f«       |j                  d
«       d d d «       | j                  |j                  |j                  f||f«       t        j                  |«      5  |j	                  «        |j	                  «        t        j                  |«      5  |j	                  «        d d d «       |j	                  «        |j                  d«       d d d «       | j                  |j                  |j                  f||f«       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒYxY w# 1 sw Y   �Œ–xY w# 1 sw Y   �ŒˆxY w# 1 sw Y   �ŒcxY w# 1 sw Y   �Œ-xY w# 1 sw Y   Œ«xY w# 1 sw Y   ŒŽxY w)Nr!   Úb0Úb7zOh no not b7!Úb1Úb2z0Something has gone wrong with the current symbolÚb3ÚOoopsÚeeeÚOooops)r   r   Útentatively_scanr$   r&   ÚassertFalser#   r%   r'   ÚerrorÚ
assertTrue)r   r-   Úerrorsr3   rA   Úsy1Ú	systring1Úpos1Úsy2Ú	systring2Úpos2s              r   Útest_tentatively_scanz"TestScanning.test_tentatively_scanJ   s‰  € Ø×#Ñ#Ó%ˆÜ×&Ñ& wÔ/°6Ø—*‘* 	Ò)Ø—‘”ð —*‘* 	Ó)÷ 0ð 	×Ñ˜Ô à�‰ŒØ×Ñ˜×)Ñ)¨4Ô0Ø×/Ñ/ˆÜ×&Ñ& wÔ/°6Ø—*‘* 	Ò)Ø—‘”Ø×#Ñ# tÒ+Ø—M‘M /Ô2Øð	 —*‘* 	Ó)÷ 0ð 	�‰˜ÔØ×Ñ˜×)Ñ)¨4Ô0Ø×Ñ˜×:Ñ:¸CÔ@Ø�‰ŒØ×Ñ˜×)Ñ)¨4Ô0Ø�‰ŒØ×Ñ˜×)Ñ)¨4Ô0ä×&Ñ& wÔ/°5Ø�M‰MÐLÔM÷ 0à×Ñ˜×)Ñ)¨4Ô0Ø�‰ŒØ×Ñ˜×)Ñ)¨4Ô0ð !Ÿ™ W×%5Ñ%5ˆYˆØ×0Ñ0ˆÜ×&Ñ& wÕ/Ø�L‰LŒNØ$ŸZ™Z¨×)9Ñ)9�ˆCØ×4Ñ4ˆDÜ×*Ñ*¨7Õ3Ü×.Ñ.¨wÕ7Ø—L‘L”NØ—L‘L”NØ—M‘M 'Ô*÷ 8ð × Ñ  '§*¡*¨g×.>Ñ.>Ð!?À#ÀyÐAQÔR÷ 4ð ×Ñ˜gŸj™j¨'×*:Ñ*:Ð;¸cÀ9Ð=MÔNØ�M‰M˜%Ô ÷ 0ð 	×Ñ˜'Ÿ*™* g×&6Ñ&6Ð7¸#¸yÐ9IÔJÜ×&Ñ& wÕ/Ø�L‰LŒNØ�L‰LŒNÜ×*Ñ*¨7Õ3Ø—‘”÷ 4ð �L‰LŒNØ�M‰M˜(Ô#÷ 0ð 	×Ñ˜'Ÿ*™* g×&6Ñ&6Ð7¸#¸yÐ9IÕJ÷i 0Ñ/ú÷ 0Ñ/ú÷ 0Ñ/ú÷ 8Ñ7ú÷ 4Ñ3ú÷	 0Ñ/ú÷  4Ð3ú÷ 0Ð/ús†   ¦/QÂ<AQ$ÇQ1É&A
RÊ0RË2Q>Ë82RÌ*ARÎ46R1Ï*R%Ï;)R1ÑQ!Ñ$Q.Ñ1Q;Ñ>RÒRÒR	ÒRÒR"Ò%R.	Ò*R1Ò1R:N)Ú__name__Ú
__module__Ú__qualname__r   r5   rJ   © r   r   r   r      s   „ òPò++óZ6Kr   r   Ú__main__)ÚunittestÚior   ÚstringÚ r   ÚSymtabr   ÚTreeFragmentr   ÚErrorsr   r   Úascii_lowercaseÚchÚjoinÚrangeÚliner)   ÚTestCaser   rK   Úmain)r4   s   0r   Ú<module>r^      s®   ðÛ Ý Û å Ý  Ý -Ý  ð 
€Ø
×
 Ô
 €BØ�8‰8©u°R¬yÓ9©y¨!™r¡1Ò%¨yÑ9Ó:€DØ‡K�K�Õð !ð ‡y�y�ƒ€á „ôlK�8×$Ñ$ô lKðb ˆzÒØ€H‡M�M…Oð ùòq :s   ÁB9
