python (3.11.7)
    eY2                     *   d Z ddlmZ ddlZddlmZ  eej        ej        z   dz             Z	 eej        dz             Z
d  ed          D             Zd  ed          D             Z
 G d	 d
          Zedk    rddlmZ  ed
d           dS dS )zProvide advanced parsing abilities for ParenMatch and other extensions.
HyperParser uses PyParser.  PyParser mostly gives information on the
proper indentation of code.  HyperParser gives additional information on
the structure of code.
    )	iskeywordN)pyparse_c                 :    g | ]}t          |          t          v S  )chr_ASCII_ID_CHARS.0xs     G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/idlelib/hyperparser.py
<listcomp>r      s#    EEEQc!ff/EEE       c                 :    g | ]}t          |          t          v S r   )r   _ASCII_ID_FIRST_CHARSr
   s     r
   r   r      s$    ;;;1c!ff%%;;;r   c                   h    e Zd Zd Zd Zd Zd Zd
dZ eh d          Z	e
d	             Zd
Zd Z
dS )HyperParserc                     | _         |j        x _        }t          j        |j        |j                  }d } ||                    |                    }|j        s|j        D ]}t          ||z
  d          }t          |          dz   }	d|z  }
|                    |                    |	|
          dz              |
                    |                    |	                    }||dk    r n|                    |pd           ni|                    d|          }|r	|d         }	nd	}	d|z  }
|                    |                    |	|
          dz              |                    d           |j        dd
          _        |
 _        |                                 _         fdt-          t/           j                            D              _                             |           dS )z;To initialize, analyze the surroundings of the given index.c                 :    t          t          |                     S )N)intfloat)indexs    r
   
index2linez(HyperParser.__init__.<locals>.index2line"