File: //usr/local/lib/python3.10/idlelib/__pycache__/pyparse.cpython-310.opt-2.pyc
o
�i�M � @ s d dl Z ed�\ZZZZZe �de je j B �j
Ze �de j�jZ
e �de je jB �jZe �de j�jZe �de j�jZe �de j�jZG d d
� d
e�Ze�ed�d�Ze�d
d� dD �� e�dd� dD �� e�dd� dD �� G dd� d�Zedkr�d dlmZ eddd� dS dS )� N� z�
^
[ \t]*
(?: while
| else
| def
| return
| assert
| break
| class
| continue
| elif
| try
| except
| raise
| import
| yield
)
\b
z'
[ \t]*
(?: \# \S .* )?
\n
aK
\""" [^"\\]* (?:
(?: \\. | "(?!"") )
[^"\\]*
)*
(?: \""" )?
| " [^"\\\n]* (?: \\. [^"\\\n]* )* "?
| ''' [^'\\]* (?:
(?: \\. | '(?!'') )
[^'\\]*
)*
(?: ''' )?
| ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
zM
[ \t]*
[^\s#\\] # if we match, m.end()-1 is the interesting char
z_
\s*
(?: return
| break
| continue
| raise
| pass
)
\b
z
[^[\](){}#'"\\]+
c @ s e Zd Z dd� ZdS )�ParseMapc C s dS )N�x � )�self�keyr r �,/usr/local/lib/python3.10/idlelib/pyparse.py�__missing__r s zParseMap.__missing__N)�__name__�
__module__�__qualname__r r r r r r f s r � r c c � � | ]}t |�t d �fV qdS )�(N��ord��.0�cr r r � <genexpr>x � � r z({[c c r )�)Nr r r r r r y r z)}]c c s � | ]}t |�t |�fV qd S �Nr r r r r r z r z"'\
#c @ s| e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� ZdS )�Parserc C s || _ || _d S r )�indentwidth�tabwidth)r r r r r r �__init__ s
zParser.__init__c C s || _ d| _d S �Nr )�code�study_level)r �sr r r �set_code� s
zParser.set_codec C s� | j d }}t|�}td�D ].}|�dd|�}|dk r n |�dd|�d }t|||�}|r;||�� �s;|�� } n|}q|d u rTt|�}|rR||�� �sR|�� }|S |d }t||� }rr|�� \}}||�sk|}t||� }s_|S )Nr z:
r �
� )r �len�range�rfind�_synchre�start�span) r Zis_char_in_stringr �pos�limitZtries�i�mr r r r �find_good_parse_start� s2 �zParser.find_good_parse_startc C s"