
    Αiu                     Z    S SK r S SKJrJr   " S S5      r " S S\5      r " S S5      rg)	    N)Enumautoc                        \ rS rSrS rS rSrg)Token   c                     Xl         X l        g Ntypevalue)selfr   r   s      l/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/distributed/flex_checkpoint/aoa/lexer.py__init__Token.__init__   s    	
    c                 >    SU R                    SU R                  < S3$ )NzToken(z, )r
   )r   s    r   __repr__Token.__repr__   s    		{"TZZN!44r   r
   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    5r   r   c                       \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       rSrg)	TokenType   r   N)r   r   r   r   r   
IDENTIFIERNUMBERCOLONLBRACKETRBRACKETCOMMARARROWSTRINGEQUALNEWLINEEOFr   r   r   r   r   r      sO    JVFFEvHvHFEVFVFFEfG
&Cr   r   c                   >    \ rS rSr/ SQrS
S jrS rS rS rS r	S	r
g)Lexer*   ))r%   z->)r'   =)r!   :)r"   z\[)r#   z\])r$   ,)r    z\d+)r&   z"[^"]*"|\'[^\']*\')r   z[A-Za-z_][A-Za-z\.\$\_\*\d\^T]*)SKIPz[ \t]+)r(   z[\r\n]+)MISMATCH.Nc                 4   SSK Jn  UR                    Vs/ s H  n[        UR                  5       5      S   PM!     snU l         [        R
                  " SR                  S U R                   5       5      5      R                  U l	        Xl
        X l        g s  snf )N   )macro_registry|c              3   8   #    U  H  u  pS U SU S3v   M     g7f)z(?P<>r   Nr   ).0nameregexs      r   	<genexpr>!Lexer.__init__.<locals>.<genexpr>?   s(      #;KD tfAeWA&#;s   )macrosr5   listvaluesrecompilejointoken_specificationmatch	get_tokencontext	traceback)r   rG   rH   r5   ds        r   r   Lexer.__init__:   s~    *4B4I4IJ4IqtAHHJ'*4IJHH #'#;#; 

 % 	 " Ks   &Bc                 r   SnU R                  X5      n/ nUR                  S5      (       d  US-  nUb  UR                  nUR                  5       nUS:X  a  O:US:X  a  [	        SU< SU 35      eUR                  [        [        U   U5      5        UR                  5       nU R                  X5      nUb  M  U$ )Nr   
r0   r1   zUnexpected character z at position )	rF   endswith	lastgroupgroupRuntimeErrorappendr   r   end)r   textposmotokenskindr   s          r   tokenizeLexer.tokenizeG   s    ^^D&}}T""DLDn<<DHHJEv~#"+E9M#G  eIdOU;<&&(C*B n r   c                    [        U[        5      (       a  U/n/ nU H^  nU" U R                  U5      X@R                  5      n[        U[        5      (       a  UR	                  U5        MM  UR                  U5        M`     U$ r	   )
isinstancestrrX   rG   rQ   extend)r   
expressionmacronew_expressionexprresultss         r   apply_macroLexer.apply_macro\   so    j#&&$JDDMM$/||DG'3''%%g.%%g.  r   c           
         / n[        USS5      nU H  n U" U R                  U5      XPR                  5      n[        U[        5      (       a  U/n	O[        U5      n	U R                  (       a"  X/:w  a  U R                  R!                  XYU5        UR#                  U	5        M     U$ ! [        [        [
        [        4 a  nU R                  (       an  U R                  R                  U5      nU R                  R                  [        U5      U U[        U5      R                  S9  U R                  R                  5         e S nAff = f)Nr   r_   )error_messagestagechain
error_type)getattrrX   rG   AssertionError
ValueErrorKeyErrorrP   rH   build_chain	add_errorr\   r   r   printr[   r?   record_childrenr]   )
r   expressionsr_   new_expressions
macro_namera   rb   erh   results_lists
             r   apply_single_macro_to_allLexer.apply_single_macro_to_allh   s   UJ8
Dd 3T<<H '3'' 'y#G}~~6)NN22J ""<05  6 1 #J,G 
>> NN66t<ENN,,&)!f!+##'7#3#3	 -  NN((*
s   "B&&E B E  Ec                 2   U R                   (       a$  U R                   R                  [        U5      5        UnU R                   H  nU R	                  X#5      nM     [        U5      U l        / nU H#  nUR                  U R                  U5      5        M%     U$ r	   )rH   register_rootsr?   r>   rw   final_expressionsr]   rX   )r   rr   current_expressionsr_   rV   ra   s         r   
all_tokensLexer.all_tokens   s    >>NN))${*;<)[[E"&"@"@## !
 "&&9!:'DMM$---. (r   )rG   r{   rF   r>   rH   r	   )r   r   r   r   rD   r   rX   rc   rw   r}   r   r   r   r   r+   r+   *   s$    #*
@r   r+   )rA   enumr   r   r   r   r+   r   r   r   <module>r      s/    
 5 5 l lr   