B
    Khûhd  ã               @   sÖ   U d 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 dd	„ d	e	ƒZ
G d
d„ de
ƒZG dd„ de
ƒZeed< eed< eed< eed< eed< eed< eed< eed< eed< deeddf ddœdd„ZdS )z&Export the Python grammar and symbols.é    N)ÚUnioné   )Útoken)Údriver)ÚGrammarc               @   s   e Zd Zeddœdd„ZdS )ÚSymbolsN)ÚgrammarÚreturnc             C   s(   x"|j  ¡ D ]\}}t| ||ƒ qW dS )z”Initializer.

        Creates an attribute for each grammar symbol (nonterminal),
        whose value is the symbol's type (an int >= 256).
        N)Zsymbol2numberÚitemsÚsetattr)Úselfr   ÚnameÚsymbol© r   ú2/tmp/pip-install-vv81h98y/black/blib2to3/pygram.pyÚ__init__   s    zSymbols.__init__)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s   r   c               @   sN  e Zd ZU eed< eed< eed< eed< eed< eed< eed< eed< eed	< eed
< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed< eed < eed!< eed"< eed#< eed$< eed%< eed&< eed'< eed(< eed)< eed*< eed+< eed,< eed-< eed.< eed/< eed0< eed1< eed2< eed3< eed4< eed5< eed6< eed7< eed8< eed9< eed:< eed;< eed<< eed=< eed>< eed?< eed@< eedA< eedB< eedC< eedD< eedE< eedF< eedG< eedH< eedI< eedJ< eedK< eedL< eedM< eedN< eedO< eedP< eedQ< eedR< eedS< eedT< eedU< eedV< eedW< eedX< eedY< eedZ< eed[< eed\< eed]< eed^< eed_< eed`< eeda< eedb< eedc< eedd< eede< eedf< eedg< eedh< diS )jÚ_python_symbolsZand_exprZand_testZ	annassignZarglistÚargumentZ
arith_exprZasexpr_testZassert_stmtZasync_funcdefZ
async_stmtZatomZ	augassignZ
break_stmtZ
case_blockZclassdefZcomp_forZcomp_ifZ	comp_iterZcomp_opZ
comparisonZcompound_stmtZcontinue_stmtZ	decoratedZ	decoratorZ
decoratorsZdel_stmtZdictsetmakerZdotted_as_nameZdotted_as_namesZdotted_nameZencoding_declZ
eval_inputZexcept_clauseZ	exec_stmtÚexprZ	expr_stmtZexprlistZfactorZ
file_inputZ	flow_stmtZfor_stmtZfuncdefZglobal_stmtZguardZif_stmtZimport_as_nameZimport_as_namesZimport_fromÚimport_nameZimport_stmtZlambdefZ	listmakerZ
match_stmtZnamedexpr_testZnot_testZold_comp_forZold_comp_ifZold_comp_iterZold_lambdefZold_testZor_testÚ
parametersZ	pass_stmtÚpatternÚpatternsÚpowerZ
print_stmtZ
raise_stmtZreturn_stmtZ
shift_exprZsimple_stmtZsingle_inputZsliceopZ
small_stmtZsubject_exprZ	star_exprZstmtZ	subscriptZsubscriptlistZsuiteZtermÚtestZtestlistZ	testlist1Ztestlist_gexpZtestlist_safeZtestlist_star_exprZtfpdefZtfplistÚtnameZ
tname_starÚtrailerZtry_stmtZtypedargslistZvarargslistZvfpdefZvfplistZvnameZ
while_stmtZ	with_stmtZxor_exprZ	yield_argZ
yield_exprZ
yield_stmtN)r   r   r   ÚintÚ__annotations__r   r   r   r   r   #   sÐ   
r   c               @   sF   e Zd ZU eed< eed< eed< eed< eed< eed< eed< dS )	Ú_pattern_symbolsZAlternativeZAlternativesZDetailsZMatcherZNegatedUnitZRepeaterZUnitN)r   r   r   r    r!   r   r   r   r   r"   Ž   s   
r"   Úpython_grammarÚ!python_grammar_no_print_statementÚ3python_grammar_no_print_statement_no_exec_statementÚBpython_grammar_no_print_statement_no_exec_statement_async_keywordsZ python_grammar_no_exec_statementÚpattern_grammarÚpython_grammar_soft_keywordsÚpython_symbolsÚpattern_symbolszos.PathLike[str])Ú	cache_dirr	   c             C   sÌ   t j t j t¡d¡}t j t j t¡d¡}t d|| ¡adt_tj	 
¡ }tj	 ¡  ttƒat 
¡ atjd= t 
¡ atjd= tjd= dt_t 
¡ adt_d	t_t 
¡ a|t_	d
t_t d|| ¡attƒad S )NzGrammar.txtzPatternGrammar.txtZblib2to3)é   r   ÚprintÚexec)é   r   T)r/   é   )r/   é
   )ÚosÚpathÚjoinÚdirnameÚ__file__r   Zload_packaged_grammarr#   ÚversionÚsoft_keywordsÚcopyÚclearr   r)   r$   Úkeywordsr%   r&   Zasync_keywordsr(   r'   r"   r*   )r+   Z_GRAMMAR_FILEZ_PATTERN_GRAMMAR_FILEr8   r   r   r   Ú
initialize¤   s.    


r<   )N)Ú__doc__r2   Útypingr   Zpgen2r   r   Zpgen2.grammarr   Úobjectr   r   r"   r!   Ústrr<   r   r   r   r   Ú<module>   s$   	k
