<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]0                 @   s   d  d l  Z  d  d l Z d d l m Z m Z Gd d   d e  Z d d   Z d Z i  Z	 x? e j
   D]1 Z e ri e j   \ Z Z e e e  e	 e <qi Wd S)	    N   )tokentokenizec               @   sL   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d S)Grammarc             C   sX   i  |  _  i  |  _ g  |  _ i  |  _ d g |  _ i  |  _ i  |  _ i  |  _ d |  _ d  S)Nr   EMPTY   )r   r   )	symbol2numbernumber2symbolstatesdfaslabelskeywordstokenssymbol2labelstart)self r   ,/opt/alt/python35/lib64/python3.5/grammar.py__init__M   s    							zGrammar.__init__c             C   s?   t  | d  ) } t |  j  } t j | | d  Wd  QRXd  S)Nwb   )open_make_deterministic__dict__pickledump)r   filenamefdr   r   r   r   X   s    zGrammar.dumpc          	   C   s<   t  | d   } t j |  } Wd  QRX|  j j |  d  S)Nrb)r   r   loadr   update)r   r   r   r   r   r   r   r    i   s    zGrammar.loadc             C   sx   |  j    } x- d D]% } t | | t |  |  j    q W|  j d  d   | _ |  j d  d   | _ |  j | _ | S)Nr   r	   r   r   r   r   )r   r	   r   r   r   r   )	__class__setattrgetattrcopyr   r
   r   )r   newZ	dict_attrr   r   r   r%   o   s    
#zGrammar.copyc             C   s   d d l  m  } t d  | |  j  t d  | |  j  t d  | |  j  t d  | |  j  t d  | |  j  t d |  j  d  S)	Nr   )pprintZs2nZn2sr
   r   r   r   )r'   printr   r	   r
   r   r   r   )r   r'   r   r   r   report|   s    




zGrammar.reportN)__name__
__module____qualname__r   r   r    r%   r)   r   r   r   r   r      s
   6r   c             C   s   t  |  t  r5 t j t d d   |  j   D   St  |  t  rU d d   |  D St  |  t  r{ t d d   |  D  S|  S)Nc             s   s'   |  ] \ } } | t  |  f Vq d  S)N)r   ).0kvr   r   r   	<genexpr>   s    z&_make_deterministic.<locals>.<genexpr>c             S   s   g  |  ] } t  |   q Sr   )r   )r-   er   r   r   
<listcomp>   s   	 z'_make_deterministic.<locals>.<listcomp>c             s   s   |  ] } t  |  Vq d  S)N)r   )r-   r1   r   r   r   r0      s    )
isinstancedictcollectionsOrderedDictsorteditemslisttuple)topr   r   r   r      s     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
)r5   r    r   r   objectr   r   Z	opmap_rawZopmap
splitlineslinesplitopnamer$   r   r   r   r   <module>   s   u=