
    5bh                         	 d dl Z ddlmZ  G d de      ZdZi Zej                         D ]$  Zesej                         \  Z
Z eee      ee
<   & [[
[y)    N   )tokenc                   2    e Zd Z	 d Zd Zd Zd Zd Zd Zy)Grammarc                     i | _         i | _        g | _        i | _        dg| _        i | _        i | _        i | _        d| _        y )N)r   EMPTY   )	symbol2numbernumber2symbolstatesdfaslabelskeywordstokenssymbol2labelstart)selfs    ?/opt/python-3.12.12/usr/lib/python3.12/lib2to3/pgen2/grammar.py__init__zGrammar.__init__L   sF    	#n
    c                     	 t        |d      5 }t        j                  | j                  |t        j                         d d d        y # 1 sw Y   y xY w)Nwb)openpickledump__dict__HIGHEST_PROTOCOL)r   filenamefs      r   r   zGrammar.dumpW   s7    7(D!QKKq&*A*AB "!!s   0AAc                     	 t        |d      5 }t        j                  |      }d d d        | j                  j	                         y # 1 sw Y   %xY w)Nrb)r   r   loadr   update)r   r   r   ds       r   r"   zGrammar.load\   s>    9(D!QAA "Q "!s   AAc                 b    	 | j                   j                  t        j                  |             y )N)r   r#   r   loads)r   pkls     r   r&   zGrammar.loadsb   s     AV\\#./r   c           	          	 | j                         }dD ]'  }t        ||t        | |      j                                ) | j                  d d  |_        | j
                  d d  |_        | j                  |_        |S )N)r
   r   r   r   r   r   )	__class__setattrgetattrcopyr   r   r   )r   new	dict_attrs      r   r,   zGrammar.copyf   sm    	 nn4ICGD)$<$A$A$CD4 [[^
[[^
JJ	
r   c                 `   	 ddl m } t        d        || j                         t        d        || j                         t        d        || j                         t        d        || j
                         t        d        || j                         t        d| j                         y )	Nr   )pprints2nn2sr   r   r   r   )r0   printr
   r   r   r   r   r   )r   r0   s     r   reportzGrammar.reports   sy    H!et!!"et!!"ht{{ftyyht{{gtzz"r   N)	__name__
__module____qualname__r   r   r"   r&   r,   r4    r   r   r   r      s'    3j	C
 0#r   r   a  
( LPAR
) RPAR
[ LSQB
] RSQB
: COLON
, COMMA
; SEMI
+ PLUS
- MINUS
* STAR
/ SLASH
| VBAR
& AMPER
< LESS
> GREATER
= EQUAL
. DOT
% PERCENT
` BACKQUOTE
{ LBRACE
} RBRACE
@ AT
@= ATEQUAL
== EQEQUAL
!= NOTEQUAL
<> NOTEQUAL
<= LESSEQUAL
>= GREATEREQUAL
~ TILDE
^ CIRCUMFLEX
<< LEFTSHIFT
>> RIGHTSHIFT
** DOUBLESTAR
+= PLUSEQUAL
-= MINEQUAL
*= STAREQUAL
/= SLASHEQUAL
%= PERCENTEQUAL
&= AMPEREQUAL
|= VBAREQUAL
^= CIRCUMFLEXEQUAL
<<= LEFTSHIFTEQUAL
>>= RIGHTSHIFTEQUAL
**= DOUBLESTAREQUAL
// DOUBLESLASH
//= DOUBLESLASHEQUAL
-> RARROW
:= COLONEQUAL
)r    r   objectr   	opmap_rawopmap
splitlineslinesplitopnamer+   r8   r   r   <module>rB      sp   	  j#f j#^1	f 	  "D::<DE4(b	 # 	"dr   