U e5d�ã@s\ddlZddlmZGdd„deƒZdZiZe ¡D]"Zer4e  ¡\Z Z e ee ƒee <q4dS)éNé)Útokenc@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚGrammarcCs<i|_i|_g|_i|_dg|_i|_i|_i|_d|_dS)N)rZEMPTYé) Ú symbol2numberÚ number2symbolÚstatesÚdfasÚlabelsÚkeywordsÚtokensÚ symbol2labelÚstart)Úself©rú-/usr/lib64/python3.8/lib2to3/pgen2/grammar.pyÚ__init__LszGrammar.__init__c Cs,t|dƒ�}t |j|tj¡W5QRXdS)NÚwb)ÚopenÚpickleÚdumpÚ__dict__ZHIGHEST_PROTOCOL)rÚfilenameÚfrrrrWs z Grammar.dumpc Cs0t|dƒ�}t |¡}W5QRX|j |¡dS)NÚrb)rrÚloadrÚupdate)rrrÚdrrrr\s z Grammar.loadcCs|j t |¡¡dS)N)rrrÚloads)rZpklrrrrbsz Grammar.loadscCsT| ¡}dD]}t||t||ƒ ¡ƒq |jdd…|_|jdd…|_|j|_|S)N)rrr r r r )Ú __class__ÚsetattrÚgetattrÚcopyr rr)rÚnewZ dict_attrrrrr"fsz Grammar.copycCsvddlm}tdƒ||jƒtdƒ||jƒtdƒ||jƒtdƒ||jƒtdƒ||jƒtd|jƒdS) Nr)ÚpprintZs2nZn2srr r r)r$Úprintrrrr r r)rr$rrrÚreportss      zGrammar.reportN) Ú__name__Ú __module__Ú __qualname__rrrrr"r&rrrrrs 6  ra ( 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ÚobjectrZ opmap_rawZopmapÚ splitlinesÚlineÚsplitÚopÚnamer!rrrrÚs o3