3
?­`:  ã               @   sF   d dl Z dadd„ Zdd„ Zdd„ Zdd	d
„Zddd„Zddd„ZdS )é    Nc             C   s>   g a x4| jƒ D ](}|jrq|jtjjjkr,qt j|ƒ qW d S )N)	ÚpushbackÚflattenÚis_whitespaceÚttypeÚsqlparseÚtokensÚTokenÚCommentÚappend)ÚstmtÚtoken© r   ú^/home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/rad/parser.pyÚinit_parser   s    r   c               C   s   t tƒdkrtjdƒS d S d S )Nr   )Úlenr   Úpopr   r   r   r   Útake   s    
r   c             C   s   t jd| ƒ d S )Nr   )r   Úinsert)Útokr   r   r   Úuntake   s    r   Fc             C   sF   | j |krdS |d k	r>| js |r2| jjƒ |jƒ kS | j|kS ndS d S )NFT)r   Ú
is_keywordÚvalueÚupper)r   r   r   Úicmpr   r   r   Úmatch_token   s    

r   c             C   sL   t ƒ }|d krtdƒ‚| d kr"|S t|| ||ƒsHtdj|j|j| |ƒƒ‚|S )NzUnexpected end of stream.z*Unexpected token {}"{}" (expected {}"{}").)r   Ú
ValueErrorr   Úformatr   r   )r   r   r   r   r   r   r   Úconsume&   s    r   c             C   s(   t ƒ }|d krdS t|ƒ t|| ||ƒS )NF)r   r   r   )r   r   r   r   r   r   r   Úpeek1   s
    r   )NF)NNF)NF)r   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s   


