3
2aR2 @ s d dl mZ d dlZd dlmZ eejej d Zeejd Z dd e
dD Zdd e
dD ZG d d
d
Z
edkrd dlmZ ed
dd dS ) ) iskeywordN)pyparse_c C s g | ]}t |tkqS )chr_ASCII_ID_CHARS).0xr r 0/opt/alt/python36/lib64/python3.6/hyperparser.py
s r c C s g | ]}t |tkqS r )r _ASCII_ID_FIRST_CHARS)r r r r r
r s c @ s\ e Zd Zdd Zdd Zdd Zdd ZdddZed
ddhZ e
dd ZdZdd Z
dS )HyperParserc
sJ | _ |j _}tj|j|j}dd }||j|}|jsxh|jD ]^}t || d}t
|d } d| }
|j|j| |
d |j
|j| }|d k s|dkrFP qFW |j|pd nF|jd|}|r|d } nd } d| }
|j|j| |
d |jd |jd d
_|
_|j _ fddtt jD _ j| d S )Nc S s t t| S )N)intfloat)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 kqS )r r )
bracketing)r i)selfr r
r K s z(HyperParser.__init__..)editwintextr ZParserZindentwidthZtabwidthr Zcontext_use_ps1Znum_context_linesmaxreprZset_codegetZfind_good_parse_startZ_build_char_in_string_funcZset_loZ
tag_prevrangecoderawtextstopatindexZget_last_stmt_bracketingr rangelenisopener set_index)
r r r r parserr ZlnocontextZstartatZstartatindexr Zbodrr )r r
__init__ s:
zHyperParser.__init__c C s t | jt | jj|| j }|dk r2td| || _d| _x@| jt | jd k r~| j| jd d | jk r~| jd7 _q@W | jt | jd k r| j| jd d | jkr| j | jd r| jd7 _d S )Nr z(Index %s precedes the analyzed statementr )
r" r r r r
ValueErrorindexinrawtextindexbracketr r# )r r r* r r r
r$ Q s zHyperParser.set_indexc C s&