3 rãÆWЧ ã @ s" d Z dZddlZddlZddlZddlZddlZddlZyejej fZ W n ek rd ee fZ Y nX ejdƒZG dd„ deƒZG dd„ deƒZG d d „ d eƒZG dd„ deƒZG d d„ dƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZG dd„ deƒZd%dd „Zd&d!d"„Zd#d$„ Z e Z!dS )'z3.9z3.8é Nz^[a-zA-Z0-9_]+$c @ s e Zd Zdd„ ZdS )ÚLexErrorc C s |f| _ || _d S )N)ÚargsÚtext)ÚselfÚmessageÚs© r ú/usr/lib/python3.6/lex.pyÚ__init__: s zLexError.__init__N)Ú__name__Ú __module__Ú__qualname__r r r r r r 9 s r c @ s e Zd Zdd„ Zdd„ ZdS )ÚLexTokenc C s d| j | j| j| jf S )NzLexToken(%s,%r,%d,%d))ÚtypeÚvalueÚlinenoÚlexpos)r r r r Ú__str__A s zLexToken.__str__c C s t | ƒS )N)Ústr)r r r r Ú__repr__D s zLexToken.__repr__N)r r r r r r r r r r @ s r c @ s4 e Zd Zdd„ Zdd„ Zdd„ Zdd„ ZeZeZd S ) Ú PlyLoggerc C s || _ d S )N)Úf)r r r r r r L s zPlyLogger.__init__c O s | j j|| d ƒ d S )NÚ )r Úwrite)r Úmsgr Úkwargsr r r ÚcriticalO s zPlyLogger.criticalc O s | j jd|| d ƒ d S )Nz WARNING: r )r r )r r r r r r r ÚwarningR s zPlyLogger.warningc O s | j jd|| d ƒ d S )NzERROR: r )r r )r r r r r r r ÚerrorU s zPlyLogger.errorN) r r r r r r r ÚinfoÚdebugr r r r r K s r c @ s e Zd Zdd„ Zdd„ ZdS )Ú NullLoggerc C s | S )Nr )r Únamer r r Ú__getattribute__^ s zNullLogger.__getattribute__c O s | S )Nr )r r r r r r Ú__call__a s zNullLogger.__call__N)r r r r# r$ r r r r r! ] s r! c @ s| e Zd Zdd„ Zddd„Zddd„Zd d „ Zdd„ Zd d„ Zdd„ Z dd„ Z dd„ Zdd„ Zdd„ Z dd„ Zdd„ ZeZdS )ÚLexerc C sŽ d | _ d | _i | _i | _i | _d| _g | _d | _i | _i | _ i | _ d| _d | _d| _ d| _d | _d | _d | _d| _d| _d | _d| _d| _d S )NÚINITIALr Ú é F)ÚlexreÚ lexretextÚ lexstatereÚlexstateretextÚlexstaterenamesÚlexstateÚ lexstatestackÚlexstateinfoÚlexstateignoreÚlexstateerrorfÚlexstateeoffÚ lexreflagsÚlexdatar ÚlexlenÚ lexerrorfÚlexeoffÚ lextokensÚ lexignoreÚlexliteralsÚ lexmoduler Úlexoptimize)r r r r r t s. zLexer.__init__Nc C sâ t j | ƒ}|rÞi }xŽ| jjƒ D ]€\}}g }x\|D ]T\}}g } xF|D ]>} | sV| d rb| j| ƒ qB| jt|| d jƒ| d fƒ qBW q0W |j|| fƒ |||<