B
YI~dS2 ã @ s˜ d dl mZ d dlZd dlmZ eejej d ƒZeejd ƒZ dd„ e
dƒD ƒZdd„ e
dƒD ƒZG d d
„ d
ƒZ
edkr”d dlmZ ed
dd� dS )é )Ú iskeywordN)ÚpyparseÚ_c C s g | ]}t |ƒtk‘qS © )ÚchrÚ_ASCII_ID_CHARS)Ú.0Úxr r ú8/opt/alt/python37/lib64/python3.7/idlelib/hyperparser.pyú
s r é€ c C s g | ]}t |ƒtk‘qS r )r Ú_ASCII_ID_FIRST_CHARS)r r r r r
r s c @ s\ e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zddd„Zed
ddhƒZ e
dd„ ƒZdZdd„ Z
dS )ÚHyperParserc
sJ |ˆ _ |j ˆ _}t |j|j¡}dd„ }|| |¡ƒ}|js¸xh|jD ]^}t || dƒ}t
|ƒd } d| }
| | | |
¡d ¡ |
| | ¡¡}|d k s¢|dkrFP qFW | |p²d¡ nF| d|¡}|rÒ|d } nd } d| }
| | | |
¡d ¡ | d¡ |jd d
… ˆ _|
ˆ _| ¡ ˆ _‡ fdd„ttˆ jƒƒD ƒˆ _ˆ |¡ d S )
Nc S s t t| ƒƒS )N)ÚintÚfloat)Úindexr r r
Ú
index2line" s z(HyperParser.__init__..index2lineé z.0z%d.endz
r Zconsolez1.0éþÿÿÿc s4 g | ],}|d ko.ˆ j | d ˆ j |d d k‘qS )r r )Ú
bracketing)r Úi)Úselfr r
r K s z(HyperParser.__init__..)ÚeditwinÚtextr ZParserZindentwidthZtabwidthr Zprompt_last_lineZnum_context_linesÚmaxÚreprZset_codeÚgetZfind_good_parse_startZ_build_char_in_string_funcZset_loZ
tag_prevrangeÚcodeÚrawtextÚstopatindexZget_last_stmt_bracketingr ÚrangeÚlenÚisopenerÚ set_index)
r r r r Úparserr ZlnoÚcontextZstartatZstartatindexr ZbodÚrr )r r
Ú__init__ s:
zHyperParser.__init__c C sÐ t | jƒt | j || j¡ƒ }|dk r2td| ƒ‚|| _d| _x@| jt | jƒd k r~| j| jd d | jk r~| jd7 _q@W | jt | jƒd k rÌ| j| jd d | jkrÌ| j | jd sÌ| jd7 _d S )Nr z(Index %s precedes the analyzed statementr )
r! r r r r Ú
ValueErrorÚindexinrawtextÚindexbracketr r" )r r r) r r r
r# Q s zHyperParser.set_indexc C s&